Ceph Storage 水很深
筆者不才,早前為大家介紹了一篇關於Ceph Storage的最入門安裝教學。但在後續測試中,發現了一些概念上的問題,需要盡早說明,不然就會像筆者一樣,要砍掉重來很多次。 OSD HDD Ceph Storage的主要功能,就是為Contiainer提供外置儲存空間,它對儲存空間有特定的要求。我們最好在建立ceph clustercephadm bootstrap之前,就為每個node上增加合適的HDD 引述官方說明 OSD Object Storage Daemons The device must have no partitions. The device must not have any LVM state. The device must not be mounted. The device must not contain a file system. The device must not contain a Ceph BlueStore OSD. The device must be larger than 5 GB. 簡而言之,大家需要準備新的HDD,不要做任何格式化,讓OS見到HDD但不作任何操作。筆者試過,使用hyperv VM hyperv HDD,也是可以做到的。不過之前筆者於教學中用的 multipass 就沒有這個模擬HDD功能,我們需要使用比較強大的VM作為實驗。 若然HDD是在ceph clustercephadm bootstrap建立之前,就存在的。我們可以經過ceph的網頁介面,或經指令自動加入。 ceph orch apply osd allavailabledevices 若然HDD是在ceph clustercephadm bootstrap建立之後,才加入的。那麼ceph有機會沒法自動發現它,筆者當前的dev版本就出現這問題。我們就需要經指令手動增加 ceph orch daemon add osd NODENAMEdevsdb OSD 官方說明文件 httpsdocs.ceph.comenreefcephadmservicesosd#cephadmdeployosds Reset 在我們做實驗時,若我們想回復到上一個狀態,測試不同的參數差異,Ceph指令並不會即時執行。例如前一句的add osd,想倒回來自行刪掉一些osd,即 ceph orch osd rm OSDID 它就會排隊慢慢做刪除。 但這個過程筆者未有成功過,OSD一直處於繁忙狀態。有機會是因為系統需要保持同步狀態,待成功遷移資料前,什麼都不能動,所以一直都在待刪除的狀態中。 同樣地,當我們想要刪除一些node時,我們使用以下指令 ceph orch host drain NODENAME ceph orch host rm NODENAME 最後也是會卡在刪除OSD的情況 Removing Hosts 官方說明文件 httpsdocs.ceph.comenreefcephadmhostmanagement Static IP 因為 container 技術,很多都需要固定 IP ,我們做實驗之前,最好先了解你的VM engine如果提供Static ip 。以 hyperv 建立的 VM ,其實可以同時建立兩張網卡的,一張為預設網卡,用於連網用,另一張則設定為內部網絡。在安裝 ceph 時,經 cephadm bootstrap 所引用的IP則設定為內部網絡的IP。之後基本上使用任何一張網卡的 ip ,也可以訪問到cephadm的網頁介面。如果不是在一開始的階段上準備Static IP ,我們又會在重設解綁cluster時,同樣因為機器繁忙而卡在不上不下的狀況。