Среда, 12 июля 2023 03:39

LVM логические тома

Создание логических томов LVM предполагает создание трех уровней в архитектуре LVM.

Уровень 1. Создание физического тома (PV).

Уровень 2. Создание группы томов (VG).

Уровень 3. Создание логических томов.

Уровень 1. Создание физического тома

Вводим:fdisk /dev/sdb
  1. Затем вводим n, чтобы создать новый раздел.
  2. Потом водим p, чтобы создать первичный раздел. По умолчанию номер раздела будет 1.
  3. Далее жмем Enter, указываем первый сектор и вводим +100M. Тем самым новый раздел будет иметь объем в 100 Мб.
  4. Дальше вводим t и вводим 8e (это номер типа раздела, в данном случае 8e — Linux LVM).
  5. И наконец вводим w, чтобы сохранить изменения.

Если же после ввода w будет сообщение как ниже, то просто перезагрузите сервер.

Command (m for help): wThe 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 usedat the next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.[root@localhost ~]#

Вышеперечисленные шаги выглядят так:

[root@localhost ~]# fdisk /dev/sdbWelcome 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 tableBuilding a new DOS disklabel with disk identifier 0xe39ca22b.Command (m for help): nPartition type:p primary (0 primary, 0 extended, 4 free)e extendedSelect (default p):Using default response pPartition number (1-4, default 1):First sector (2048-2097151, default 2048):Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +100MPartition 1 of type Linux and of size 100 MiB is setCommand (m for help): tSelected partition 1Hex code (type L to list all codes): 8eChanged type of partition ‘Linux’ to ‘Linux LVM’Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.

Теперь, когда раздел создан, нужно установить флаг «LVM physical volume». Чтобы сделать это вводим pvcreate /dev/sdb1.

Вводим pvs и pvdisplay, чтобы проверить, что раздел успешно создан:

[root@localhost ~]# pvsPV 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/lvdatameta-data=/dev/vgdata/lvdata     isize=512    agcount=2, agsize=6144 blks         =                       sectsz=4096  attr=2, projid32bit=1         =                       crc=1        finobt=0, sparse=0data     =                       bsize=4096   blocks=12288, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1log      =internal log           bsize=4096   blocks=1605, version=2         =                       sectsz=4096  sunit=1 blks, lazy-count=1realtime =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

источник