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:
- Jednego lub więcej dysków, lub partycji skonfigurowanych jako volumeny fizyczne z angielskiego PV – physical volumes.
- 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.
- 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