Azure 開機診斷

適用於: ✔️ Linux VM ✔️ Windows VM ✔️ 彈性擴展集 ✔️ 統一擴展集

開機診斷是 Azure 虛擬機器 (VM) 的偵錯功能,可診斷 VM 開機失敗。 開機診斷可讓使用者收集序列記錄資訊和螢幕擷取畫面來觀察其 VM 的開機狀態。

開機診斷儲存體帳戶

在 Azure 入口網站中建立 VM 時,預設會啟用開機診斷。 建議的開機診斷體驗是使用受控儲存體帳戶,因為其會在建立 Azure VM 時產生顯著的效能改善。 將使用 Azure 受控儲存體帳戶,而這會移除建立使用者儲存體帳戶來儲存開機診斷資料所需的時間。

重要

開機診斷資料 Blob (這些 Blob 包含記錄和快照集映像) 會儲存在受控儲存體帳戶中。 只會根據 Blob 所使用的 GiB 對客戶進行收費,而不是根據磁碟的已佈建大小。 快照集計量將用於受控儲存體帳戶的計費。 因為是在標準 LRS 或標準 ZRS 上建立受控帳戶,所以每個月只會針對其診斷資料 Blob 大小向客戶收取 $0.05/GB 的費用。 如需此定價的詳細資訊,請參閱受控磁碟定價。 客戶會看到繫結至其 VM 資源 URI 的這項費用。

替代的開機診斷體驗是使用自訂儲存體帳戶。 使用者可以建立新的儲存體帳戶,或使用現有帳戶。 在自訂儲存體帳戶上啟用儲存體防火牆時 (未選取 [從所有網路啟用] 選項),您必須:

  • 確定允許 Azure 平台透過儲存體防火牆存取,以發佈螢幕擷取畫面和序列記錄。 若要這樣做,請移至Azure 入口網站中的自訂開機診斷儲存體帳戶,然後從 [安全性 + 網路] 區段中選取 [網路功能]。 檢查是否已選取 [允許受信任服務清單上的 Azure 服務存取此儲存體帳戶] 核取方塊。

  • 允許儲存體防火牆讓使用者檢視開機螢幕擷取畫面或序列記錄。 若要這樣做,請將您的網路或用戶端/瀏覽器的網際網路 IP 新增為防火牆的排除項目。 如需詳細資訊,請參閱設定 Azure 儲存體防火牆和虛擬網路

若要設定 Azure 序列主控台的儲存體防火牆,請參閱使用已啟用自訂開機診斷儲存體帳戶防火牆的序列主控台

注意

與開機診斷相關聯的自訂儲存體帳戶需要儲存體帳戶和相關聯的虛擬機器位於相同的區域和訂用帳戶中。

開機診斷檢視

移至 Azure 入口網站中的虛擬機器刀鋒視窗,開機診斷選項位於 Azure 入口網站的 [支援和疑難排解] 區段下。 選取開機診斷時會顯示螢幕擷取畫面和序列記錄資訊。 序列記錄包含核心傳訊,而螢幕擷取畫面是您 VM 目前狀態的快照集。 根據 VM 執行 Windows 還是 Linux,決定預期螢幕擷取畫面的外觀。 針對 Windows,使用者將看到桌面背景,而針對 Linux,使用者將看到登入提示。

Screenshot of Linux boot diagnosticsScreenshot of Windows boot diagnostics

啟用受控開機診斷

您可以透過 Azure 入口網站、CLI 和 ARM 範本來啟用受控開機診斷。

使用 Azure 入口網站啟用受控開機診斷

在 Azure 入口網站中建立 VM 時,預設設定是使用受控儲存體帳戶來啟用開機診斷。 請在 VM 建立期間導覽至 [管理] 索引標籤以查看。

Screenshot enabling managed boot diagnostics during VM creation.

使用 CLI 啟用受控開機診斷

Azure CLI 2.12.0 和更新版本支援使用受控儲存體帳戶進行開機診斷。 如果您未輸入儲存體帳戶的名稱或 URI,則會使用受控帳戶。 如需詳細資訊和程式碼範例,請參閱 CLI 開機診斷文件

使用 PowerShell 啟用受控開機診斷

Azure PowerShell 6.6.0 和更新版本支援使用受控儲存體帳戶進行開機診斷。 如果您未輸入儲存體帳戶的名稱或 URI,則會使用受控帳戶。 如需詳細資訊和程式碼範例,請參閱 PowerShell 開機診斷文件

使用 Azure Resource Manager (ARM) 範本啟用受控開機診斷

API 2020-06-01 版之後的所有項目都支援受控開機診斷。 如需詳細資訊,請參閱開機診斷執行個體檢視

            "name": "[parameters('virtualMachineName')]",
            "type": "Microsoft.Compute/virtualMachines",
            "apiVersion": "2020-06-01",
            "location": "[parameters('location')]",
            "dependsOn": [
                "[concat('Microsoft.Network/networkInterfaces/', parameters('networkInterfaceName'))]"
            ],
            "properties": {
                "hardwareProfile": {
                    "vmSize": "[parameters('virtualMachineSize')]"
                },
                "storageProfile": {
                    "osDisk": {
                        "createOption": "fromImage",
                        "managedDisk": {
                            "storageAccountType": "[parameters('osDiskType')]"
                        }
                    },
                    "imageReference": {
                        "publisher": "publisherName",
                        "offer": "imageOffer",
                        "sku": "imageSKU",
                        "version": "imageVersion"
                    }
                },
                "networkProfile": {
                    "networkInterfaces": [
                        {
                            "id": "[resourceId('Microsoft.Network/networkInterfaces', parameters('networkInterfaceName'))]"
                        }
                    ]
                },
                "osProfile": {
                    "computerName": "[parameters('virtualMachineComputerName')]",
                    "adminUsername": "[parameters('adminUsername')]",
                    "linuxConfiguration": {
                        "disablePasswordAuthentication": true
                    }
                },
                "diagnosticsProfile": {
                    "bootDiagnostics": {
                        "enabled": true
                    }
                }
            }
        }
    ],

注意

據以取代 publisherName、imageOffer、imageSKU 和 imageVersion。

限制

  • 受控開機診斷僅適用於 Azure Resource Manager VM。
  • 受控開機診斷不支援使用非受控 OS 磁碟的 VM。
  • 開機診斷不支援進階儲存體帳戶或區域備援儲存體帳戶。 如果其中任一項用於開機診斷,則使用者將在啟動 VM 時接收到 StorageAccountTypeNotSupported 錯誤。
  • Resource Manager API "2020-06-01" 版和更新版本支援受控儲存體帳戶。
  • 入口網站僅支援針對單一執行個體 VM 搭配使用開機診斷與受控儲存體帳戶。
  • 使用者無法設定受控開機診斷的保留期間。 總大小超過 1 GB 時,將會覆寫記錄。

下一步

深入了解 Azure 序列主控台,以及如何使用開機診斷以針對 Azure 中的虛擬機器進行疑難排解