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.
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
Azure CLI:
az vm show -g ${RGNAME} -n ${VMNAME} --query storageProfile.dataDisks -o table
Portál:
Operační systém:
lsblk
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
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
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
Ověřte také, že jsou disky nakonfigurované:
cat /etc/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}
Azure CLI:
az vm encryption show -n ${VMNAME} -g ${RGNAME} -o table
Portál:
Úroveň operačního systému:
lsblk
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
A ověřte, že jsou disky nakonfigurované:
cat /etc/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
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
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
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
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
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
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
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
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