使用Docker单机部署Ceph
安装Docker过程参考:https://www.cnblogs.com/hackyo/p/9280042.html
- 创建Ceph专用网络
1 | sudo docker network create --driver bridge --subnet 172.20.0.0/16 ceph-network |
- 拉取搭建用镜像
1 | sudo docker pull ceph/daemon:latest-luminous |
- 搭建mon节点
1 | 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 |
- 搭建osd节点
1 | 1 sudo docker exec ceph-mon ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring |
修改配置文件以兼容etx4硬盘
1 | sudo vi /etc/ceph/ceph.conf |
在文件最后添加:
1 | osd max object name len = 256 |
分别启动三个容器来模拟集群
1 | 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 |
- 搭建mgr节点
1 | 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 |
开启管理界面
1 | sudo docker exec ceph-mgr ceph mgr module enable dashboard |
- 搭建rgw节点
1 | sudo docker exec ceph-mon ceph auth get client.bootstrap-rgw -o /var/lib/ceph/bootstrap-rgw/ceph.keyring |
- 检查Ceph状态
1 | sudo docker exec ceph-mon ceph -s |
- 测试添加rgw用户
1 | sudo docker exec ceph-rgw radosgw-admin user create --uid="test" --display-name="test user" |