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.
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
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.
- 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
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
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
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 dalším krokem, pouze pokud jsou všechny disky š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
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
A ověřte, že jsou disky nakonfigurované:
cat /etc/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
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
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 /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
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
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
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
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