共用方式為


使用 Azure 入口網站 將 OS 磁碟連結至復原 VM,以針對 Linux VM 進行疑難解答

如果您的 Linux 虛擬機 (VM) 發生開機或磁碟錯誤,您可能需要對虛擬硬碟本身執行疑難解答步驟。 常見的範例是 中的無效專案 /etc/fstab ,導致 VM 無法成功開機。 本文詳細說明如何使用 Azure 入口網站 將虛擬硬碟連線到另一個 Linux VM,以修正任何錯誤,然後重新建立原始 VM。

復原程式概觀

疑難解答程式如下所示:

  1. 停止受影響的 VM。
  2. 為 VM 的 OS 磁碟建立快照集。
  3. 從快照集建立虛擬硬碟。
  4. 將虛擬硬碟連結並掛接至另一個Linux VM以進行疑難解答。
  5. 線上到疑難解答 VM。 編輯檔案或執行任何工具來修正原始虛擬硬碟上的問題。
  6. 從疑難解答 VM 卸除虛擬硬碟並中斷連結。
  7. 交換 VM 的 OS 磁碟。

注意事項

本文不適用於具有非受控磁碟的 VM。 如需加密的 Linux 磁碟,請參閱解除鎖定 加密的 Linux 磁碟以進行離線修復

判斷開機問題

檢查開機診斷和 VM 螢幕快照,以判斷為什麼您的 VM 無法正確開機。 常見的範例是 中的項目 /etc/fstab無效,或是要刪除或移動的基礎虛擬硬碟。

在入口網站中選取您的 VM,然後向下捲動至 [ 支援 + 疑難解答] 區 段。 按兩下 [開機診斷] 以檢視從 VM 串流處理的控制台訊息。 檢閱主控台記錄,以查看您是否可以判斷 VM 發生問題的原因。 下列範例顯示卡在維護模式中的 VM 需要手動互動:

檢視 V M 開機診斷控制台記錄的螢幕快照。

您也可以按下開機診斷記錄頂端的 [螢幕快照 ],下載 VM 螢幕快照的擷取。

擷取OS磁碟的快照集

快照集是虛擬硬碟 (VHD) 的完整唯讀複本。 建議您在擷取快照集之前,先完全關閉 VM,以清除任何進行中的進程。 若要擷取 OS 磁碟的快照集,請遵循下列步驟:

  1. 移至 [Azure 入口網站]。 從提要欄位選取 [虛擬機 ],然後選取有問題的 VM。

  2. 在左窗格中,選取 [ 磁碟],然後選取OS磁碟的名稱。

    顯示作業系統磁碟名稱的螢幕快照。

  3. 在OS磁碟的 [ 概觀 ] 頁面上,然後選取 [ 建立快照集]

  4. 在操作系統磁碟的相同位置建立快照集。

從快照集建立磁碟

若要從快照集建立磁碟,請遵循下列步驟:

  1. Azure 入口網站 中選取 [Cloud Shell]。

    Azure 入口網站 中 [Cloud Shell] 按鈕的螢幕快照。

  2. 執行下列 PowerShell 命令,從快照集建立受控磁碟。 您應該將這些範例名稱取代為適當的名稱。

    #Provide the name of your resource group
    $resourceGroupName ='myResourceGroup'
    
    #Provide the name of the snapshot that will be used to create Managed Disks
    $snapshotName = 'mySnapshot' 
    
    #Provide the name of theManaged Disk
    $diskName = 'newOSDisk'
    
    #Provide the size of the disks in GB. It should be greater than the VHD file size. In this sample, the size of the snapshot is 127 GB. So we set the disk size to 128 GB.
    $diskSize = '128'
    
    #Provide the storage type for Managed Disk. Premium_LRS or Standard_LRS.
    $storageType = 'Standard_LRS'
    
    #Provide the Azure region (e.g. westus) where Managed Disks will be located.
    #This location should be same as the snapshot location
    #Get all the Azure location using command below:
    #Get-AzLocation
    $location = 'westus'
    
    $snapshot = Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName 
    
    $diskConfig = New-AzDiskConfig -AccountType $storageType -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id
    
    New-AzDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName
    
  3. 如果命令順利執行,您會在所提供的資源群組中看到新的磁碟。

將磁碟連結至另一個 VM

在接下來的幾個步驟中,您會使用另一個 VM 進行疑難解答。 將磁碟連結至疑難解答 VM 之後,您可以瀏覽和編輯磁碟的內容。 此程式可讓您更正任何設定錯誤,或檢閱其他應用程式或系統記錄檔。 若要將磁碟連結至另一個 VM,請遵循下列步驟:

  1. 從入口網站選取您的資源群組,然後選取疑難解答 VM。 選 取 [磁碟],選取 [ 編輯],然後按兩下[ 新增數據磁碟]

    Azure 入口網站 中 [新增數據磁碟] 選項的螢幕快照。

  2. 在 [ 資料磁碟 ] 清單中,選取您所識別 VM 的 OS 磁碟。 如果您沒有看到 OS 磁碟,請確定 VM 和 OS 磁碟的疑難解答位於相同區域 (位置) 。

  3. 選取 [儲存] 以套用變更。

掛接鏈接的數據磁碟

注意事項

下列範例詳細說明Ubuntu VM上所需的步驟。 如果您使用不同的 Linux 散發版本,例如 Red Hat Enterprise Linux 或 SUSE,記錄檔位置和 mount 命令可能會稍有不同。 如需命令中的適當變更,請參閱特定散發版本的檔。

  1. 使用適當的認證透過 SSH 連線到您的疑難解答 VM。 如果此磁碟是第一個連結至疑難解答 VM 的數據磁碟,它很可能會連線到 /dev/sdc。 用來 dmseg 列出連結的磁碟:

    dmesg | grep SCSI
    

    輸出類似下列範例:

    [    0.294784] SCSI subsystem initialized
    [    0.573458] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
    [    7.110271] sd 2:0:0:0: [sda] Attached SCSI disk
    [    8.079653] sd 3:0:1:0: [sdb] Attached SCSI disk
    [ 1828.162306] sd 5:0:0:0: [sdc] Attached SCSI disk
    

    在上述範例中,OS 磁碟位於 /dev/sda ,而為每個 VM 提供的暫存磁碟位於 /dev/sdb。 如果您有多個數據磁碟,它們應該位於 /dev/sdd/dev/sde等等。

  2. 建立目錄以掛接現有的虛擬硬碟。 下列範例會建立名為 的 troubleshootingdisk目錄:

    sudo mkdir /mnt/troubleshootingdisk
    
  3. 如果您在現有的虛擬硬碟上有多個磁碟分區,請掛接必要的磁碟分區。 下列範例會在 /dev/sdc1掛接第一個主要分割區:

    sudo mount /dev/sdc1 /mnt/troubleshootingdisk
    

    注意事項

    最佳做法是使用虛擬硬碟的通用唯一標識符 (UUID) ,在 Azure 中的 VM 上掛接數據磁碟。 在此簡短的疑難解答案例中,不需要使用 UUID 掛接虛擬硬碟。 不過,在正常使用下,編輯 /etc/fstab 以使用裝置名稱而非 UUID 掛接虛擬硬碟,可能會導致 VM 無法開機。

修正原始虛擬硬碟的問題

掛接現有的虛擬硬碟之後,您現在可以視需要執行任何維護和疑難解答步驟。 解決問題之後,請繼續進行下列步驟。

卸除和中斷連結原始虛擬硬碟

解決錯誤之後,請將現有的虛擬硬碟與疑難解答 VM 中斷連結。 在將虛擬硬碟連結至疑難解答 VM 的租用釋出之前,您無法將虛擬硬碟與任何其他 VM 搭配使用。

  1. 從 SSH 會話到疑難解答 VM,卸除現有的虛擬硬碟。 先變更載入點的父目錄:

    cd /
    

    現在卸除現有的虛擬硬碟。 下列範例會在 /dev/sdc1卸除裝置:

    sudo umount /dev/sdc1
    
  2. 現在將虛擬硬碟與 VM 中斷連結。 在入口網站中選取您的 VM,然後按兩下 [ 磁碟]。 選取您現有的虛擬硬碟,然後按兩下 [ 中斷連結]

    從 V M 中斷連結虛擬硬碟的螢幕快照。

    請等到 VM 成功中斷數據磁碟連結後,再繼續。

交換 VM 的 OS 磁碟

Azure 入口網站 現在支援變更 VM 的 OS 磁碟。 如果要執行這項操作,請依照下列步驟執行:

  1. 移至 [Azure 入口網站]。 從提要欄位選取 [虛擬機 ],然後選取有問題的 VM。

  2. 在左窗格中,選取 [ 磁碟],然後選取 [ 交換 OS 磁盘]

    Azure 入口網站 中 [交換 O S 磁碟] 選項的螢幕快照。

  3. 選擇您修復的新磁碟,然後輸入 VM 的名稱以確認變更。 如果您在清單中看不到磁碟,請在中斷磁碟與疑難解答 VM 的連結后等候 10 ~ 15 分鐘。 也請確定磁碟位於與 VM 相同的位置。

  4. 選取 [確認]。

後續步驟

如果您在連線到 VM 時遇到問題,請參閱 針對 Azure VM 的 SSH 連線進行疑難解答。 如需存取在 VM 上執行之應用程式的問題,請參閱 針對 Linux VM 上的應用程式連線問題進行疑難解答

如需使用 Resource Manager 的詳細資訊,請參閱 Azure Resource Manager 概觀

與我們連絡,以取得說明

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