Skip to main content
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

恢復故障的儲存磁碟區並重建Cassandra資料庫

貢獻者

您必須執行指令碼、重新格式化及重新掛載故障儲存磁碟區上的儲存設備、並在系統判斷有必要時、在儲存節點上重新建置Cassandra資料庫。

  • 您必須擁有「passwors.txt」檔案。

  • 伺服器上的系統磁碟機必須完整無缺。

  • 故障原因必須已確認、必要時必須已取得替換儲存硬體。

  • 替換儲存設備的總大小必須與原始儲存設備相同。

  • 您已檢查儲存節點汰換是否在進行中、或您已暫停節點取消委任程序。(在Grid Manager中、選取* maintenance > Tasks > Decompress*。)

  • 您已檢查擴充是否在進行中。(在Grid Manager中、選取* maintenance > Tasks > Expansion *。)

  • 您有 已查看有關儲存磁碟區恢復的警告

    1. 視需要更換故障的實體或虛擬儲存設備、這些儲存設備與您先前識別並卸載的故障儲存磁碟區相關聯。

      更換儲存設備後、請務必重新掃描或重新開機、以確保作業系統能夠辨識該儲存設備、但不要重新掛載磁碟區。儲存設備會在稍後的步驟中重新掛載並新增至「etc/stab」。

    2. 登入故障儲存節點:

      1. 輸入下列命令:「sh admin@grid_node_ip`」

      2. 輸入「passwords.txt」檔案中所列的密碼。

      3. 輸入下列命令以切換至root:「u -」

      4. 輸入「passwords.txt」檔案中所列的密碼。

        以root登入時、提示會從「$」變更為「#」。

    3. 使用文字編輯器(VI或vim)從「etc/stab'」檔案刪除故障磁碟區、然後儲存檔案。

      註 在「etc/stab'」檔案中註解故障的磁碟區不足。當恢復過程驗證「Fstab」檔案中的所有行是否與掛載的檔案系統相符時、必須從「Fstab」刪除該磁碟區。
    4. 重新格式化任何故障的儲存磁碟區、並視需要重新建置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.