Ceph集群Docker容器化部署過程
目標(biāo):使用Docker部署Ceph存儲(chǔ)集群
環(huán)境:CentOS 7
步驟:建立Ceph專用網(wǎng)絡(luò)->建立Monitor->建立OSD->建立RGW并測(cè)試對(duì)象存儲(chǔ)->建立MDS并測(cè)試文件系統(tǒng)->建立MGR
前期準(zhǔn)備:Linux主機(jī)需提前安裝Docker
1.建立Ceph專用網(wǎng)絡(luò)
為了和docker預(yù)設(shè)網(wǎng)絡(luò)區(qū)別,新建一個(gè)ceph集群專用網(wǎng)絡(luò):
docker network create --driver bridge ceph-net

docker network inspect ceph-net

2.建立Monitor
完成專用網(wǎng)絡(luò)構(gòu)建后,開始部署ceph集群,第一步為啟動(dòng)Ceph Monitor - 集群監(jiān)控容器。
Ceph Monitor 維護(hù)著展示集群狀態(tài)的各種圖表。
路徑設(shè)置:DIR $(pwd)
docker run -d --net=ceph-net -v ${DIR}/ceph:/etc/ceph -v ${DIR}/lib/ceph/:/var/lib/ceph/ -e MON_IP=172.19.0.2 -e CEPH_PUBLIC_NETWORK=172.19.0.0/16 --name=mon1 ceph/daemon mon
查看monitor部署情況:
docker exec -ti mon1 ceph -v

docker exec -ti mon1 ceph -s

3.建立OSD
Ceph OSD為對(duì)象存儲(chǔ)守護(hù)進(jìn)程,提供實(shí)際的存儲(chǔ),默認(rèn)情況下ceph集群需要部署3個(gè)OSD。
環(huán)境準(zhǔn)備:為Linux主機(jī)添加3塊20GB硬盤(/dev/vdb、/dev/vdc、/dev/vdd)
docker run -d --net=ceph-net --privileged=true --pid=host -v ${DIR}/ceph:/etc/ceph -v ${DIR}/lib/ceph/:/var/lib/ceph/ -v /dev/:/dev/ -e OSD_DEVICE=/dev/vdb -e OSD_TYPE=disk -e OSD_FORCE_ZAP=1 --name osd1 ceph/daemon osd
查看osd部署情況:
docker exec -ti osd1 df | grep "osd"

docker exec -ti mon1 ceph -s

osd2與osd3部署過程類似,只需將/dev設(shè)備換成對(duì)應(yīng)的即可。
4.建立RGW并測(cè)試對(duì)象存儲(chǔ)
Ceph RGW - Rados網(wǎng)關(guān):提供S3與Swift相容的API,存儲(chǔ)數(shù)據(jù)至對(duì)象存儲(chǔ)。
docker run -d --net=ceph-net -v ${DIR}/lib/ceph/:/var/lib/ceph/ -v ${DIR}/ceph:/etc/ceph -p 8080:8080 --name=rgw1 ceph/daemon rgw
curl工具測(cè)試部署情況:
curl -H "Content-Type: application/json" "http://127.0.0.1:8080"

下載測(cè)試文件:
wget "https://gist.githubusercontent.com/kairen/e0dec164fa6664f40784f303076233a5/raw/33add5a18cb7d6f18531d8d481562d017557747c/s3client" chmod u+x s3clinet
安裝執(zhí)行依賴:
yum install python-pip pip install boto
對(duì)象存儲(chǔ)測(cè)試:
(1) 創(chuàng)建一個(gè)使用者
docker exec -ti rgw1 radosgw-admin user create --uid="test" --display-name="I'm Test account" --email="test@example.com"

(2) 創(chuàng)建環(huán)境參數(shù)配置文件
vim s3key.sh

key信息對(duì)照test用戶
(3) 列出當(dāng)前bucket
./s3client list

(4) 創(chuàng)建一個(gè)bucket并上傳文件
./s3client create files

./s3client upload files s3key.sh /

./s3client list files

5.建立MDS并測(cè)試文件系統(tǒng)
Ceph MDS - 元數(shù)據(jù)服務(wù)器,為ceph文件系統(tǒng)存儲(chǔ)元數(shù)據(jù)。
docker run -d --net=ceph-net -v ${DIR}/lib/ceph/:/var/lib/ceph/ -v ${DIR}/ceph:/etc/ceph -e CEPHFS_CREATE=1 --name=mds1 ceph/daemon mds
查看部署情況:
docker exec -ti mds1 ceph mds stat

docker exec -ti mds1 ceph fs ls

6.建立MGR
Ceph MGR - 集群管理組件
docker run -d --net=ceph-net -v ${DIR}/ceph:/etc/ceph -v ${DIR}/lib/ceph/:/var/lib/ceph/ --name=mgr1 ceph/daemon mgr
docker ps

docker exec -it mon1 ceph -s

總結(jié)
以上,Ceph集群容器化部署完成。
這些僅為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker部署Zlm服務(wù)的實(shí)現(xiàn)
本文主要介紹了docker部署Zlm服務(wù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03
記一次Docker生產(chǎn)環(huán)境搭建的方法
這篇文章主要介紹了記一次Docker生產(chǎn)環(huán)境搭建的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06
如何將Docker的構(gòu)建時(shí)間減少40%(推薦)
這篇文章主要介紹了如何將Docker的構(gòu)建時(shí)間減少40%,本文描述了我們?cè)趦?yōu)化CI管道后獲得的一些新見解,需要的朋友可以參考下2023-11-11
docker如何安裝帶postgis插件的postgresql數(shù)據(jù)庫
這篇文章主要介紹了docker如何安裝帶postgis插件的postgresql數(shù)據(jù)庫問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
Docker鏡像倉庫的垃圾回收機(jī)制深度清理后端存儲(chǔ)空間的實(shí)現(xiàn)
本文主要介紹了Docker鏡像倉庫的垃圾回收機(jī)制深度清理后端存儲(chǔ)空間的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2026-04-04
通過docker部署發(fā)布python項(xiàng)目的實(shí)戰(zhàn)步驟
將Python項(xiàng)目通過Docker部署發(fā)布,可以實(shí)現(xiàn)環(huán)境一致性、快速遷移和高效運(yùn)維,本文將為大家詳細(xì)介紹一下具體的實(shí)現(xiàn)步驟,希望對(duì)大家有所幫助2025-08-08
Docker拉取鏡像時(shí)遇到dial tcp...443:i/o timeout錯(cuò)誤的解決方案
本文介紹了如何解決在使用Docker時(shí)遇到的網(wǎng)絡(luò)超時(shí)問題,包括配置鏡像加速服務(wù)以提高鏡像拉取速度和穩(wěn)定性2025-12-12

