Имаме машина с два процесора, 4GB RAM и два твърди диска по 33GB. Ползваме UEFI вместо BIOS. В по-ранни статии обяснявах разликата между UEFI и BIOS. Тук няма да влизаме в подробности, а в сгъстен вид ще покажа случая. Ще инсталираме Debian 12 като зареждащия дял EFI ще е отделен, а всичко останало (/home, /, /var и т.н) ще са във виртуалния дял root на виртуланата групя vg0 на LVM. Схемата на разделение на диска ще е:
Имаме дял LVM. В него ще имаме логическа група vg0 и логически том root. По-надолу ще покажем точно какво става. Първото разделение на диска:
Имаме дял EFI и втори дял LVM. Все още нямаме дефинирани виртуални групи за LVM и виртуални дялове. Да ги създадем:
Забележете, че логическия том root не е на цялото останало място а само 16GB. На по-късен етап този размер при необходимост може да се увеличи много лесно. Да конфигурираме LVM и да получим:
Това е финала. Обърнете внимание, нямаме SWAP дял. На по-късен етап ще го създадем във вид на файл. До края инсталацията протича стандартно. След рестарта да проверим разпределението на диска.
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 33G 0 disk ├─sda1 8:1 0 121M 0 part /boot/efi └─sda2 8:2 0 32.9G 0 part └─vg0-root 254:0 0 14.9G 0 lvm / sdb 8:16 0 33G 0 disk sr0 11:0 1 1024M 0 rom
Диска sda има два дяла. sda1 е EFI, а sda2 е LVM. Съответно в sda2 има създадена логическа група vg0 и в тази група има създаден логически том root. Съответно логическия том е с размер 14.9G. Ако погледнем ще видим, че sda2 е с размер 32.9G. Това означава, че имаме свободно място в което можем да разширяваме виртуалния дял root. Задачата ни обаче е да създадем RAID1 за устойчивост на системата. Отново няма да се впускам в подробности но идеята е да изградим софтуерен RAID1 за дяла EFI и RAID1 за LVM. Като изпълнението за LVM ще е върху възможностите на самия LVM. Може да звучи объркващо но по-надолу ще стане ясно. За начало да разделим втория диск да е огледален на първия. Ще ползваме помощната програма parted.
apt install parted -y parted /dev/sda (parted) unit mib (parted) p Model: ATA VMware Virtual I (scsi) Disk /dev/sda: 33792MiB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1.00MiB 122MiB 121MiB fat32 EFI boot, esp 2 122MiB 33791MiB 33669MiB LVM lvm (parted) select /dev/sdb Using /dev/sdb (parted) mklabel gpt (parted) mkpart EFI fat32 1 122 (parted) set 1 boot on (parted) p Model: ATA VMware Virtual I (scsi) Disk /dev/sdb: 33792MiB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1.00MiB 122MiB 121MiB fat32 EFI boot, esp (parted) mkpart LVM 122 -1 (parted) set 2 lvm on (parted) p Model: ATA VMware Virtual I (scsi) Disk /dev/sdb: 33792MiB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1.00MiB 122MiB 121MiB fat32 EFI boot, esp 2 122MiB 33791MiB 33669MiB LVM lvm q
Двата диска sda, sdb са еднакво разделени с еднакви дялове по логика. Ако нещо е объркано спокойно може да изтриете дяловете чрез:
parted /dev/sdb (parted) rm 1 (parted) rm 2
Така изтрихме дял 1 и дял 2. За сега нищо не трием и продължаваме нататък. Да проверим какво имаме до тук:
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 33G 0 disk ├─sda1 8:1 0 121M 0 part /boot/efi └─sda2 8:2 0 32.9G 0 part └─vg0-root 254:0 0 14.9G 0 lvm / sdb 8:16 0 33G 0 disk ├─sdb1 8:17 0 121M 0 part └─sdb2 8:18 0 32.9G 0 part sr0 11:0 1 1024M 0 rom
Еднакво разделени два диска. sdb обаче не е дефиниран. Да започнем от вторите дялове (sda2 и sdb2). Използвайки LVM да изградим RAID1 за тези два дяла. За начало да уточним LVM какво съдържа в себе си: - физически том (pv): това е устройство представляващо като диск (цял диск или дял от диска може и RAID масив да е) - физически диапазон (pe): това е област от физическия том (pv) - логически том (lv): това е логически виртуален раздел (виртуално блоково устройство). аналогично е примерно на sda1, sdb2 и т.н. но не е физическо, а виртуално. - логически диапазон (le): това е област на логическия том lv. За простота (макар, че не е точно така): на физическия дял (sdb2) създаваме виртуална група (vg0) и в тази виртуална група създаваме виртуален дял (root). Да проверим до тук какво имаме. Проверяваме физическия том:
pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name vg0 PV Size <32.88 GiB / not usable 0 Allocatable yes PE Size 4.00 MiB Total PE 8417 Free PE 4603 Allocated PE 3814 PV UUID QD9e2r-IRbA-1E62-4onu-Dyh8-DFHz-m2XGxZ
Във физическия дял имаме само /dev/sda2. Имаме дефинирана една логическа група vg0. Размера на физическия дял е 32.8GB. Да проверим и логическата група:
vgdisplay --- Volume group --- VG Name vg0 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size <32.88 GiB PE Size 4.00 MiB Total PE 8417 Alloc PE / Size 3814 / <14.90 GiB Free PE / Size 4603 / 17.98 GiB VG UUID KbSNLW-qwuD-2LSa-peJF-PEJo-DQe1-jq2dfA
В логическата група vg0 участват един физически дял. По-нататък тук ще станат 2. Размера на групата е 32.88GB. Запомнете колко физически дяла участват и размера на групата. Да проверим и логическия дял:
lvdisplay --- Logical volume --- LV Path /dev/vg0/root LV Name root VG Name vg0 LV UUID cjqgDp-MHEl-DKsR-N0iZ-OCad-3pyM-OnlcED LV Write Access read/write LV Creation host, time pve1, 2025-04-16 10:39:20 -0400 LV Status available # open 1 LV Size <14.90 GiB Current LE 3814 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:0
Най-важните значения отново са в червено. Обърнете внимание размера на логическия дял е по-малък от размера на групата в която участва (14.9GB). Името на групата е root, намира се в /dev/vg0/root и е челен на групата vg0. Сега сбита информация за физическия дял, логическата група и логическия дял:
pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg0 lvm2 a-- <32.88g 17.98g vgs VG #PV #LV #SN Attr VSize VFree vg0 1 1 0 wz--n- <32.88g 17.98g lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root vg0 -wi-ao---- <14.90g
Леко подвеждащо заглавие. Това ще наподобява RAID1 използвайки възможностите на LVM.