Sdílet prostřednictvím


Konfigurace LVM a RAID na šifrovaných zařízeních

Důležité

Služba Azure Disk Encryption pro virtuální počítače a škálovací sady virtuálních počítačů bude vyřazena 15. září 2028. Noví zákazníci by měli používat šifrování na hostiteli pro všechny nové virtuální počítače. Stávající zákazníci by měli naplánovat migraci aktuálních virtuálních počítačů s podporou ADE na šifrování na hostiteli před datem vyřazení, aby se zabránilo přerušení služeb – viz Migrace ze služby Azure Disk Encryption na šifrování na hostiteli.

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

Tento článek je podrobný postup, jak provádět správu logických svazků (LVM) a RAID na šifrovaných zařízeních. Tento proces platí pro následující prostředí:

  • Linuxové distribuce
    • RHEL 7.6+
    • Ubuntu 18.04+
    • SUSE 12+
  • Rozšíření Azure Disk Encryption s jedním průchodem
  • Rozšíření Azure Disk Encryption s dvoufázovým šifrováním

Scénáře

Postupy v tomto článku podporují následující scénáře:

  • Konfigurace LVM nad šifrovanými zařízeními (LVM v šifrování)
  • Konfigurovat RAID na šifrovaných zařízeních (RAID-on-crypt)

Po zašifrování základního zařízení nebo zařízení můžete nad zašifrovanou vrstvou vytvořit struktury LVM nebo RAID.

Fyzické svazky (FV) se vytvářejí na šifrované vrstvě. Fyzické svazky slouží k vytvoření skupiny svazků. Vytvoříte svazky a přidáte požadované položky na /etc/fstab.

Diagram vrstev struktur LVM

Podobně se zařízení RAID vytvoří nad šifrovanou vrstvou na discích. Systém souborů se vytvoří nad zařízením RAID a přidá se do /etc/fstab jako běžné zařízení.

Úvahy

Doporučujeme používat šifrování LVM. RAID je možnost, když LVM nejde použít kvůli konkrétním omezením aplikací nebo prostředí.

Použijete možnost EncryptFormatAll . Další informace o této možnosti najdete v tématu Použití funkce EncryptFormatAll pro datové disky na virtuálních počítačích s Linuxem.

I když tuto metodu můžete použít i při šifrování operačního systému, právě tady šifrujeme datové jednotky.

Postupy předpokládají, že jste už zkontrolovali požadavky ve scénářích azure Disk Encryption na virtuálních počítačích s Linuxem a v rychlém startu: Vytvoření a šifrování virtuálního počítače s Linuxem pomocí Azure CLI.

Verze služby Azure Disk Encryption s duálním průchodem je na cestě vyřazení a neměla by se už používat u nových šifrování.

Obecné kroky

Pokud používáte konfigurace "on-crypt", použijte proces popsaný v následujících postupech.

Poznámka:

V tomto článku používáme proměnné. Odpovídajícím způsobem nahraďte hodnoty.

Nasazení virtuálního počítače

Následující příkazy jsou volitelné, ale doporučujeme je použít na nově nasazený virtuální počítač.

PowerShell:

New-AzVm -ResourceGroupName ${RGNAME} `
-Name ${VMNAME} `
-Location ${LOCATION} `
-Size ${VMSIZE} `
-Image ${OSIMAGE} `
-Credential ${creds} `
-Verbose

Azure CLI:

az vm create \
-n ${VMNAME} \
-g ${RGNAME} \
--image ${OSIMAGE} \
--admin-username ${username} \
--admin-password ${password} \
-l ${LOCATION} \
--size ${VMSIZE} \
-o table

Připojení disků k virtuálnímu počítači

Opakujte následující příkazy pro $N počet nových disků, které chcete připojit k virtuálnímu počítači.

PowerShell:

$storageType = 'Standard_LRS'
$dataDiskName = ${VMNAME} + '_datadisk0'
$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $LOCATION -CreateOption Empty -DiskSizeGB 5
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName ${RGNAME}
$vm = Get-AzVM -Name ${VMNAME} -ResourceGroupName ${RGNAME}
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 0
Update-AzVM -VM ${VM} -ResourceGroupName ${RGNAME}

Azure CLI:

az vm disk attach \
-g ${RGNAME} \
--vm-name ${VMNAME} \
--name ${VMNAME}datadisk1 \
--size-gb 5 \
--new \
-o table

Ověřte, že jsou disky připojené k virtuálnímu počítači.

PowerShell:

$VM = Get-AzVM -ResourceGroupName ${RGNAME} -Name ${VMNAME}
$VM.StorageProfile.DataDisks | Select-Object Lun,Name,DiskSizeGB

Seznam připojených disků v PowerShellu

Azure CLI:

az vm show -g ${RGNAME} -n ${VMNAME} --query storageProfile.dataDisks -o table

Seznam připojených disků v Azure CLI

Portál:

Seznam připojených disků na portálu

Operační systém:

lsblk

Seznam připojených disků v operačním systému

Konfigurace zašifrovaných disků

Tato konfigurace se provádí na úrovni operačního systému. Odpovídající disky jsou nakonfigurované pro tradiční šifrování prostřednictvím služby Azure Disk Encryption:

  • Systémy souborů se vytvářejí nad disky.
  • Pro připojení systémů souborů se vytvoří dočasné přípojné body.
  • Systémy souborů se konfigurují na /etc/fstab, aby se připojily při spuštění.

Zkontrolujte písmeno zařízení přiřazené k novým diskům. V tomto příkladu používáme čtyři datové disky.

lsblk

Datové disky připojené k operačnímu systému

Vytvoření systému souborů nad každým diskem

Tento příkaz postupně vytváří systém souborů ext4 na každém disku, který je definován ve výrazu "in" cyklu "for".

for disk in c d e f; do echo mkfs.ext4 -F /dev/sd${disk}; done |bash

Vytvoření systému souborů ext4

Vyhledejte univerzální jedinečný identifikátor (UUID) systémů souborů, které jste nedávno vytvořili, vytvořte dočasnou složku, přidejte odpovídající položky na /etc/fstab a připojte všechny systémy souborů.

Tento příkaz také iteruje přes každý disk definovaný v části "in" cyklu "for".

for disk in c d e f; do diskuuid="$(blkid -s UUID -o value /dev/sd${disk})"; \
mkdir /tempdata${disk}; \
echo "UUID=${diskuuid} /tempdata${disk} ext4 defaults,nofail 0 0" >> /etc/fstab; \
mount -a; \
done

Ověřte, že jsou disky správně připojené.

lsblk

Seznam připojených dočasných systémů souborů

Ověřte také, že jsou disky nakonfigurované:

cat /etc/fstab

Informace o konfiguraci přes fstab

Šifrování datových disků

PowerShell pomocí šifrovacího klíče (KEK):

$sequenceVersion = [Guid]::NewGuid()
Set-AzVMDiskEncryptionExtension -ResourceGroupName $RGNAME `
-VMName ${VMNAME} `
-DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl `
-DiskEncryptionKeyVaultId $KeyVaultResourceId `
-KeyEncryptionKeyUrl $keyEncryptionKeyUrl `
-KeyEncryptionKeyVaultId $KeyVaultResourceId `
-VolumeType 'DATA' `
-EncryptFormatAll `
-SequenceVersion $sequenceVersion `
-skipVmBackup;

Azure CLI s využitím KEK:

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

Ověření stavu šifrování

Pokračujte dalším krokem, pouze pokud jsou všechny disky šifrované.

PowerShell:

Get-AzVmDiskEncryptionStatus -ResourceGroupName ${RGNAME} -VMName ${VMNAME}

Stav šifrování v PowerShellu

Azure CLI:

az vm encryption show -n ${VMNAME} -g ${RGNAME} -o table

Stav šifrování v Azure CLI

Portál:

Stav šifrování na portálu

Úroveň operačního systému:

lsblk

Stav šifrování v operačním systému

Přípona přidá systémy souborů do /var/lib/azure_disk_encryption_config/azure_crypt_mount (staré šifrování) nebo do /etc/crypttab (nové šifrování).

Poznámka:

Neupravujte žádný z těchto souborů.

Tento soubor se postará o aktivaci těchto disků během procesu spouštění, aby je LVM nebo RAID mohli později použít.

Nemějte obavy o přípojné body v tomto souboru. Azure Disk Encryption ztratí možnost připojit disky jako běžný souborový systém po vytvoření fyzického svazku nebo zařízení RAID na těchto šifrovaných zařízeních. (Tím se odebere formát systému souborů, který jsme použili během procesu přípravy.)

Odebrání dočasných složek a dočasných položek fstab

Odpojíte souborové systémy na discích, které budou součástí LVM.

for disk in c d e f; do umount /tempdata${disk}; done

A odeberte položky /etc/fstab:

vi /etc/fstab

Ověřte, že disky nejsou připojené a že byly odebrány položky v /etc/fstab.

lsblk

Ověření, že dočasné systémy souborů jsou odpojené

A ověřte, že jsou disky nakonfigurované:

cat /etc/fstab

Ověření, že byly odebrány dočasné položky z fstab

Postup pro LVM na šifrovaném disku

Teď, když jsou podkladové disky šifrované, můžete vytvořit struktury LVM.

Místo použití názvu zařízení použijte cesty /dev/mapper pro každý disk k vytvoření fyzického svazku (na vrstvě šifrování nad diskem, ne na samotném disku).

Konfigurace LVM nad šifrovanými vrstvami

Vytvoření fyzických svazků

Zobrazí se upozornění, které se zeptá, jestli je v pořádku vymazat podpis systému souborů. Pokračujte zadáním y nebo použijte echo "y", jak je znázorněno.

echo "y" | pvcreate /dev/mapper/c49ff535-1df9-45ad-9dad-f0846509f052
echo "y" | pvcreate /dev/mapper/6712ad6f-65ce-487b-aa52-462f381611a1
echo "y" | pvcreate /dev/mapper/ea607dfd-c396-48d6-bc54-603cf741bc2a
echo "y" | pvcreate /dev/mapper/4159c60a-a546-455b-985f-92865d51158c

Ověření, že byl vytvořen fyzický svazek

Poznámka:

Názvy zařízení ve formátu /dev/mapper/device je třeba nahradit skutečnými hodnotami na základě výstupu příkazu lsblk.

Ověřte informace pro fyzické svazky

pvs

Informace o fyzických svazcích

Vytvořte skupinu svazků

Vytvořte svazkovou skupinu pomocí stejných zařízení, která jsou už inicializovaná:

vgcreate vgdata /dev/mapper/

Kontrola informací o skupině svazků

vgdisplay -v vgdata
pvs

Informace o skupině svazků

Vytváření logických svazků

lvcreate -L 10G -n lvdata1 vgdata
lvcreate -L 7G -n lvdata2 vgdata

Zkontrolujte vytvořené logické svazky

lvdisplay
lvdisplay vgdata/lvdata1
lvdisplay vgdata/lvdata2

Informace o logických svazcích

Vytvořte systémy souborů nad strukturami pro logické svazky

echo "yes" | mkfs.ext4 /dev/vgdata/lvdata1
echo "yes" | mkfs.ext4 /dev/vgdata/lvdata2

Vytvoření přípojných bodů pro nové systémy souborů

mkdir /data0
mkdir /data1

Přidejte nové systémy souborů do /etc/fstab a připojte je.

echo "/dev/mapper/vgdata-lvdata1 /data0 ext4 defaults,nofail 0 0" >>/etc/fstab
echo "/dev/mapper/vgdata-lvdata2 /data1 ext4 defaults,nofail 0 0" >>/etc/fstab
mount -a

Ověřte, že jsou připojené nové systémy souborů.

lsblk -fs
df -h

Snímek obrazovky s oknem konzoly se systémy souborů připojenými jako data0 a data1

Na této variantě lsblk uvádíme zařízení, která zobrazují závislosti v obráceném pořadí. Tato možnost pomáhá identifikovat zařízení seskupovaná podle logického svazku místo původních názvů zařízení /dev/sd[disk].

Je důležité zajistit, aby se možnost nofail přidala do možností přípojného bodu svazků LVM vytvořených nad zařízením šifrovaným prostřednictvím služby Azure Disk Encryption. Zabrání zablokování operačního systému během procesu spouštění (nebo v režimu údržby).

Pokud nepoužíváte možnost nofail :

  • Operační systém se nikdy nedostane do fáze, ve které je spuštěná služba Azure Disk Encryption a datové disky jsou odemčené a připojené.
  • Šifrované disky se odemknou na konci procesu spouštění. Svazky a systémy souborů LVM se budou automaticky připojovat, dokud je neodemkne Azure Disk Encryption.

Můžete otestovat restartování virtuálního počítače a ověřit, že se systémy souborů po spuštění automaticky připojují. Tento proces může trvat několik minut v závislosti na počtu a velikostech systémů souborů.

Restartujte virtuální počítač a ověřte ho po restartování.

shutdown -r now
lsblk
df -h

Postup pro RAID-on-crypt

Teď, když jsou podkladové disky šifrované, můžete i nadále vytvářet struktury RAID. Proces je stejný jako proces pro LVM, ale místo použití názvu zařízení použijte cesty /dev/mapper pro každý disk.

Konfigurace RAID nad šifrovanou vrstvou disků

mdadm --create /dev/md10 \
--level 0 \
--raid-devices=4 \
/dev/mapper/c49ff535-1df9-45ad-9dad-f0846509f052 \
/dev/mapper/6712ad6f-65ce-487b-aa52-462f381611a1 \
/dev/mapper/ea607dfd-c396-48d6-bc54-603cf741bc2a \
/dev/mapper/4159c60a-a546-455b-985f-92865d51158c

Informace o konfiguraci RAID prostřednictvím příkazu mdadm

Poznámka:

Názvy zařízení /dev/mapper/device musí být nahrazeny skutečnými hodnotami na základě výstupu lsblk.

Kontrola nebo monitorování vytváření RAID

watch -n1 cat /proc/mdstat
mdadm --examine /dev/mapper/[]
mdadm --detail /dev/md10

Stav RAID

Vytvoření systému souborů nad novým zařízením RAID

mkfs.ext4 /dev/md10

Vytvořte nový přípojný bod pro systém souborů, přidejte nový systém souborů do /etc/fstab a připojte ho:

Poznámka:

Tento cyklus iteruje pouze na jednom zařízení pro tento konkrétní příklad, je sestaven tímto způsobem, aby se mohl v případě potřeby použít pro více zařízení md.

for device in md10; do diskuuid="$(blkid -s UUID -o value /dev/${device})"; \
mkdir /raiddata; \
echo "UUID=${diskuuid} /raiddata ext4 defaults,nofail 0 0" >> /etc/fstab; \
mount -a; \
done

Ověřte, že je nový systém souborů připojený:

lsblk -fs
df -h

Snímek obrazovky znázorňující okno konzoly se systémem souborů připojeným jako raiddata

Je důležité zajistit, aby se možnost nofail přidala do možností přípojného bodu svazků RAID vytvořených nad zařízením šifrovaným prostřednictvím služby Azure Disk Encryption. Zabrání zablokování operačního systému během procesu spouštění (nebo v režimu údržby).

Pokud nepoužíváte možnost nofail :

  • Operační systém se nikdy nedostane do fáze, ve které je spuštěná služba Azure Disk Encryption a datové disky jsou odemčené a připojené.
  • Šifrované disky se odemknou na konci procesu spouštění. Svazky RAID a systémy souborů se budou automaticky připojovat, dokud je Azure Disk Encryption neodemkne.

Můžete otestovat restartování virtuálního počítače a ověřit, že se systémy souborů po spuštění automaticky připojují. Tento proces může trvat několik minut v závislosti na počtu a velikostech systémů souborů.

shutdown -r now

A když se můžete přihlásit:

lsblk
df -h

Další kroky