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

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

貢獻者

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

開始之前
  • 您有 `Passwords.txt`檔案。

  • 伺服器上的系統磁碟機完好無損。

  • 故障原因已確定、必要時已取得更換儲存硬體。

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

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

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

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

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

    請勿在此步驟中重新掛載磁碟區。儲存設備會在稍後的步驟中重新掛載並新增至 /etc/fstab

  2. 在 Grid Manager 中、前往 * 節點 * > appliance Storage Node > * 硬體 * 。在頁面的 StorageGRID 應用裝置區段中、確認儲存 RAID 模式正常。

  3. 登入故障儲存節點:

    1. 輸入下列命令: ssh admin@grid_node_IP

    2. 輸入檔案中列出的密碼 Passwords.txt

    3. 輸入以下命令切換到 root : su -

    4. 輸入檔案中列出的密碼 Passwords.txt

      當您以 root 登入時、提示會從變更 $`為 `#

  4. 使用文字編輯器( vi 或 vim )刪除檔案中的失敗磁碟區 /etc/fstab、然後儲存檔案。

    註 在檔案中註解失敗的磁碟區 /etc/fstab`不足。必須從刪除磁碟區 `fstab、因為還原程序會驗證檔案中的所有行都 `fstab`與掛載的檔案系統相符。
  5. 重新格式化任何故障的儲存磁碟區、並視需要重新建置Cassandra資料庫。輸入: reformat_storage_block_devices.rb

    • 卸載儲存磁碟區 0 時、會出現提示和訊息、指出 Cassandra 服務正在停止。

    • 如有必要、系統會提示您重新建置Cassandra資料庫。

      • 檢閱警告。如果沒有任何應用程式、請重新建置Cassandra資料庫。輸入:* y*

      • 如果有多個儲存節點離線、或是在過去15天內重建了另一個儲存節點。輸入:* n*

        指令碼將會結束而不重建Cassandra。聯絡技術支援。

    • 對於儲存節點上的每個 rangedb 磁碟機、當系統詢問您時: Reformat the rangedb drive <name> (device <major number>:<minor number>)? [y/n]?、請輸入下列其中一個回應:

      • * y*重新格式化發生錯誤的磁碟機。這會重新格式化儲存磁碟區、並將重新格式化的儲存磁碟區新增至 `/etc/fstab`檔案。

      • N 如果磁碟機沒有錯誤、而且您不想重新格式化。

        註 選取* n*會結束指令碼。掛載磁碟機(如果您認為應該保留磁碟機上的資料、而且磁碟機發生錯誤、請將其卸載)或移除磁碟機。然後再次執行 `reformat_storage_block_devices.rb`命令。
        註 部分StorageGRID 還原程序會使用Reaper來處理Cassandra的修復作業。一旦相關或必要的服務開始、系統就會自動進行修復。您可能會注意到指令碼輸出中提到「 reaper 」或「 Cassandra repair 」。如果您看到指出修復失敗的錯誤訊息、請執行錯誤訊息中指出的命令。

      在下列輸出範例中、必須重新格式化磁碟機 /dev/sdf、而且不需要重建 Cassandra :

    root@DC1-S1:~ # reformat_storage_block_devices.rb
    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 b951bfcb-4804-41ad-b490-805dfd8df16c
    All devices processed
    Running: /usr/local/ldr/setup_rangedb.sh 12368435
    Cassandra does not need rebuilding.
    Starting services.
    Informing storage services of new volume
    
    Reformatting done.  Now do manual steps to
    restore copies of data.

儲存磁碟區重新格式化、重新掛載、必要的 Cassandra 作業完成之後"使用 Grid Manager 還原物件資料"、您可以。