天天看點

從傳統運維到雲運維演進曆程之軟體定義存儲(二)

上回書說到一般企業使用Ceph會經曆幾個關卡:硬體選型 —— 部署調優—— 性能測試  架構災備設計 —— 部分業務上線測試 —— 運作維護(故障處理、預案演練等)。

今天來重點講下部署調優關卡。許多Ceph新手在測試環節以及預生産的時候會對Ceph叢集的部署以及調優産生困擾,A公司運維小哥也遇到了部署和調優問題。下面來看看A公司運維小哥是如何解決這個問題的。

上篇文章開頭我也說到了,部署Ceph是新手的噩夢,對于傳統運維來說部署一套Ceph是很難的事情,A公司運維小哥在官網以及Ceph中國社群的相關資料和幫助下才漸漸熟悉了什麼是Ceph、它能做什麼。在相關了解Ceph之後,A公司運維小哥開始部署Ceph。

下面說下部署過程,以及部署過程中的一些坑。

部署過程(按照官網步驟開始一步步做)

1. 安裝Linux作業系統;

2. 配置系統IP,配置hosts檔案,關閉防火牆和selinux,配置節點間免密通路;

3. 配置Ceph源;

4. 安裝Ceph;

在部署的過程中,經曆了三戰三敗的過程:

從傳統運維到雲運維演進曆程之軟體定義存儲(二)

一開始就遇到了因為網絡的問題而導緻下載下傳包失敗,後查閱相關資料找到Ceph中國社群有篇文章“如何使用國内源部署Ceph”,于是采用國内Ceph源,解決了此問題。

從傳統運維到雲運維演進曆程之軟體定義存儲(二)

圖1:網絡問題

解決了網絡問題又迎來了磁盤分區的問題,運維小哥折騰了半天沒弄好,後來在Ceph中國社群群友的幫助下解決了此事。遇到這種情況一般有兩種原因:

一:磁盤提前分好區了

二:磁盤已挂載

解決辦法:

一:删除分區

二:解除安裝硬碟&删除分區

從傳統運維到雲運維演進曆程之軟體定義存儲(二)

圖2:磁盤問題

搭建了好久終于搭建完了,但是又面臨着一個問題,就是OSD服務程序在,但是ceph osd tree檢視OSD卻顯示down狀态,讓運維小哥百思不得其解。

從傳統運維到雲運維演進曆程之軟體定義存儲(二)

圖3:OSD節點圖

從傳統運維到雲運維演進曆程之軟體定義存儲(二)

圖4:OSD程序圖

從上圖可以看出,Ceph OSD程序在運作,但是ceph osd tree檢視OSD卻顯示down狀态。

而此時就是考驗一個運維人員的處理故障的基本素質,好在這個運維小哥有過一兩年的經驗,經過基本排查,最終确定了是時間問題。由于三個節點時間不一緻而導緻的這個問題,這裡稱之為“OSD打擺子”。不隻是時間問題會導緻“OSD打擺子”問題,有時候也會因為網卡問題而導緻“OSD打擺子”。

從傳統運維到雲運維演進曆程之軟體定義存儲(二)

圖5:Ceph節點1

從傳統運維到雲運維演進曆程之軟體定義存儲(二)

圖6:Ceph節點2

從傳統運維到雲運維演進曆程之軟體定義存儲(二)

圖7:Ceph節點3

其實在開始部署Ceph的環境準備環節就說到了要配置NTP伺服器,然而大部分人容易忽略。其實在任何時候時間問題是排在第一位的,下面舉兩個例子說明下因為時間問題而産生的一些問題。

1.某雲平台由于時間問題,導緻雲主機建立不了、當機等問題。

2.某分布式檔案存儲由于時間問題,導緻資料分布不均衡、腦裂等問題。

上述說的節點時間問題導緻OSD出現“打擺子”故障,因為時間而産生的問題遠不止于此,雖然可以部署成功,但是後續也會産生一系列莫名其妙的問題,如MON選舉問題,OSD資料同步的問題等等。

是以雲平台也好存儲也好,都會因為時間而産生不必要的故障問題,建議運維人員要注重時間問題。

從傳統運維到雲運維演進曆程之軟體定義存儲(二)

圖8:Ceph叢集

好了言歸正傳,上圖是運維小哥新搭建好的叢集。三節點、六個OSD的Ceph小叢集。希望本文能夠給予Ceph新手參考,請讀者見仁見智,預知後事如何,請期待《部署調優關卡之調優》。

本文轉自Devin 51CTO部落格,原文連結:http://blog.51cto.com/devingeng/1854517