天天看点

ceph分布式存储搭建经历

官方文档:http://docs.ceph.com/docs/master/start/quick-start-preflight/

汉化版:http://docs.openfans.org/ceph/

ceph中国社区翻译团队:http://docs.ceph.org.cn

原理:利用ceph-deploy工具,通过管理节点admin-node,利用ssh通道,以达到控制各分布式节点存储的共享功能。

前提:admin-node 需提前安装好ceph-deploy;各分布节点需与admin-node时间同步,配置ssh彼此互信并拥有sudo权限;防火墙什么的先关掉再说。

注:线上ssh端口一般都会改,而ceph-deploy工具默认是用22端口去连接的。于是,怎么更改ceph连接的ssh端口呢。找了篇文章:http://blog.fenghe.org/archives/1695 发现也不对,后来一想:ssh不就是通过本机(ceph-mds)来操作的吗!!于是直接更改/etc/ssh/ssh_config配置。已然生效。。

ceph分布式存储搭建经历

主要步骤:

需新建目录,mkdir myceph  && cd myceph,以下操作均在admin-node操作,我们命名为:ceph-mds,ceph-osd1,ceph-osd2,ceph-client;如在之前已有ceph环境下的目录操作,可能会影响ceph环境。

ceph目录下一般有这几个文件:

1、start over:

2、start up:

3、ADD/REMOVE OSDS:

应为能看到:

root@ceph-mds:/home/ceph/myceph# ceph status      

    cluster 3734cac3-4553-4c39-89ce-e64accd5a043      

     health HEALTH_WARN      

            clock skew detected on mon.ceph-osd2      

           8 pgs degraded      

           8 pgs stuck degraded      

           72 pgs stuck unclean      

           8 pgs stuck undersized      

           8 pgs undersized      

            recovery1004/1506 objects degraded (66.667%)      

            recovery1/1506 objects misplaced (0.066%)      

            too few PGs per OSD (6 < min 30)      

            Monitor clock skew detected

     monmap e1:2 mons at {ceph-osd1=192.168.2.242:6789/0,ceph-osd2=192.168.2.243:6789/0}      

            election epoch8, quorum 0,1 ceph-osd1,ceph-osd2      

     osdmap e135:24 osds: 24 up, 24 in; 64 remapped pgs      

            flags sortbitwise      

      pgmap v771:72 pgs, 2 pools, 1742 MB data, 502 objects      

           4405 MB used, 89256 GB / 89260 GB avail      

           1004/1506 objects degraded (66.667%)      

           1/1506 objects misplaced (0.066%)      

           64 active+remapped      

           8 active+undersized+degraded

4、验证命令:

5、client端挂载磁盘

ceph-deploy install ceph-client   ##安装ceph客户端

ceph-deploy admin ceph-client  ##把秘钥及配置文件拷贝到客户端

rbs方式:

如果报错:

查看日志:

需在mds端更改ceph.conf配置:

然后下发配置及密钥: ceph-deploy  --overwrite-conf  ceph-osd1 ceph-osd2 ceph-client。

删除rbd镜像:rbd unmap -p test test-1 ——> rbd -p test rm test-1

注:client端重启后如果不及时rbd unmap,关机的时候系统会hung在umount此rbd设备上。所以需要配置rbdmap:

修改/etc/init.d/rbdmap,将其中的/etc/rbdmap修改为你的rbdmap的实际路径;然后将挂载信息写入/etc/ceph/rbdmap(我的rbdmap路径):

因为我禁用了cephx,所以不必配置keyring了。

这样就可以手动控制、并且开关机可以自动卸载rbd块设备了。

如何自动挂载rbd块设备:写脚本,开机启动/etc/rc.local

cephFS文件系统方式:

如有疑问,欢迎与我联系。

继续阅读