работа с lvm

Thank you for reading this post, don't forget to subscribe!

LVM — это метод рас­пре­де­ле­ния про­стран­ства жёст­ко­го дис­ка по логи­че­ским томам. Мене­джер логи­че­ских томов (англ. Logical Volume Manager) пред­став­ля­ет собой допол­ни­тель­ный уро­вень абстрак­ции меж­ду физическими/логическими дис­ка­ми и фай­ло­вой систе­мой. Это дости­га­ет­ся путём раз­бив­ки изна­чаль­ных раз­де­лов на бло­ки, либо исполь­зо­ва­ния отдель­ных раз­де­лов или блоч­ных устройств (physical volume (pv)) и объ­еди­не­ния их в еди­ный вир­ту­аль­ный том, точ­нее груп­пу томов (volume group (vg)), кото­рая далее раз­би­ва­ет­ся на логи­че­ские тома (logical volume (lv)).

Устройство LVM

Сама по себе высо­ко­уров­не­вая абстрак­ция LVM вклю­ча­ет в себя логи­че­ские тома (LV) и физи­че­ские тома (PV).
Физи­че­ский том (PV, physical volume) — вир­ту­аль­ный диск сер­ве­ра или обыч­ный жест­кий диск (или таким томом может быть RAID).
Логи­че­ский том (LV, logical volume) — экви­ва­лент раз­де­ла. Он пред­став­ля­ет­ся ОС как стан­дарт­ное блоч­ное устрой­ство и может содер­жать фай­ло­вую систему.
Груп­па томов (VG, volume group) — логи­че­ское объ­еди­не­ние томов.
Физи­че­ский блок (PE, physical extent) — кусоч­ки дан­ных на физи­че­ском томе, в рам­ках груп­пы томов име­ют иден­тич­ный раз­мер логи­че­ско­му бло­ку (LE, logical extent), раз­мер кото­ро­го в свою оче­редь посто­ян­ный в рам­ках груп­пы томов.

ОС уста­нов­ле­на на логи­че­ские тома lvm

[root@centos ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-LogVol00
976M 247M 678M 27% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 190M 27M 154M 15% /boot
/dev/mapper/vg_centos-LogVol03
976M 1.3M 924M 1% /tmp
/dev/mapper/vg_centos-LogVol01
976M 359M 567M 39% /usr
/dev/mapper/vg_centos-LogVol02
976M 26M 899M 3% /var

1 Расширим том

[root@centos ~]# fdisk -l /dev/sda

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000504e3

Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 157 1048576 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 157 1045 7134208 8e Linux LVM

 

[root@centos ~]# pvscan
PV /dev/sda3 VG vg_centos lvm2 [6.80 GiB / 2.80 GiB free]
Total: 1 [6.80 GiB] / in use: 1 [6.80 GiB] / in no VG: 0 [0 ]

как видим 2,8 Gb не размечено

Так как сво­бод­ное место уже нахо­дит­ся в LVM то про­сто изме­ним объ­ём нуж­но­го нам раздела:
[root@centos ~]# lvextend -L+1G /dev/mapper/vg_centos-LogVol01
Size of logical volume vg_centos/LogVol01 changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents).
Logical volume LogVol01 successfully resized.

[root@centos ~]# resize2fs /dev/mapper/vg_centos-LogVol01
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_centos-LogVol01 is mounted on /usr; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/vg_centos-LogVol01 to 524288 (4k) blocks.
The filesystem on /dev/mapper/vg_centos-LogVol01 is now 524288 blocks long.

 

как мы видим, раз­дел кор­рект­но увеличен:
[root@centos ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-LogVol00
976M 247M 678M 27% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 190M 27M 154M 15% /boot
/dev/mapper/vg_centos-LogVol03
976M 1.3M 924M 1% /tmp
/dev/mapper/vg_centos-LogVol01
2.0G 359M 1.5G 20% /usr
/dev/mapper/vg_centos-LogVol02
976M 26M 899M 3% /var
-------------------------------------------------------

Рас­смот­рим дру­гой вари­ант, когда ОС уста­нов­ле­на на LVM и на дис­ке оста­лась не раз­ме­чен­ная область вне LVM

[root@centos ~]# fdisk -l /dev/sda

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e3c2a

Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 791 6144000 8e Linux LVM
Partition 2 does not end on cylinder boundary.

 

Объ­ём жёст­ко­го 8.5 Gb

Доступ­но для рас­ши­ре­ния 1,8 Gb

[root@centos ~]# pvscan
PV /dev/sda2 VG vg_centos lvm2 [5.86 GiB / 1.86 GiB free]
Total: 1 [5.86 GiB] / in use: 1 [5.86 GiB] / in no VG: 0 [0 ]

доба­вим их.
[root@centos ~]# lvextend -L +1G /dev/mapper/vg_centos-LogVol00
[root@centos ~]# lvextend -L +876M /dev/mapper/vg_centos-LogVol01

[root@centos ~]# resize2fs /dev/mapper/vg_centos-LogVol00
[root@centos ~]# resize2fs /dev/mapper/vg_centos-LogVol01

как мы видим, сво­бод­но­го места в LVM боль­ше нет:

[root@centos ~]# pvscan
PV /dev/sda2 VG vg_centos lvm2 [5.86 GiB / 0 free]
Total: 1 [5.86 GiB] / in use: 1 [5.86 GiB] / in no VG: 0 [0 ]

но на жёст­ком оста­лось сво­бод­ное не рас­пре­де­лён­ное место:

[root@centos ~]# fdisk -l /dev/sda

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e3c2a

Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 791 6144000 8e Linux LVM
Partition 2 does not end on cylinder boundary.

а заня­то:
[root@centos ~]# pvscan
PV /dev/sda2 VG vg_centos lvm2 [5.86 GiB / 0 free]
Total: 1 [5.86 GiB] / in use: 1 [5.86 GiB] / in no VG: 0 [0 ]

Созда­ём новое устрой­ство из сво­бод­но­го не занятого:

[root@centos ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): n  (созда­ём новый)
Command action
e extended
p primary partition (1-4)
p (выби­ра­ем primary)
Partition number (1-4):
Value out of range.
Partition number (1-4): 3 (ука­зы­ва­ем номер)
First cylinder (791-1044, default 791):
Using default value 791
Last cylinder, +cylinders or +size{K,M,G} (791-1044, default 1044):
Using default value 1044

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.

(Если после ука­за­ния номера):
Partition number (1-4): 3
появ­ля­ет­ся следующее:First cylinder (1-16384, default 1): 10442(10442 это конец послед­не­го раз­де­ла, к чис­лу добав­ля­ем +1 (см /dev/sda2))Last cylinder, +cylinders or +size{K,M,G} (10442-16384, default 16384): 16384[/spoiler]Устройство создано:[root@centos ~]# fdisk -l /dev/sdaDisk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e3c2aDevice Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 791 6144000 8e Linux LVM
Partition 2 does not end on cylinder boundary.
/dev/sda3 791 1044 2036106 83 Linux

Меня­ем тип на LVM
[root@centos ~]# fdisk /dev/sdaCommand (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

Про­ве­ря­ем что всё ок:
[root@centos ~]# fdisk -l /dev/sda

Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 791 6144000 8e Linux LVM
Partition 2 does not end on cylinder boundary.
/dev/sda3 791 1044 2036106 8e Linux LVM

Но физи­че­ски устрой­ство ещё не появилось:
[root@centos ~]# ls /dev/sda*
/dev/sda /dev/sda1 /dev/sda2

 

Далее необ­хо­ди­мо пере­за­гру­зить ОС, но если пере­за­груз­ка неже­ла­тель­на, то можем доба­вить устрой­ство сле­ду­ю­щим образом:
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan

Если рас­ши­ри­ли том то:
"echo 1 > /sys/class/scsi_device/device/rescan"
echo 1 > /sys/class/scsi_device/1\:0\:0\:0/device/rescan
echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
echo 1 > /sys/class/scsi_device/2\:0\:1\:0/device/rescan

pvresize /dev/sdb

или  ста­вим доп утилиту:
[root@centos ~]# yum -y install parted*

Про­ве­ря­ем:
[root@centos ~]# partx -l /dev/sda
# 1: 2048- 411647 ( 409600 sectors, 209 MB)
# 2: 411648- 12699647 ( 12288000 sectors, 6291 MB)
# 3: 12699648- 16771859 ( 4072212 sectors, 2084 MB)
# 4: 0- -1 ( 0 sectors, 0 MB)

 

Добав­ля­ем:
[root@centos ~]# partx -v -a /dev/sda
device /dev/sda: start 0 size 16777216
gpt: 0 slices
dos: 4 slices
# 1: 2048- 411647 ( 409600 sectors, 209 MB)
# 2: 411648- 12699647 ( 12288000 sectors, 6291 MB)
# 3: 12699648- 16771859 ( 4072212 sectors, 2084 MB)
# 4: 0- -1 ( 0 sectors, 0 MB)
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
added partition 3

как видим, всё ок, устрой­ство добавлено:
[root@centos ~]# ls /dev/sda*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3

Далее созда­ём физи­че­ский том:
[root@centos ~]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created

Про­ве­ря­ем:
[root@centos ~]# pvscan
PV /dev/sda2 VG vg_centos lvm2 [5.86 GiB / 0 free]
PV /dev/sda3 lvm2 [1.94 GiB]
Total: 2 [7.80 GiB] / in use: 1 [5.86 GiB] / in no VG: 1 [1.94 GiB]

как видим, наш /dev/sda3 не добав­лен к груп­пе томов vg_centos, доба­вим его:

[root@centos ~]# vgextend vg_centos /dev/sda3
Volume group "vg_centos" successfully extended

Про­ве­рям
[root@centos ~]# pvscan
PV /dev/sda2 VG vg_centos lvm2 [5.86 GiB / 0 free]
PV /dev/sda3 VG vg_centos lvm2 [1.94 GiB / 1.94 GiB free]
Total: 2 [7.79 GiB] / in use: 2 [7.79 GiB] / in no VG: 0 [0 ]

как видим, всё ок.

Теперь можем рас­пре­де­лить дан­ный объ­ём, смот­рим где сколько:
[root@centos ~]# lvscan
ACTIVE '/dev/vg_centos/LogVol01' [1.86 GiB] inherit
ACTIVE '/dev/vg_centos/LogVol00' [2.00 GiB] inherit
ACTIVE '/dev/vg_centos/LogVol03' [1.00 GiB] inherit
ACTIVE '/dev/vg_centos/LogVol02' [1.00 GiB] inherit

Уве­ли­чи­ва­ем:

[root@centos ~]# lvextend -L +1G /dev/mapper/vg_centos-LogVol03
[root@centos ~]# resize2fs -p /dev/mapper/vg_centos-LogVol03

про­ве­ря­ем:
[root@centos ~]# lvscan
ACTIVE '/dev/vg_centos/LogVol01' [1.86 GiB] inherit
ACTIVE '/dev/vg_centos/LogVol00' [2.00 GiB] inherit
ACTIVE '/dev/vg_centos/LogVol03' [2.00 GiB] inherit
ACTIVE '/dev/vg_centos/LogVol02' [1.00 GiB] inherit

 

1.1 Расширение места за счёт добавления нового жёсткого диска:

Убе­дим­ся что жёст­кий диск добавлен:
[root@centos ~]# ls -lah /dev/sd*
brw-rw---- 1 root disk 8, 0 Aug 26 08:02 /dev/sda
brw-rw---- 1 root disk 8, 1 Aug 26 08:02 /dev/sda1
brw-rw---- 1 root disk 8, 2 Aug 26 08:02 /dev/sda2
brw-rw---- 1 root disk 8, 3 Aug 26 08:02 /dev/sda3
brw-rw---- 1 root disk 8, 16 Aug 26 08:08 /dev/sdb

Созда­дим новый новый раздел:
[root@centos ~]# fdisk /dev/sdb
n

p

1

сра­зу изме­ним тип:
t

8e

сохра­ним
w

про­ве­ря­ем:
[root@centos ~]# ls -lah /dev/sdb*
brw-rw---- 1 root disk 8, 16 Aug 26 08:11 /dev/sdb
brw-rw---- 1 root disk 8, 17 Aug 26 08:11 /dev/sdb1

Далее созда­ём физи­че­ский том:
[root@centos ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created

Про­ве­ря­ем:

[root@centos ~]# pvscan
PV /dev/sda3 VG vg_centos lvm2 [6.80 GiB / 1.80 GiB free]
PV /dev/sdb1 lvm2 [8.00 GiB]
Total: 2 [14.80 GiB] / in use: 1 [6.80 GiB] / in no VG: 1 [8.00 GiB]

как видим, наш /dev/sdb1 не добав­лен к груп­пе томов vg_centos, доба­вим его:

[root@centos ~]# vgextend vg_centos /dev/sdb1
Volume group "vg_centos" successfully extended

Про­ве­рям
[root@centos ~]# pvscan
PV /dev/sda3 VG vg_centos lvm2 [6.80 GiB / 1.80 GiB free]
PV /dev/sdb1 VG vg_centos lvm2 [8.00 GiB / 8.00 GiB free]
Total: 2 [14.80 GiB] / in use: 2 [14.80 GiB] / in no VG: 0 [0 ]

как видим, всё ок.

 

Отме­тим, что мож­но не пло­дить partition(/dev/sdb1 /dev/sdb2) а сра­зу создать физи­че­ский том:

[root@centos ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x908ec52e

Device Boot Start End Blocks Id System

[root@centos ~]# pvcreate /dev/sdb

[root@centos ~]# pvscan
PV /dev/sda3 VG vg_centos lvm2 [6.80 GiB / 1.80 GiB free]
PV /dev/sdb lvm2 [8.00 GiB]
Total: 2 [14.80 GiB] / in use: 1 [6.80 GiB] / in no VG: 1 [8.00 GiB]

Добав­ля­ем физи­че­ский том в груп­пу томов

[root@centos ~]# vgextend vg_centos /dev/sdb
Volume group "vg_centos" successfully extended
[root@centos ~]# pvscan
PV /dev/sda3 VG vg_centos lvm2 [6.80 GiB / 1.80 GiB free]
PV /dev/sdb VG vg_centos lvm2 [8.00 GiB / 8.00 GiB free]
Total: 2 [14.80 GiB] / in use: 2 [14.80 GiB] / in no VG: 0 [0 ]

 

Теперь можем рас­пре­де­лить дан­ный объ­ём, увеличиваем:

[root@centos ~]# lvextend -L +9G /dev/mapper/vg_centos-LogVol03
[root@centos ~]# resize2fs -p /dev/mapper/vg_centos-LogVol03

про­ве­ря­ем:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-LogVol00
976M 250M 676M 27% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 190M 27M 154M 15% /boot
/dev/mapper/vg_centos-LogVol03
9.9G 2.3M 9.4G 1% /tmp
/dev/mapper/vg_centos-LogVol01
2.0G 666M 1.2G 36% /usr
/dev/mapper/vg_centos-LogVol02
976M 152M 774M 17% /var

Смот­рим сколь­ко осталось:
[root@centos ~]# pvscan
PV /dev/sda3 VG vg_centos lvm2 [6.80 GiB / 0 free]
PV /dev/sdb1 VG vg_centos lvm2 [8.00 GiB / 816.00 MiB free]
Total: 2 [14.80 GiB] / in use: 2 [14.80 GiB] / in no VG: 0 [0 ]

1.2 Создание раздела из добавленного жёсткого диска

Ини­ци­и­ру­ем физи­че­ский том для рабо­ты с LVM
[root@centos ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created

Созда­дим новую груп­пу томов vg_dop :
[root@centos ~]# vgcreate vg_dop /dev/sdb
Volume group "vg_dop" successfully created
[root@centos ~]# pvscan
PV /dev/sdb VG vg_dop lvm2 [8.00 GiB / 8.00 GiB free]
PV /dev/sda3 VG vg_centos lvm2 [6.80 GiB / 1.80 GiB free]
Total: 2 [14.80 GiB] / in use: 2 [14.80 GiB] / in no VG: 0 [0 ]

Созда­ём логи­че­ский том:
[root@centos ~]# lvcreate -n opt -L 2G vg_dop
Logical volume "opt" created.

Пере­ме­ща­ем всё содер­жи­мое из /opt/ в домаш­нюю директорию ~/
[root@centos ~]# mv /opt/* ~/11/
далее фор­ма­ти­ру­ем наш раз­дел в необ­хо­ди­мую фай­ло­вую систему:

[root@centos ~]# mkfs.ext4 -L opt /dev/vg_dop/opt

[spoiler]mke2fs 1.41.12 (17-May-2010)
Filesystem label=opt
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.[/spoiler]
Мон­ти­ру­ем раз­дел /opt
[root@centos ~]# mount /dev/vg_dop/opt /opt/
добав­ля­ем его автозагрузку:
nano /etc/fstab
/dev/mapper/vg_dop-opt /opt ext4 defaults 1 2
про­ве­ря­ем:
[root@centos ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-LogVol00
976M 266M 660M 29% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 190M 27M 154M 15% /boot
/dev/mapper/vg_centos-LogVol03
976M 1.3M 924M 1% /tmp
/dev/mapper/vg_centos-LogVol01
2.0G 700M 1.2G 38% /usr
/dev/mapper/vg_centos-LogVol02
976M 154M 772M 17% /var
/dev/mapper/vg_dop-opt
2.0G 3.0M 1.9G 1% /opt

2 Уменьшим том

[root@centos ~]# lvscan
ACTIVE '/dev/vg_centos/LogVol01' [2.00 GiB] inherit
ACTIVE '/dev/vg_centos/LogVol00' [1.00 GiB] inherit
ACTIVE '/dev/vg_centos/LogVol03' [1.00 GiB] inherit
ACTIVE '/dev/vg_centos/LogVol02' [1.00 GiB] inherit

Умень­шим объ­ём для раз­де­ла '/usr' смотрим:

[root@centos ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-LogVol00
976M 247M 678M 27% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 190M 27M 154M 15% /boot
/dev/mapper/vg_centos-LogVol03
976M 1.3M 924M 1% /tmp
/dev/mapper/vg_centos-LogVol01
2.0G 359M 1.5G 20% /usr
/dev/mapper/vg_centos-LogVol02
976M 26M 899M 3% /var

ВАЖНО: (умень­ше­ние объ­ё­ма раз­де­ла про­ис­хо­дит ТОЛЬКО на отмон­ти­ро­ван­ном раз­де­ле в порядке: 

"1. Умень­шить раз­мер фай­ло­вой системы" 

"2 Умень­шить раз­дел logical volume" )

 

Так как /usr не отмон­ти­ро­вать, то гру­зим­ся c liveCD

Загру­зив­шись с liveCD запо­ми­на­ем куда при­мон­ти­ро­ва­на систе­ма, в моём слу­чае это:
/mnt/sysimage

отмон­ти­ру­ем дан­ный раздел:
umount /dev/mapper/vg_centos-LogVol01 

про­ве­ря­ем раздел

e2fsck -f /dev/mapper/vg_centos-LogVol01

Затем изме­ня­ем раз­мер фай­ло­вой систе­мы внут­ри lvm.

resize2fs /dev/mapper/vg_centos-LogVol01 1G

В этом при­ме­ре 1G - уста­нав­ли­ва­ет жела­е­мый раз­мер фай­ло­вой систе­мы в 1Гб.
Теперь умень­ша­ем сам том lvm так же до 1Гб.

lvreduce -L 1G /dev/mapper/vg_centos-LogVol01

про­ве­ря­ем:
[root@centos ~]# lvscan
ACTIVE '/dev/vg_centos/LogVol01' [1.00 GiB] inherit
ACTIVE '/dev/vg_centos/LogVol00' [1.00 GiB] inherit
ACTIVE '/dev/vg_centos/LogVol03' [1.00 GiB] inherit
ACTIVE '/dev/vg_centos/LogVol02' [1.00 GiB] inherit

[root@centos ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-LogVol00
976M 247M 678M 27% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 190M 27M 154M 15% /boot
/dev/mapper/vg_centos-LogVol03
976M 1.3M 924M 1% /tmp
/dev/mapper/vg_centos-LogVol01
976M 359M 567M 39% /usr
/dev/mapper/vg_centos-LogVol02
976M 27M 899M 3% /var

всё ок.

 

Уменьшить корневой раздел

необ­хо­ди­мо умень­шить кор­не­вой раздел "/"

df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 2.0G 28M 1.8G 2% /
devtmpfs 911M 0 911M 0% /dev
tmpfs 921M 0 921M 0% /dev/shm
tmpfs 921M 8.4M 912M 1% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/mapper/centos-usr 4.5G 860M 3.4G 20% /usr
/dev/mapper/centos-var 4.5G 109M 4.2G 3% /var
/dev/mapper/centos-home 976M 2.7M 907M 1% /home
/dev/sda1 477M 98M 350M 22% /boot

 

загру­жа­ем­ся с LIVE_CD

акти­ви­ру­ем volume groupe centos

vgchange -a y centos

Теперь мож­но уменьшать:

e2fsck -f /dev/mapper/centos-root

resize2fs -p /dev/mapper/centos-root 1G

lvreduce -r -L 1G /dev/mapper/centos-root

на этом всё, мож­но рестар­то­вать сер­вер и вытас­ки­вать live_cd

df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 944M 27M 851M 4% /
devtmpfs 911M 0 911M 0% /dev
tmpfs 921M 0 921M 0% /dev/shm
tmpfs 921M 8.4M 912M 1% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/mapper/centos-usr 4.5G 860M 3.4G 20% /usr
/dev/sda1 477M 98M 350M 22% /boot
/dev/mapper/centos-home 976M 2.7M 907M 1% /home
/dev/mapper/centos-var 4.5G 109M 4.2G 3% /var
tmpfs 185M 0 185M 0% /run/user/0

Увеличить swap

swapon -s
lvextend -L +12G /dev/mapper/vg_centos-LogVol04
swapoff -a
mkswap /dev/mapper/vg_centos-LogVol04
swapon -a

 

Список команд для работы с LVM

Logical Volume

lvchange
Изме­нить атри­бу­ты логи­че­ско­го тома
lvcreate
Создать логи­че­ский том
lvdisplay
Пока­зать инфор­ма­цию о логи­че­ском томе
lvextend
Доба­вить места в логи­че­ский том
lvmchange
(коман­да уста­ре­ла, её луч­ше не использовать)
lvmdiskscan
Пока­зать спи­сок устройств, кото­рые могут быть исполь­зо­ва­ны как физи­че­ский том
lvmsadc
Собрать дан­ные об актив­но­сти исполь­зо­ва­ния LVM
lvmsar
Создать отчёт об актив­но­сти исполь­зо­ва­ния LVM
lvreduce
Умень­шить раз­мер логи­че­ско­го тома
lvremove
Уда­лить логи­че­ский том из системы
lvrename
Пере­име­но­вать логи­че­ский том
lvresize
Изме­нить раз­мер логи­че­ско­го тома
lvs
Пока­зать инфор­ма­цию о логи­че­ском томе
lvscan
Пока­зать спи­сок логи­че­ских томов во всех груп­пах томов

Physical Volume

pvchange
Изме­нить атри­бу­ты физи­че­ско­го тома
pvcreate
Ини­ци­а­ли­зи­ро­вать физи­че­ский том для исполь­зо­ва­ния в LVM
pvdata
Пока­зать инфор­ма­цию (из мета­дан­ных на дис­ке) о физи­че­ском томе
pvdisplay
Пока­зать инфор­ма­цию о физи­че­ском томе
pvmove
Пере­ме­стить эстен­ты с одно­го физи­че­ско­го тома на другой
pvremove
Уда­лить мет­ку LVM с физи­че­ско­го тома
pvresize
Изме­нить раз­мер физи­че­ско­го тома, исполь­зу­ю­ще­го­ся в груп­пе томов
pvs
Пока­зать инфор­ма­цию о физи­че­ском томе
pvscan
Пока­зать спи­сок всех физи­че­ских томов

Volume Group

vgcfgbackup
Сде­лать резерв­ную копию кон­фи­гу­ра­ции груп­пы томов
vgcfgrestore
Вос­ста­но­вить из резерв­ной копии кон­фи­гу­ра­цию груп­пы томов
vgchange
Изме­нить атри­бу­ты груп­пы томов
vgck
Про­ве­рить целост­ность груп­пы томов
vgconvert
Изме­нить фор­мат мета­дан­ных груп­пы томов
vgcreate
Создать груп­пу томов
vgdisplay
Пока­зать инфор­ма­цию о груп­пе томов
vgexport
Раз­ре­ги­стри­ро­вать груп­пу томов в системе
vgextend
Доба­вить физи­че­ский том в груп­пу томов
vgimport
Заре­ги­стри­ро­вать эскпор­ти­ро­ван­ную груп­пу томов в системе
vgmerge
Объ­еди­нить груп­пы томов
vgmknodes
Создать фай­лы устройств для групп томов в ката­ло­ге /dev/
vgreduce
Уда­лить физи­че­ский том из груп­пы томов
vgremove
Уда­лить груп­пу томов
vgrename
Пере­име­но­вать груп­пу томов
vgs
Пока­зать инфор­ма­цию о груп­пах томов
vgscan
Выпол­нить поиск групп томов
vgsplit
Пере­ме­стить физи­че­ский том в новую груп­пу томов