Изменения размера логических томов LVM

Не так давно, волей-неволей, открыл для себя такую вещь, как LVM. Данная технология имеет широкий спектр применения, в частности она используется для распределения дискового пространства на сервере VMWare ESXi, с которым я работаю. LVM имеет много интересных возможностей по сравнению с традиционными физическими разделами.

Однако, хочу отметить одну и, как мне кажется, главную его особенность — возможность безболезненного изменения размеров LVM-раздела «на лету», которую я оценил и активно использую. Ниже — мой пример изменения размеров логических разделов в VMWare ESXi для Debian Lenny и файловой системы ReiserFS.

Для начала в настройках виртуальной машины расширяем нужный нам диск до нужных нам размеров.

Потом лезем в консоль и устанавливаем LVM, если он еще не установлен:

$ apt-get install lvm2

и перезагружаем тачку.

Теперь просмотрим список физических томов LVM:

$ pvdisplay
--- Physical volume ---
PV Name               /dev/sdb
VG Name               POSTGRESPV
Size               25,00 GB / not usable 3,81 MB
Allocatable           yes (but full)
PE Size (KByte)       4096
Total PE              7389
Free PE               0
Allocated PE          7389
PV UUID               pmFeL9-cBUh-BVrs-z2ib-zAT9-RCYa-C9vO3X
--- Physical volume ---
PV Name               /dev/sda2
VG Name               PSQLSERVER
PV Size               7,76 GB / not usable 2,21 MB
Allocatable           yes (but full)
PE Size (KByte)       4096
Total PE              1986
Free PE               0
Allocated PE          1986
PV UUID               LmMnzo-3RoA-yhmz-48LF-yGum-RKJC-UQXSoC

По размеру диска определяем какой диск будем увеличивать, в моем случае это /dev/sdb. Что бы расширить физический том до максимума воспользуемся командой:

$ pvresize /dev/sdb

Повторный вывод команды pvdisplay покажет нам что размер нужного нам диска изменился, а значит появилось свободное пространство в группе томов, в которую входит данный диск. Убедиться в этом нам поможет команда:

$ vgdisplay
  --- Volume group ---
  VG Name               POSTGRES
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  12
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               40,00 GB
  PE Size               4,00 MB
  Total PE              10239
  Alloc PE / Size       7389 / 40,00 GB
  Free  PE / Size       2850 / 15,00 GB
  VG UUID               NLzOCj-aqm2-7hbn-tbdh-U5gx-odRz-3hSicG

  --- Volume group ---
  VG Name               PSQLSERVER
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               7,76 GB
  PE Size               4,00 MB
  Total PE              1986
  Alloc PE / Size       1986 / 7,76 GB
  Free  PE / Size       0 / 0
  VG UUID               H2xmf9-biAb-u4Ws-rV5d-sj7e-yK4q-rKfOeD

Пришло время расширить непосредственно логический LVM-раздел. lvdisplay покажет список существующих разделов:

$ lvdisplay
  --- Logical volume ---
  LV Name                /dev/POSTGRES/pgbases
  VG Name                POSTGRES
  LV UUID                OTy5hf-HiY1-ArI7-aGVb-5v5I-LT8B-7bBVfX
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                25,00 GB
  Current LE             7389
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:2

  --- Logical volume ---
  LV Name                /dev/PSQLSERVER/root
  VG Name                PSQLSERVER
  LV UUID                xOJFSv-f3vm-2z2v-KTkc-bIcu-TB11-0h0YuM
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                7,38 GB
  Current LE             1888
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0

  --- Logical volume ---
  LV Name                /dev/PSQLSERVER/swap_1
  VG Name                PSQLSERVER
  LV UUID                K9jssQ-4pPc-oYzU-E8ge-MLoB-vTmi-QIneNI
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                392,00 MB
  Current LE             98
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:1

Нам нужно увеличить раздел pgbases, который размещен в группе POSTGRES, на 15 Гб. Для этого существует утилита lvextend:

$ lvextend -l 10239 /dev/POSTGRES/pgbases

Теперь логический раздел pgbases имеет размер 40 Гб.

Но это еще не все. Теперь нужно увеличить размер файловой системы раздела. Для ReiserFS это можно делать как в смонтированном так и в размонтированном состоянии, но я предпочитаю отмонтировать раздел, если это позволяет ситуация:

$ umount /dev/POSTGRES/pgbases
$ resize_reiserfs /dev/POSTGRES/pgbases
$ mount /dev/POSTGRES/pgbases

Для расширения файловой системы в смонтированном состоянии используется опция -f:

$ resize_reiserfs -f /dev/POSTGRES/pgbases

На этом процесс увеличения LVM-раздела закончен.

Процедура уменьшения раздела проходит в обратном порядке. То есть сначала уменьшаем размер файловой системы, затем размер логического раздела, а затем размер физического раздела.

Важно: при уменьшении размера файловой системы ReiserFS, раздел нужно обязательно отмонтировать!

Следующими командами мы обратно уменьшим наш раздел pgbases на 15 Гб:

$ umount /dev/POSTGRES/pgbases
$ resize_reiserfs -s-15G /dev/POSTGRES/pgbases
$ lvreduce -L-15G /dev/POSTGRES/pgbases
$ pvresize --setphusicalvolumesize 25G /dev/sdb
$ mount /dev/POSTGRES/pgbases

После чего в настройках виртуальной машины уменьшаем размер соответствующего диска.

Подробней о самом LVM, а также об утилитах для его администрирования, в примерах и картинках можно ознакомиться здесь.

Изменения размера логических томов LVM: 1 комментарий

  1. download minecraft pc

    Write more, thats all I have to say. Literally, it seems as though
    you relied on the video to make your point.
    You obviously know what youre talking about, why waste
    your intelligence on just posting videos to your weblog when you could be giving us something enlightening to read?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Не робот ли ты часом? * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.