PowerScale、Isilon、OneFS:如何正確關閉叢集電源
摘要: 正確關閉 PowerScale Cluster 的最佳實務,並包含與叢集不當關機相關的風險資訊。正確關閉叢集的逐步程序。有些步驟應在排定升級的 4-8 週前執行。
說明
簡介
本文提供正確關閉 Dell Isilon Cluster 的程序,並包含與叢集不當關機相關的風險資訊。
叢集中不當關機的節點在沒有系統電源的情況下,不應超過 NVRAM 電池的使用壽命。
這大約是三到五天,具體取決於節點的類型。
如果資料仍儲存在節點日誌中,而節點沒有電源的時間超過 NVRAM 電池使用時間,則會遺失資料。
如果這種情況發生在多個節點上,將導致需要重建群集。
如果您對本文中的程序或資訊有任何疑問,請聯絡 Dell Isilon 技術支援部門以取得協助。
程序
叢集關機程序需要根認證和對叢集中節點的序列主控台存取權限。該過程分為以下階段。
- 第 1 階段:執行預防性維護
- 第 2 階段:關閉叢集中的每個節點
- 第 3 階段:確認節點是否已成功關機
- 第 4 階段:拔下電力來源
- 第 5 階段:開啟叢集中每個節點的電源
- 第 6 階段:在叢集上執行健全狀況檢查
在開始關機程序前,請先閱讀整個程序。這可確保您瞭解完成每個步驟的脈絡和順序。
第 1 階段:執行預防性維護。
這些步驟大約在排定關機前 4-8 週執行。此階段的目的是識別可能妨礙關機程序的未知或潛在的硬體或韌體問題。
如果情況需要立即關閉全叢集,您可以使用 OneFS 命令列介面或 OneFS Web 管理介面同時關閉所有節點。
如果有緊急關機程序,Dell 強烈建議您遵循第 3 階段的所有步驟,以維護資料的完整性。
- 如有需要,請上傳記錄以作為歷史參考。
# isi diagnostics gather start --gather-mode full
- 執行或要求 Isilon 健全狀況檢查。
- 這會評估叢集的健全狀況,以確保其處於良好可支援的運作狀態。
- 它可由客戶執行,使用的是 PowerScale:如何執行 IOCA 叢集分析工具
- 它可由遠端回應 (客戶支援) 團隊執行。這適用於所有擁有受支援程式碼版本叢集有效維護合約的客戶。如果您符合這些要求,請在 Dell 線上支援網站上開立服務要求 (SR),要求「Isilon 健全狀況檢查」。執行此命令,以提供健全狀況檢查的完整記錄
# isi diagnostics gather start --gather-mode full
*健全狀況檢查並非為了修正叢集問題,或評估叢集的組態、效能或工作流程。
- 執行下列步驟,為每個節點執行「冷重新開機」。應為此活動排定一個維護時段。
注意:此程序可讓您識別只有在節點重新開啟電源時才會偵測到的任何記憶體錯誤或磁碟機故障模式。
- 每次關閉叢集中的一個節點。若要關閉每個節點:
- 開啟 SSH 連線前往任何節點。執行下列命令,以關閉每個節點
isi config shutdown <node_lnn>
- 確認節點背面的綠色電源指示燈 LED 不再亮起,以確保每個節點已關閉電源。
- 按下電源按鈕以重新開啟節點電源。
- 執行此命令,確認節點是否已重新加入叢集且狀況良好。
isi status -q命令,然後在輸出的「運行狀況 DASR」 列中查找 “確定 ”。 - 如果節點遇到「健全狀況 DASR」欄中指示的問題,或者無法重新加入叢集,請先解決這些問題,再關閉下一個節點。
已選取問題的範例。節點 1 已成功重新加入叢集,但「健全狀況 DASR」欄指示它需要注意。
mycluster-1# isi status -q Cluster Name: mycluster Cluster Health: [ ATTN] Cluster Storage: HDD SSD Size: 11G (23G Raw) 0 (0 Raw) VHS Size: 11G Used: 7.9G (69%) 0 (n/a) Avail: 3.5G (31%) 0 (n/a) Health Throughput (bps) HDD Storage SSD Storage ID |IP Address |DASR | In Out Total| Used / Size |Used / Size -------------------+-----+-----+-----+-----+-----------------+----------------- 1|10.1.16.141 |-A-- | 0| 150K| 150K| 2.0G/ 2.8G( 69%)| (No SSDs) 2|10.1.16.142 |-OK- | 98K| 13K| 112K| 2.0G/ 2.8G( 69%)| (No SSDs) 3|10.1.16.143 |-OK- | 0| 44K| 44K| 2.0G/ 2.8G( 69%)| (No SSDs) 4|10.1.16.144 |-OK- | 0| 512| 512| 2.0G/ 2.8G( 69%)| (No SSDs) -------------------+-----+-----+-----+-----+-----------------+----------------- Cluster Totals: | 98K| 208K| 306K| 7.9G/ 11G( 69%)| (No SSDs) Health Fields: D = Down, A = Attention, S = Smartfailed, R = Read-Only
- 將每個節點重新開機後,請仔細檢查整個叢集的健全狀況。開啟 SSH 連線前往任何節點,並執行下列命令:
isi status -q
isi config reboot <node_lnn>
但是,Dell 強烈建議使用冷重新開機方法,以更有效地識別潛在的硬體問題。
第 2 階段:關閉叢集中的每個節點。
這些步驟會在您關閉 Isilon Cluster 的當天執行。在全叢集關機期間,一些因素可能會影響或延遲關機程序。例如,對節點未完成的資料寫入可能會影響關機。步驟 1-2 的目的是確保在執行關機命令之前,所有用戶端都已從叢集中斷連線,且節點日誌中的資料已正確儲存至檔案系統。如果您有 iSCSI 用戶端,請務必在停用 iSCSI 服務前關閉用戶端。
步驟 3 介紹如何使用序列主控台循序關閉叢集中的每個節點。建議使用此方法,因為它使您能夠在繼續下一個節點之前確認每個節點是否正確關閉,並根據需要進行調整或修正問題,以確保叢集正確關閉。但是,此方法可能很耗時,因為它需要將序列主控台連接到每個節點以執行關機命令。同時關閉叢集中的所有節點 一節說明如何使用 OneFS 命令列介面或 OneFS Web 管理介面來關閉叢集。此方法比步驟 3 較不耗時,但會讓識別關機過程中發生問題的節點更加困難。
- Isilon 建議將叢集與用戶端隔離,以確保寫入密集的用戶端不會妨礙關閉程序。您可以停用叢集上執行的用戶端服務,以進行此操作。執行以下程序以停用用戶端的服務:
- 為每個用戶端服務執行以下命令,以識別叢集上執行的用戶端服務或通訊協定:
isi services apache2 isi services isi_hdfs_d isi services isi_iscsi_d isi services ndmpd isi services nfs isi services smb isi services vsftpd
- B. 根據每個命令的輸出,記錄叢集上「啟用」的服務。在以下範例中選取,SMB 服務已啟用,而 NFS 服務已停用:
mycluster-4# isi services smb Service 'smb' is enabled. mycluster-4# isi services nfs Service 'nfs' is disabled. mycluster-4#
- 停用用戶端服務。完成此步驟後,所有用戶端都會立即失去與叢集的連線。若要停用服務,請執行以下與您已啟用的服務相關的命令。
isi services apache2 disable isi services isi_hdfs_d disable isi services isi_iscsi_d disable isi services ndmpd disable isi services nfs disable isi services smb disable isi services vsftpd disable
如果您有 iSCSI 用戶端,請確保 iSCSI 用戶端已在執行步驟 2 前取消掛接其 LUN。執行 isi iscsi list 命令,確認所有 iSCSI 用戶端都已從叢集中斷連線。
注意:如果您要停用 iSCSI 服務,請確定您已關閉 iSCSI 用戶端,再執行
isi_iscsi_d disable 命令為貴組織設定主要和次要 IT 連絡人。中斷已掛接的 iSCSI LUN 可能會導致用戶端受損,這通常需要從備份復原。
- 若要將儲存在節點日誌中的資料寫入移至檔案系統,請執行
isi_for_array isi_flush命令為貴組織設定主要和次要 IT 連絡人。每個節點上都會顯示類似以下內容的輸出:
注意: 執行 isi_flush 時,直到節點的清除完成,或節點關閉電源或出現錯誤,才會停止。如果發生問題,您無法在刷新時按 ctrl+c。
mycluster-4# isi_for_array isi_flush mycluster-1: Flushing cache... mycluster-1: Cache flushing complete.
mycluster-4# isi_for_array isi_flush mycluster-1: Flushing cache... vinvalbuf: flush failed, 1 clean and 0 dirty bufs remaining mycluster-2: Flushing cache... fsync: giving up on dirty
執行 isi_for_array isi_flush 再次命令。若有任何節點無法排清,請聯絡 Dell Isilon 技術支援。所有節點都必須成功排清,才能繼續下一個步驟。
- 循序關閉叢集中的每個節點,並監控輸出。建議使用此方法,因為它使您能夠在關閉叢集中的下一個節點之前識別並解決任何問題。執行下列步驟,以關閉每個節點:
警示:請勿執行
isi_for_array shutdown -p 命令來關閉叢集。
- 將序列主控台連接到每個節點。
- 執行下列命令:
isi config shutdown
Powering the system off using ACPI
- C. 檢視主控台並尋找與硬體相關的失敗事件。儲存的成功節點日誌在下列輸出變化中為已選取:
2014-03-22T00:35:19Z <1.5> mycluster-3(id11) isi_save_journal[44868]: Attempting to save journal to default location 2014-03-22T00:35:19Z <1.5> mycluster-3(id11) isi_save_journal[44868]: Saving journal to /var/journal/journal.gz 2014-03-22T00:35:19Z <1.5> mycluster-3(id11) isi_save_journal[44868]: All data saved successfully 2014-03-22T00:37:29Z <1.5> mycluster-3(id11) isi_save_journal[45074]: Attempting to save journal to default location 2014-03-22T00:37:29Z <1.5> mycluster-3(id11) isi_save_journal[45074]: A valid backup journal already exists. Not saving. An example of a node journal save failure is highlighted in the output below: 2014-03-21T23:39:09Z <1.4> mycluster-3(id11) /sbin/shutdown: ERROR: Validation failed for backup journal. Shutdown aborted 2014-03-21T23:39:09Z <1.4> mycluster-3(id11) /sbin/shutdown: Failed command output:
如果收到節點日誌未儲存的錯誤,可以透過執行第 3 階段中的步驟手動儲存日誌。
如果發生緊急情況,您可以同時關閉叢集中的所有節點。但是,不建議使用此方法,因為它無法讓您在發生問題時監控每個節點的狀態和輸出。如果您選擇執行這些步驟,Dell 強烈建議您遵循第 3 階段的所有步驟,以確認在執行下列程序後,是否已正確關閉所有節點。
警告:如果從尚未將資料從其日誌排清到檔案系統的節點中移除電力來源,則資料遺失的風險將大幅提升。如果您需要關機程序的協助,請聯絡 Dell Isilon 技術支援。
# isi config shutdown all
isi_for_array shutdown -p 命令,以在 OneFS 8.0 及更新版本中從 OneFS Web 管理介面關閉您的叢集。
第 3 階段:確認節點是否已成功關閉。
查看節點背面的電源指示燈發光二極體 (LED),確認節點已正確關閉。所有電源指示燈 LED 應顯示為暗色或熄滅。這表示節點已成功關閉。
如果節點背面的電源指示燈仍亮起,則表示節點尚未關閉。如果節點尚未關閉,或者您收到控制台輸出,表示節點日誌未正確儲存 (來自第 2 階段的步驟 3C),則必須手動儲存日誌以確保在關閉節點之前將資料認可至磁碟。
- 若要手動儲存日誌並關閉節點,請執行下列步驟:
- 如果節點回應命令行介面,請執行下列命令,將節點重新開機:
# isi config reboot
- 如果節點未回應命令行介面,請按住節點背面的電源按鈕,手動將節點重新開機。這會導致節點關閉電源。等待 30 秒鐘,然後按一下電源按鈕,以再次啟動節點備份。請前往下一個步驟。
- 重新啟動節點後,重新登入並使用下列步驟儲存日誌:
- 嘗試透過執行下列命令,以再次順利關閉節點:
# isi config shutdown
- 如果輸出仍指出日誌未儲存,請執行下列命令,手動儲存日誌:
# isi_save_journal
- 如果日誌仍未儲存,請取消掛接檔案系統 /ifs,然後執行下列命令強制儲存日誌:
# isi_kill_busy && umount /ifs
- 執行 isi_checkjournal 命令,確認已儲存日誌。
# isi_checkjournal
- 在輸出指出已成功儲存日誌之前,請勿前往下一個步驟。
如有需要,請聯絡 Dell 技術支援。
第 4 階段:拔下電力來源。
在叢集已成功關機並關閉節點電源後,此時才能拔下叢集的電力來源。
NVRAM 電池
當用戶端將檔案寫入節點時,寫入首先會儲存在節點日誌卡上的非揮發性 RAM (NVRAM) 中。一段時間之後,OneFS 會將這些寫入認可至磁碟。為了在發生意外電源中斷時保護儲存在 NVRAM 中的資料,每個節點都配備 NVRAM 電池 (兩顆用於備援)。已關閉電源但仍連接至電力來源的節點會繼續重新整理其 NVRAM 電池。從節點拔下電力來源後,NVRAM 電池會開始耗盡。目前世代節點 (X200、S200、X400 和 NL400) 的電池使用時間約為五天。在上一代節點中,NVRAM 電池使用時間約為三天。
Dell Technologies 建議要正確關閉節點,避免在電源中斷期間長時間依賴 NVRAM 電池。
如果節點上的 NVRAM 電池完全耗盡,節點會開機至唯讀模式,並保持唯讀模式約 30 分鐘,直到 NVRAM 電池完全充電。電池充電後,節點會自動返回正常讀/寫模式。
第 5 階段:開啟叢集中每個節點的電源。
當您準備好重新啟動 Isilon Cluster 時,即可執行這些步驟。
- 還原每個節點的電力來源。
- 按下每個節點前面板或背面板的電源按鈕將其開機。
- 開啟所有節點的電源後,請執行
isi status -q命令,以檢閱叢集的健全狀況。在繼續操作之前,請確認健全狀況 DASR 欄中的所有節點都正常,且未處於唯讀 (R) 模式。對於健全狀況良好的叢集,應顯示類似於以下內容的輸出:
Cluster Name: mycluster Cluster Health: [ OK ] Cluster Storage: HDD SSD Size: 11G (23G Raw) 0 (0 Raw) VHS Size: 11G Used: 7.9G (69%) 0 (n/a) Avail: 3.5G (31%) 0 (n/a) Health Throughput (bps) HDD Storage SSD Storage ID |IP Address |DASR | In Out Total| Used / Size |Used / Size -------------------+-----+-----+-----+-----+-----------------+----------------- 1|10.1.16.141 |-OK- | 0| 150K| 150K| 2.0G/ 2.8G( 69%)| (No SSDs) 2|10.1.16.142 |-OK- | 98K| 13K| 112K| 2.0G/ 2.8G( 69%)| (No SSDs) 3|10.1.16.143 |-OK- | 0| 44K| 44K| 2.0G/ 2.8G( 69%)| (No SSDs) 4|10.1.16.144 |-OK- | 0| 512| 512| 2.0G/ 2.8G( 69%)| (No SSDs) -------------------+-----+-----+-----+-----+-----------------+----------------- Cluster Totals: | 98K| 208K| 306K| 7.9G/ 11G( 69%)| (No SSDs) Health Fields: D = Down, A = Attention, S = Smartfailed, R = Read-Only
- 請參閱在第 2 階段步驟 1b 中建立的已啟用服務清單,並透過執行下列一或多個命令啟用已停用的服務:
isi services apache2 enable isi services isi_hdfs_d enable isi services isi_iscsi_d enable isi services ndmpd enable isi services nfs enable isi services smb enable isi services vsftpd enable
- 確認用戶端是否可連線到叢集並執行其一般工作流程。您的叢集應可正常運作。
- Upload a complete log gather:
# isi_gather_info --esrs
- 由遠端回應 (客戶支援) 小組執行或要求執行 Isilon 健全狀況檢查。
執行健全狀況檢查的步驟。
- 使用遠端回應支援小組要求健全狀況檢查
這適用於所有擁有受支援代碼版本叢集有效維護合約的客戶。
如果您符合這些要求,請在 Dell 線上支援網站上開立服務要求 (SR),要求「Isilon 健全狀況檢查」。
*健全狀況檢查並非為了修正叢集問題,或評估叢集的組態、效能或工作流程。