1. 程式人生 > >Ceph叢集Docker容器化部署

Ceph叢集Docker容器化部署

目標:使用Docker部署Ceph儲存叢集

環境:CentOS 7

步驟:建立Ceph專用網路->建立Monitor->建立OSD->建立RGW並測試物件儲存->建立MDS並測試檔案系統->建立MGR

前期準備:Linux主機需提前安裝Docker

1.建立Ceph專用網路

為了和docker預設網路區別,新建一個ceph叢集專用網路:

docker network create --driver bridge ceph-net


docker network inspect ceph-net


2.建立Monitor

完成專用網路構建後,開始部署ceph叢集,第一步為啟動Ceph Monitor - 叢集監控容器。

Ceph Monitor 維護著展示叢集狀態的各種圖表。

路徑設定: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為物件儲存守護程序,提供實際的儲存,預設情況下ceph叢集需要部署3個OSD。

環境準備:為Linux主機新增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裝置換成對應的即可。

4.建立RGW並測試物件儲存

Ceph RGW - Rados閘道器:提供S3與Swift相容的API,儲存資料至物件儲存。

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工具測試部署情況:

curl -H "Content-Type: application/json" "http://127.0.0.1:8080"


下載測試檔案:

wget "https://gist.githubusercontent.com/kairen/e0dec164fa6664f40784f303076233a5/raw/33add5a18cb7d6f18531d8d481562d017557747c/s3client"

chmod u+x s3clinet

安裝執行依賴:

yum install python-pip

pip install boto

物件儲存測試:

(1)建立一個使用者

docker exec -ti rgw1 radosgw-admin user create --uid="test" --display-name="I'm Test account" --email="[email protected]"


(2)建立環境引數配置檔案

vim s3key.sh


key資訊對照test使用者

(3)列出當前bucket

./s3client list


(4)建立一個bucket並上傳檔案

./s3client create files


./s3client upload files s3key.sh /


./s3client list files


5.建立MDS並測試檔案系統

Ceph MDS - 元資料伺服器,為ceph檔案系統儲存元資料。

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


以上,Ceph叢集容器化部署完成。

相關推薦

Ceph叢集Docker容器部署

目標:使用Docker部署Ceph儲存叢集環境:CentOS 7步驟:建立Ceph專用網路->建立Monitor->建立OSD->建立RGW並測試物件儲存->建立MDS並測試檔案系統->建立MGR前期準備:Linux主機需提前安裝Docker1.

Docker容器部署嘗試——多容器通訊(node + mongoDB + nginx)

原因是這樣的 想要部署一個mocker平臺,就在朋友的推薦下選擇了api-mocker這個現成的專案 該專案分為服務端node、客戶端vue、以及資料庫mongoDB 在嘗試直接部署的時候發現需要裝一大堆的環境,node、mongo、nginx啊,特別的麻煩,之前簡單的使用過docker,就在

專案docker容器部署步驟

Docker在部署時的一些基本步驟(主要針對我公司的專案環境): 1.專案中存在不需要使用容器化的服務,所以請安裝jdk7、redis、mq、zookeeper、dubbo控制檯 2.映象匯入 #cat sdzn_docker_tomcat.tar|docker impor

處理Docker容器部署Tomcat服務碰到的時區問題

用Docker工具容器化部署服務之後,碰到的問題比較多。 其中比較特出的問題是這個時區問題。 1 問題現象: 舉個例子,有個小功能,需要記錄計劃開始時間。 前臺輸入的時間是:2018.4.24 00:00:00。 後臺記錄的計劃開始時間卻是:201

Docker容器部署Python應用

1. 簡介 Docker是目前主流IT公司廣泛接受和使用的,用於構建、管理和保護它們應用程式的工具。 容器,例如Docker允許

容器部署——docker常用命令

pro images 圖片 png docke ps命令 log ESS src 1、使用docker ps命令查看有哪些進程 2、進入容器:容器化部署——docker常用命令

spring eureka叢集+spring boot 微服務,容器部署示例

1.搭建eureka docker叢集 (1)建立eureka容器 參考如下指令,在不同的伺服器上建立eureka容器。(提前在docker hup 上下載好java:8的映象) docker run -d --name registry1 -p 8762:808

Openstack容器部署研究之:Kolla離線製作Openstack服務的Docker容器映象

1、前言 作為擁抱Docker容器技術的代表,Kolla已成為當前Openstack生態圈中最為熱門的專案之一。Kolla專案目前已被拆分為三個部分,即用以Build Docker映象的Kolla專案和用以編排部署Docker映象的Kolla-ansible和Kolla-

Kubernetes(K8S)叢集管理Docker容器部署篇)

今天這篇文章教給大家如何快速部署一套Kubernetes叢集。K8S叢集部署有幾種方式:kubeadm、minikube和二進位制包。前兩者屬於自動部署,簡化部署操作,我們這裡強烈推薦初學者使用二進位制

docker-compose編排LNMP容器部署

01 為什麼要使用 docker-compose 用通俗的語言來說,我們平時操作 docker 還是很原始的一系列動作,如果你要對映硬碟,設定nat網路或者橋接網路,等等…你就要做更多的 docker 操作, 這顯然是非常沒有效率的。 有了 docker-compos

通過Jenkins + Docker實現antdPro自動化推送私服、自動容器部署功能

ash let agen 體系 pig 優化 war包 自動 情況 Docker與Docker私服 1. 安裝docker https://docs.docker.com/install/ 2. 配置docker鏡像加速 https://www.daocloud.io/mi

Kubernetes(K8S)集群管理Docker容器部署篇)

kubernetes k8s今天這篇文章教給大家如何快速部署一套Kubernetes集群。K8S集群部署有幾種方式:kubeadm、minikube和二進制包。前兩者屬於自動部署,簡化部署操作,我們這裏強烈推薦初學者使用二進制包部署,因為自動部署屏蔽了很多細節,使得對各個模塊感知很少,非常不利用學習。所以,這

[ci]jenkins-slave-ssh docker容器-自動註入key

server serve 註入 docker容器 容器 動態 ssh key class src jenkins server 再啟動slave時候,動態的註入sshkey 只要slave有ssh+jdk即可.無需事先預置用戶名密碼給slave. 配置 inject ss

Docker容器部署靜態網頁的方法教程

tin uri ash led att bin get acf code 步驟:1.創建映射端口的交互式容器docker run -p 80 --name web -i -t daocloud.io/ubuntu /bin/bash2.安裝Nginxapt-get inst

談談surging引擎的tcp、http、ws協議和如何容器部署

spro inter span ppi package completed module out 選址 1、前言 分布式已經成為了當前最熱門的話題,分布式框架也百花齊放,群雄逐鹿。從中心化服務治理框架,到去中心化分布式服務框架,再到分布式微服務引擎,這

Spring Boot Tomcat 容器部署實踐與總結

打通 目的 rim attribute exceptio process ntc with 初始化 在平時的工作和學習中經常會構建簡單的web應用程序。如果只是HelloWorld級別的程序,使用傳統的Spring+SpringMVC框架搭建得話會將大部分的時間花費在搭建框

jenkins+Docker持續部署(筆記)

配置 地址 技術分享 html https build target 參數 jenkins安裝 參考資料:https://www.cnblogs.com/leolztang/p/6934694.html (Jenkins(Docker容器內)使用宿主機的docker命令)

Docker容器虛擬機器:拋棄傳統虛擬機器

Win10 Docker與VMware和Oracle VirtualBox衝突,使得在包含有VMware或Oracle VirtualBox的主機上不能成功安裝Win10 Docker,同理在Win10 Docker機器上也不能正常使用VMware和Oracle VirtualBox。Windo

spring cloud docker容器

spring cloud docker外掛自動化部署 通用步驟 dockerfile-maven-plugin外掛入門 docker-maven-plugin 外掛預設連線本地 Docker 地址為:localhost:2375,所以我們需要先設定下環境變數

微服務之docker容器引擎

什麼是Docker 首先docker也是一個虛擬技術 Docker 在容器的基礎上,進行了進一步的封裝,從檔案系統、網路互聯到程序隔離等等,極大的簡化了容器的建立和維護。使得 Docker 技術比虛擬機器技術更為輕便、快捷。 傳統虛擬機器技術是虛擬出一套硬體後,