Felsökningsguiden för Azure Disk Encryption för virtuella Linux-datorer
Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Linux-datorer ✔️
Den här guiden är avsedd för IT-proffs, informationssäkerhetsanalytiker och molnadministratörer vars organisationer använder Azure Disk Encryption. Den här artikeln hjälper dig att felsöka diskkrypteringsrelaterade problem.
Innan du utför något av stegen nedan kontrollerar du först att de virtuella datorer som du försöker kryptera är bland de vm-storlekar och operativsystem som stöds och att du har uppfyllt alla förutsättningar:
Felsöka Diskkryptering för Linux OS
Diskkryptering av Linux-operativsystem (OS) måste demontera OS-enheten innan den körs via den fullständiga diskkrypteringsprocessen. Om enheten inte kan demonteras visas felmeddelandet "det gick inte att demontera efter ..." sannolikt kommer att inträffa.
Det här felet kan inträffa när os-diskkryptering görs på en virtuell dator med en miljö som har ändrats från den lagergalleriavbildning som stöds. Avvikelser från avbildningen som stöds kan påverka tilläggets möjlighet att demontera OS-enheten. Exempel på avvikelser kan vara följande:
- Anpassade avbildningar matchar inte längre ett filsystem eller partitioneringsschema som stöds.
- Stora program som SAP, MongoDB, Apache Cassandra och Docker stöds inte när de installeras och körs i operativsystemet före kryptering. Azure Disk Encryption kan inte stänga av dessa processer på ett säkert sätt vid förberedelse av OS-enheten för diskkryptering. Om det fortfarande finns aktiva processer som innehåller öppna filhandtag på OS-enheten kan os-enheten inte demonteras, vilket resulterar i ett fel vid kryptering av OS-enheten.
- Anpassade skript som körs nära krypteringen som aktiveras, eller om andra ändringar görs på den virtuella datorn under krypteringsprocessen. Den här konflikten kan inträffa när en Azure Resource Manager-mall definierar flera tillägg som ska köras samtidigt, eller när ett anpassat skripttillägg eller annan åtgärd körs samtidigt till diskkryptering. Att serialisera och isolera sådana steg kan lösa problemet.
- Security Enhanced Linux (SELinux) har inte inaktiverats innan kryptering aktiveras, så avmonteringssteget misslyckas. SELinux kan återanvändas när krypteringen är klar.
- OS-disken använder ett LVM-schema (Logical Volume Manager). Även om det finns begränsat stöd för LVM-datadiskar är det inte en LVM OS-disk.
- Minimikraven för minne uppfylls inte (7 GB föreslås för OS-diskkryptering).
- Dataenheter monteras rekursivt under katalogen /mnt/ eller varandra (till exempel /mnt/data1, /mnt/data2, /data3 + /data3/data4).
Uppdatera standardkärnan för Ubuntu 14.04 LTS
Ubuntu 14.04 LTS-avbildningen levereras med en standard kernelversion av 4.4. Den här kernelversionen har ett känt problem där Out of Memory Killer felaktigt avslutar dd-kommandot under OS-krypteringsprocessen. Den här buggen har åtgärdats i den senaste Azure-finjusterade Linux-kerneln. För att undvika det här felet uppdaterar du till Azure Tuned Kernel 4.15 eller senare med hjälp av följande kommandon innan kryptering aktiveras på avbildningen:
sudo apt-get update
sudo apt-get install linux-azure
sudo reboot
När den virtuella datorn har startats om till den nya kerneln kan den nya kernelversionen bekräftas med:
uname -a
Uppdatera azure virtual machine-agenten och tilläggsversionerna
Azure Disk Encryption-åtgärder kan misslyckas på avbildningar av virtuella datorer med versioner av Azure Virtual Machine Agent som inte stöds. Linux-avbildningar med agentversioner tidigare än 2.2.38 bör uppdateras innan kryptering aktiveras. Mer information finns i Så här uppdaterar du Azure Linux-agenten på en virtuell dator och Lägsta versionsstöd för agenter för virtuella datorer i Azure.
Rätt version av gästagenttillägget Microsoft.Azure.Security.AzureDiskEncryption eller Microsoft.Azure.Security.AzureDiskEncryptionForLinux krävs också. Tilläggsversioner underhålls och uppdateras automatiskt av plattformen när förhandskraven för Azure Virtual Machine-agenten uppfylls och en version av den virtuella datoragenten som stöds används.
Tillägget Microsoft.OSTCExtensions.AzureDiskEncryptionForLinux har föråldrats och stöds inte längre.
Det går inte att kryptera Linux-diskar
I vissa fall verkar Linux-diskkryptering ha fastnat vid "OS-diskkryptering har startats" och SSH är inaktiverat. Krypteringsprocessen kan ta mellan 3 och 16 timmar att slutföras på en bild i ett lagergalleri. Om datadiskar i flera Terabyte-storlekar läggs till kan processen ta flera dagar.
Krypteringssekvensen för Linux OS-disk demonterar operativsystemet tillfälligt. Den utför sedan block-för-block-kryptering av hela OS-disken innan den återmonteras i sitt krypterade tillstånd. Linux-diskkryptering tillåter inte samtidig användning av den virtuella datorn medan krypteringen pågår. Prestandaegenskaperna för den virtuella datorn kan göra en betydande skillnad i den tid som krävs för att slutföra krypteringen. Dessa egenskaper omfattar diskens storlek och om lagringskontot är standard- eller premiumlagring (SSD).
När os-enheten krypteras går den virtuella datorn in i ett underhållstillstånd och inaktiverar SSH för att förhindra störningar i den pågående processen. Om du vill kontrollera krypteringsstatusen använder du kommandot Azure PowerShell Get-AzVmDiskEncryptionStatus och kontrollerar fältet ProgressMessage . ProgressMessage rapporterar en serie statusar när data- och OS-diskarna krypteras:
PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"
OsVolumeEncrypted : EncryptionInProgress
DataVolumesEncrypted : EncryptionInProgress
OsVolumeEncryptionSettings :
ProgressMessage : Transitioning
PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"
OsVolumeEncrypted : EncryptionInProgress
DataVolumesEncrypted : EncryptionInProgress
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage : Encryption succeeded for data volumes
PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"
OsVolumeEncrypted : EncryptionInProgress
DataVolumesEncrypted : EncryptionInProgress
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage : Provisioning succeeded
PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"
OsVolumeEncrypted : EncryptionInProgress
DataVolumesEncrypted : EncryptionInProgress
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage : OS disk encryption started
ProgressMessage kommer att finnas kvar i os-diskkryptering som startats under större delen av krypteringsprocessen. När krypteringen är klar och lyckas returnerar ProgressMessage :
PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"
OsVolumeEncrypted : Encrypted
DataVolumesEncrypted : NotMounted
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage : Encryption succeeded for all volumes
När det här meddelandet är tillgängligt förväntas den krypterade OS-enheten vara redo att användas och den virtuella datorn är redo att användas igen.
Om startinformationen, förloppsmeddelandet eller ett fel rapporterar att OS-krypteringen har misslyckats mitt i den här processen återställer du den virtuella datorn till ögonblicksbilden eller säkerhetskopieringen som gjordes omedelbart före krypteringen. Ett exempel på ett meddelande är felet "det gick inte att demontera" som beskrivs i den här guiden.
Innan du försöker använda kryptering igen ska du omvärdera den virtuella datorns egenskaper och se till att alla förutsättningar är uppfyllda.
Felsöka Azure Disk Encryption bakom en brandvägg
Se Diskkryptering i ett isolerat nätverk
Felsöka krypteringsstatus
Portalen kan visa en disk som krypterad även efter att den har okrypterats i den virtuella datorn. Detta kan inträffa när kommandon på låg nivå används för att direkt avkryptera disken från den virtuella datorn, i stället för att använda azure diskkrypteringshanteringskommandon på högre nivå. Kommandon på högre nivå avkrypterar inte bara disken från den virtuella datorn, utan utanför den virtuella datorn uppdaterar de även viktiga krypteringsinställningar på plattformsnivå och tilläggsinställningar som är associerade med den virtuella datorn. Om dessa inte hålls i justering kan plattformen inte rapportera krypteringsstatus eller etablera den virtuella datorn korrekt.
Om du vill inaktivera Azure Disk Encryption med PowerShell använder du Disable-AzVMDiskEncryption följt av Remove-AzVMDiskEncryptionExtension. Det går inte att köra Remove-AzVMDiskEncryptionExtension innan krypteringen inaktiveras.
Om du vill inaktivera Azure Disk Encryption med CLI använder du az vm encryption disable.
Nästa steg
I det här dokumentet har du lärt dig mer om några vanliga problem i Azure Disk Encryption och hur du felsöker dessa problem. Mer information om den här tjänsten och dess funktioner finns i följande artiklar: