溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker中怎么部署ceph存儲集群

發(fā)布時間:2021-07-30 18:13:42 來源:億速云 閱讀:549 作者:Leah 欄目:云計算

這篇文章將為大家詳細講解有關Docker中怎么部署ceph存儲集群,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

  1. Docker 拉取ceph/daemon版本

docker pull ceph/daemon

下載后查看images列表,docker images,看到如圖所示: Docker中怎么部署ceph存儲集群

  1. Docker創(chuàng)建ceph專用網絡ceph-net

執(zhí)行命令創(chuàng)建網絡,并查看ceph-net信息

docker network create ceph-net
docker inspect ceph-net

Docker中怎么部署ceph存儲集群

  1. 根據(jù)ceph網絡創(chuàng)建ceph monitor

vi cre_mon.sh

docker run -d --net=ceph-net -v ${PWD}/etc:/etc/ceph -v ${PWD}/lib:/var/lib/ceph -e MON_IP=172.18.0.2 -e CEPH_PUBLIC_NETWORK=172.18.0.0/16 --name=mon ceph/daemon mon

執(zhí)行sh cre_mon.sh 創(chuàng)建monitor容器: Docker中怎么部署ceph存儲集群 如圖所示,創(chuàng)建成功。

  1. 創(chuàng)建mgr容器

docker run -d --net=ceph-net -v ${PWD}/etc:/etc/ceph -v ${PWD}/lib:/var/lib/ceph -e MON_IP=172.18.0.2 -e CEPH_PUBLIC_NETWORK=172.18.0.0/16 --name=mgr ceph/daemon mgr

  1. 創(chuàng)建osd

vi cre_osd1.sh

docker run -d --net=ceph-net
--privileged=true
-v ${PWD}/etc:/etc/ceph
-v ${PWD}/lib:/var/lib/ceph
-v /dev/:/dev/
-e OSD_DEVICE=/dev/sdb
-e OSD_TYPE=disk
-e OSD_FORCE_ZAP=1
--name=osd1
ceph/daemon osd

執(zhí)行sh cre_osd1.sh 后發(fā)現(xiàn)容器沒有成功啟動,查看logs,docker logs osd1發(fā)現(xiàn)報錯

2020-10-13 06:44:58 /opt/ceph-container/bin/entrypoint.sh: static: does not generate config 2020-10-13 06:44:58 /opt/ceph-container/bin/entrypoint.sh: ERROR- /var/lib/ceph/bootstrap-osd/ceph.keyring must exist. You can extract it from your current monitor by running 'ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring'

通過登錄mon執(zhí)行生成keyring操作

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

生成完成后,重新執(zhí)行docker start osd1,仍然無法啟動。原理ceph-disk已經被棄用了。 對于does not generate config錯誤,是因為沒有生成密鑰,執(zhí)行命令: docker exec -it mon ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring

  • 使用ceph-volume來創(chuàng)建osd

首先執(zhí)行prepare腳本:

# Execute Scripts

cat | docker run --rm -i --net=ceph-net --privileged=true -v ${PWD}/etc:/etc/ceph -v ${PWD}/lib:/var/lib/ceph -v /dev/:/dev/ --entrypoint=bash ceph/daemon << EOF

ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring vgs | grep ceph | awk '{print $1}' | xargs vgremove -y; pvremove /dev/sd{b,c,d,e} ceph-volume lvm prepare --no-systemd --data /dev/sdb ceph-volume lvm prepare --no-systemd --data /dev/sdc ceph-volume lvm prepare --no-systemd --data /dev/sdd ceph-volume lvm prepare --no-systemd --data /dev/sde exit EOF

然后根據(jù)prepare完成的OSD_ID創(chuàng)建container激活:

docker run -d --net=ceph-net
--restart=always
--privileged=true
-v ${PWD}/etc:/etc/ceph
-v ${PWD}/lib:/var/lib/ceph
-v ${PWD}/log:/var/log/ceph
-v /dev/:/dev/
-e OSD_ID=0
--name=osd.0
ceph/daemon osd_ceph_volume_activate

仿照如上命令創(chuàng)建osd.1,osd.2,osd3容器。 docker ps查看osd已經在運行中。 Docker中怎么部署ceph存儲集群

關于Docker中怎么部署ceph存儲集群就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI