使用 Azure 虛擬機修復命令修復 Linux VM
適用於:✔️ Linux VM
如果您的 Azure 中的 Linux 虛擬機 (VM) 遇到開機或磁碟錯誤,您可能需要在磁碟本身上執行風險降低。 常見的範例是失敗的應用程式更新,可防止 VM 成功開機。 本文詳細說明如何使用 Azure 虛擬機修復命令將磁碟連線到另一個 Linux VM,以修正任何錯誤,然後重建原始 VM。
重要
- 本文中的腳本僅適用於使用 Azure Resource Manager 的 VM。
- 需要 VM 的輸出連線能力(埠 443),腳本才能執行。
- 一次只能執行一個腳本。
- 無法取消執行中的腳稿。
- 腳本執行的時間上限為90分鐘,之後就會逾時。
- 請勿修改修復 VM 上建立的標記。 還原命令必須有標記才能正常運作。
- 對於使用 Azure 磁碟加密 的 VM,僅支援使用單一傳遞加密加密的受控磁碟(含或不含 KEK)。
修復程式概觀
您現在可以使用 Azure 虛擬機修復命令來變更 VM 的 OS 磁碟,您不再需要刪除並重新建立 VM。
請遵循下列步驟來針對 VM 問題進行疑難解答:
- 啟動 Azure Cloud Shell
- 執行 az extension add/update
- 執行 az vm repair create
- 執行 az vm repair run,或執行風險降低步驟。
- 執行 az vm repair restore
若要檢視所有可用的 VM 修復命令和參數,請參閱 az vm repair。
若要執行命令,您需要可在訂用帳戶中建立下列資源類型的角色:
- 資源群組
- 虛擬機器
- 資源標籤
- 虛擬網路
- 網路安全性群組
- 網路介面
- Disks
- 公用IP位址 (選擇性)
修復程式範例
啟動 Azure Cloud Shell
Azure Cloud Shell 是免費的互動式 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 login
az login reference。 若要在與您的帳戶相關聯的訂用帳戶之間切換,您可以使用az account set --subscription
az account set reference。如果這是您第一次使用
az vm repair
命令,請新增 vm-repair CLI 擴充功能。az extension add -n vm-repair
如果您先前已使用
az vm repair
命令,請將任何更新套用至 vm-repair 擴充功能。az extension update -n vm-repair
執行
az vm repair create
。 此命令會建立非功能性 VM 的 OS 磁碟復本、在新的資源群組中建立修復 VM,以及連結 OS 磁碟的複本。 修復 VM 的大小和區域會與指定的非功能性 VM 相同。 所有步驟中使用的資源群組和 VM 名稱都將用於非功能性 VM。 如果您的 VM 使用 Azure 磁碟加密,請使用--unlock-encrypted-vm
來解除鎖定加密的磁碟,以便在連結至修復 VM 時存取它。 如需詳細資訊,請參閱 確認磁碟上已啟用 ADE。
重要
執行和還原命令會要求使用與建立命令中使用的相同案例來輸入所有輸入,請記下或參考修復 VM 上的標記,以查看使用的內容。
修復 VM 範例
az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password password1234 --verbose
執行
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。
執行
az vm repair restore
。 此命令會將修復的OS磁碟與VM的原始OS磁碟交換。 這裡所使用的資源群組和 VM 名稱適用於步驟 3 中使用的非功能性 VM。az vm repair restore -g MyResourceGroup -n MyVM --verbose
確認並啟用開機診斷
下列範例會在名為 myResourceGroup
的資源群組中,myVMDeployed
於名為 的 VM 上啟用診斷擴充功能:
Azure CLI
az vm boot-diagnostics enable --name myVMDeployed --resource-group myResourceGroup --storage https://mystor.blob.core.windows.net/
下一步
- 如果您在連線到 VM 時遇到問題,請參閱 針對 Azure 虛擬機器的 RDP 連線進行疑難解答。
- 如需存取 VM 上執行的應用程式的問題,請參閱 針對 Azure 中虛擬機器上的應用程式連線問題進行疑難解答。
- 如需使用 Resource Manager 的詳細資訊,請參閱 Azure Resource Manager 概觀。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。