понедельник, 7 ноября 2011 г.

Как уменьшить размер LVM-тома

Собственно, небольшая напоминалка для себя. Руководств на эту тему полным полно в интернете, поэтому приведу только последовательность действий и несколько комментариев.
Итак, задача - уменьшить размер LVM-тома. Сразу скажу, что том НЕ системный. Посмотрим на список групп разделов. vgdb02 - группа разделов, myvol01 - единственный раздел в группе vgdb02. его и будем уменьшать на 45 Гигов.

$ sudo vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  vg01     1   2   0 wz--n-  59,80g     0 
  vgdb02   1   1   0 wz--n- 300,00g  0

Выполнять действия будем от пользователя root:

[user@vDB02 ~]$ sudo su -
Смотрим куда смонтирован раздел:
[root@vDB02 ~]# mount | grep db
/dev/mapper/vgdb02-myvol01 on /var/lib/mysql type ext4 (rw,nobarrier,commit=15)

Данный раздел используется под БД mysql, поэтому необходимо остановить сервис mysql:

[root@vDB02 ~]# service mysqld stop
Stopping mysqld:                                           [  OK  ]

Отмонтируем раздел под БД, поскольку его надо будет проверить на ошибки с помощью e2fsck. Если вылезут ошибки при отмонтировании - посмотреть lsof или kuser, кто еще использует данный раздел.
[root@vDB02 ~]# umount /var/lib/mysql/

Проверка файловой системы:
[root@vDB02 ~]# e2fsck -f /dev/mapper/vgdb02-myvol01
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vgdb02-myvol01: 1531/19660800 files (9.4% non-contiguous), 1527657/78642176 blocks
В первую очередь уменьшаем размер файловой системы! Это важно не перепутать - сначала размер ФС, потом размер раздела. На всякий случай, уменьшаем размер файловой системы чуть больше, нежели размер раздела, потом увеличим до упора.
[root@vDB02 ~]# resize2fs /dev/mapper/vgdb02-myvol01 250G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vgdb02-myvol01 to 65536000 (4k) blocks.
The filesystem on /dev/mapper/vgdb02-myvol01 is now 65536000 blocks long.
Уменьшаем размер раздела:
[root@vDB02 ~]# lvreduce -L 255G /dev/mapper/vgdb02-myvol01 
  WARNING: Reducing active logical volume to 255.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce myvol01? [y/n]: y
  Reducing logical volume myvol01 to 255.00 GiB
  Logical volume myvol01 successfully resized
Расширяем размер файловой системы до размера раздела:
[root@vDB02 ~]# resize2fs /dev/mapper/vgdb02-myvol01
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vgdb02-myvol01 to 66846720 (4k) blocks.
The filesystem on /dev/mapper/vgdb02-myvol01 is now 66846720 blocks long.
Монтируем все файловые системы из /etc/fstab, проверяем, что измененный раздел имеет нужный размер:
[root@vDB02 ~]# mount -a
[root@vDB02 ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  vg01     1   2   0 wz--n-  59,80g     0 
  vgdb02   1   1   0 wz--n- 300,00g 45,00g

Запуск сервиса mysql:
[root@vDB02 ~]# service mysqld start

Собственно, все.

2 комментария:

  1. Уменьшил так все три раздела что в LVM, но сам LVM также большой остался О_о, то есть каждый раздел 12+80+2G, а LVM раздел 495G

    ОтветитьУдалить