> CentOS > CentOS教程 >

centos7.1安装部署ceph0.94(2)(2)

[root@node241 ceph]# ceph-disk  activate-all

=== osd.0 === 

Starting Ceph osd.0 on node241...already running

 

 

[root@ceph-deploy ceph]# ceph health

HEALTH_OK

 

 

lsblk看一下,如果sdk sdl是挂载在/var/lib/ceph/osd/ceph-0  ceph上,#没有问题

 

[root@node241 ceph]# lsblk 

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda      8:0    0   50G  0 disk 

├─sda1   8:1    0  500M  0 part /boot

├─sda2   8:2    0    2G  0 part [SWAP]

└─sda3   8:3    0 47.5G  0 part /

sdb      8:16   0  100G  0 disk 

├─sdb1   8:17   0   95G  0 part /var/lib/ceph/osd/ceph-0

└─sdb2   8:18   0    5G  0 part 

sr0     11:0    1 1024M  0 rom 

 

3:最后,我们把生成的配置文件从 ceph-deploy 同步部署到其他几个节点,使得每个节点的 ceph 配置一致:

ceph-deploy --overwrite-conf admin ceph-deploy node241 node242 node243

 

 

九:安装部署mds服务

 

1:添加元数据服务器

 

cd /etc/ceph

ceph-deploy --overwrite-conf mds create node242

命令顺利执行完成,无报错为oK

 

 

2:状态查看。还没有创建时候的状态。

对于一个刚创建的MDS服务,虽然服务是运行的,但是它的状态直到创建 pools 以及文件系统的时候才会变为Active. 

 

[root@dn-5-221 ceph]# ceph mds stat

e1: 0/0/0 up

 

[root@ceph-deploy ceph]# ceph mds stat

e1: 0/0/0 up

[root@ceph-deploy ceph]# ceph mds dump

dumped mdsmap epoch 1

。。。。。。。。。。。。。。。。。

modified        2015-08-28 15:04:31.857259

。。。。。。。。。。。。。。。。

compat  compat={},rocompat={},incompat={}

................................

data_pools

metadata_pool   0

inline_data     disabled

 

3:通过下面的操作创建Filesystem

[root@ceph-deploy ceph]# ceph osd pool create cephfs_data 10

pool 'cephfs_data' created

 

[root@ceph-deploy ceph]# ceph osd pool create cephfs_metadata 10

pool 'cephfs_metadata' created

 

[root@ceph-deploy ceph]# ceph fs new leadorfs  cephfs_metadata cephfs_data

new fs with metadata pool 2 and data pool 1

[root@ceph-deploy ceph]# 

 

4:成功创建后,mds stat的状态如下

[root@ceph-deploy ceph]# ceph mds stat

e5: 1/1/1 up {0=node242=up:active}

 

[root@ceph-deploy ceph]# ceph mds dump

dumped mdsmap epoch 5

。。。。。。。。。。。。。。。。。。。。

created 2015-08-28 22:04:05.252797

modified        2015-08-28 22:04:09.322223

................................

session_timeout 60

session_autoclose       300

max_file_size   1099511627776

last_failure    0

last_failure_osd_epoch  0

compat  compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,4=dir inode in separate object,5=mds uses versioned encoding,6=dirfrag is stored in omap,8=no anchor table}

max_mds 1

。。。。。。。。。。。。。。。

data_pools      1

metadata_pool   2

inline_data     disabled

4132:   192.168.2.42:6804/13556 'node242' mds.0.1 up:active seq 68

 

5:ceph集群的状态,pg的数量以及pool的数量都得到了对应的增加

[root@ceph-deploy ceph]# ceph -s

    cluster 3adc4d9d-587e-424f-ab67-dd4d50493782

     health HEALTH_OK

     monmap e1: 1 mons at {node241=192.168.2.41:6789/0}

            election epoch 2, quorum 0 node241

     mdsmap e5: 1/1/1 up {0=node242=up:active}

     osdmap e18: 3 osds: 3 up, 3 in

      pgmap v30: 84 pgs, 3 pools, 1962 bytes data, 20 objects

            101 MB used, 284 GB / 284 GB avail

                  84 active+clean

 

 

 

十:扩展集群

 

1:增加一个OSD

在你的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命令界面观察这个过程。

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

ceph -w

 

2:增加一个mds服务器

 

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

ceph-deploy mds create {ceph-node}

ceph-deploy mds create ceph-node1

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

 

3:增加mon节点

 

一个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 quorum_status --format json-pretty

 

Ceph提供了3种使用场景:

1、分布式文件系统CephFS。

多个客户端mount CephFS到本地,CephFS遵循POSIX接口,使用体验类似于ext4等本地文件系统。

类似于其他分布式文件系统,各个CephFS客户端共享同一命名空间。

 

2、RadosGW(rgw)对象存储。

rgw使用场景类似于Amazon S3,据个人理解也类似于七牛云存储。

 

3、块设备rbd(Rados Block Device)。

Ceph提供虚拟的rbd块设备,用户像使用SATA盘那样的物理块设备一样使用rbd。

rbd的使用是排他的,每个rbd块设备是用户私有的,相对的,CephFS的使用方式是共享的。

虚拟化和云计算的发展正当盛年,IaaS结合rbd块设备这一使用方式有如干柴遇烈火,因此rbd是Ceph社区开发的重心之一。本文也主要从rbd的视角来了解Ceph。

 

 

十一:配置清理

##################以下操作在ceph-deploy节点操作:###########

部署过程中如果出现任何奇怪的问题无法解决,可以简单的删除一切从头再来: 

sudo stop ceph-all                                                     停止所有ceph进程

ceph-deploy uninstall  [{ceph-node}]                                   卸载所有ceph程序

ceph-deploy purge   [[ceph-node} [{ceph-node}]                         删除ceph相关的包

ceph-deploy purgedata {ceph-node} [{ceph-node}]                        删除ceph相关的包

ceph-deploy forgetkeys                                                 删除key

 

另外清理一下配置文件,重建一下安装配置目录

for ip in $(cat /workspace/ceph/cephlist.txt);do echo -----$ip-----;ssh root@$ip rm -rf /etc/ceph/* ;done

for ip in $(cat /workspace/ceph/cephlist.txt);do echo -----$ip-----;ssh root@$ip mkdir -p  /etc/ceph ;done

###############################################################

 

十二:故障排查:

健康状态检查

ceph health

 

有告警信息如下:

# ceph health

HEALTH_WARN too few PGs per OSD (10 < min 30)

 

增加 PG 数目,根据 Total PGs = (#OSDs * 100) / pool size 公式来决定 pg_num(pgp_num 应该设成和 pg_num 一样),所以 20*100/2=1000,Ceph 官方推荐取最接近2的指数倍,所以选择 1024。

如果顺利的话,就应该可以看到 HEALTH_OK 了:

 

# ceph osd pool set rbd size 2

set pool 0 size to 2

 

# ceph osd pool set rbd min_size 2

set pool 0 min_size to 2

 

# ceph osd pool set rbd pg_num 1024

set pool 0 pg_num to 1024

 

# ceph osd pool set rbd pgp_num 1024

set pool 0 pgp_num to 1024

 

# ceph health

HEALTH_OK

 

参考文档

 

(责任编辑:IT)