Jak zmienić rozmiar urządzeń do zarządzania woluminami logicznymi korzystającymi z usługi Azure Disk Encryption
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy skalowania ✔️
W tym artykule dowiesz się, jak zmienić rozmiar dysków danych korzystających z usługi Azure Disk Encryption. Aby zmienić rozmiar dysków, użyjesz funkcji zarządzania woluminami logicznymi (LVM) w systemie Linux. Kroki dotyczą wielu scenariuszy.
Ten proces zmiany rozmiaru można użyć w następujących środowiskach:
- Dystrybucje systemu Linux:
- System Red Hat Enterprise Linux (RHEL) 7 lub nowszy
- Ubuntu 18.04 lub nowszy
- SUSE 12 lub nowszy
- Wersje usługi Azure Disk Encryption:
- Jednoprzepustowe rozszerzenie
- Dwuprzepustowe rozszerzenie
Wymagania wstępne
W tym artykule założono, że masz następujące założenia:
Istniejąca konfiguracja LVM. Aby uzyskać więcej informacji, zobacz Konfigurowanie lvm na maszynie wirtualnej z systemem Linux.
Dyski, które są już szyfrowane przez usługę Azure Disk Encryption. Aby uzyskać więcej informacji, zobacz Konfigurowanie LVM i RAID na zaszyfrowanych urządzeniach.
Doświadczenie w korzystaniu z systemów Linux i LVM.
Doświadczenie w korzystaniu z /dev/disk/scsi1/ ścieżek dla dysków danych na platformie Azure. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z nazwą urządzenia maszyny wirtualnej z systemem Linux.
Scenariusze
Procedury opisane w tym artykule dotyczą następujących scenariuszy:
- Tradycyjne konfiguracje LVM i LVM-on-crypt
- Tradycyjne szyfrowanie LVM
- LvM-on-crypt
- Tylko dyski danych. Zmiana rozmiaru dysku systemu operacyjnego nie jest obsługiwana.
Tradycyjne konfiguracje LVM i LVM-on-crypt
Tradycyjne konfiguracje LVM i LVM-on-crypt rozszerzają wolumin logiczny (LV), gdy grupa woluminów (VG) ma dostępne miejsce.
Tradycyjne szyfrowanie LVM
W przypadku tradycyjnego szyfrowania LVM woluminy LV są szyfrowane. Cały dysk nie jest zaszyfrowany.
Korzystając z tradycyjnego szyfrowania LVM, można wykonywać następujące czynności:
- Rozszerz lv podczas dodawania nowego woluminu fizycznego (PV).
- Rozszerz lv podczas zmiany rozmiaru istniejącego pv.
LvM-on-crypt
Zalecaną metodą szyfrowania dysków jest szyfrowanie LVM-on-encrypt. Ta metoda szyfruje cały dysk, a nie tylko LV.
Za pomocą funkcji LVM-on-crypt można wykonywać następujące czynności:
- Rozszerz lv podczas dodawania nowego pv.
- Rozszerz lv podczas zmiany rozmiaru istniejącego pv.
Uwaga
Nie zalecamy mieszania tradycyjnego szyfrowania LVM i szyfrowania LVM na tej samej maszynie wirtualnej.
W poniższych sekcjach przedstawiono przykłady użycia oprogramowania LVM i LVM-on-crypt. W przykładach używane są wstępnie istniejące wartości dysków, wirtualnych woluminów wirtualnych, woluminów wirtualnych, systemów plików, uniwersalnych unikatowych identyfikatorów (UUID) i punktów instalacji. Zastąp te wartości własnymi wartościami, aby dopasować je do środowiska.
Rozszerzanie lv, gdy grupa wirtualna ma dostępne miejsce
Tradycyjnym sposobem zmiany rozmiaru woluminów LV jest rozszerzenie LV, gdy grupa wirtualna ma dostępne miejsce. Tej metody można użyć w przypadku dysków niezaszyfrowanych, tradycyjnych woluminów zaszyfrowanych LVM i konfiguracji LVM-on-crypt.
Sprawdź bieżący rozmiar systemu plików, który chcesz zwiększyć:
df -h /mountpoint
Sprawdź, czy grupa wirtualna ma wystarczającą ilość miejsca, aby zwiększyć lv:
sudo vgs
Możesz również użyć polecenia
vgdisplay
:sudo vgdisplay vgname
Zidentyfikuj rozmiar LV, którego rozmiaru należy zmienić:
sudo lsblk
W przypadku funkcji LVM-on-crypt różnica polega na tym, że dane wyjściowe pokazują, że zaszyfrowana warstwa znajduje się na poziomie dysku.
Sprawdź rozmiar LV:
sudo lvdisplay lvname
Zwiększ rozmiar LV przy użyciu polecenia
-r
, aby zmienić rozmiar systemu plików w trybie online:sudo lvextend -r -L +2G /dev/vgname/lvname
Sprawdź nowe rozmiary lv i systemu plików:
df -h /mountpoint
Dane wyjściowe rozmiaru wskazują, że rozmiar LV i system plików zostały pomyślnie zmieniony.
Możesz ponownie sprawdzić informacje LV, aby potwierdzić zmiany na poziomie LV:
sudo lvdisplay lvname
Rozszerzanie tradycyjnego woluminu LVM przez dodanie nowego woluminu PV
Jeśli musisz dodać nowy dysk, aby zwiększyć rozmiar grupy wirtualnej, rozszerz tradycyjny wolumin LVM, dodając nowy serwer PV.
Sprawdź bieżący rozmiar systemu plików, który chcesz zwiększyć:
df -h /mountpoint
Sprawdź bieżącą konfigurację pv:
sudo pvs
Sprawdź bieżące informacje o sieci wirtualnej:
sudo vgs
Sprawdź bieżącą listę dysków. Zidentyfikuj dyski danych, sprawdzając urządzenia w lokalizacji /dev/disk/azure/scsi1/.
sudo ls -l /dev/disk/azure/scsi1/
Sprawdź dane wyjściowe polecenia
lsblk
:sudo lsbk
Dołącz nowy dysk do maszyny wirtualnej, postępując zgodnie z instrukcjami w temacie Dołączanie dysku danych do maszyny wirtualnej z systemem Linux.
Sprawdź listę dysków i zwróć uwagę na nowy dysk.
sudo ls -l /dev/disk/azure/scsi1/
sudo lsblk
Utwórz nowy serwer PV na nowym dysku danych:
sudo pvcreate /dev/newdisk
Ta metoda używa całego dysku jako pv bez partycji. Alternatywnie możesz użyć
fdisk
polecenia , aby utworzyć partycję, a następnie użyć tej partycji dla programupvcreate
.Sprawdź, czy pv został dodany do listy PV:
sudo pvs
Rozszerz grupę wirtualną, dodając do niej nową sieć pv:
sudo vgextend vgname /dev/newdisk
Sprawdź nowy rozmiar grupy wirtualnej:
sudo vgs
Użyj
lsblk
polecenia , aby zidentyfikować lv, którego rozmiar należy zmienić:sudo lsblk
Rozszerz rozmiar LV przy użyciu polecenia
-r
, aby zwiększyć system plików w trybie online:sudo lvextend -r -L +2G /dev/vgname/lvname
Sprawdź nowe rozmiary systemu LV i systemu plików:
df -h /mountpoint
Ważne
Gdy usługa Azure Data Encryption jest używana w tradycyjnych konfiguracjach LVM, szyfrowana warstwa jest tworzona na poziomie LV, a nie na poziomie dysku.
W tym momencie zaszyfrowana warstwa jest rozszerzana na nowy dysk. Rzeczywisty dysk danych nie ma ustawień szyfrowania na poziomie platformy, więc jego stan szyfrowania nie jest aktualizowany.
Oto niektóre z powodów, dla których rozwiązanie LVM-on-crypt jest zalecanym podejściem.
Sprawdź informacje o szyfrowaniu z portalu:
Aby zaktualizować ustawienia szyfrowania na dysku, dodaj nowy lv i włącz rozszerzenie na maszynie wirtualnej.
Dodaj nowy lv, utwórz system plików i dodaj go do
/etc/fstab
.Ponownie ustaw rozszerzenie szyfrowania. Tym razem będziesz oznaczać ustawienia szyfrowania na nowym dysku danych na poziomie platformy. Oto przykład interfejsu wiersza polecenia:
az vm encryption enable -g ${RGNAME} --name ${VMNAME} --disk-encryption-keyvault "<your-unique-keyvault-name>"
Sprawdź informacje o szyfrowaniu z portalu:
Po zaktualizowaniu ustawień szyfrowania można usunąć nowy lv. Usuń również wpis z utworzonego /etc/fstab
obiektu i /etc/crypttab
.
Wykonaj następujące kroki, aby zakończyć czyszczenie:
Odinstalowywanie lv:
sudo umount /mountpoint
Zamknij zaszyfrowaną warstwę woluminu:
sudo cryptsetup luksClose /dev/vgname/lvname
Usuń lv:
sudo lvremove /dev/vgname/lvname
Rozszerzanie tradycyjnego woluminu LVM przez zmianę rozmiaru istniejącego pv
W niektórych scenariuszach ograniczenia mogą wymagać zmiany rozmiaru istniejącego dysku. Oto, jak to zrobić:
Zidentyfikuj zaszyfrowane dyski:
sudo ls -l /dev/disk/azure/scsi1/
sudo lsblk -fs
Sprawdź informacje pv:
sudo pvs
Wyniki na obrazie pokazują, że obecnie jest używane całe miejsce na wszystkich telewizorach.
Sprawdź informacje o sieci wirtualnej:
sudo vgs sudo vgdisplay -v vgname
Sprawdź rozmiary dysków. Możesz użyć polecenia
fdisk
lublsblk
wyświetlić listę rozmiarów dysków.for disk in `sudo ls -l /dev/disk/azure/scsi1/* | awk -F/ '{print $NF}'` ; do echo "sudo fdisk -l /dev/${disk} | grep ^Disk "; done | bash sudo lsblk -o "NAME,SIZE"
W tym miejscu zidentyfikowaliśmy, z którymi woluminami LV są skojarzone przy użyciu polecenia
lsblk -fs
. Skojarzenia można zidentyfikować, uruchamiając polecenielvdisplay
.sudo lvdisplay --maps VG/LV sudo lvdisplay --maps datavg/datalv1
W takim przypadku wszystkie cztery dyski danych są częścią tej samej grupy wirtualnej i pojedynczego LV. Konfiguracja może się różnić.
Sprawdź bieżące wykorzystanie systemu plików:
df -h /datalvm*
Zmień rozmiar dysków danych, postępując zgodnie z instrukcjami w temacie Rozwijanie dysku zarządzanego platformy Azure. Możesz użyć portalu, interfejsu wiersza polecenia lub programu PowerShell.
Ważne
Niektóre dyski danych na maszynach wirtualnych z systemem Linux można zmienić bez cofnięcia przydziału maszyny wirtualnej. Sprawdź [Rozwiń wirtualne dyski twarde na maszynie wirtualnej z systemem Linux](/azure/virtual-machines/linux/expand-disks? tabs=ubuntu#expand-an-azure-managed-disk), aby sprawdzić, czy dyski spełniają wymagania.
Uruchom maszynę wirtualną i sprawdź nowe rozmiary przy użyciu polecenia
fdisk
.for disk in `sudo ls -l /dev/disk/azure/scsi1/* | awk -F/ '{print $NF}'` ; do echo "sudo fdisk -l /dev/${disk} | grep ^Disk "; done | bash sudo lsblk -o "NAME,SIZE"
W tym przypadku
/dev/sdd
rozmiar został zmieniony z 5 G na 20 G.Sprawdź bieżący rozmiar PV:
sudo pvdisplay /dev/resizeddisk
Mimo że rozmiar dysku został zmieniony, pv nadal ma poprzedni rozmiar.
Zmień rozmiar pv:
sudo pvresize /dev/resizeddisk
Sprawdź rozmiar PV:
sudo pvdisplay /dev/resizeddisk
Zastosuj tę samą procedurę dla wszystkich dysków, które chcesz zmienić.
Sprawdź informacje o sieci wirtualnej.
sudo vgdisplay vgname
Grupa wirtualna ma teraz wystarczającą ilość miejsca do przydzielania do woluminów LV.
Zmień rozmiar LV:
sudo lvresize -r -L +5G vgname/lvname sudo lvresize -r -l +100%FREE /dev/datavg/datalv01
Sprawdź rozmiar systemu plików:
df -h /datalvm2
Rozszerzanie woluminu LVM-on-crypt przez dodanie nowego pv
Można również rozszerzyć wolumin LVM-on-crypt, dodając nowy pv. Ta metoda uważnie wykonuje kroki opisane w temacie Konfigurowanie LVM i RAID na zaszyfrowanych urządzeniach. Zobacz sekcje, w których wyjaśniono, jak dodać nowy dysk i skonfigurować go w konfiguracji LVM-on-crypt.
Możesz użyć tej metody, aby dodać miejsce do istniejącego LV. Możesz też utworzyć nowe wirtualne grupy zabezpieczeń lub woluminy LV.
Sprawdź bieżący rozmiar grupy wirtualnej:
sudo vgdisplay vgname
Sprawdź rozmiar systemu plików i LV, który chcesz rozwinąć:
sudo lvdisplay /dev/vgname/lvname
df -h mountpoint
Dodaj nowy dysk danych do maszyny wirtualnej i zidentyfikuj go.
Przed dodaniem nowego dysku sprawdź dyski:
sudo fdisk -l | egrep ^"Disk /"
Oto inny sposób sprawdzania dysków przed dodaniem nowego dysku:
sudo lsblk
Aby dodać nowy dysk, możesz użyć programu PowerShell, interfejsu wiersza polecenia platformy Azure lub witryny Azure Portal. Aby uzyskać więcej informacji, zobacz Dołączanie dysku danych do maszyny wirtualnej z systemem Linux.
Schemat nazw jądra ma zastosowanie do nowo dodanego urządzenia. Nowy dysk jest zwykle przypisany do następnej dostępnej litery. W takim przypadku dodany dysk to
sdd
.Sprawdź dyski, aby upewnić się, że nowy dysk został dodany:
sudo fdisk -l | egrep ^"Disk /"
sudo lsblk
Utwórz system plików na podstawie ostatnio dodanego dysku. Dopasuj dysk do połączonych urządzeń w systemie
/dev/disk/azure/scsi1/
.sudo ls -la /dev/disk/azure/scsi1/
sudo mkfs.ext4 /dev/disk/azure/scsi1/${disk}
Utwórz tymczasowy punkt instalacji dla nowego dodanego dysku:
newmount=/data4 sudo mkdir ${newmount}
Dodaj ostatnio utworzony system plików do
/etc/fstab
programu .sudo blkid /dev/disk/azure/scsi1/lun4| awk -F\" '{print "UUID="$2" '${newmount}' "$4" defaults,nofail 0 0"}' >> /etc/fstab
Zainstaluj nowo utworzony system plików:
sudo mount -a
Sprawdź, czy nowy system plików jest zainstalowany:
df -h
sudo lsblk
Uruchom ponownie szyfrowanie, które wcześniej uruchomiono dla dysków danych.
Napiwek
W przypadku funkcji LVM-on-crypt zalecamy użycie polecenia
EncryptFormatAll
. W przeciwnym razie podczas ustawiania dodatkowych dysków może zostać wyświetlone podwójne szyfrowanie.Aby uzyskać więcej informacji, zobacz Konfigurowanie LVM i RAID na zaszyfrowanych urządzeniach.
Oto przykład:
az vm encryption enable \ --resource-group ${RGNAME} \ --name ${VMNAME} \ --disk-encryption-keyvault ${KEYVAULTNAME} \ --key-encryption-key ${KEYNAME} \ --key-encryption-keyvault ${KEYVAULTNAME} \ --volume-type "DATA" \ --encrypt-format-all \ -o table
Po zakończeniu szyfrowania na nowo dodanym dysku zostanie wyświetlona warstwa kryptografii:
sudo lsblk
Odinstalowywanie zaszyfrowanej warstwy nowego dysku:
sudo umount ${newmount}
Sprawdź bieżące informacje pv:
sudo pvs
Utwórz pv na szczycie zaszyfrowanej warstwy dysku. Zabierz nazwę urządzenia z poprzedniego
lsblk
polecenia. Dodaj maper/dev/
przed nazwą urządzenia, aby utworzyć pv:sudo pvcreate /dev/mapper/mapperdevicename
Zostanie wyświetlone ostrzeżenie dotyczące wyczyszczenie bieżącego
ext4 fs
podpisu. To ostrzeżenie jest oczekiwane. Odpowiedz na to pytanie za pomocą poleceniay
.Sprawdź, czy nowa sieć PV została dodana do konfiguracji LVM:
sudo pvs
Dodaj nowy pv do grupy wirtualnej, którą chcesz zwiększyć.
sudo vgextend vgname /dev/mapper/nameofhenewpv
Sprawdź nowy rozmiar i wolne miejsce w sieci wirtualnej:
sudo vgdisplay vgname
Zwróć uwagę na wzrost
Total PE
liczby i wartościFree PE / Size
.Zwiększ rozmiar LV i systemu plików.
-r
Użyj opcji w plikulvextend
. W tym przykładzie dodajemy łączną ilość dostępnego miejsca w sieci wirtualnej do danego lv.sudo lvextend -r -l +100%FREE /dev/vgname/lvname
Wykonaj następne kroki, aby zweryfikować zmiany.
Sprawdź rozmiar LV:
sudo lvdisplay /dev/vgname/lvname
Sprawdź nowy rozmiar systemu plików:
df -h /mountpoint
Sprawdź, czy warstwa LVM znajduje się na górze zaszyfrowanej warstwy:
sudo lsblk
Jeśli używasz
lsblk
opcji bez opcji, zobaczysz punkty instalacji wiele razy. Polecenie sortuje według urządzenia i woluminów LV.Możesz użyć polecenia
lsblk -fs
. W tym poleceniu odwraca kolejność sortowania,-fs
tak aby punkty instalacji zostały pokazane raz. Dyski są wyświetlane wiele razy.sudo lsblk -fs
Rozszerzanie lvm na woluminie kryptografii przez zmianę rozmiaru istniejącego pv
Zidentyfikuj zaszyfrowane dyski:
sudo lsblk
sudo lsblk -s
Sprawdź informacje pv:
sudo pvs
Sprawdź informacje o sieci wirtualnej:
sudo vgs
Sprawdź swoje informacje LV:
sudo lvs
Sprawdź wykorzystanie systemu plików:
df -h /mountpoint(s)
Sprawdź rozmiary dysków:
sudo fdisk sudo fdisk -l | egrep ^"Disk /" sudo lsblk
Zmień rozmiar dysku danych. Możesz użyć portalu, interfejsu wiersza polecenia lub programu PowerShell. Aby uzyskać więcej informacji, zobacz sekcję Zmiana rozmiaru dysku w temacie Rozwijanie wirtualnych dysków twardych na maszynie wirtualnej z systemem Linux.
Ważne
Nie można zmienić rozmiaru dysków wirtualnych, gdy maszyna wirtualna jest uruchomiona. Cofnij przydział maszyny wirtualnej na potrzeby tego kroku.
Sprawdź rozmiary dysków:
sudo fdisk sudo fdisk -l | egrep ^"Disk /" sudo lsblk
W tym przypadku rozmiar obu dysków został zmieniony z 2 GB na 4 GB. Jednak rozmiar systemu plików, LV i PV pozostają takie same.
Sprawdź bieżący rozmiar PV. Należy pamiętać, że na platformie LVM-on-crypt pv jest
/dev/mapper/
urządzeniem, a nie/dev/sd*
urządzeniem.sudo pvdisplay /dev/mapper/devicemappername
Zmień rozmiar pv:
sudo pvresize /dev/mapper/devicemappername
Sprawdź nowy rozmiar PV:
sudo pvdisplay /dev/mapper/devicemappername
Zmień rozmiar zaszyfrowanej warstwy na pv:
sudo cryptsetup resize /dev/mapper/devicemappername
Zastosuj tę samą procedurę dla wszystkich dysków, które chcesz zmienić.
Sprawdź informacje o sieci wirtualnej:
sudo vgdisplay vgname
Grupa wirtualna ma teraz wystarczającą ilość miejsca do przydzielania do woluminów LV.
Sprawdź informacje LV:
sudo lvdisplay vgname/lvname
Sprawdź wykorzystanie systemu plików:
df -h /mountpoint
Zmień rozmiar LV:
sudo lvresize -r -L +2G /dev/vgname/lvname
W tym miejscu użyjemy
-r
opcji , aby również zmienić rozmiar systemu plików.Sprawdź informacje LV:
sudo lvdisplay vgname/lvname
Sprawdź wykorzystanie systemu plików:
df -h /mountpoint
Zastosuj tę samą procedurę zmiany rozmiaru do każdego innego LV, który go wymaga.