Share via


使用 Azure 虛擬機修復命令修復 Linux VM

如果您的 Linux 虛擬機器 (Azure 中的 VM) 發生開機或磁碟錯誤,您可能需要在磁碟本身執行緩和措施。 常見的範例是應用程式更新失敗,導致 VM 無法成功開機。 本文詳細說明如何使用 Azure 虛擬機修復命令,將磁碟連線到另一個 Linux VM 以修正任何錯誤,然後重建原始 VM。

重要事項

  • 本文中的腳本僅適用於使用 Azure Resource Manager 的 VM。
  • 需要從 VM (埠 443) 的輸出連線,腳本才能執行。
  • 一次只能執行一個腳本。
  • 無法取消執行中的腳稿。
  • 腳本執行的時間上限為90分鐘,之後就會逾時。
  • 請勿修改在修復 VM 上建立的標籤。 必須要有標記,還原命令才能正確運作。
  • 針對使用 Azure 磁碟加密的 VM,僅支援使用具有或不含 KEK) 的單一傳遞加密 (加密的受控磁碟。

修復程式概觀

您現在可以使用 Azure 虛擬機修復命令來變更 VM 的 OS 磁碟,而且不再需要刪除和重新建立 VM。

請遵循下列步驟來針對 VM 問題進行疑難解答:

  1. 啟動 Azure Cloud Shell
  2. 執行 az extension add/update
  3. 執行 az vm repair create
  4. 執行 az vm repair run,或執行風險降低步驟。
  5. 執行 az vm repair restore

若要檢視所有可用的 VM 修復命令和參數,請參閱 az vm repair

若要執行命令,您需要可在訂用帳戶中建立下列資源類型的角色:

  • 資源群組
  • 虛擬機器
  • 資源標籤
  • 虛擬網路
  • 網路安全組
  • 網路介面
  • 磁碟
  • 公用IP位址 (選擇性)

修復程式範例

  1. 啟動 Azure Cloud Shell

    Azure Cloud Shell 是免費的互動式殼層,可用來執行本文中的步驟。 它包含預安裝並設定為與您帳戶搭配使用的一般 Azure 工具。 如果您執行的修復腳本需要超過 20 分鐘的時間,建議您在本機執行命令。 若要在本機執行命令,需要 Azure CLI 2.0.67 版或更新版本。 執行 az --version 以尋找版本。 如果您需要安裝或升級 Azure CLI,請參閱 安裝 Azure CLI

    若要開啟 Cloud Shell,請從程式代碼區塊的右上角選取 [試用]。 您也可以移至 https://shell.azure.com,在個別的瀏覽器索引標籤中開啟 Cloud Shell。

    選取 [複製] 以複製程式代碼區塊,然後將程式代碼貼到 Cloud Shell 中,然後選取 Enter 來執行它。

    如果您想要在本機安裝和使用 CLI,本快速入門需要 Azure CLI 2.0.67 版或更新版本。 執行 az --version 以尋找版本。 如果您需要安裝或升級 Azure CLI,請參閱 安裝 Azure CLI

    如果您需要使用與目前登入 Azure 入口網站 不同的帳戶登入 Cloud Shell,您可以使用 az loginaz login reference。 若要在與帳戶相關聯的訂用帳戶之間切換,您可以使用 az account set --subscriptionaz account set reference

  2. 如果這是您第一次使用 az vm repair 命令,請新增 vm-repair CLI 擴充功能。

    az extension add -n vm-repair
    

    如果您先前已使用 az vm repair 命令,請將任何更新套用至 vm-repair 擴充功能。

    az extension update -n vm-repair
    
  3. 執行 az vm repair create。 此命令會建立非功能性 VM 的 OS 磁碟復本、在新的資源群組中建立修復 VM,以及連結 OS 磁碟的複本。 修復 VM 的大小和區域會與指定的非功能性 VM 相同。 所有步驟中使用的資源群組和 VM 名稱將會用於非功能性 VM。 如果您的 VM 使用 Azure 磁碟加密,請使用 --unlock-encrypted-vm 來解除鎖定加密的磁碟,以便在連結至修復 VM 時可存取它。 如需詳細資訊,請 參閱確認已在磁碟上啟用 ADE

重要事項

執行和還原命令將需要使用與 create 命令中使用的相同案例輸入所有輸入、記下或參照修復 VM 上的標籤,以查看所使用的專案。

修復 VM 範例

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password password1234 --verbose
  1. 執行 az vm repair run。 此命令會透過修復 VM 在連結的磁碟上執行指定的修復腳本。 如果您使用的疑難解答指南指定了 run-id,請在這裡使用它。 否則,您可以使用 az vm repair list-scripts 查看可用的修復腳本。 此處使用的資源群組和 VM 名稱適用於步驟 3 中使用的非功能性 VM。 如需修復腳本的其他資訊,請參閱 修復腳本連結庫

    az vm repair run -g MyResourceGroup -n MyVM --run-on-repair --run-id lin-hello-world --verbose
    

    您可以選擇性地使用修復 VM 執行任何必要的手動防護步驟,然後繼續進行步驟 5。

  2. 執行 az vm repair restore。 此命令會將修復的OS磁碟與VM的原始OS磁碟交換。 此處使用的資源群組和 VM 名稱適用於步驟 3 中使用的非功能性 VM。

    az vm repair restore -g MyResourceGroup -n MyVM --verbose
    

驗證並啟用開機診斷

下列範例會在名為 的資源群組中,於名為 的 myVMDeployed VM 上啟用診斷擴充功能 myResourceGroup

Azure CLI

az vm boot-diagnostics enable --name myVMDeployed --resource-group myResourceGroup --storage https://mystor.blob.core.windows.net/

後續步驟

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群