国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用 Docker 部署分布式存儲系統(tǒng)——Ceph

這篇具有很好參考價值的文章主要介紹了使用 Docker 部署分布式存儲系統(tǒng)——Ceph。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

最近工作中接觸了一個 Python + Flask 的新項目,項目中使用了 Ceph 對象存儲服務(wù)。遂在開發(fā)環(huán)境使用 Docker 搭建了一套 Ceph 集群。

Ceph 官方文檔

Ceph 介紹

Ceph 是一個開源的分布式存儲系統(tǒng),提供了對象存儲、塊存儲和文件系統(tǒng)三種存儲接口。Ceph 將數(shù)據(jù)存儲在邏輯存儲池中,使用 CRUSH 分布式算法決定如何將數(shù)據(jù)分散存儲在集群的各個節(jié)點上,以實現(xiàn)高可用性和數(shù)據(jù)冗余。本文介紹如何使用 Ceph 的對象存儲功能。

搭建 Ceph 集群至少要包括一個 MON(Monitor) 節(jié)點、一個MGR(Manager) 節(jié)點和多個 OSD(Object Storage Daemon)節(jié)點,OSD 節(jié)點數(shù)量由你要保存的數(shù)據(jù)副本數(shù)量決定,比如你要將數(shù)據(jù)集存儲三份,就需要部署至少三個 OSD 節(jié)點。

  • OSD(Object Storage Daemon):負責(zé)管理磁盤上的數(shù)據(jù)塊(數(shù)據(jù)存儲、數(shù)據(jù)復(fù)制和數(shù)據(jù)恢復(fù)等),執(zhí)行數(shù)據(jù)的讀寫操作。確保集群的高可用性,通常至少要部署三個節(jié)點。

  • MON(Monitor):負責(zé)維護 Ceph 集群的狀態(tài)信息、配置信息和映射信息,確保集群元數(shù)據(jù)的一致性,協(xié)調(diào)集群節(jié)點間數(shù)據(jù)的分布和恢復(fù)。確保集群的高可用性,通常至少要部署三個節(jié)點。

  • MDS(Metadata Server):負責(zé)管理文件系統(tǒng)的目錄結(jié)構(gòu)、文件和目錄的元數(shù)據(jù)信息,為 CephFS(Ceph的分布式文件系統(tǒng))提供元數(shù)據(jù)服務(wù)。塊存儲和對象存儲不需要部署 MDS

  • MGR(Manager):負責(zé)收集 Ceph 集群的狀態(tài)信息(OSD、MON、MDS 的性能指標(biāo)、健康狀況等),并提供了可視化的儀表板(Ceph Dashboard)方便用戶查看。確保集群的高可用性,通常至少要部署兩個節(jié)點。

  • RGW(Rados Gateway):提供了 RESTful API,允許用戶發(fā)送 HTTP/HTTPS 請求訪問和管理存儲在 Ceph 集群中的數(shù)據(jù),支持 Amazon S3 API 和 OpenStack Swift API。

ceph docker,實用,docker,分布式,ceph

Ceph 集群搭建

部署環(huán)境

三臺網(wǎng)絡(luò)互通的 CentOS 虛擬機。

主機名稱 主機IP 說明
ceph-admin 10.0.28.10 osd、mon、mgr、rgw
ceph-1 10.0.28.11 osd、mon
ceph-2 10.0.28.12 osd、mon

拉取鏡像

DockerHub 鏡像地址

# 拉取鏡像
docker pull ceph/daemon:master-7ef46af-nautilus-centos-7-x86_64
# 更改鏡像tag
docker image tag ceph/daemon:master-7ef46af-nautilus-centos-7-x86_64 ceph/daemon:latest

啟動 mon 容器

登陸到第一臺服務(wù)器(ceph-admin)。

  1. 創(chuàng)建掛載目錄,并賦予權(quán)限。
sudo mkdir -p "/root/ceph/etc"
sudo mkdir -p "/root/ceph/lib"
sudo mkdir -p "/root/ceph/logs"
sudo mkdir -p "/root/ceph/data;
chmod -R 777 /root/ceph
  1. 啟動容器。
docker run -d \
    --net=host \
    --name=mon \
    --restart=always \
    --privileged=true \
    -v /root/ceph/etc:/etc/ceph \
    -v /root/ceph/lib:/var/lib/ceph/ \
    -v /root/ceph/logs:/var/log/ceph \
    -e MON_IP=10.0.28.10,10.0.28.11,10.0.28.12 \
    -e CEPH_PUBLIC_NETWORK=10.0.28.0/24 \
    ceph/daemon mon
  1. 復(fù)制配置文件到另外兩臺服務(wù)器.
# ceph-2 10.0.28.11
scp -r /root/ceph root@10.0.28.11:/root

# ceph-3 10.0.28.12
scp -r /root/ceph root@10.0.28.12:/root
  1. 執(zhí)行上面的容器啟動命令,在另外兩臺服務(wù)器上啟動 mon 容器。

  2. 查看部署狀態(tài)。如下圖,三個 mon 節(jié)點啟動成功。

docker exec mon ceph -s

ceph docker,實用,docker,分布式,ceph

啟動 osd 容器

  1. 執(zhí)行如下命令,在 mon 節(jié)點生成 osd 密鑰信息,否則啟動 osd 容器會報錯。
docker exec -it mon ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring
  1. 啟動容器。
docker run -d \
    --net=host \
    --name=osd \
    --restart=always \
    --privileged=true \
    -v /root/ceph/etc:/etc/ceph \
    -v /root/ceph/lib/:/var/lib/ceph/ \
    -v /root/ceph/logs/:/var/log/ceph \
    -v /root/ceph/data/osd:/var/lib/ceph/osd \
    ceph/daemon osd_directory
  1. 查看部署狀態(tài)。如下圖,三個 osd節(jié)點啟動成功。

ceph docker,實用,docker,分布式,ceph

啟動 mds 容器

 docker run -d \
     --net=host \
     --name mds \
     --restart=always \
     --privileged=true \
     -v /root/baseService/ceph/etc:/etc/ceph \
     -v /root/baseService/ceph/lib:/var/lib/ceph/ \
     -v /root/baseService/ceph/logs:/var/log/ceph \
     -e CEPHFS_CREATE=0 \
     -e CEPHFS_METADATA_POOL_PG=512 \
     -e CEPHFS_DATA_POOL_PG=512 \
     ceph/daemon mds
# CEPHFS_CREATE 是為METADATA服務(wù)生成文件系統(tǒng), 0表示不自動創(chuàng)建文件系統(tǒng)(默認值), 1表示自動創(chuàng)建。
# CEPHFS_DATA_POOL_PG是數(shù)據(jù)池的數(shù)量,默認為8。
# CEPHFS_METADATA_POOL_PG是元數(shù)據(jù)池的數(shù)量,默認為8。

啟動 rgw 容器

  1. 執(zhí)行如下命令,在 mon 節(jié)點生成 rgw密鑰信息,否則啟動 rgw容器會報錯。
docker exec mon ceph auth get client.bootstrap-rgw -o /var/lib/ceph/bootstrap-rgw/ceph.keyring
  1. 啟動容器。
docker run -d \
     --net=host \
     --name rgw \
     --restart=always \
     -p 7480:80 \
     -v /root/ceph/etc:/etc/ceph \
     -v /root/ceph/lib:/var/lib/ceph/ \
     -v /root/ceph/logs:/var/log/ceph \
     ceph/daemon rgw

啟動 mgr 容器

  1. 啟動容器。
docker run -d --net=host  \
  --name=mgr \
  --restart=always \
  -v /root/ceph/etc:/etc/ceph \
  -v /root/ceph/lib:/var/lib/ceph \
  -v /root/ceph/logs:/var/log/ceph \
  ceph/daemon mgr
  1. 查看部署狀態(tài)。如下圖,至此,Ceph 集群節(jié)點全部啟動成功。

ceph docker,實用,docker,分布式,ceph

安裝 Dashboard 管理后臺

  1. 開啟 Dashboard 功能。
docker exec mgr ceph mgr module enable dashboard
  1. 創(chuàng)建證書。
docker exec mgr ceph dashboard create-self-signed-cert
  1. 創(chuàng)建登陸用戶名和密碼。
docker exec mgr ceph dashboard set-login-credentials cephAdmin cephPassword
  1. 配置外部訪問端口。
docker exec mgr ceph config set mgr mgr/dashboard/server_port 7800
  1. 配置外部訪問 ip。
docker exec mgr ceph config set mgr mgr/dashboard/server_addr 10.0.28.10
  1. 關(guān)閉 HTTPS(如果沒有證書或內(nèi)網(wǎng)使用,可以關(guān)閉)。
docker exec mgr ceph config set mgr mgr/dashboard/ssl false
  1. 重啟mgr服務(wù)。
docker restart mgr
  1. 查看 Dashboard 服務(wù)信息。
docker exec mgr ceph mgr services

ceph docker,實用,docker,分布式,ceph

  1. 瀏覽器訪問 Dashboard 管理頁面。

ceph docker,實用,docker,分布式,ceph

ceph docker,實用,docker,分布式,ceph

問題

  • osd 容器啟動失敗。error connecting to the clusterdoes not generate config。執(zhí)行如下命令解決。
docker exec -it mon ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring

ceph docker,實用,docker,分布式,ceph

  • rgw 容器啟動失敗。ERROR- /var/lib/ceph/bootstrap-rgw/ceph.keyring must exist 執(zhí)行如下命令解決。
docker exec mon ceph auth get client.bootstrap-rgw -o /var/lib/ceph/bootstrap-rgw/ceph.keyring

ceph docker,實用,docker,分布式,ceph

  • 服務(wù)器重啟后,mon 節(jié)點重啟失敗。Existing mon, trying to rejoin cluster。修改 mon 的啟動腳本解決。

ceph docker,實用,docker,分布式,ceph

  1. 將 mon 容器內(nèi)的啟動腳本復(fù)制到宿主機中。
docker cp mon:/opt/ceph-container/bin/start_mon.sh .
  1. 修改啟動腳本。
# 找到如下代碼,注釋掉
v2v1=$(ceph-conf -c /etc/ceph/${CLUSTER}.conf 'mon host' | tr ',' '\n' | grep -c ${MON_IP})
# 替換為如下代碼
v2v1=2
  1. 將修改后的啟動腳本再復(fù)制到容器中。
docker cp start_mon.sh mon:/opt/ceph-container/bin/start_mon.sh 
  1. 重新啟動 mon 容器。
docker restart mon
  1. 容器正常啟動,但出現(xiàn)如下錯誤日志,執(zhí)行docker exec mon ceph -s命令無響應(yīng)。因為部署了三個 mon 節(jié)點,只要再啟動其他兩個 mon 節(jié)點即可恢復(fù)正常響應(yīng)。

ceph docker,實用,docker,分布式,ceph

末尾

如果本文對你有幫助的話,歡迎 點贊 + 收藏 ,非常感謝!

我是 Cleaner,我們下期再見~文章來源地址http://www.zghlxwxcb.cn/news/detail-851663.html

到了這里,關(guān)于使用 Docker 部署分布式存儲系統(tǒng)——Ceph的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【分布式技術(shù)】分布式存儲ceph之RBD塊存儲部署

    【分布式技術(shù)】分布式存儲ceph之RBD塊存儲部署

    目錄 創(chuàng)建 Ceph 塊存儲系統(tǒng) RBD 接口 服務(wù)端操作 1、創(chuàng)建一個名為 rbd-demo 的專門用于 RBD 的存儲池 2、將存儲池轉(zhuǎn)換為 RBD 模式 3、初始化存儲池 4、創(chuàng)建鏡像 5、在管理節(jié)點創(chuàng)建并授權(quán)一個用戶可訪問指定的 RBD 存儲池 6、修改RBD鏡像特性,CentOS7默認情況下只支持layering和stripin

    2024年01月18日
    瀏覽(35)
  • Hadoop的分布式文件存儲系統(tǒng)HDFS組件的使用

    Hadoop的分布式文件存儲系統(tǒng)HDFS組件的使用

    存儲整個HDFS集群的元數(shù)據(jù)(metaData) —— 整個集群中存儲的目錄和文件的索引 管理整個HDFS集群 接收客戶端的請求 負責(zé)節(jié)點的故障轉(zhuǎn)移 存儲數(shù)據(jù),是以block塊的形式進行數(shù)據(jù)的存放。 默認情況下block塊的大小是128M。 blocksize大小的計算公式: 尋址時間:下載文件時找到文件

    2024年02月09日
    瀏覽(97)
  • 分布式存儲Ceph部署

    前言 Ceph 和 GlusterFS?都是出色的分布式存儲,其中Ceph 廣泛由于Openstack以及K8S的分布式持久化存儲。 介紹 Ceph 是一個開源的分布式存儲系統(tǒng),同時支持 對象存儲、塊設(shè)備、文件系統(tǒng) ceph 是一個對象(object)式存儲系統(tǒng),它把每一個待管理的數(shù)據(jù)流(文件等數(shù)據(jù))切分為一到多個固

    2024年02月14日
    瀏覽(24)
  • ceph 分布式存儲與部署

    ceph 分布式存儲與部署

    目錄 一、存儲基礎(chǔ): ?1.單機存儲設(shè)備: ?2.?單機存儲的問題: ?3.?商業(yè)存儲解決方案: ?4.?分布式存儲: ?5. 分布式存儲的類型: 二、Ceph 簡介: 三、Ceph 優(yōu)勢: 四、Ceph 架構(gòu): ?1.?RADOS 基礎(chǔ)存儲系統(tǒng): ?2.?LIBRADOS 基礎(chǔ)庫: ?3. 高層應(yīng)用接口:包括了三個部分: ? 3.1?對象

    2024年02月07日
    瀏覽(22)
  • docker 筆記5:redis 集群分布式存儲案例

    docker 筆記5:redis 集群分布式存儲案例

    尚硅谷Docker實戰(zhàn)教程(docker教程天花板)_嗶哩嗶哩_bilibili 目錄 1.cluster(集群)模式-docker版哈希槽分區(qū)進行億級數(shù)據(jù)存儲? 1.1面試題 1.1.1? 方案1 哈希取余分區(qū) 1.1.2 方案2 一致性哈希算法分區(qū)? 原理 優(yōu)點 一致性哈希算法的容錯性? 一致性哈希算法的擴展性? 缺點? 一致性哈希算

    2024年02月09日
    瀏覽(14)
  • 【分布式文件存儲】MinIO部署及實現(xiàn)文件上傳下載

    【分布式文件存儲】MinIO部署及實現(xiàn)文件上傳下載

    目錄 概述 MinIO集群部署 準(zhǔn)備docker-compose.yml 測試啟動 MinIO用戶管理 Buckets管理 ?創(chuàng)建Buckets MinIO客戶端 引入依賴? ?文件上傳下載Demo 調(diào)用API碰到的問題 MinIO | 高性能, Kubernetes 原生對象存儲 MinIO是全球領(lǐng)先的對象存儲先鋒,目前在全世界有數(shù)百萬的用戶。 高性能 ,在標(biāo)準(zhǔn)硬件

    2024年02月07日
    瀏覽(30)
  • Ceph分布式存儲系統(tǒng)

    Ceph分布式存儲系統(tǒng)

    Ceph :ceph被稱為面向未來的存儲還是一個分布式的存儲系統(tǒng),非常靈活,如果需要擴容,只要向ceph集中增加服務(wù)器即可。ceph存儲數(shù)據(jù)時采用多副本的方式進行存儲,生產(chǎn)環(huán)境下,一個文件至少要存三份,ceph默認也是三副本存儲。 可以實現(xiàn)的 存儲方式 : 塊存儲:提供像普通

    2024年04月15日
    瀏覽(34)
  • Linux 部署 MinIO 分布式對象存儲 & 配置為 typora 圖床

    Linux 部署 MinIO 分布式對象存儲 & 配置為 typora 圖床

    MinIO 是一款高性能的對象存儲系統(tǒng),它可以用于大規(guī)模的 AI/ML、數(shù)據(jù)湖和數(shù)據(jù)庫工作負載。它的 API 與Amazon S3 云存儲服務(wù)完全兼容,可以在任何云或本地基礎(chǔ)設(shè)施上運行。MinIO 是 開源軟件 ,也提供商業(yè)許可和支持 MinIO 的特點有: 簡單 :MinIO 的安裝和使用都非常簡單,只需

    2024年02月07日
    瀏覽(30)
  • 分布式文件存儲系統(tǒng)-FastDFS

    分布式文件存儲系統(tǒng)-FastDFS

    ? ? ? ? 前言:FastDFS 是一個分布式文件存儲系統(tǒng), 主要用于存儲和管理 大規(guī)模 的 文件數(shù)據(jù),如圖片、視頻、文檔等 ,是淘寶前架構(gòu)師為了存儲圖片用C語言開發(fā)出來的系統(tǒng)。 ????????服務(wù)端有兩個組件? Tracker Server 與 Storage Server ,對應(yīng)兩個角色: Tracker: 管理和調(diào)度集群

    2024年02月13日
    瀏覽(26)
  • 分布式運用——存儲系統(tǒng)Ceph

    分布式運用——存儲系統(tǒng)Ceph

    Ceph是一個開源的分布式存儲解決方案,旨在提供可擴展性、高性能和強大的數(shù)據(jù)可靠性。它采用了一種分布式對象存儲架構(gòu),能夠同時提供塊存儲和文件存儲的功能。本篇博客將深入探索Ceph的原理、特性和應(yīng)用場景,幫助讀者更好地理解和使用這一強大的存儲解決方案。

    2024年02月17日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包