Dodanie logicznego volumenu z istniejącej partycji LVM

Dzisiaj opiszę przykład działania na LVM, po tym jak na jednym z systemów miałem dysk 1 Tb, ale na system zostało przeznaczone tylko 200 Gb. Przyszła pora na przeniesienie własnej chmury owncloud. Po szybkim działaniu postanowiłem napisać poniższy wpis, zapraszam do czytania.

Według Wikipedii Logical Volume Manager to zarządca woluminów logicznych. Jest to mechanizm systemu operacyjnego do zarządzania przestrzenią pamięci masowej. W szczególności zarządca pozwala na połączenie partycji znajdujących się na różnych urządzeniach pamięci masowej w jeden dysk wirtualny. Jego rozmiar nie jest zdefiniowany na stałe – jeśli zachodzi taka potrzeba, istnieje możliwość jego rozszerzenia o nową przestrzeń pamięciową. Obsługa woluminów logicznych zaimplementowana jest w większości systemów operacyjnych, może różnić się funkcjonalnością i stosowaną terminologią.

Dla uproszeczenia i pewnej kolejności struktura LVM składa się z:

  1. Jednego lub więcej dysków, lub partycji skonfigurowanych jako volumeny fizyczne z angielskiego PV – physical volumes.
  2. Grupy wolumenów (VG), które są tworzone z jednego lub więcej wolumenów fizycznych. Dla uproszczenia o grupie wolumenów możesz myśleć jak o pojedynczym miejscu na dane.
  3. Wiele logicznych wolumenów może być utworzonych w grupie wolumenów. Każdy logiczny wolumen może być dla uproszczenia nazywany partycja w tradycyjnym podziale z tą różnicą, że możemy dynamicznie rozszerzać, zmniejszać jej rozmiar.

Partycja ubuntu–vg-ubuntu–lv zajmuje 200 GB z 930 GB dostępnych … pytanie gdzie się podziało pozostałe miejsce? Aktualny spis urządzeń blokowych uzyskamy wpisując w terminalu polecenie lsblk

lsblk 
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0                       7:0    0    55M  1 loop /snap/core18/1880
loop1                       7:1    0  96.6M  1 loop /snap/core/9804
loop2                       7:2    0  29.9M  1 loop /snap/snapd/8790
loop3                       7:3    0  29.9M  1 loop /snap/snapd/8542
loop5                       7:5    0    97M  1 loop /snap/core/9665
loop6                       7:6    0  55.3M  1 loop /snap/core18/1885
loop7                       7:7    0 125.9M  1 loop /snap/docker/471
loop8                       7:8    0  70.6M  1 loop /snap/lxd/16926
loop9                       7:9    0  70.6M  1 loop /snap/lxd/16889
sda                         8:0    0   931G  0 disk 
├─sda1                      8:1    0     1M  0 part 
├─sda2                      8:2    0     1G  0 part /boot
└─sda3                      8:3    0   930G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   200G  0 lvm  /
sr0                        11:0    1  1024M  0 rom  
sr1                        11:1    1  1024M  0 rom 

Miejsce nie przydzielnone do żadnej VG jest nadal dostępne do naszej dyspozycji

Dodawnie nowego Wolumenu

Dodawanie movego logicznego wolumenu w istniejącej przestrzeni jest bardzo proste

$ sudo lvcreate -n cloud_data -L 200G ubuntu-vg
Logical volume "cloud_data" created.

Sprawdźmy jeszcze raz nasz spis urządzeń blokowych

lsblk 
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0                       7:0    0    55M  1 loop /snap/core18/1880
loop1                       7:1    0  96.6M  1 loop /snap/core/9804
loop2                       7:2    0  29.9M  1 loop /snap/snapd/8790
loop3                       7:3    0  29.9M  1 loop /snap/snapd/8542
loop5                       7:5    0    97M  1 loop /snap/core/9665
loop6                       7:6    0  55.3M  1 loop /snap/core18/1885
loop7                       7:7    0 125.9M  1 loop /snap/docker/471
loop8                       7:8    0  70.6M  1 loop /snap/lxd/16926
loop9                       7:9    0  70.6M  1 loop /snap/lxd/16889
sda                         8:0    0   931G  0 disk 
├─sda1                      8:1    0     1M  0 part 
├─sda2                      8:2    0     1G  0 part /boot
└─sda3                      8:3    0   930G  0 part 
  ├─ubuntu--vg-ubuntu--lv 253:0    0   200G  0 lvm  /
  └─ubuntu--vg-cloud_data 253:1    0   200G  0 lvm  
sr0                        11:0    1  1024M  0 rom  
sr1                        11:1    1  1024M  0 rom  

Mamy miejsce teraz format

Obecnie mamy przygotowaną naszą nową partycję – ale jest to miejsce nie przygotowane, dlatego musimy je przeformatować w odpowiedni format danych u mnie wybór padł na format ext4

$ sudo mkfs.ext4 /dev/ubuntu-vg/cloud_data 
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 52428800 4k blocks and 13107200 inodes
Filesystem UUID: 79abe528-db88-45d8-b383-cab03da1a04c
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done   

Zmiana rozmiarów dysku

Pomyliłeś się w określaniu rozmiarów swojej partycji? Nic się nie stało ! Użyj poniższych poleceń lvreduce zmniejszy nam rozmiar volumenu, a lvextend poszerzy nam ten rozmiar.

# lvreduce -L -2.5G -r /dev/vg00/vol_projects
# lvextend -l +100%FREE -r /dev/vg00/vol_backups

Montownaie

Pozostaje nam określienie UUID volumenu oraz zamontowanie go w naszym systemie

sudo blkid /dev/ubuntu-vg/cloud_data
/dev/ubuntu-vg/cloud_data: UUID="79abe528-db88-45d8-b383-cab03da1a04c" TYPE="ext4"

Taki wpis należy umieścić w pliku `/etc/fstab`

UUID="79abe528-db88-45d8-b383-cab03da1a04c" /srv/ ext4 defaults 0 0

Po wydaniu polecenia mount naszym oczom i systemowi pojawi się nowe miejsce na dysku !


df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                                12G     0   12G   0% /dev
tmpfs                              2.4G  1.7M  2.4G   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  196G   16G  171G   9% /
tmpfs                               12G     0   12G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                               12G     0   12G   0% /sys/fs/cgroup
/dev/sda2                          976M  197M  713M  22% /boot
/dev/loop0                          55M   55M     0 100% /snap/core18/1880
/dev/loop3                          30M   30M     0 100% /snap/snapd/8542
/dev/loop5                          97M   97M     0 100% /snap/core/9665
/dev/loop7                         126M  126M     0 100% /snap/docker/471
/dev/loop6                          56M   56M     0 100% /snap/core18/1885
/dev/loop2                          30M   30M     0 100% /snap/snapd/8790
/dev/loop1                          97M   97M     0 100% /snap/core/9804
/dev/loop9                          71M   71M     0 100% /snap/lxd/16889
/dev/loop8                          71M   71M     0 100% /snap/lxd/16926
tmpfs                              2.4G     0  2.4G   0% /run/user/1000
/dev/mapper/ubuntu--vg-cloud_data  196G   61M  186G   1% /srv

Nowe wpisy

Jeżeli podobał się wam taki prosty wpis to dajcie łapkę w górę przy wpisie na FB. A w komentarzach czekam na wasze pomysły na nowe posty. Będę też wdzięczny za udostępnienie lajki i komentarze <3

Comments

comments