使用Docker单机部署Ceph

Posted hackyo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Docker单机部署Ceph相关的知识,希望对你有一定的参考价值。

安装Docker过程参考:https://www.cnblogs.com/hackyo/p/9280042.html

 

1. 创建Ceph专用网络

sudo docker network create --driver bridge --subnet 172.20.0.0/16 ceph-network

2. 拉取搭建用镜像

sudo docker pull ceph/daemon:latest-luminous

3. 搭建mon节点

sudo docker run -d --name ceph-mon --network ceph-network --ip 172.20.0.10 -e CLUSTER=ceph -e WEIGHT=1.0 -e MON_IP=172.20.0.10 -e MON_NAME=ceph-mon -e CEPH_PUBLIC_NETWORK=172.20.0.0/16 -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph/ -v /var/log/ceph/:/var/log/ceph/ ceph/daemon:latest-luminous mon

4. 搭建osd节点

1 sudo docker exec ceph-mon ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring

修改配置文件以兼容etx4硬盘

sudo vi /etc/ceph/ceph.conf

在文件最后添加:

osd max object name len = 256
osd max object namespace len = 64

分别启动三个容器来模拟集群

sudo docker run -d --privileged=true --name ceph-osd-1 --network ceph-network --ip 172.20.0.11 -e CLUSTER=ceph -e WEIGHT=1.0 -e MON_NAME=ceph-mon -e MON_IP=172.20.0.10 -e OSD_TYPE=directory -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph/ -v /var/lib/ceph/osd/1:/var/lib/ceph/osd -v /etc/localtime:/etc/localtime:ro ceph/daemon:latest-luminous osd
sudo docker run -d --privileged=true --name ceph-osd-2 --network ceph-network --ip 172.20.0.12 -e CLUSTER=ceph -e WEIGHT=1.0 -e MON_NAME=ceph-mon -e MON_IP=172.20.0.10 -e OSD_TYPE=directory -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph/ -v /var/lib/ceph/osd/2:/var/lib/ceph/osd -v /etc/localtime:/etc/localtime:ro ceph/daemon:latest-luminous osd
sudo docker run -d --privileged=true --name ceph-osd-3 --network ceph-network --ip 172.20.0.13 -e CLUSTER=ceph -e WEIGHT=1.0 -e MON_NAME=ceph-mon -e MON_IP=172.20.0.10 -e OSD_TYPE=directory -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph/ -v /var/lib/ceph/osd/3:/var/lib/ceph/osd -v /etc/localtime:/etc/localtime:ro ceph/daemon:latest-luminous osd

5. 搭建mgr节点

sudo docker run -d --privileged=true --name ceph-mgr --network ceph-network --ip 172.20.0.14 -e CLUSTER=ceph -p 7000:7000 --pid=container:ceph-mon -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph/ ceph/daemon:latest-luminous mgr

开启管理界面

sudo docker exec ceph-mgr ceph mgr module enable dashboard

6. 搭建rgw节点

sudo docker exec ceph-mon ceph auth get client.bootstrap-rgw -o /var/lib/ceph/bootstrap-rgw/ceph.keyring
sudo docker run -d --privileged=true --name ceph-rgw --network ceph-network --ip 172.20.0.15 -e CLUSTER=ceph -e RGW_NAME=ceph-rgw -p 7480:7480 -v /var/lib/ceph/:/var/lib/ceph/ -v /etc/ceph:/etc/ceph -v /etc/localtime:/etc/localtime:ro ceph/daemon:latest-luminous rgw

7.检查Ceph状态

sudo docker exec ceph-mon ceph -s

8. 测试添加rgw用户

sudo docker exec ceph-rgw radosgw-admin user create --uid="test" --display-name="test user"

 

以上是关于使用Docker单机部署Ceph的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 16.04下使用docker部署ceph集群

使用docker 模式 用ceph/daemon部署 ceph

使用Docker快速部署Ceph集群

分布式存储Ceph在Docker下安装部署

如何使用Docker部署Ceph分布式文件系统

ceph存储,虚拟机部署