====== LVM ====== Abstraktionsschicht, um Partitionen flexibel über mehrere physische Devices zu bilden. Fasst eine oder mehrere Disks zu einem Logical Volume zusammen. Mehrere Physical Volumes (Platten) bilden eine Volume Group. In der Volume Group werden Logical Volumes gebildet. In den LV werden die Dateisysteme angelegt. Dateisystem (mkfs) ^^ Logical Volume (LV) ^^ Volume Group (VG) ^^ Physical Volume (PV, HDD1 -- HDD2) **pvdisplay zeigt alle Physical Volumes und die physischen Devices, auf denen sie liegen ** root@tarapiroe /mnt # pvdisplay --- Physical volume --- PV Name /dev/md3 VG Name data1 PV Size <2,66 TiB / not usable 2,31 MiB Allocatable yes PE Size 4,00 MiB Total PE 696964 Free PE 364164 Allocated PE 332800 PV UUID JGWU94-FLRS-zV60-ZAzg-gRvE-ifmR-qLIdMs --- Physical volume --- PV Name /dev/nbd0p5 VG Name ffes-vg PV Size 19,52 GiB / not usable 2,00 MiB Allocatable yes (but full) PE Size 4,00 MiB Total PE 4997 Free PE 0 Allocated PE 4997 PV UUID jqhYf1-VhUf-ApgM-vPtW-alD3-EFkZ-etDGgz **vgdisplay zeigt die Volume Groups** root@tarapiroe /mnt # pvdisplay --- Physical volume --- PV Name /dev/md3 VG Name data1 PV Size <2,66 TiB / not usable 2,31 MiB Allocatable yes PE Size 4,00 MiB Total PE 696964 Free PE 364164 Allocated PE 332800 PV UUID JGWU94-FLRS-zV60-ZAzg-gRvE-ifmR-qLIdMs --- Physical volume --- PV Name /dev/nbd0p5 VG Name ffes-vg PV Size 19,52 GiB / not usable 2,00 MiB Allocatable yes (but full) PE Size 4,00 MiB Total PE 4997 Free PE 0 Allocated PE 4997 PV UUID jqhYf1-VhUf-ApgM-vPtW-alD3-EFkZ-etDGgz **lvddisplay zeigt die logical volumes in der Volume Group** root@tarapiroe /mnt # lvdisplay --- Logical volume --- LV Path /dev/data1/VMs LV Name VMs VG Name data1 LV UUID ccDAJ2-sN1H-lRYL-fQFf-q11k-FtSB-7nSSQO LV Write Access read/write LV Creation host, time , LV Status available # open 1 LV Size 300,00 GiB Current LE 76800 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Path /dev/data1/Backup LV Name Backup VG Name data1 LV UUID 2aABCv-Dwp0-W9Wu-0SpK-Xrwy-fHVF-pDEpge LV Write Access read/write LV Creation host, time , LV Status available # open 1 LV Size 1000,00 GiB Current LE 256000 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 --- Logical volume --- LV Path /dev/ffes-vg/root LV Name root VG Name ffes-vg LV UUID A9CTeG-Da3f-CtnJ-Hgkd-Yp6r-NpJ0-yaiwlT LV Write Access read/write LV Creation host, time ffes, 2017-11-22 10:33:21 +0100 LV Status available # open 0 LV Size <17,52 GiB Current LE 4485 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2 --- Logical volume --- LV Path /dev/ffes-vg/swap_1 LV Name swap_1 VG Name ffes-vg LV UUID tTYpH9-jJsi-0HsE-twF2-3UtO-NZQB-UWepLj LV Write Access read/write LV Creation host, time ffes, 2017-11-22 10:33:21 +0100 LV Status available # open 0 LV Size 2,00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:3 lvcreate legt neue Volumes in einer Volume Group an: root@tokoeka ~ # lvcreate --name data2 --size 1.9T pve Auf maximal verfügbare Grösse: lvcreate -l 100%VG -n data2 pve lvextend und lvreduce vergrößern und verkleinern die Volumes. lvscan zeigt alle Volumes in Kurzfassung: root@tokoeka ~ # lvscan ACTIVE '/dev/pve/swap' [8.00 GiB] inherit ACTIVE '/dev/pve/root' [100.00 GiB] inherit ACTIVE '/dev/pve/data' [100.00 GiB] inherit ACTIVE '/dev/pve/vm-100-disk-0' [32.00 GiB] inherit ACTIVE '/dev/pve/vm-100-disk-1' [500.00 GiB] inherit ACTIVE '/dev/pve/backup' [1.00 TiB] inherit ACTIVE '/dev/pve/data2' [1.90 TiB] inherit lvrename benennt ein lv um: lvrename /dev/pve/data2 /dev/pve/backup Allerdings haben sie noch kein Filesystem, das legt man mit mkfs.ext4 an. root@tokoeka ~ # mkfs.ext4 /dev/pve/vm-100-disk-1 mke2fs 1.43.4 (31-Jan-2017) Creating filesystem with 131072000 4k blocks and 32768000 inodes Filesystem UUID: 3c17dd79-ea84-47b8-82ec-7e94b3f394c8 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done Wenn man das lv vergrößert hat, muss man auch das Filesystem vergrößern: resize2fs -p /dev/mapper/pve-data Erst danach sind alle lv's als Block Devices für den Kernel verfügbar: root@tokoeka ~ # blkid /dev/sda1: UUID="1e90e1fa-fd6c-db99-55cd-6e2107fd3f55" UUID_SUB="043a0140-ad1b-18d9-00e7-ff2cd6026917" LABEL="rescue:0" TYPE="linux_raid_member" PARTUUID="7abb39f4-17f5-49aa-80d2-ba5de6088a15" /dev/sda2: UUID="0acd374c-f1fb-7065-ae31-6e5a6e12ad1b" UUID_SUB="6f1fe193-8a90-0f93-3d8a-e5633cf6e447" LABEL="rescue:1" TYPE="linux_raid_member" PARTUUID="3a15509a-dba2-4c11-8f51-ee7efc9512de" /dev/sdb1: UUID="1e90e1fa-fd6c-db99-55cd-6e2107fd3f55" UUID_SUB="814a4156-e0ec-9058-7616-a77d0c82b134" LABEL="rescue:0" TYPE="linux_raid_member" PARTUUID="c3fcddd4-f3a8-419c-b87a-9ae914a9f207" /dev/sdb2: UUID="0acd374c-f1fb-7065-ae31-6e5a6e12ad1b" UUID_SUB="1ca5f9db-589d-8dd1-23be-5561756d441c" LABEL="rescue:1" TYPE="linux_raid_member" PARTUUID="c6b17ac2-9103-4e50-9d23-8ce033cd6d08" /dev/md0: UUID="b954b02a-56ab-466a-8178-c4a888301676" TYPE="ext4" /dev/md1: UUID="BW0yGZ-89CR-q1m5-9RSe-qRXM-hq5s-4MaUI5" TYPE="LVM2_member" /dev/mapper/pve-root: UUID="63888efc-9c72-44fe-ac6c-ca29d45bbc4c" TYPE="ext4" /dev/mapper/pve-swap: UUID="82ea6ffd-47ef-4078-9130-9c4b2caf2aaa" TYPE="swap" /dev/sda3: PARTUUID="0f73648a-562b-4a93-bc6a-c596a743167a" /dev/sdb3: PARTUUID="5031ce48-d15d-4b55-acbd-9bf05f460d17" /dev/mapper/pve-vm--100--disk--0: PTUUID="cc0d01a6" PTTYPE="dos" /dev/mapper/pve-vm--100--disk--1: UUID="3c17dd79-ea84-47b8-82ec-7e94b3f394c8" TYPE="ext4" /dev/mapper/pve-backup: UUID="b094a61f-6bee-4d36-97fb-29aed39ef2cc" TYPE="ext4" /dev/mapper/pve-data2: UUID="3050b5e7-b457-48d2-9070-ff11241ebcf4" TYPE="ext4" Oder noch schöner mit lsblk root@tokoeka ~ # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 1 3.7T 0 disk ├─sda1 8:1 1 512M 0 part │ └─md0 9:0 0 511.4M 0 raid1 /boot ├─sda2 8:2 1 3.7T 0 part │ └─md1 9:1 0 3.7T 0 raid1 │ ├─pve-root 253:0 0 100G 0 lvm / │ ├─pve-swap 253:1 0 8G 0 lvm [SWAP] │ ├─pve-data_tmeta 253:2 0 100M 0 lvm │ │ └─pve-data-tpool 253:4 0 100G 0 lvm │ │ ├─pve-data 253:5 0 100G 0 lvm │ │ └─pve-vm--100--disk--0 253:6 0 32G 0 lvm │ ├─pve-data_tdata 253:3 0 100G 0 lvm │ │ └─pve-data-tpool 253:4 0 100G 0 lvm │ │ ├─pve-data 253:5 0 100G 0 lvm │ │ └─pve-vm--100--disk--0 253:6 0 32G 0 lvm │ ├─pve-vm--100--disk--1 253:7 0 500G 0 lvm │ ├─pve-backup 253:8 0 1T 0 lvm │ └─pve-data2 253:9 0 1.9T 0 lvm └─sda3 8:3 1 1M 0 part sdb 8:16 1 3.7T 0 disk ├─sdb1 8:17 1 512M 0 part │ └─md0 9:0 0 511.4M 0 raid1 /boot ├─sdb2 8:18 1 3.7T 0 part │ └─md1 9:1 0 3.7T 0 raid1 │ ├─pve-root 253:0 0 100G 0 lvm / │ ├─pve-swap 253:1 0 8G 0 lvm [SWAP] │ ├─pve-data_tmeta 253:2 0 100M 0 lvm │ │ └─pve-data-tpool 253:4 0 100G 0 lvm │ │ ├─pve-data 253:5 0 100G 0 lvm │ │ └─pve-vm--100--disk--0 253:6 0 32G 0 lvm │ ├─pve-data_tdata 253:3 0 100G 0 lvm │ │ └─pve-data-tpool 253:4 0 100G 0 lvm │ │ ├─pve-data 253:5 0 100G 0 lvm │ │ └─pve-vm--100--disk--0 253:6 0 32G 0 lvm │ ├─pve-vm--100--disk--1 253:7 0 500G 0 lvm │ ├─pve-backup 253:8 0 1T 0 lvm │ └─pve-data2 253:9 0 1.9T 0 lvm └─sdb3 8:19 1 1M 0 part