Ö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