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)備:為L(zhǎng)inux主機(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安裝Tomcat、MySQL和Redis的步驟詳解
這篇文章主要介紹了Docker安裝Tomcat、MySQL和Redis的步驟詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11Docker宿主機(jī)與容器之間的文件拷貝實(shí)例詳解
現(xiàn)在公司用docker,有時(shí)候需要從容器中拷貝文件出來,下面這篇文章主要給大家介紹了關(guān)于Docker宿主機(jī)與容器之間的文件拷貝的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06docker?pull出現(xiàn)錯(cuò)誤或速度慢具體解決辦法
docker pull的時(shí)候速度特別慢,急死我了,相信看到文章的你跟我是一個(gè)心情,下面這篇文章主要給大家介紹了關(guān)于docker?pull出現(xiàn)錯(cuò)誤或速度慢的具體解決辦法,需要的朋友可以參考下2024-05-05docker+Nginx部署前端項(xiàng)目的詳細(xì)過程記錄
docker的出現(xiàn)解決了我們很多問題,讓我們避免陷入各種依賴安裝的痛苦中,下面這篇文章主要給大家介紹了關(guān)于docker+Nginx部署前端項(xiàng)目的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10解決docker鏡像(centos系統(tǒng))中無sudo命令問題
這篇文章主要介紹了解決docker鏡像(centos系統(tǒng))中無sudo命令問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,2023-11-11Docker?Desktop?啟用?Kubernetes?失敗后處理方案
?在setting -> Kubernetes 中,選中 Enable Kubernetes 后,長(zhǎng)時(shí)間顯示 Starting ...? ,在Images中顯示幾個(gè)自動(dòng)下載的鏡像后,顯示 Start Kubernetes failed,這篇文章主要介紹了Docker?Desktop啟用Kubernetes失敗后處理方法,需要的朋友可以參考下2023-08-08解決Mac下 docker 無法 ping 通宿主機(jī)的問題
這篇文章主要介紹了解決Mac下 docker 無法 ping 通宿主機(jī)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11