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

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 se vztahuje na následující prostředí:

  • Distribuce Linuxu
    • RHEL 7.6+
    • Ubuntu 18.04 nebo novější
    • SUSE 12+
  • Rozšíření Azure Disk Encryption s jedním průchodem
  • Rozšíření Azure Disk Encryption se dvěma průchody

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í)
  • Konfigurace RAID nad šifrovanými zařízeními (raid-on-crypt)

Po zašifrování základního zařízení nebo zařízení můžete na této šifrované vrstvě vytvořit struktury LVM nebo RAID.

Fyzické svazky (PCV) se vytvářejí nad šifrovanou vrstvou. Fyzické svazky se používají k vytvoření skupiny svazků. Vytvoříte svazky a přidáte požadované položky na /etc/fstab.

Diagram vrstev struktur LVM

Podobným způsobem se zařízení RAID vytvoří na zašifrované vrstvě na discích. Nad zařízením RAID se vytvoří systém souborů a přidá se do souboru /etc/fstab jako běžné zařízení.

Požadavky

Doporučujeme použít LVM-on-crypt. RAID je možnost, když lvm nejde použít kvůli konkrétním omezením aplikace 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, když také šifrujete operační systém, jenom zde šifrujeme datové jednotky.

Postupy předpokládají, že jste si už prostudovali požadavky ve scénářích služby Azure Disk Encryption na virtuálních počítačích s Linuxem a v tématu Rychlý start: Vytvoření a šifrování virtuálního počítače s Linuxem pomocí Azure CLI.

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

Obecné kroky

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

Poznámka

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

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

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

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.
  • Dočasné přípojné body jsou vytvořeny pro připojení systémů souborů.
  • Systémy souborů jsou nakonfigurované na /etc/fstab tak, 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 iteruje vytvoření systému souborů ext4 na každém disku definovaném v části "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

Najděte 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 na každém disku definovaném 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 prostřednictvím nástroje fstab

Šifrování datových disků

PowerShell s využitím šifrovacího klíče 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 k dalšímu kroku, pouze pokud jsou všechny disky zaš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

Rozšíření 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 mohly později použít.

Nedělejte si starosti s přípojnými body v tomto souboru. Služba Azure Disk Encryption ztratí možnost připojit disky jako normální systém souborů poté, co na těchto šifrovaných zařízeních vytvoříme fyzický svazek nebo zařízení RAID. (Tím odeberete 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 systémy souborů na discích, které se budou používat jako 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 souboru /etc/fstab.

lsblk

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

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

cat /etc/fstab

Ověření odebrání dočasných položek fstab

Postup pro šifrování LVM

Teď, když jsou základní disky šifrované, můžete vytvořit struktury LVM.

Místo použití názvu zařízení použijte cesty /dev/mapper pro každý z 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í s dotazem, 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 na obrázku:

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í vytvoření fyzického svazku

Poznámka

Názvy /dev/mapper/device je potřeba nahradit skutečnými hodnotami na základě výstupu lsblk.

Ověření informací o fyzických svazcích

pvs

Informace o fyzických svazcích

Vytvoření skupiny svazků

Vytvořte skupinu svazků 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

Kontrola vytvořených logických svazků

lvdisplay
lvdisplay vgdata/lvdata1
lvdisplay vgdata/lvdata2

Informace o logických svazcích

Vytváření systémů 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 souboru /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ěření připojení nových systémů souborů

lsblk -fs
df -h

Snímek obrazovky znázorňuje okno konzoly se systémy souborů připojenými jako data0 a data1.

U této varianty lsblk uvádíme seznam 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. Zabraňuje tomu, aby se operační systém zasekl během procesu spouštění (nebo v režimu údržby).

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

  • Operační systém se nikdy nedostane do fáze, kdy se spustí Azure Disk Encryption a datové disky se odemknou a připojí.
  • Šifrované disky se odemknou na konci procesu spouštění. Svazky LVM a systémy souborů budou automaticky připojeny, dokud je azure Disk Encryption odemkne.

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 po restartování proveďte ověření.

shutdown -r now
lsblk
df -h

Postup pro šifrování RAID na šifrování

Teď, když jsou základní disky šifrované, můžete pokračovat ve vytváření struktur RAID. Proces je stejný jako u LVM, ale místo názvu zařízení použijte pro každý disk cesty /dev/mapper.

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 nakonfigurovaných polích RAID prostřednictvím příkazu mdadm

Poznámka

Názvy /dev/mapper/device je potřeba nahradit skutečnými hodnotami na základě výstupu lsblk.

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

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

Stav raidu

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 souboru /etc/fstab a připojte ho:

Poznámka

Tento cyklus iteruje pouze na jednom zařízení v tomto konkrétním příkladu a je sestavený tak, aby se v případě potřeby použil 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 připojený nový systém souborů:

lsblk -fs
df -h

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

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

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

  • Operační systém se nikdy nedostane do fáze, kdy se spustí Azure Disk Encryption a datové disky se odemknou a připojí.
  • Šifrované disky se odemknou na konci procesu spouštění. Svazky RAID a systémy souborů budou automaticky připojeny, dokud je azure Disk Encryption odemkne.

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