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 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 duálním průchodem

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 (šifrování 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 (VS) se vytvářejí nad šifrovanou vrstvou. 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í.

Důležité informace

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 iteruje vytvoření systému souborů ext4 na každém disku definovaném v části 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 na každém disku definovaném v části 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 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 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 normální systém souborů po vytvoření fyzického svazku nebo zařízení RAID nad těmito šifrovanými zařízeními. (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 systémy souborů na discích, které budou použity 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 /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 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 ozvěnu "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í vytvoření fyzického svazku

Poznámka:

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

Ověření informací pro fyzické svazky

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 /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 automaticky připojí, 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 ověřte ho po restartování.

shutdown -r now
lsblk
df -h

Postup pro šifrování 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, jak se 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 a systémy souborů RAID se automaticky připojí, 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