使用docker 部署 ceph

获取ceph image

docker pull  ceph/mon:hammer
docker pull  ceph/osd:hammer

准备硬盘

mkfs.xfs /dev/sdd1
mkdir -p /opt/osd/0
mount -o defaults,noatime,nodiratime,noexec,nodev,nobarrier  /dev/sdd1  /opt/osd/0/

部署mon

docker run -d \
       --name mon0 \
       -e MON_IP=10.64.0.4 \
       -e MON_NAME=mon0 \
       --net=host \
       -v /etc/ceph:/etc/ceph \
       ceph/mon:hammer

编辑ceph.conf

[global]
    fsid = 4ae8b795-a8b2-4904-9573-f6f658838db3
    public network = 10.64.0.0/26
    cluster network = 10.64.0.0/26
    auth cluster required = cephx
    auth service required = cephx
    auth client required = cephx
    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.64.0.4
[mon.mon0]
    host = mon0
    mon addr = 10.64.0.4:6789

docker restart mon0

部署osd

docker exec mon0 ceph osd create
docker run -d \
       --name=osd0 \
       --net=host \
       -e CLUSTER=ceph \
       -e WEIGHT=1.0 \
       -v /etc/ceph:/etc/ceph \
       -v /opt/osd/0:/var/lib/ceph/osd/ceph-0 \
       ceph/osd:hammer

复制/etc/ceph到其余节点,在其余节点上部署osd

scp -r /etc/ceph [email protected]:/etc/
docker exec mon0 ceph osd create
mkfs.xfs /dev/sda1
mkdir -p /opt/osd/1
mount -o defaults,noatime,nodiratime,noexec,nodev,nobarrier  /dev/sda1  /opt/osd/1/
docker run -d \
       --name=osd1 \
       --net=host \
       -e CLUSTER=ceph \
       -e WEIGHT=1.0 \
       -v /etc/ceph:/etc/ceph \
       -v /opt/osd/1:/var/lib/ceph/osd/ceph-1 \
       ceph/osd:hammer

查看ceph状态

ceph -s
    cluster 4ae8b795-a8b2-4904-9573-f6f658838db3
     health HEALTH_OK
     monmap e1: 1 mons at {mon0=10.64.0.4:6789/0}
            election epoch 1, quorum 0 mon0
     osdmap e14: 3 osds: 3 up, 3 in
      pgmap v23: 64 pgs, 1 pools, 0 bytes data, 0 objects
            15461 MB used, 319 GB / 334 GB avail
                  64 active+clean

参考文档:

http://dockone.io/article/436

你可能感兴趣的:(docker,ceph)