Przewodnik rozwiązywania problemów z maszynami wirtualnymi z systemem Linux w usłudze Azure Disk Encryption
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy skalowania ✔️
Ten przewodnik jest przeznaczony dla specjalistów IT, analityków zabezpieczeń informacji i administratorów chmury, których organizacje używają usługi Azure Disk Encryption. Ten artykuł ułatwia rozwiązywanie problemów związanych z szyfrowaniem dysków.
Przed wykonaniem któregokolwiek z poniższych kroków najpierw upewnij się, że maszyny wirtualne, które próbujesz zaszyfrować, należą do obsługiwanych rozmiarów maszyn wirtualnych i systemów operacyjnych oraz że zostały spełnione wszystkie wymagania wstępne:
- Wymagania dodatkowe dla maszyn wirtualnych
- Wymagania dotyczące sieci
- Wymagania dotyczące magazynu kluczy szyfrowania
Rozwiązywanie problemów z szyfrowaniem dysków systemu operacyjnego Linux
Szyfrowanie dysków systemu operacyjnego Linux (OS) musi odinstalować dysk systemu operacyjnego przed uruchomieniem go przez cały proces szyfrowania dysku. Jeśli nie można odinstalować dysku, komunikat o błędzie "Nie można odinstalować po ..." prawdopodobnie wystąpi.
Ten błąd może wystąpić, gdy na maszynie wirtualnej jest podejmowana próba szyfrowania dysku systemu operacyjnego ze środowiskiem, które zostało zmienione z obsługiwanego obrazu galerii akcji. Odchylenia od obsługiwanego obrazu mogą zakłócać możliwość odinstalowania dysku systemu operacyjnego przez rozszerzenie. Przykłady odchyleń mogą obejmować następujące elementy:
- Niestandardowe obrazy nie są już zgodne z obsługiwanym systemem plików ani schematem partycjonowania.
- Duże aplikacje, takie jak SAP, MongoDB, Apache Cassandra i Docker, nie są obsługiwane podczas ich instalowania i uruchamiania w systemie operacyjnym przed szyfrowaniem. Usługa Azure Disk Encryption nie może bezpiecznie zamknąć tych procesów zgodnie z wymaganiami w ramach przygotowania dysku systemu operacyjnego do szyfrowania dysków. Jeśli nadal istnieją aktywne procesy przechowujące otwarte dojścia do pliku na dysku systemu operacyjnego, nie można odinstalować dysku systemu operacyjnego, co powoduje niepowodzenie szyfrowania dysku systemu operacyjnego.
- Niestandardowe skrypty uruchamiane w bliskim czasie w pobliżu włączonego szyfrowania lub jeśli podczas procesu szyfrowania są wprowadzane jakiekolwiek inne zmiany na maszynie wirtualnej. Ten konflikt może wystąpić, gdy szablon usługi Azure Resource Manager definiuje wiele rozszerzeń do wykonania jednocześnie lub gdy rozszerzenie niestandardowego skryptu lub inne akcje są uruchamiane jednocześnie do szyfrowania dysku. Serializowanie i izolowanie takich kroków może rozwiązać problem.
- Zabezpieczenia rozszerzone systemu Linux (SELinux) nie zostały wyłączone przed włączeniem szyfrowania, więc krok odinstalowania kończy się niepowodzeniem. SeLinux można ponownie stosować po zakończeniu szyfrowania.
- Dysk systemu operacyjnego używa schematu Menedżera woluminów logicznych (LVM). Mimo że dostępna jest ograniczona obsługa dysku danych LVM, nie jest dostępny dysk systemu operacyjnego LVM.
- Minimalne wymagania dotyczące pamięci nie są spełnione (sugerowane jest użycie 7 GB w przypadku szyfrowania dysków systemu operacyjnego).
- Dyski danych są rekursywnie instalowane w katalogu /mnt/ lub ze sobą (na przykład /mnt/data1, /mnt/data2, /data3 + /data3/data4).
Aktualizowanie domyślnego jądra dla systemu Ubuntu 14.04 LTS
Obraz Ubuntu 14.04 LTS jest dostarczany z domyślną wersją jądra 4.4. Ta wersja jądra ma znany problem, w którym funkcja Out of Memory Killer nieprawidłowo kończy polecenie dd podczas procesu szyfrowania systemu operacyjnego. Ta usterka została naprawiona w najnowszym jądrze systemu Linux dostrojonym na platformie Azure. Aby uniknąć tego błędu, przed włączeniem szyfrowania na obrazie zaktualizuj jądro dostrojone na platformie Azure w wersji 4.15 lub nowszej przy użyciu następujących poleceń:
sudo apt-get update
sudo apt-get install linux-azure
sudo reboot
Po ponownym uruchomieniu maszyny wirtualnej w nowym jądrze można potwierdzić nową wersję jądra przy użyciu:
uname -a
Aktualizowanie agenta maszyny wirtualnej platformy Azure i wersji rozszerzeń
Operacje usługi Azure Disk Encryption mogą zakończyć się niepowodzeniem na obrazach maszyn wirtualnych przy użyciu nieobsługiwanych wersji agenta maszyny wirtualnej platformy Azure. Przed włączeniem szyfrowania należy zaktualizować obrazy systemu Linux z wersjami agenta starszymi niż 2.2.38. Aby uzyskać więcej informacji, zobacz Jak zaktualizować agenta systemu Linux platformy Azure na maszynie wirtualnej i minimalną obsługę wersji agentów maszyn wirtualnych na platformie Azure.
Wymagana jest również poprawna wersja rozszerzenia agenta gościa Microsoft.Azure.Security.Azure.Security.AzureDiskEncryptionForLinux. Wersje rozszerzeń są obsługiwane i aktualizowane automatycznie przez platformę, gdy są spełnione wymagania wstępne agenta maszyny wirtualnej platformy Azure i jest używana obsługiwana wersja agenta maszyny wirtualnej.
Rozszerzenie Microsoft.OSTCExtensions.AzureDiskEncryptionForLinux zostało przestarzałe i nie jest już obsługiwane.
Nie można zaszyfrować dysków z systemem Linux
W niektórych przypadkach szyfrowanie dysków z systemem Linux wydaje się być zablokowane w pozycji "Uruchomiono szyfrowanie dysku systemu operacyjnego", a protokół SSH jest wyłączony. Proces szyfrowania może potrwać od 3 do 16 godzin na obrazie galerii akcji. Jeśli dodawane są dyski danych o wielu terabajtach, proces może potrwać kilka dni.
Sekwencja szyfrowania dysków systemu operacyjnego Linux tymczasowo odinstalowuje dysk systemu operacyjnego. Następnie wykonuje szyfrowanie bloku po bloku całego dysku systemu operacyjnego, zanim zostanie on ponownie odinstalowany w stanie zaszyfrowanym. Szyfrowanie dysków z systemem Linux nie zezwala na współbieżne użycie maszyny wirtualnej, gdy szyfrowanie jest w toku. Charakterystyka wydajności maszyny wirtualnej może mieć znaczącą różnicę w czasie wymaganym do ukończenia szyfrowania. Te cechy obejmują rozmiar dysku i to, czy konto magazynu jest magazynem w warstwie Standardowa czy Premium (SSD).
Gdy dysk systemu operacyjnego jest szyfrowany, maszyna wirtualna przechodzi w stan obsługi i wyłącza protokół SSH, aby zapobiec zakłóceniom trwającego procesu. Aby sprawdzić stan szyfrowania, użyj polecenia Get-AzVmDiskEncryptionStatus programu Azure PowerShell i zaznacz pole ProgressMessage. ProgressMessage zgłosi serię stanów, ponieważ dane i dyski systemu operacyjnego są szyfrowane:
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
Komunikat ProgressMessage pozostanie w trakcie szyfrowania dysku systemu operacyjnego uruchomiony przez większość procesu szyfrowania. Po zakończeniu i pomyślnym zakończeniu szyfrowania funkcja ProgressMessage zwróci:
PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"
OsVolumeEncrypted : Encrypted
DataVolumesEncrypted : NotMounted
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage : Encryption succeeded for all volumes
Po udostępnieniu tego komunikatu zaszyfrowany dysk systemu operacyjnego powinien być gotowy do użycia, a maszyna wirtualna będzie gotowa do ponownego użycia.
Jeśli informacje o rozruchu, komunikat o postępie lub błąd zgłasza, że szyfrowanie systemu operacyjnego nie powiodło się w trakcie tego procesu, przywróć maszynę wirtualną do migawki lub kopii zapasowej wykonanej bezpośrednio przed szyfrowaniem. Przykładem komunikatu jest błąd "nie można odinstalować" opisany w tym przewodniku.
Przed ponownym rozpoczęciem szyfrowania ponownie przeszacuj charakterystykę maszyny wirtualnej i upewnij się, że wszystkie wymagania wstępne zostały spełnione.
Rozwiązywanie problemów z usługą Azure Disk Encryption za zaporą
Zobacz Disk Encryption w izolowanej sieci
Rozwiązywanie problemów ze stanem szyfrowania
Portal może wyświetlać dysk jako zaszyfrowany nawet po tym, jak został niezaszyfrowany na maszynie wirtualnej. Może się to zdarzyć, gdy polecenia niskiego poziomu są używane do bezpośredniego odszyfrowania dysku z poziomu maszyny wirtualnej, zamiast używać poleceń zarządzania usługą Azure Disk Encryption wyższego poziomu. Polecenia wyższego poziomu nie tylko nieszyfrują dysku z maszyny wirtualnej, ale poza maszyną wirtualną aktualizują również ważne ustawienia szyfrowania na poziomie platformy i ustawienia rozszerzenia skojarzone z maszyną wirtualną. Jeśli nie są one wyrównane, platforma nie będzie mogła prawidłowo zgłaszać stanu szyfrowania ani aprowizować maszyny wirtualnej.
Aby wyłączyć usługę Azure Disk Encryption za pomocą programu PowerShell, użyj polecenia Disable-AzVMDiskEncryption , a następnie polecenia Remove-AzVMDiskEncryptionExtension. Uruchomienie polecenia Remove-AzVMDiskEncryptionExtension przed wyłączeniem szyfrowania zakończy się niepowodzeniem.
Aby wyłączyć usługę Azure Disk Encryption za pomocą interfejsu wiersza polecenia, użyj polecenia az vm encryption disable.
Następne kroki
W tym dokumencie przedstawiono więcej informacji na temat niektórych typowych problemów z usługą Azure Disk Encryption i sposobu rozwiązywania tych problemów. Aby uzyskać więcej informacji na temat tej usługi i jej możliwości, zobacz następujące artykuły: