Linux VM 的 Azure 磁碟加密故障如何排除

引言
本指南面向使用 Azure 磁碟加密的組織中的 IT 專業人員、資訊安全分析人員和雲端管理員。本文旨在協助排查與磁碟加密相關的問題。

必要條件
在執行任何步驟之前,請確保嘗試加密的 VM 屬於支援的 VM 大小和作業系統,並滿足以下必要條件:

類別要求
VM 設定確保 VM 大小和作業系統受支援,參考 Azure 磁碟加密概覽。
網路確保 VM 能夠存取 Azure Key Vault 和其他必要服務。
金鑰儲存設定 Azure Key Vault 以儲存加密金鑰。

故障排除指南
以下是針對 Azure 磁碟加密常見問題的故障排除指南,以表格形式呈現,方便快速查找和理解。

1. Linux OS 磁碟加密故障排除

問題原因解決方案
OS 磁碟加密時出現「卸載失敗」錯誤– VM 環境已從支援的庫映像變更,導致無法卸載 OS 磁碟機。
– 自訂映像不符合支援的檔案系統或分割區方案。
– 執行大型應用程式(如 SAP、MongoDB、Apache Cassandra、Docker)。
– 同時執行自訂指令碼。
– 未停用 SELinux。
– OS 磁碟使用 LVM。
– 記憶體不足(建議至少 7 GB)。
– 資料磁碟機掛載方式不正確(如遞歸掛載在 /mnt/ 下)。
確保 VM 符合所有必要條件;檢查並修正上述可能原因。

2. 更新 Ubuntu 14.04 LTS 核心

問題原因解決方案
Ubuntu 14.04 LTS 映像加密時出現 Out of Memory Killer 終止 dd 命令預設核心 4.4 存在已知問題。更新至 Azure 最佳化核心 4.15+:
1. 執行 sudo apt-get update
2. 執行 sudo apt-get install linux-azure
3. 執行 sudo reboot
4. 重啟後,使用 uname -a 確認新核心版本。

3. 更新 Azure 虛擬機器代理程式和擴充功能版本

問題原因解決方案
因使用不支援的 Azure VM 代理程式版本導致加密失敗代理程式版本低於 2.2.38。更新代理程式版本:
參考:如何在 VM 上更新 Azure Linux 代理程式 與 Azure 中虛擬機器代理程式的最低版本支援。

4. 無法加密 Linux 磁碟

問題原因解決方案
加密程序停滯在「OS 磁碟加密已啟動」狀態,SSH 被停用加密程序可能需要 3-16 小時,甚至數天(若有大型資料磁碟)。使用 Azure PowerShell 的 Get-AzVMDiskEncryptionStatus 命令檢查進度:
PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"
檢視 ProgressMessage 欄位。

5. 防火牆保護下的 Azure 磁碟加密故障排除

問題原因解決方案
在隔離網路中加密 VM 時出現問題網路設定不正確。參考:隔離網路上的磁碟加密。

6. 加密狀態故障排除

問題原因解決方案
即使磁碟已在 VM 中解密,入口網站仍顯示為已加密使用低階命令直接解密磁碟,未更新平台級加密設定。使用高階命令解密磁碟:
– PowerShell:Disable-AzVMDiskEncryption 與 Remove-AzVMDiskEncryptionExtension
– CLI:az vm encryption disable

相關資源
對於在中國營運的使用者,考慮使用香港伺服器以確保合規性和效能: