恢復故障的儲存磁碟區並重建Cassandra資料庫
您必須執行指令碼、重新格式化及重新掛載故障儲存磁碟區上的儲存設備、並在系統判斷有必要時、在儲存節點上重新建置Cassandra資料庫。
-
您必須擁有「passwors.txt」檔案。
-
伺服器上的系統磁碟機必須完整無缺。
-
故障原因必須已確認、必要時必須已取得替換儲存硬體。
-
替換儲存設備的總大小必須與原始儲存設備相同。
-
您已檢查儲存節點汰換是否在進行中、或您已暫停節點取消委任程序。(在Grid Manager中、選取* maintenance > Tasks > Decompress*。)
-
您已檢查擴充是否在進行中。(在Grid Manager中、選取* maintenance > Tasks > Expansion *。)
-
您有 已查看有關儲存磁碟區恢復的警告。
-
視需要更換故障的實體或虛擬儲存設備、這些儲存設備與您先前識別並卸載的故障儲存磁碟區相關聯。
更換儲存設備後、請務必重新掃描或重新開機、以確保作業系統能夠辨識該儲存設備、但不要重新掛載磁碟區。儲存設備會在稍後的步驟中重新掛載並新增至「etc/stab」。
-
登入故障儲存節點:
-
輸入下列命令:「sh admin@grid_node_ip`」
-
輸入「passwords.txt」檔案中所列的密碼。
-
輸入下列命令以切換至root:「u -」
-
輸入「passwords.txt」檔案中所列的密碼。
以root登入時、提示會從「$」變更為「#」。
-
-
使用文字編輯器(VI或vim)從「etc/stab'」檔案刪除故障磁碟區、然後儲存檔案。
在「etc/stab'」檔案中註解故障的磁碟區不足。當恢復過程驗證「Fstab」檔案中的所有行是否與掛載的檔案系統相符時、必須從「Fstab」刪除該磁碟區。 -
重新格式化任何故障的儲存磁碟區、並視需要重新建置Cassandra資料庫。輸入:「REformat儲存設備區塊裝置.RB」
-
如果儲存服務正在執行、系統會提示您停止這些服務。輸入:* y*
-
如有必要、系統會提示您重新建置Cassandra資料庫。
-
檢閱警告。如果沒有任何應用程式、請重新建置Cassandra資料庫。輸入:* y*
-
如果有多個儲存節點離線、或是在過去15天內重建了另一個儲存節點。輸入:* n*
指令碼將會結束而不重建Cassandra。聯絡技術支援。
-
-
對於儲存節點上的每個rangedb磁碟機、當系統詢問您:「重新格式化rangedb磁碟機_(裝置_):(次要號碼>_)?[y/n]?]、請輸入下列其中一個回應:
-
* y*重新格式化發生錯誤的磁碟機。這會重新格式化儲存磁碟區、並將重新格式化的儲存磁碟區新增至「etc/stab]檔案。
-
*不*如果磁碟機沒有錯誤、而且您不想重新格式化。
選取* n*會結束指令碼。掛載磁碟機(如果您認為應該保留磁碟機上的資料、而且磁碟機發生錯誤、請將其卸載)或移除磁碟機。然後、再次執行「REformat儲存設備區塊裝置.RB」命令。
部分StorageGRID 還原程序會使用Reaper來處理Cassandra的修復作業。一旦相關或必要的服務開始、系統就會自動進行修復。您可能會注意到指令碼輸出中提到「Shaper」或「Cassandra repair」。 如果您看到指出修復失敗的錯誤訊息、請執行錯誤訊息中指示的命令。 -
在以下輸出範例中、磁碟機「/dev/SDF」必須重新格式化、而Cassandra則不需要重新建置:
-
root@DC1-S1:~ # reformat_storage_block_devices.rb Storage services must be stopped before running this script. Stop storage services [y/N]? **y** Shutting down storage services. Storage services stopped. Formatting devices that are not in use... Skipping in use device /dev/sdc Skipping in use device /dev/sdd Skipping in use device /dev/sde Reformat the rangedb drive /dev/sdf (device 8:64)? [Y/n]? **y** Successfully formatted /dev/sdf with UUID c817f87f-f989-4a21-8f03-b6f42180063f Skipping in use device /dev/sdg All devices processed Running: /usr/local/ldr/setup_rangedb.sh 12075630 Cassandra does not need rebuilding. Starting services. Reformatting done. Now do manual steps to restore copies of data.
-