获取ceph image
docker pull ceph/daemon
准备硬盘
mkfs.xfs /dev/vdb1 mkdir -p /opt/ceph/osd/vdb mount -o defaults,noatime,nodiratime,noexec,nodev,nobarrier /dev/vdb1 /opt/ceph/osd/vdb
部署mon
docker run -d \ --name mon0 \ -e MON_NAME=mon0 \ -e MON_IP=10.111.252.165 \ -e CEPH_PUBLIC_NETWORK=10.111.252.128/25 \ -e CEPH_CLUSTER_NETWORK=192.168.10.128/25 \ --net=host \ -v /etc/ceph:/etc/ceph \ -v /var/lib/ceph/:/var/lib/ceph/ \ -v /etc/localtime:/etc/localtime:ro \ ceph/daemon mon
编辑ceph.conf
[global] fsid = 41cbd215-1c41-4a30-abd6-c597375f8930 mon initial members = mon0 mon host = 10.111.252.165 auth cluster required = cephx auth service required = cephx auth client required = cephx public network = 10.111.252.128/25 cluster network = 192.168.10.128/25 osd journal size = 100 osd pool default size = 3 osd pool default min size = 2 osd crush update on start = false [mon] mon initial members = mon0 mon host = 10.111.252.165 [mon.mon0] host = mon0 mon addr = 10.111.252.165:6789 [client] rbd default format = 2 docker restart mon0
部署osd
docker run -d \ --name=osdvdb \ --net=host \ -v /etc/ceph:/etc/ceph \ -v /var/lib/ceph/:/var/lib/ceph/ \ -v /opt/ceph/osd/vdb:/var/lib/ceph/osd \ -e OSD_TYPE=directory \ -v /etc/localtime:/etc/localtime:ro \ ceph/daemon osd
复制/etc/ceph到其余节点,在其余节点上部署osd
scp -r /etc/ceph root@10.111.252.222:/etc/ scp -r /var/lib/ceph root@10.111.252.222:/var/lib/ # 2018/7/25修订 #仅需将ceph.client.admin.keyring ceph.conf ceph.mon.keyring这三个文件复制到每一个节点的/etc/ceph目录下, # /var/lib/ceph目录不需要全部复制,基他节点创建osd时需要的文件可以在每一个节点上执行下面的命令获得 # ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring # 在其他节点上增加mon不需要bootstrap的相关文件, # 需要bootstrap的组件有mds、osd、rgw ssh 10.111.252.222 rm -rf /var/lib/ceph/mon/ ssh 10.111.252.222 rm -rf /var/lib/ceph/osd/ scp -r /etc/ceph root@10.111.252.231:/etc/ scp -r /var/lib/ceph root@10.111.252.231:/var/lib/ ssh 10.111.252.231 rm -rf /var/lib/ceph/mon/ ssh 10.111.252.231 rm -rf /var/lib/ceph/osd/ mkfs.xfs /dev/vdb1 mkdir -p /opt/ceph/osd/vdb mount -o defaults,noatime,nodiratime,noexec,nodev,nobarrier \ /dev/vdb1 /opt/ceph/osd/vdb docker run -d \ --name=osdvdb \ --net=host \ -v /etc/ceph:/etc/ceph \ -v /var/lib/ceph/:/var/lib/ceph/ \ -v /opt/ceph/osd/vdb:/var/lib/ceph/osd \ -e OSD_TYPE=directory \ -v /etc/localtime:/etc/localtime:ro \ ceph/daemon osd
查看ceph状态
ceph -s cluster b448ce73-47eb-4a77-9a62-48ac7abc3218 health HEALTH_OK monmap e1: 1 mons at {mon0=10.111.252.165:6789/0} election epoch 4, quorum 0 mon0 osdmap e18: 3 osds: 3 up, 3 in flags sortbitwise pgmap v49: 64 pgs, 1 pools, 0 bytes data, 0 objects 401 MB used, 149 GB / 149 GB avail 64 active+clean
部署radosgw
docker run -d --net=host \ --name=rgw \ -v /var/lib/ceph/:/var/lib/ceph/ \ -v /etc/ceph:/etc/ceph \ -v /etc/localtime:/etc/localtime:ro \ -e RGW_CIVETWEB_PORT=8080 \ -e RGW_NAME=rgw0 \ ceph/daemon rgw
转载于:https://blog.51cto.com/penguintux/1872939