几条命令就搞定:教你使用Docker搭建Ceph集群

云计算
用Docker搭建Ceph非常简单,只需要几条命令就可以搞定,甚至比Ceph出的ceph-deploy还方便,也无需翻墙获得软件包。

【原文编者的话】 我来自上海Hypers 国内顶尖的大数据分析公司,参加过“云雀Docker巨好玩”并获得一等奖,年纪尚小请大家多多指教。因为有人提出了这个想法,我之前已经成功实践过这些实验,自己也就把百度和Google不到的私房菜贡献出来,只有一个要求,希望大家互相帮助,不要自吹自擂就行,多多分享。

希望大家互相扶持,互相帮助,与DockOne&OSchina还有所有的开源社区一起推动国内的Docker商用和技术能力。

用Docker搭建Ceph非常简单,只需要几条命令就可以搞定,甚至比Ceph出的ceph-deploy还方便,也无需翻墙获得软件包。

我的部署环境是

 

  1. Disk free > 30G 
  2. Ceph 0.94.1 hammer 
  3. OS Ubuntu 14.04.2 
  4. Kernel    4.0.5 
  5. overlayfs 
  6. eth0 IPADDR=192.168.1.100 

 

下载mon和osd

 

  1. [root@ubuntu ~]# docker pull index.alauda.cn/georce/mon:hammer 
  2. [root@ubuntu ~]# docker pull index.alauda.cn/georce/osd:hammer 

 

一条命令搭建mon

  1. [root@ubuntu ~]# docker run -itd --name=mon --net=host -e MON_NAME=mymon -e MON_IP=192.168.1.100 -v /etc/ceph:/etc/ceph index.alauda.cn/georce/mon:hammer 

查看mon运行日志

 

  1. [root@ubuntu ~]# docker logs -f mon 
  2.  
  3. 2015-06-15 13:48:38.414494 7fd43f5db700  1 mon.mymon@0(leader).osd e1 e1: 0 osds: 0 up, 0 in 
  4. 2015-06-15 13:48:38.416236 7fd43f5db700  0 mon.mymon@0(leader).osd e1 crush map has features 1107558400, adjusting msgr requires 
  5. 2015-06-15 13:48:38.416306 7fd43f5db700  0 mon.mymon@0(leader).osd e1 crush map has features 1107558400, adjusting msgr requires 
  6. 2015-06-15 13:48:38.416391 7fd43f5db700  0 mon.mymon@0(leader).osd e1 crush map has features 1107558400, adjusting msgr requires 
  7. 2015-06-15 13:48:38.416479 7fd43f5db700  0 mon.mymon@0(leader).osd e1 crush map has features 1107558400, adjusting msgr requires 
  8. 2015-06-15 13:48:38.416712 7fd43f5db700  1 mon.mymon@0(leader).paxosservice(auth 1..1) refresh upgraded, format 0 -> 1 
  9. 2015-06-15 13:48:38.418924 7fd43f5db700  0 log_channel(cluster) log [INF] : mdsmap e1: 0/0/0 up 
  10. 2015-06-15 13:48:38.423753 7fd43f5db700  0 log_channel(cluster) log [INF] : osdmap e1: 0 osds: 0 up, 0 in 
  11. 2015-06-15 13:48:38.428045 7fd43f5db700  0 log_channel(cluster) log [INF] : pgmap v2:  

 

查看mon生成的集群配置文件

 

  1. [root@ubuntu ~]# ls /etc/ceph 
  2.  
  3. [root@ubuntu ~]# ceph.client.admin.keyring  ceph.conf  ceph.mon.keyring  monmap 

 

更改集群配置文件

 

  1. [root@ubuntu ~]# vi ceph.conf 
  2.  
  3. [global] 
  4. fsid = 4efc5ee7-8982-4bf4-808b-15372862fb78  #这个要看你生成的 别抄我的 
  5. mon initial members = mymon 
  6. mon host = 192.168.1.100 
  7. auth cluster required = cephx 
  8. auth service required = cephx 
  9. auth client required = cephx 
  10. osd crush chooseleaf type = 0 
  11. osd journal size = 100 
  12. osd pool default pg num = 8 
  13. osd pool default pgp num = 8 
  14. osd pool default size = 1 
  15. public network = 192.168.1.0/24 
  16. cluster network = 192.168.1.0/24 
  17.  
  18. [root@ubuntu ~]# docker restart mon 

 

两条命令创建osd

 

  1. [root@ubuntu ~]# docker exec mon ceph osd create 
  2. 0 

 

如果不知道上面的0是什么,我解释下 ceph osd 0 /var/lib/ceph/osd/ceph-0

创建osd0

  1. [root@ubuntu ~]# docker run -itd --name=osd0 --net=host -e CLUSTER=ceph -e WEIGHT=1.0 -e MON_NAME=mymon -e MON_IP=192.168.1.100 -v /etc/ceph:/etc/ceph -v /opt/osd/0:/var/lib/ceph/osd/ceph-0 index.alauda.cn/georce/osd:hammer 

查看ceph群集状态

  1. [root@ubuntu ~]# docker exec -it mon ceph -s 
  2.  
  3. cluster 4efc5ee7-8982-4bf4-808b-15372862fb78 
  4.  
  5. health HEALTH_OK 
  6.  
  7. monmap e1: 1 mons at {mymon=192.168.1.100:6789/0
  8.  
  9. election epoch 2, quorum 0 mymon 
  10.  
  11. osdmap e5: 1 osds: 1 up, 1 in 
  12.  
  13. pgmap v7: 64 pgs, 1 pools, 0 bytes data, 0 objects 
  14.  
  15. 3584 MB used, 42028 MB / 48077 MB avail 
  16.  
  17. 64 active+clean 

原文链接:http://dockone.io/article/436

责任编辑:Ophira 来源: dockerone
相关推荐

2023-04-07 08:28:14

2016-01-07 09:36:20

Docker容器

2023-11-13 09:03:10

2022-09-15 08:31:11

主从复制模式Docker

2024-03-07 16:03:56

RedisDocker

2017-03-22 10:06:40

ubuntuceph集群

2015-06-04 10:59:25

CephIaaSRGW

2017-07-11 13:30:12

RedisDockerLinux

2018-02-05 10:09:28

搭建堡垒机原则

2022-07-21 11:01:21

Docker容器

2014-03-17 10:05:45

Hadoop集群

2015-02-09 09:57:56

Ceph 块设备OpenStackLinux

2011-05-20 21:27:33

2023-06-12 07:41:16

dockerspark集群

2021-01-15 08:07:30

Ceph octopu集群运维

2021-01-26 06:58:03

AnsibleCeph集群运维

2020-12-08 10:32:15

Python邮件tcp

2017-12-07 15:24:10

Hadoop大数据服务器

2015-05-27 10:29:41

DockerHadoopHadoop集群

2017-01-06 08:47:53

点赞
收藏

51CTO技术栈公众号