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

將網格節點還原至主機

貢獻者

若要將故障的網格節點還原至新的 Linux 主機、請執行下列步驟來還原節點組態檔案。

  1. 還原並驗證節點 還原節點組態檔案。對於新安裝、您可以為要安裝在主機上的每個網格節點建立節點組態檔案。將網格節點還原至替換主機時、您可以還原或取代任何故障網格節點的節點組態檔。

  2. 啟動StorageGRID 「支援服務」

  3. 視需要、 復原無法啟動的任何節點

如果任何區塊儲存磁碟區是從先前的主機保留下來、您可能必須執行其他的還原程序。本節中的命令可協助您決定需要哪些額外程序。

還原及驗證網格節點

您必須還原任何故障網格節點的網格組態檔、然後驗證網格組態檔並解決任何錯誤。

關於這項工作

您可以匯入主機上應該存在的任何網格節點、只要它存在 /var/local 磁碟區不會因為先前主機的故障而遺失。例如、 /var/local 如果您使用共享儲存設備來StorageGRID 儲存靜態系統資料磁碟區、則仍可能存在Volume、如StorageGRID Linux作業系統的《安裝說明》所述。匯入節點會將其節點組態檔還原至主機。

如果無法匯入遺失的節點、您必須重新建立它們的網格組態檔案。

然後您必須驗證網格組態檔案、並解決任何可能發生的網路或儲存問題、才能繼續重新啟動StorageGRID 更新。當您重新建立節點的組態檔時、您必須使用與您要還原之節點相同的替換節點名稱。

如需有關的位置的詳細資訊、請參閱安裝指示 /var/local 節點的Volume。

步驟
  1. 在恢復主機的命令列中、列出所有目前設定StorageGRID 的電網節點:sudo storagegrid node list

    如果未設定任何網格節點、則不會有任何輸出。如果已設定某些網格節點、則預期輸出格式如下:

    Name               Metadata-Volume
    ================================================================
    dc1-adm1           /dev/mapper/sgws-adm1-var-local
    dc1-gw1            /dev/mapper/sgws-gw1-var-local
    dc1-sn1            /dev/mapper/sgws-sn1-var-local
    dc1-arc1           /dev/mapper/sgws-arc1-var-local

    如果未列出應在主機上設定的部分或全部網格節點、則需要還原遺失的網格節點。

  2. 匯入具有的網格節點 /var/local Volume:

    1. 針對您要匯入的每個節點執行下列命令:sudo storagegrid node import node-var-local-volume-path

      storagegrid node import 只有在目標節點上次執行時、命令才會在其主機上正常關機。如果情況並非如此、您將會發現類似下列的錯誤:

      This node (node-name) appears to be owned by another host (UUID host-uuid).

    Use the --force flag if you are sure import is safe.

    1. 如果您看到另一部主機擁有的節點錯誤、請再次使用執行命令 --force 完成匯入的旗標:sudo storagegrid --force node import node-var-local-volume-path

      註 任何使用匯入的節點 --force 旗標需要額外的恢復步驟、才能重新加入網格、如所述 "接下來:視需要執行其他恢復步驟"
  3. 適用於沒有的網格節點 /var/local 請重新建立節點的組態檔案、將其還原至主機。如需相關指示、請參閱:

    重要 如果您使用任何新的區塊裝置(StorageGRID 以前未曾使用過的裝置)作為任何組態變數的值、則以該組態變數開頭 BLOCK_DEVICE_ 當您重新建立節點的組態檔時、請遵循中的準則 修正遺失的區塊裝置錯誤
  4. 在恢復的主機上執行下列命令、列出所有StorageGRID 的支援節點。

    sudo storagegrid node list

  5. 驗證StorageGRID 每個網格節點的節點組態檔、其名稱會顯示在「節點清單」輸出中:

    sudo storagegrid node validate node-name

    您必須先解決任何錯誤或警告、才能開始StorageGRID 執行「支援服務」。以下各節將詳細說明在恢復期間可能具有特殊意義的錯誤。

修正遺失的網路介面錯誤

如果主機網路設定不正確、或名稱拼錯、StorageGRID 則當檢查中指定的對應時、會發生錯誤 /etc/storagegrid/nodes/node-name.conf 檔案:

您可能會看到與此模式相符的錯誤或警告:

Checking configuration file /etc/storagegrid/nodes/<node-name>.conf for node <node-name>...
ERROR: <node-name>: GRID_NETWORK_TARGET = <host-interface-name>
       <node-name>: Interface <host-interface-name>' does not exist

可能會針對Grid Network、管理網路或用戶端網路回報錯誤。此錯誤表示 /etc/storagegrid/nodes/node-name.conf 檔案會將所示StorageGRID 的支援網路對應至名為的主機介面 host-interface-name,但目前主機上沒有該名稱的介面。

如果收到此錯誤、請確認您已完成中的步驟 "部署新的Linux主機"。對所有主機介面使用與原始主機相同的名稱。

如果無法命名主機介面以符合節點組態檔、您可以編輯節點組態檔、並變更GRID_NETWORD_target、ADD_NETWORD_target或用戶端網路目標的值、以符合現有的主機介面。

確定主機介面可存取適當的實體網路連接埠或VLAN、而且介面不會直接參照連結或橋接裝置。您必須在主機上的連結裝置上設定VLAN(或其他虛擬介面)、或使用橋接器和虛擬乙太網路(vith)配對。

修正遺失的區塊裝置錯誤

系統會檢查每個還原的節點是否對應到有效的區塊裝置特殊檔案、或是區塊裝置特殊檔案的有效軟體連結。如果StorageGRID 在中找到無效的對應 /etc/storagegrid/nodes/node-name.conf 檔案、顯示遺失的區塊裝置錯誤。

如果您發現與此模式相符的錯誤:

Checking configuration file /etc/storagegrid/nodes/<node-name>.conf for node <node-name>...
ERROR: <node-name>: BLOCK_DEVICE_PURPOSE = <path-name>
       <node-name>: <path-name> does not exist

這意味著 /etc/storagegrid/nodes/node-name.conf 對應 node-name 使用的區塊裝置 PURPOSE 到 Linux 檔案系統中的指定路徑名稱、但該位置沒有有效的區塊裝置特殊檔案或區塊裝置特殊檔案的軟體連結。

確認您已完成中的步驟 "部署新的Linux主機"。對所有區塊裝置使用與原始主機相同的持續裝置名稱。

如果您無法還原或重新建立遺失的區塊裝置特殊檔案、您可以分配適當大小和儲存類別的新區塊裝置、並編輯節點組態檔案以變更的值 BLOCK_DEVICE_PURPOSE 指向新的區塊裝置特殊檔案。

使用適用於 Linux 作業系統的表格、判斷適當的大小和儲存類別:

在繼續更換區塊裝置之前、請先檢閱設定主機儲存設備的建議:

重要 如果您必須為任何組態檔案變數提供新的區塊儲存設備、請從開始 BLOCK_DEVICE_ 由於故障主機遺失原始區塊裝置、因此在嘗試進一步的還原程序之前、請先確認新的區塊裝置未格式化。如果您使用共享儲存設備並已建立新的Volume、則新的區塊裝置將不會格式化。如果您不確定、請針對任何新的區塊儲存設備特殊檔案執行下列命令。
警告

僅針對新的區塊儲存裝置執行下列命令。如果您認為區塊儲存區仍包含要還原之節點的有效資料、請勿執行此命令、因為裝置上的任何資料都會遺失。

sudo dd if=/dev/zero of=/dev/mapper/my-block-device-name bs=1G count=1

啟動StorageGRID 支援服務

若要啟動StorageGRID 您的支援節點、並確保在主機重新開機後重新啟動節點、您必須啟用StorageGRID 並啟動該支援中心服務。

步驟
  1. 在每個主機上執行下列命令:

    sudo systemctl enable storagegrid
    sudo systemctl start storagegrid
  2. 執行下列命令以確保部署繼續進行:

    sudo storagegrid node status node-name
  3. 如果有任何節點傳回「未執行」或「停止」的狀態、請執行下列命令:

    sudo storagegrid node start node-name
  4. 如果您先前已啟用並啟動StorageGRID 了「支援服務」(或如果您不確定服務是否已啟用並啟動)、請同時執行下列命令:

    sudo systemctl reload-or-restart storagegrid

恢復無法正常啟動的節點

如果 StorageGRID 節點無法正常重新加入網格、且未顯示為可還原、則可能已毀損。您可以強制節點進入恢復模式。

步驟
  1. 確認節點的網路組態正確無誤。

    由於網路介面對應不正確、或網格網路 IP 位址或閘道不正確、因此節點可能無法重新加入網格。

  2. 如果網路組態正確、請發出 force-recovery 命令:

    sudo storagegrid node force-recovery node-name

  3. 執行節點的其他恢復步驟。請參閱 "接下來:視需要執行其他恢復步驟"