LVM
Logical Volume Manager - sposób zarządzania dyskami i partycjami.
Dlaczego LVM.
Jeśli masz podstawowe pojęcie o zarządzania dyskami w systemie windows to wiesz, że dyski można podzielić na mniejsze części - partycje. Na jednym dysku może być kilka partycji. To jest proste do zrozumienia. Natomiast w tej nowej opcji jest większa swoboda. Załóżmy, że mamy dwa dyski, możemy je skleić i utworzyć jedną partycję. System sam zarządza co na którym dysku zapisze. Coś na wzór RAID'u. Zaletą jest wygoda dołączania kolejnych dysków, gdy zaczyna brakować miejsce. Nie ma żadnego problemu na powiększenie takiej partycji.
Czyli mamy już zainstalowany server, skonfigurowany firewall, podłączony serwer do sieci i skonfigurowany ssh. W serwerze są dwa dyski 2tb nie użyte do tej pory - zastosujemy je do danych - na początek całe 4tb przeznaczymy na /home
Listowanie dysków.
Jest kilka metod aby zobaczyć ile masz dysków i jakie mają oznaczenia. Ja stosuję trzy:
~$ sudo fdisk -l | grep "Disk" Disk /dev/sda: 119.24 GiB, 128035676160 bytes, 250069680 sectors Disk model: SAMSUNG MZNLN128 Disklabel type: gpt Disk identifier: 75FDE555-7FC3-40BE-B64E-22E0B8CFD559 Disk /dev/sdb: 698.64 GiB, 750156374016 bytes, 1465149168 sectors Disk model: APPLE HDD ST750L Disklabel type: gpt Disk identifier: 310720BC-4423-470C-B154-024DD578267A Disk /dev/sdc: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors Disk model: Hitachi HDS72202 Disk /dev/sdd: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors Disk model: Hitachi HDS72202
sudo ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 Mar 29 20:12 /dev/sda brw-rw---- 1 root disk 8, 1 Mar 29 20:12 /dev/sda1 brw-rw---- 1 root disk 8, 2 Mar 29 20:12 /dev/sda2 brw-rw---- 1 root disk 8, 3 Mar 29 20:12 /dev/sda3 brw-rw---- 1 root disk 8, 16 Mar 29 20:12 /dev/sdb brw-rw---- 1 root disk 8, 17 Mar 29 20:12 /dev/sdb1 brw-rw---- 1 root disk 8, 32 Apr 5 12:00 /dev/sdc brw-rw---- 1 root disk 8, 48 Apr 4 13:18 /dev/sdd
sudo lvmdiskscan /dev/sda1 [ 512.00 MiB] /dev/sda2 [ 2.00 GiB] /dev/sda3 [ 116.74 GiB] /dev/sdb1 [ 698.63 GiB] /dev/sdc [ 1.82 TiB] /dev/sdd [ 1.82 TiB] 2 disks 10 partitions 0 LVM physical volume whole disks 0 LVM physical volumes
z tego co widać są dwa dyski sdc i sdd
Polecenia
Do zarządzania dyskami i partycjami mamy trzy typy poleceń:
- PV - physical Volume - fizyczne dyski lub partycje
- pvcreate - tworzy dysk lub partycje dostosowaną do LVM
- pvdislpaly - wyświetla informacje o fizycznych użądzeniach
- pvs - jw.
- pvremove - usówa urządzenie fizyczne
- VG - volume group - zarządzanie grupą - jakie urządzenia fizyczne będą do niej należeć
- vgcreate - tworzy grupę urządzen pod wspólną nazwą
- vgdislpaly - wyświetla informacje o grupach
- vgs - jw.
- vgremove - usówa grupę
- LV - logical volume - zarządzanie grupą - podział grupy na partycje
- lvcreate - tworzy partycję z grupy
- lvdislpaly - wyświetla informacje o partycjach
- lvs - jw.
- lvremove - usówa partycję
Tworzymy dysk
Najpierw przypiszemy dwa wolne dyski do LVM, następnie "skleimy" je i utworzymy jedną grupę o nazwie share-group Następnie całe dostępne wolne miejsce przydzielimy do jednego volumenu o nazwie share-volume. Na koniec sformatujemy i zamontujemy ten volumen. Czyli utworzysz folder /media/share i w nim zamontujesz share-volume
$ sudo pvcreate /dev/sdc /dev/sdd Physical volume "/dev/sdc" successfully created. Physical volume "/dev/sdd" successfully created. $ sudo vgcreate share-group /dev/sdc /dev/sdd Volume group "share-group" successfully created $ sudo lvcreate -n share-volume -l 100%Free share-group Logical volume "share-volume" created. $ sudo mkfs.ext4 /dev/share-group/share-volume mke2fs 1.45.6 (20-Mar-2020) Creating filesystem with 976756736 4k blocks and 244195328 inodes Filesystem UUID: 61cedc15-97d7-4646-a3b1-f4a8d53c5373 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks):done Writing superblocks and filesystem accounting information: done $ sudo mkdir /media/share $ sudo mount /dev/share-group/share-volume /media/share
Podsumowanie
To wszystko tak w telegraficznym skrócie. Nie opisywałem dokładnie składni komend - wszystko możecie znaleźć w necie np tu: https://tldp.org/HOWTO/LVM-HOWTO/index.html