Övning - skapa en logisk volym
För den här övningen behöver vi skapa tre filer som är 1 GiB stora, vi använder ett kommando som heter fallocate :
$ fallocate -l 1G disk1.img
$ fallocate -l 1G disk2.img
$ fallocate -l 1G disk3.img
Om vi saknar kommandot fallocate behöver vi installera paketet util-linux :
$ sudo apt install util-linux
Nu har vi tre filer som vi skall använda som diskar. Vi skapar loopback-devices av dem med kommandot losetup :
$ sudo losetup /dev/loop41 disk1.img
$ sudo losetup /dev/loop42 disk2.img
$ sudo losetup /dev/loop43 disk3.img
För att kunna skapa en logisk volym behöver vi först skapa physical volumes (pv), så vi använder kommandot pvcreate för detta:
$ sudo pvcreate /dev/loop41
Physical volume "/dev/loop41" successfully created.
$ sudo pvcreate /dev/loop42
Physical volume "/dev/loop42" successfully created.
$ sudo pvcreate /dev/loop43
Physical volume "/dev/loop43" successfully created.
När vi skapat våra tre physical volumes skall vi skapa en volume group av dem, här skapar vi en volume group med namnet VG_TEST som innehåller de tre physical volumes vi skapade precis:
$ sudo vgcreate VG_TEST /dev/loop41 /dev/loop42 /dev/loop43
Volume group "VG_TEST" successfully created
För att visa vår volume group använder vi kommandot vgdisplay :
$ sudo vgdisplay
--- Volume group ---
VG Name VG_TEST
System ID
Format lvm2
Metadata Areas 3
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 3
Act PV 3
VG Size <2.99 GiB
PE Size 4.00 MiB
Total PE 765
Alloc PE / Size 0 / 0
Free PE / Size 765 / <2.99 GiB
VG UUID 97WzyF-C5sN-xEx9-xvRw-n1Ns-7jHL-cbe8Wk
När vår volume group är skapad är det dags att skapa en logical volume från den, det gör vi med kommandot lvcreate och här skapar vi en 500 MiB stor logical volume som vi döper till DATA:
$ sudo lvcreate -L 500M -n DATA VG_TEST
Logical volume "DATA" created.
ubuntu@ubuntu:~$ sudo lvdisplay
--- Logical volume ---
LV Path /dev/VG_TEST/DATA
LV Name DATA
VG Name VG_TEST
LV UUID I4hKHh-oMT4-d0Ym-GyB2-15DM-23ZI-Vkgd7I
LV Write Access read/write
LV Creation host, time ubuntu, 2023-10-22 19:15:35 +0200
LV Status available
# open 0
LV Size 500.00 MiB
Current LE 125
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
När den logiska volymen är skapad behöver vi formattera den med ett filsystem, vi använder kommandot mkfs för detta:
$ sudo mkfs.ext4 /dev/VG_TEST/DATA
mke2fs 1.45.5 (07-Jan-2020)
Discarding device blocks: done
Creating filesystem with 128000 4k blocks and 128000 inodes
Filesystem UUID: f9d462c2-0220-437e-9c0f-13035306581f
Superblock backups stored on blocks:
32768, 98304
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
Nu när vi har ett filsystem på den logiska volymen kan vi montera, och använda, det. Vi skapar en katalog som vi skall använda för att montera filsystemet i:
$ sudo mkdir /mnt/data
Sedan monterar vi filsytemet:
$ sudo mount /dev/VG_TEST/DATA /mnt/data/
Kommandot df kan visa oss hur stor volymen är:
$ df -h | grep data
/dev/mapper/VG_TEST-DATA 468M 24K 433M 1% /mnt/data
Och kommandot mount visar vilket filsystem volymen är formatterad med:
$ mount | grep data
/dev/mapper/VG_TEST-DATA on /mnt/data type ext4 (rw,relatime)
Det var det, nu är det dags att städa upp, vi börjar med att avmontera katalogen /mnt/data. Om detta inte fungerar beror det ofta på att vi är i katalogen, skriv bara cd först för att komma till din hemkatalog så löser det sig ofta:
$ sudo umount /mnt/data
Sedan raderar vi den logiska volymen med kommandot lvremove :
$ sudo lvremove /dev/VG_TEST/DATA
Do you really want to remove and DISCARD active logical volume VG_TEST/DATA? [y/n\
]: y
Logical volume "DATA" successfully removed
Vi har en volume group att radera också, det gör vi med kommandot vgremove:
$ sudo vgremove VG_TEST
Volume group "VG_TEST" successfully removed
Volymgruppen byggde vi med tre stycken physical volumes, som vi raderar med kommandot pvremove:
$ sudo pvremove /dev/loop41
Labels on physical volume "/dev/loop41" successfully wiped.
$ sudo pvremove /dev/loop42
Labels on physical volume "/dev/loop42" successfully wiped.
$ sudo pvremove /dev/loop43
Labels on physical volume "/dev/loop43" successfully wiped.
Och slutligen skall vi radera de loopback-devices som vi skapade:
$ sudo losetup -d /dev/loop41
$ sudo losetup -d /dev/loop42
$ sudo losetup -d /dev/loop43