Sdílet prostřednictvím


Průvodce řešením potíží se službou Azure Disk Encryption pro virtuální počítače s Linuxem

Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️

Tato příručka je určená odborníkům na IT, analytikům zabezpečení informací a správcům cloudu, jejichž organizace používají Službu Azure Disk Encryption. Tento článek vám pomůže s řešením potíží souvisejících s šifrováním disku.

Před provedením některého z následujících kroků nejprve zkontrolujte, že virtuální počítače, které se pokoušíte šifrovat, patří mezi podporované velikosti virtuálních počítačů a operační systémy a že jste splnili všechny požadavky:

Řešení potíží s šifrováním disků s operačním systémem Linux

Před spuštěním celého procesu šifrování disku je nutné odpojit jednotku operačního systému Linux (OS). Pokud se jednotka nedá odpojit, zobrazí se chybová zpráva "Nepodařilo se odpojit po ..." je pravděpodobné, že k němu dojde.

K této chybě může dojít při pokusu o šifrování disku s operačním systémem na virtuálním počítači s prostředím, které bylo změněno z podporované image galerie akcií. Odchylky od podporované image můžou kolidovat s možností rozšíření odpojit jednotku operačního systému. Příklady odchylek můžou zahrnovat následující položky:

  • Přizpůsobené image už neodpovídají podporovanému systému souborů ani schématu dělení.
  • Velké aplikace, jako jsou SAP, MongoDB, Apache Cassandra a Docker, se nepodporují, když jsou nainstalované a spuštěné v operačním systému před šifrováním. Azure Disk Encryption nemůže tyto procesy bezpečně vypnout podle potřeby při přípravě jednotky operačního systému na šifrování disku. Pokud jsou stále aktivní procesy, které uchovávají otevřené popisovače souborů na jednotku operačního systému, jednotka operačního systému se nedá odpojit, což vede k selhání šifrování jednotky operačního systému.
  • Vlastní skripty, které běží v těsné blízkosti povoleného šifrování, nebo pokud se na virtuálním počítači během procesu šifrování provádějí nějaké jiné změny. K tomuto konfliktu může dojít, když šablona Azure Resource Manageru definuje více rozšíření, která se mají spustit současně, nebo když se rozšíření vlastních skriptů nebo jiná akce spustí současně na šifrování disku. Problém může vyřešit serializace a izolace těchto kroků.
  • Před povolením šifrování nebylo zakázáno zabezpečení Enhanced Linux (SELinux), takže krok odpojení selže. PO dokončení šifrování je možné znovu použít SELinux.
  • Disk s operačním systémem používá schéma Správce logických svazků (LVM). I když je k dispozici omezená podpora datových disků LVM, disk s operačním systémem LVM není.
  • Minimální požadavky na paměť nejsou splněny (pro šifrování disku s operačním systémem se navrhuje 7 GB).
  • Datové jednotky se rekurzivně připojují pod adresář /mnt/ nebo navzájem (například /mnt/data1, /mnt/data2, /data3 + /data3/data4).

Aktualizace výchozího jádra pro Ubuntu 14.04 LTS

Image Ubuntu 14.04 LTS se dodává s výchozí verzí jádra 4.4. Tato verze jádra obsahuje známý problém, kdy nástroj Out of Memory Killer nesprávně ukončí příkaz dd během procesu šifrování operačního systému. Tato chyba byla opravena v nejnovějším linuxovém jádru vyladěného v Azure. Pokud se chcete této chybě vyhnout, před povolením šifrování na imagi aktualizujte na jádro Vyladěné v Azure 4.15 nebo novější pomocí následujících příkazů:

sudo apt-get update
sudo apt-get install linux-azure
sudo reboot

Po restartování virtuálního počítače do nového jádra je možné novou verzi jádra potvrdit pomocí:

uname -a

Aktualizace verzí agenta virtuálního počítače Azure a rozšíření

Operace azure Disk Encryption můžou selhat na imagích virtuálních počítačů pomocí nepodporovaných verzí agenta virtuálního počítače Azure. Před povolením šifrování by se měly aktualizovat image Linuxu s verzemi staršími než 2.2.38. Další informace najdete v tématu Aktualizace agenta Azure Linux na virtuálním počítači a minimální verze podpory agentů virtuálních počítačů v Azure.

Vyžaduje se také správná verze rozšíření agenta hosta Microsoft.Azure.Azure.Security.AzureDiskEncryptionForLinux. Verze rozšíření se spravují a aktualizují automaticky podle platformy, když jsou splněné požadavky agenta virtuálního počítače Azure a použije se podporovaná verze agenta virtuálního počítače.

Rozšíření Microsoft.OSTCExtensions.AzureDiskEncryptionForLinux je zastaralé a už se nepodporuje.

Nejde šifrovat disky s Linuxem

V některých případech se zdá, že šifrování disku s Linuxem je zablokované při spuštění šifrování disku s operačním systémem a SSH je zakázané. Dokončení procesu šifrování na obrázku galerie akcií může trvat 3 až 16 hodin. Pokud se přidají datové disky s více terabajty, může proces trvat několik dnů.

Pořadí šifrování disku s operačním systémem Linux odpojí jednotku operačního systému dočasně. Potom provede šifrování celého disku s operačním systémem blokem blokem, než ho znovu připojí v šifrovaném stavu. Šifrování disků s Linuxem neumožňuje souběžné použití virtuálního počítače, zatímco probíhá šifrování. Charakteristiky výkonu virtuálního počítače můžou výrazně změnit dobu potřebnou k dokončení šifrování. Mezi tyto charakteristiky patří velikost disku a to, jestli je účet úložiště úrovně Standard nebo Premium (SSD).

Zatímco je jednotka operačního systému šifrovaná, virtuální počítač přejde do stavu údržby a zakáže SSH, aby se zabránilo přerušení probíhajícího procesu. Pokud chcete zkontrolovat stav šifrování, použijte příkaz Azure PowerShell Get-AzVmDiskEncryptionStatus a zkontrolujte pole ProgressMessage. ProgressMessage bude hlásit řadu stavů, protože data a disky s operačním systémem jsou šifrované:

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 zůstane v šifrování disku s operačním systémem spuštěno pro většinu procesu šifrování. Po dokončení a úspěšném šifrování vrátí 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

Jakmile bude tato zpráva dostupná, očekává se, že šifrovaná jednotka operačního systému bude připravená k použití a virtuální počítač je připravený k opětovnému použití.

Pokud informace o spuštění, zpráva o průběhu nebo chybová zpráva o selhání šifrování operačního systému uprostřed tohoto procesu selhala, obnovte virtuální počítač do snímku nebo zálohy pořízené bezprostředně před šifrováním. Příkladem zprávy je chyba "Nepodařilo se odpojit", která je popsaná v tomto průvodci.

Před opětovnou opravou šifrování znovu vyhodnocete charakteristiky virtuálního počítače a ujistěte se, že jsou splněné všechny požadavky.

Řešení potíží se službou Azure Disk Encryption za bránou firewall

Viz Šifrování disků v izolované síti.

Řešení potíží se stavem šifrování

Portál může disk zobrazit jako šifrovaný i poté, co byl v rámci virtuálního počítače nešifrovaný. K tomu může dojít, když se příkazy nízké úrovně použijí k přímému zrušení šifrování disku z virtuálního počítače místo použití příkazů pro správu služby Azure Disk Encryption vyšší úrovně. Příkazy vyšší úrovně nejen nešifrují disk z virtuálního počítače, ale mimo virtuální počítač také aktualizují důležitá nastavení šifrování na úrovni platformy a nastavení rozšíření přidružené k virtuálnímu počítači. Pokud tyto informace nejsou v souladu, platforma nebude moct hlásit stav šifrování nebo správně zřídit virtuální počítač.

Pokud chcete zakázat Azure Disk Encryption pomocí PowerShellu, použijte Disable-AzVMDiskEncryption následovaný remove-AzVMDiskEncryptionExtension. Spuštění Remove-AzVMDiskEncryptionExtension před zakázáním šifrování selže.

Pokud chcete azure Disk Encryption zakázat pomocí rozhraní příkazového řádku, použijte příkaz az vm encryption disable.

Další kroky

V tomto dokumentu jste se dozvěděli více o některých běžných problémech ve službě Azure Disk Encryption a o řešení těchto problémů. Další informace o této službě a jejích možnostech najdete v následujících článcích: