管理 Azure Linux VM

已完成

若要最佳化 Azure Linux VM 的管理能力,您必須了解 Azure 平台與 VM 作業系統 (OS) 之間的互動。 此互動在 VM 佈建期間特別重要。

平台支援的管理代理程式

VM 佈建是建立主機名稱、使用者名稱和密碼等 Azure VM 設定參數值的程序,這些值可在啟動或開機程序期間供作業系統使用。 佈建代理程式會取用這些值、設定 OS,然後在完成時報告結果。

Azure 支援 cloud-init 佈建代理程式和 Azure Linux 代理程式 (WALA)。

  • Cloud-init 佈建代理程式是一種在初始開機期間自訂 Linux 的廣泛使用方法。 您可以使用 cloud-init 來安裝封裝和寫入檔案,或者設定使用者和安全性。 因為在初次開機程序期間時會呼叫 Cloud-init,因此您不需要使用任何更多的步驟或必要的代理程式,就可以套用您的設定。 如需詳細資訊,請參閱 Cloud-init 文件

    注意

    Microsoft 正在增強 VM 設定程序以使用 cloud-init,而不是 Linux 代理程式。 現有的 cloud-init 客戶可以使用其目前的 cloud-init 指令碼,而新客戶可以使用豐富的 cloud-init 設定功能。

  • WALA。 WALA 是可用來佈建和設定 Azure VM 的 Azure 平台特定代理程式。 您也可以使用 WALA 來實作對 Azure 延伸模組的支援。

開機診斷和序列主控台

若要最佳化開機程序的管理和疑難排解,您可以啟用開機診斷並使用序列主控台。

啟用開機診斷

開機診斷可藉由收集序列記錄資訊和螢幕擷取畫面,協助您分析開機失敗。 您可以在建立 VM 期間或之後啟用開機診斷。 若要加速佈建程序,請選取受控儲存體帳戶選項來儲存開機診斷資料。

使用 Azure VM 序列主控台

您可以使用 Azure VM 序列主控台存取,針對開機失敗進行疑難排解。 序列主控台會透過 Linux VM 的 ttyS0 序列埠提供文字型主控台。 此存取與網路連線能力或 OS 狀態無關。

至少具有參與者層級權限的 Azure 使用者可以使用 Azure 入口網站或 Azure CLI 來存取序列主控台。 您必須啟用開機診斷,才能使用序列主控台。

序列主控台可協助您在下列案例中將 VM 還原至運作狀態:

  • 中斷檔案系統資料表 fstab 檔案

  • 設定錯誤的防火牆規則

  • 檔案系統損毀

  • SSH 設定問題

  • 常見的開機載入器問題:

    • Gen2 Azure VM上的 GRUB 功能表倒數計時。 由於舊版硬體已從第 2 代 Azure VM 的模擬中移除,因此 Grand Unified Bootloader (GRUB) 功能表倒數計時計時器可能會倒數太快,以致於無法顯示預設項目的即時載入。 若要解決此問題,請在 /boot/grub/grub.conf/etc/default/grub 或其對等項目中將預設項目 "timeout=5" 取代為 "timeout=100000"

    • kdump 中的核心異常開機錯誤。 如果損毀傾印擷取在開機時以核心異常結束,您應該為核心保留更多記憶體。 例如,在 Ubuntu GRUB 設定中,將 參數 crashkernel=384M-:128M 變更為 crashkernel=384M-:256M