LVM логические тома
Создание логических томов LVM предполагает создание трех уровней в архитектуре LVM.
Уровень 1. Создание физического тома (PV).
Уровень 2. Создание группы томов (VG).
Уровень 3. Создание логических томов.

Вышеперечисленные шаги выглядят так:
Теперь, когда раздел создан, нужно установить флаг «LVM physical volume». Чтобы сделать это вводим pvcreate /dev/sdb1.
Вводим pvs и pvdisplay, чтобы проверить, что раздел успешно создан:
Вводим vgcreate vgdata /dev/sdb1, где vgdata— название тома:
Чтобы посмотреть список групп введите vgs:
Вы полностью свободны в выборе имени для группы томов. Мне нравится начинать все имена групп томов с vg, что позволяет легко находить группы томов, если их много, но вы можете выбирать все, что вам нравится.
Вводим lvs и убеждаемся, что том успешно добавлен:
Теперь можно создать файловую систему на логическом томе. В этом примере файловая система будет XFS.
Вводим mkfs.xfs /dev/vgdata/lvdata:
Создаем директорию /mnt/lvdata, в которую будет смонтирован том:
И наконец добавим строку в /etc/fstab, чтобы этот том автоматически монтировался при каждой загрузке системы:
И смонтируем том:
Проверяем командой mount -l, что раздел смонтирован.
Я так же дополнительно смотрю, что все сделал правильно, с помощью команды lsblk:
Уровень 1. Создание физического тома (PV).
Уровень 2. Создание группы томов (VG).
Уровень 3. Создание логических томов.

Уровень 1. Создание физического тома
Вводим:fdisk /dev/sdb
- Затем вводим n, чтобы создать новый раздел.
- Потом водим p, чтобы создать первичный раздел. По умолчанию номер раздела будет 1.
- Далее жмем Enter, указываем первый сектор и вводим +100M. Тем самым новый раздел будет иметь объем в 100 Мб.
- Дальше вводим t и вводим 8e (это номер типа раздела, в данном случае 8e — Linux LVM).
- И наконец вводим w, чтобы сохранить изменения.
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16:
Device or resource busy.
The kernel still uses the old table. The new table will be used
at the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@localhost ~]#
Вышеперечисленные шаги выглядят так:
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xe39ca22b.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
First sector (2048-2097151, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +100M
Partition 1 of type Linux and of size 100 MiB is set
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Теперь, когда раздел создан, нужно установить флаг «LVM physical volume». Чтобы сделать это вводим pvcreate /dev/sdb1.
Вводим pvs и pvdisplay, чтобы проверить, что раздел успешно создан:
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.57g 4.00m
/dev/sdb1 vgdata lvm2 a-- 96.00m 96.00m
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name vgdata
PV Size 100.00 MiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 24
Free PE 24
Allocated PE 0
PV UUID o8vSkJ-PddC-hie8-6D1V-bFYJ-62Ha-crktZd
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size 19.57 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 5009
Free PE 1
Allocated PE 5008
PV UUID eHmEyP-GujN-d3So-s0x3-0EU2-YiaS-XsaMsa
Уровень 2. Создание группы томов (volume group)
Следующий этап — создание группы томов.Вводим vgcreate vgdata /dev/sdb1, где vgdata— название тома:
[root@server2 ~]# vgcreate vgdata /dev/sdb1
Volume group "vgdata" successfully created
Чтобы посмотреть список групп введите vgs:
[root@server2 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.57g 4.00m
vgdata 1 0 0 wz--n- 96.00m 96.00m
Вы полностью свободны в выборе имени для группы томов. Мне нравится начинать все имена групп томов с vg, что позволяет легко находить группы томов, если их много, но вы можете выбирать все, что вам нравится.
Уровень 3. Создание логических томов и файловой системы
Вводим lvcreate -n lvdata -l 50%FREE vgdata. Этим мы создаем логический том LVM с именем lvdata, который 50% дискового пространства в группе томов vgdаta:[root@server2 ~]# lvcreate -n lvdata -l 50%FREE vgdata
Logical volume "lvdata" created.
Вводим lvs и убеждаемся, что том успешно добавлен:
[root@server2 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <18.63g
swap centos -wi-ao---- 956.00m
lvdata vgdata -wi-a----- 48.00m
Теперь можно создать файловую систему на логическом томе. В этом примере файловая система будет XFS.
Вводим mkfs.xfs /dev/vgdata/lvdata:
[root@server2 ~]# mkfs.xfs /dev/vgdata/lvdata
meta-data=/dev/vgdata/lvdata isize=512 agcount=2, agsize=6144 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=12288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=1605, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Создаем директорию /mnt/lvdata, в которую будет смонтирован том:
[root@server2 ~]# mkdir /mnt/lvdata
И наконец добавим строку в /etc/fstab, чтобы этот том автоматически монтировался при каждой загрузке системы:
/dev/vgdata/lvdata /mnt/lvdata xfs defaults 1 2
И смонтируем том:
mount /dev/vgdata/lvdata /mnt/lvdata/
Проверяем командой mount -l, что раздел смонтирован.
Я так же дополнительно смотрю, что все сделал правильно, с помощью команды lsblk:
[root@server2 vgdata]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 476M 0 part /boot
└─sda2 8:2 0 19.6G 0 part
├─centos-root 253:0 0 18.6G 0 lvm /
└─centos-swap 253:1 0 956M 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 100M 0 part
└─vgdata-lvdata 253:2 0 48M 0 lvm /mnt/lvdata
sr0 11:0 1 4.3G 0 rom