新聞中心
在CentOS 7上安裝分布式存儲系統(tǒng)Ceph
作者:運維生存時間 2017-06-06 14:25:54
系統(tǒng)
Linux
分布式 Sage Weil 讀博士的時候開發(fā)了這套牛逼的分布式存儲系統(tǒng),最初是奔著高性能分布式文件系統(tǒng)去的,結(jié)果云計算風(fēng)口一來,Ceph 重心轉(zhuǎn)向了分布式塊存儲(Block Storage)和分布式對象存儲(Object Storage),現(xiàn)在分布式文件系統(tǒng) CephFS 還停在 beta 階段。Ceph 現(xiàn)在是云計算、虛擬機部署的最火開源存儲解決方案,據(jù)說有20%的 OpenStack 部署存儲用的都是 Ceph 的 block storage.

成都創(chuàng)新互聯(lián)成立10多年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都網(wǎng)站設(shè)計、成都做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁設(shè)計、空間域名、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務(wù)。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。
關(guān)于 Ceph 的介紹網(wǎng)上一大堆,這里就不重復(fù)了。Sage Weil 讀博士的時候開發(fā)了這套牛逼的分布式存儲系統(tǒng),最初是奔著高性能分布式文件系統(tǒng)去的,結(jié)果云計算風(fēng)口一來,Ceph 重心轉(zhuǎn)向了分布式塊存儲(Block Storage)和分布式對象存儲(Object Storage),現(xiàn)在分布式文件系統(tǒng) CephFS 還停在 beta 階段。Ceph 現(xiàn)在是云計算、虛擬機部署的最火開源存儲解決方案,據(jù)說有20%的 OpenStack 部署存儲用的都是 Ceph 的 block storage.
Ceph 提供3種存儲方式:對象存儲,塊存儲和文件系統(tǒng),下圖很好的展示了 Ceph 存儲集群的架構(gòu):
ceph-cluster
我們主要關(guān)心的是塊存儲,將在下半年慢慢把虛擬機后端存儲從 SAN 過渡到 Ceph. 雖然還是 0.94 版本,Ceph 現(xiàn)在已經(jīng)比較成熟了,有個同事已經(jīng)在生產(chǎn)環(huán)境里運行 Ceph 了兩年多,他曾遇到很多問題,但最終還是解決了,可見 Ceph 還是非常穩(wěn)定和可靠的。
硬件環(huán)境準(zhǔn)備
準(zhǔn)備了6臺機器,其中3臺物理服務(wù)器做監(jiān)控節(jié)點(mon: ceph-mon1, ceph-mon2, ceph-mon3),2臺物理服務(wù)器做存儲節(jié)點(osd: ceph-osd1, ceph-osd2),1臺虛擬機做管理節(jié)點(adm: ceph-adm)。
Ceph 要求必須是奇數(shù)個監(jiān)控節(jié)點,而且最少3個(自己玩玩的話,1個也是可以的),ceph-adm 是可選的,可以把 ceph-adm 放在 monitor 上,只不過把 ceph-adm 單獨拿出來架構(gòu)上看更清晰一些。當(dāng)然也可以把 mon 放在 osd 上,生產(chǎn)環(huán)境下是不推薦這樣做的。
ADM 服務(wù)器硬件配置比較隨意,用1臺低配置的虛擬機就可以了,只是用來操作和管理 Ceph;
MON 服務(wù)器2塊硬盤做成 RAID1,用來安裝操作系統(tǒng);
OSD 服務(wù)器上用10塊 4TB 硬盤做 Ceph 存儲,每個 osd 對應(yīng)1塊硬盤,每個 osd 需要1個 Journal,所以10塊硬盤需要10個 Journal,我們用2塊大容量 SSD 硬盤做 journal,每個 SSD 等分成5個區(qū),這樣每個區(qū)分別對應(yīng)一個 osd 硬盤的 journal,剩下的2塊小容量 SSD 裝操作系統(tǒng),采用 RAID1.
配置列表如下:
軟件環(huán)境準(zhǔn)備
所有 Ceph 集群節(jié)點采用 CentOS 7.1 版本(CentOS-7-x86_64-Minimal-1503-01.iso),所有文件系統(tǒng)采用 Ceph 官方推薦的 xfs,所有節(jié)點的操作系統(tǒng)都裝在 RAID1 上,其他的硬盤單獨用,不做任何 RAID.
安裝完 CentOS 后我們需要在每個節(jié)點上(包括 ceph-adm 哦)做一點基本配置,比如關(guān)閉 SELINUX、打開防火墻端口、同步時間等:
在每臺 osd 服務(wù)器上我們需要對10塊 SAS 硬盤分區(qū)、創(chuàng)建 xfs 文件系統(tǒng);對2塊用做 journal 的 SSD 硬盤分5個區(qū),每個區(qū)對應(yīng)一塊硬盤,不需要創(chuàng)建文件系統(tǒng),留給 Ceph 自己處理。
上面的命令行要對10個硬盤處理,重復(fù)的操作太多,以后還會陸續(xù)增加服務(wù)器,寫成腳本 parted.sh 方便操作,其中 /dev/sda|b|d|e|g|h|i|j|k|l 分別是10塊硬盤,/dev/sdc 和 /dev/sdf 是用做 journal 的 SSD:
在 ceph-adm 上運行 ssh-keygen 生成 ssh key 文件,注意 passphrase 是空,把 ssh key 拷貝到每一個 Ceph 節(jié)點上:
在 ceph-adm 上登陸到每臺節(jié)點上確認是否都能無密碼 ssh 了,確保那個煩人的連接確認不會再出現(xiàn):
Ceph 部署
比起在每個 Ceph 節(jié)點上手動安裝 Ceph,用 ceph-deploy 工具統(tǒng)一安裝要方便得多:
創(chuàng)建一個 ceph 工作目錄,以后的操作都在這個目錄下面進行:
初始化集群,告訴 ceph-deploy 哪些節(jié)點是監(jiān)控節(jié)點,命令成功執(zhí)行后會在 ceph-cluster 目錄下生成 ceph.conf, ceph.log, ceph.mon.keyring 等相關(guān)文件:
在每個 Ceph 節(jié)點上都安裝 Ceph:
初始化監(jiān)控節(jié)點:
查看一下 Ceph 存儲節(jié)點的硬盤情況:
初始化 Ceph 硬盤,然后創(chuàng)建 osd 存儲節(jié)點,存儲節(jié)點:單個硬盤:對應(yīng)的 journal 分區(qū),一一對應(yīng):
***,我們把生成的配置文件從 ceph-adm 同步部署到其他幾個節(jié)點,使得每個節(jié)點的 ceph 配置一致:
測試
看一下配置成功了沒?
增加 PG 數(shù)目,根據(jù) Total PGs = (#OSDs * 100) / pool size 公式來決定 pg_num(pgp_num 應(yīng)該設(shè)成和 pg_num 一樣),所以 20*100/2=1000,Ceph 官方推薦取最接近2的指數(shù)倍,所以選擇 1024。如果順利的話,就應(yīng)該可以看到 HEALTH_OK 了:
更詳細一點:
如果操作沒有問題的話記得把上面操作寫到 ceph.conf 文件里,并同步部署的各節(jié)點:
如果一切可以從來
部署過程中如果出現(xiàn)任何奇怪的問題無法解決,可以簡單的刪除一切從頭再來:
Troubleshooting
如果出現(xiàn)任何網(wǎng)絡(luò)問題,首先確認節(jié)點可以互相無密碼 ssh,各個節(jié)點的防火墻已關(guān)閉或加入規(guī)則:
初次安裝 Ceph 會遇到各種各樣的問題,總體來說排錯還算順利,隨著經(jīng)驗的積累,今年下半年將會逐步把 Ceph 加入到生產(chǎn)環(huán)境。
本文名稱:在CentOS 7上安裝分布式存儲系統(tǒng)Ceph
網(wǎng)頁網(wǎng)址:http://m.fisionsoft.com.cn/article/djiojdc.html


咨詢
建站咨詢
