Storage Cluster Quick Start【存储集群快速入门】

1. Create a Cluster(创建一个集群)
2. Operating Your Cluster(操作你的集群)
3. Expanding Your Cluster(扩展你的集群)
   3.1 Adding an OSD(增加一个OSD)
   3.2 Add a Metadata Server(增加一个元数据服务器)
   3.3 Adding Monitors(增加监控器)
4. Storing/Retrieving Object Data(存储/恢复对象数据)

 

存储集群快速入门

 

如果你还没有完成你的预检,那先做第一步。这“快速入门”设置了两个节点演示集群,这样你可以探索一些Ceph的存储集群功能。此快速入门将帮助您安装一个最小的Ceph存储在服务器上的集群节点从admin节点使用ceph-deploy。

Storage Cluster Quick Start【存储集群快速入门】_1

为了获得最佳效果,你的admin维护配置您的群集节点上创建一个目录。

 

mkdir my-cluster

cd my-cluster

 

ceph-deploy 工具将输出到当前目录下的文件。当执行

作为第一个练习, 用一个Ceph监视器和两个Ceph OSD守护进程创建一个Ceph存储集群 。一旦这个集群是active + clean状态, 通过增加第三个Ceph OSD 守护进程,一个元数据服务器和另外两个Ceph监控器来扩展它。

重要:如果你是用不同的用户登录的,就不要用sudo或者root权限运行ceph-deploy,因为在远程的主机上不能发出sudo命令


创建一个集群

 

要创建您的Ceph的存储集群,生成一个文件系统ID(FSID),在命令行提示符下输入以下命令,生成监视器的秘钥:

 

ceph-deploy purgedata {ceph-node} [{ceph-node}]
ceph-deploy forgetkeys

 

在管理模式下,请使用ceph-deploy进行如下操作:

1.创建集群.

 

ceph-deploy new {ceph-node}
ceph-deploy new ceph-node1

 

在当前目录下使用ls和cat命令检查ceph-deploy输出结果,你可以看到一个ceph配置文件,一个密钥环以及为新集群创建的日志文件。使用ceph-deploy的"-h"参数可查看更多帮助信息。

2.安装Ceph

 

ceph-deploy install {ceph-node}[{ceph-node} ...]
ceph-deploy install ceph-node1 ceph-node2 ceph-node3

 

3.增加一个Ceph集群监视器。

 

ceph-deploy mon create {ceph-node}
ceph-deploy mon create ceph-node1

 

4.收集密钥

 

ceph-deploy gatherkeys {ceph-node}
ceph-deploy gatherkeys ceph-node1

 

一旦你收集到密钥,在本地目录下可看到如下密钥环文件:

     1. {cluster-name}.client.admin.keyring
     2. {cluster-name}.bootstrap-osd.keyring
     3. {cluster-name}.bootstrap-mds.keyring

5.增加2个OSD。为了快速安装,本例中为每个Ceph OSD守护进程使用单个目录而非单个磁盘。使用ceph-deply osd命令可查看在分离的磁盘/分区上创建OSD和日志的方法。登陆Ceph节点,并为每个Ceph OSD守护进程创建单个目录。 

ssh ceph-node2
sudo mkdir /tmp/osd0
exit

ssh ceph-node3
sudo mkdir /tmp/osd1
exit

 

然后,在管理模式下,使用ceph-deploy准备OSD。

 

ceph-deploy osd prepare {ceph-node}:/path/to/directory
ceph-deploy osd prepare ceph-node2:/tmp/osd0 ceph-node3:/tmp/osd1

 

最后,激活OSD。

 

ceph-deploy osd activate {ceph-node}:/path/to/directory
ceph-deploy osd activate ceph-node2:/tmp/osd0 ceph-node3:/tmp/osd1

 

6.使用ceph-deploy命令将配置文件和管理密钥复制到管理节点和你的Ceph节点。下次你再使用ceph命令界面时就无需指定集群监视器地址,执行命令时也无需每次都指定ceph.client.admin.keyring。

 

ceph-deploy admin {ceph-node}
ceph-deploy admin admin-node ceph-node1 ceph-node2 ceph-node3

 

注意:由于你使用ceph-deploy与本地主机通信,因此你的主机必须是主机名可达的(如果需要的话,可修改/etc/hostsif文件)。确保你对ceph.client.admin.keyring文件具有正确的权限。

7.检查集群健康状况。

 

ceph health

 

当集群完成配对后,它应该返回active + clean 状态。

 

操作你的集群

 

在Ceph集群中应用ceph-deploy命令可实现集群自启动。Debian/Ubuntu发行版中,可使用Upstart操作集群守护进程。Centos、Red Hat、Fedora、SLES发行版则可使用sysvinit工具。

如果想了解配对和集群健康状况的更多信息,可查看”监视一个集群“章节。如果想了解Ceph OSD进程和组健康信息,可查看”监视OSD和PG“章节。

一旦你部署好一个Ceph集群,你可以尝试使用一些管理功能、rados对象存储命令等,然后可根据快速启动向导对Ceph块设备、Ceph文件系统以及Ceph对象网关进行初始化。

 

扩展你的集群

 

当你创建并运行一个基本集群后,下一步就是扩展集群。为ceph-node1增加一个Ceph OSD进程和一个Ceph元数据服务器。再为ceph-node2和ceph-node3增加一台Ceph监视器,以生成quoraum。

Storage Cluster Quick Start【存储集群快速入门】_2

增加一个OSD

 

因为你正在运行的是一个3节点的测试集群环境,需为监视节点增加OSD。

 

ssh ceph-node1
sudo mkdir /tmp/osd2
exit

 

然后在你的ceph-deloy节点上,准备OSD。

 

ceph-deploy osd prepare {ceph-node}:/path/to/directory
ceph-deploy osd prepare ceph-node1:/tmp/osd2

 

最后,激活OSD。

 

ceph-deploy osd activate {ceph-node}:/path/to/directory
ceph-deploy osd activate ceph-node1:/tmp/osd2

 

一旦你增加新的OSD,Ceph将会迁移已有的放置置到新的OSD上以达到集群的重新平衡,你可通过ceph命令界面观察这个过程。

 

ceph -w

 

你将会看到PG状态由活跃且干净状态变成活跃态,其中存在部分降级对象。当迁移完成后,将再次返回活跃且干净状态。(可按Control+c组合键退出)


增加一个元数据服务器

 

为了使用CephFS文件系统,你需要至少一台元数据服务器。执行如下步骤以创建一台元数据服务器。

 

ceph-deploy mds create {ceph-node}
ceph-deploy mds create ceph-node1

 

注意:当前Ceph产品中仅支持运行一个元数据服务器。你可尝试在一个集群中运行多个元数据服务器,但对此尚无商业支持。


增加监控器

 

一个Ceph存储集群至少需要一台Ceph监视器。为了保证高可用性,Ceph存储集群中通常会运行多个Ceph监视器,任意单台Ceph监视器的宕机都不会影响整个Ceph存储集群正常工作。由于Ceph使用Paxos算法,这需要多个Ceph监视器组成Quoram(如1,2:3,3:4,3:5,4:6等)。

向你的集群增加2台Ceph监视器。

 

ceph-deploy mon create {ceph-node}
ceph-deploy mon create ceph-node2 ceph-node3

 

当你增加Ceph监视器后,Ceph将开始同步各监视器并形成Quoram。你可通过如下方式检查Quoram状态:

 

ceph quorum_status

 

存储/恢复对象数据

 

为了能够操作Ceph存储集群中的对象数据,Ceph客户端必需满足:

    1. 设置一个对象名
    2. 指定一个数据池

Ceph客户端取回最新的集群映射表,并根据CRUSH算法先计算如何将对象映射到某个PG中,然后再计算如何将该PG动态映射入一个Ceph OSD进程上。为了查找对象位置,你需要的仅仅是对象名称和数据池名称,例如:

 

ceph osd map {poolname} {object-name}

 

练习:定位一个对象

作为一个练习,我们先创建一个对象。使用rados put命令指定对象名称、存储对象数据的测试文件路径和地址池名称。例如:

 

rados put {object-name} {file-path} --pool=data
rados put test-object-1 testfile.txt --pool=data

 

为了验证Ceph存储集群已存储该对象,执行如下命令:

 

rados -p data ls

 

现在,可标识对象位置:

 

ceph osd map {pool-name} {object-name}
ceph osd map data test-object-1

 

Ceph将输出对象位置信息,例如:

 

osdmap e537 pool 'data' (0) object 'test-object-1' -> pg 0.d1743484 (0.4) -> up [1,0] acting [1,0]

 

如果要删除测试对象,使用rados rm命令即可,例如:

 

rados rm test-object-1 --pool=data

 

当集群扩展后,对象位置可能会动态变更。Ceph动态平衡的一个好处就是Ceph可自动完成迁移而无须你手动操作。

 

原文链接:http://ceph.com/docs/master/start/quick-ceph-deploy/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值