23 Nov 2021 - bobac
Experimentuji z Arch Linuxem. Hlavní důvod je, že se zdá, že Arch je cesta, jak pochopit, relativně do detailů, jak některé věci, které před námi “velké” distribuce jako Debian, Ubuntu, či třeba Fedora tají tím, že je tak nějak udělají za nás. V následujcím postu se pokusím popsat, co je třeba udělat k rozběhnutí Linuxu na LVM s GPT diskem a EFI.
Vyrobil jsem si GPT disk se 3 partition:
/dev/sda1 - EFI System - 512MB
/dev/sda2 - Linux Swap - 2*RAM
/dev/sda3 - Linux LVM - 220GB
mkswap /dev/sda2swapon /dev/sda2freeEFI naformátujeme jako FAT32 pomocí mkfs.fat -F 32 /dev/sda1
Bylo by hezké, kdyby tam byly i ty naše nově vytvořené:-)
lvmdiskscan
pvcreate DEVICE kde DEVICE může být disk nebo partition. POZOR! je to destruktivní akce:
# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created.
Ověření: pvdisplay
"/dev/sda3" is a new physical volume of "220.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sda3
VG Name
PV Size 220.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID Dhjl3L-fHD3-Yic2-R3s9-e1Op-mPka-FCGgwF
Sumář lze také získat pomocí pvscan:
PV /dev/sda3 lvm2 [220.00 GiB]
Total: 1 [220.00 GiB] / in use: 0 [0 ] / in no VG: 1 [220.00 GiB]
vgcreate lvm_root /dev/partition
V našem případě:
root@archiso ~ # vgcreate vg_arch /dev/sda3
Volume group "vg_arch" successfully created
Ověření, že VG existují pomocí vgdisplay. Výstup vypadá takhle:
--- Volume group ---
VG Name vg_arch
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <220.00 GiB
PE Size 4.00 MiB
Total PE 56319
Alloc PE / Size 0 / 0
Free PE / Size 56319 / <220.00 GiB
VG UUID Mu8Gq9-3v9O-TL3F-RKZC-Z31D-TzOY-GUG9LZ
Již existující volume group je možné rozšířit o další zařízení, např:
vgextend vg_arch /dev/sdb1
Vytvoříme 30GB lvm_root (/) a 80% zbytku použijeme na lvm_home (/home):
# lvcreate -L 30G vg_arch -n lvm_root
Logical volume "lvm_root" created.
# lvcreate -l 80%FREE vg_arch -n lvm_home
Logical volume "lvm_home" created.
Ověříme pomocí lvdisplay:
--- Logical volume ---
LV Path /dev/vg_arch/lvm_root
LV Name lvm_root
VG Name vg_arch
LV UUID 5qKjyS-4Rik-t61M-yXpV-yLke-yBoU-fkylRd
LV Write Access read/write
LV Creation host, time archiso, 2021-11-23 13:01:37 +0000
LV Status available
# open 0
LV Size 30.00 GiB
Current LE 7680
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:1
--- Logical volume ---
LV Path /dev/vg_arch/lvm_home
LV Name lvm_home
VG Name vg_arch
LV UUID RKPFXX-59Eh-8PhI-PsAb-zuC0-HNXQ-xP4zhn
LV Write Access read/write
LV Creation host, time archiso, 2021-11-23 13:04:09 +0000
LV Status available
# open 0
LV Size <152.00 GiB
Current LE 38911
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:2
Logical volumes jsou k dispozici v /dev/vg_arch:
# ls /dev/vg_arch
lvm_home lvm_root
Pokud nejsou vidět (u mě ano), mělo by pomoci nahrání kernel modulu a jejich zpřístupnění:
modprobe dm_mod
vgscan
vgchange -ay
Naformátování a mountování
mkfs.<fstype> /dev/<volume_group>/<logical_volume>
mount /dev/<volue_group>/<logical_volume> /<mountpoint>
Takže v našem případě:
mkfs.ext4 /dev/vg_arch/lvm_root
mount /dev/vg_arch/lvm_root /mnt
mkdir /mnt/home
mkfs.ext4 /dev/vg_arch/lvm_home
mount /dev/vg_arch/lvm_home /mnt/home
Co s EFI bootem a tak… Snad. Asi. možná.