Расширяем том LVM и корневой раздел ext3fs
Постановка задачи.
Есть виртуальная машина c OC CentOS-6, необходимо увеличить размер корневого диска (”/”).
Корневой раздел расположен на LVM (производилась установка CentOS по умолчанию).
Начальный размер тома LVM 8Гб увеличиваем до 18Гб.
Конфигурация LVM которая подлежит увеличению:
физический раздел (pe): /dev/xvda2
группа томов (vg): VolGroup
логический раздел (lv): lv_root
Решение.
Процедура по шагам вариант 1:
Останавливаем виртуалку, изменяем размер виртуального диска
Из полученного свободного места делаем еще один раздел на диске
Объявляем новый том в качестве физического тома LVM
Добавляем новый физический том в группу томов
Расширяем логический том с использованием нового физического тома.
Расширяем файловую систему
Процедура по шагам вариант 2:
Останавливаем виртуалку, изменяем размер виртуального диска
Удаляем раздел (при помощи fdisk), и на его месте создаем новый раздел, большего размера. Важно! Начало нового раздела должно в точности совпадать с началом старого!
Расширяем физический том а затем и логический том.
Расширяем файловую систему
Пример реализации варианта2:
Пересоздаем раздел:
~# fdisk /dev/xvda Команда (m для справки): p Диск /dev/xvda: 19.3 ГБ, 19327352832 байт 255 heads, 63 sectors/track, 2349 cylinders Units = цилиндры of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000aa578 Устр-во Загр Начало Конец Блоки Id Система /dev/xvda1 * 1 64 512000 83 Linux Раздел 1 не заканчивается на границе цилиндра. /dev/xvda2 64 1045 7875584 8e Linux LVM Команда (m для справки): d Номер раздела (1-4): 2 Команда (m для справки): n Действие команды e расширенный p основной раздел (1-4): p Номер раздела (1-4): 2 Первый цилиндр (64-2349, по умолчанию 64): Используется значение по умолчанию 64 Last цилиндр, +цилиндры or +size{K,M,G} (64-2349, по умолчанию 2349): Используется значение по умолчанию 2349 Команда (m для справки): t Номер раздела (1-4): 2 Шестнадцатеричный код (введите L для получения списка кодов): 8e Системный тип раздела 2 изменен на 8e (Linux LVM) Команда (m для справки): p Диск /dev/xvda: 19.3 ГБ, 19327352832 байт 255 heads, 63 sectors/track, 2349 cylinders Units = цилиндры of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000aa578 Устр-во Загр Начало Конец Блоки Id Система /dev/xvda1 * 1 64 512000 83 Linux Раздел 1 не заканчивается на границе цилиндра. /dev/xvda2 64 2349 18355318+ 8e Linux LVM Команда (m для справки): w Таблица разделов была изменена!
Перезагружаем виртуалку что бы она перечитала разделы с диска (с xvda не работает механизм rescan, который например предусмотрен в scsi драйвере).
Смотрим состояние физических томов до ресайза (PV Size 7,51 GiB; Free PE 0):
~# pvdisplay /dev/xvda2 --- Physical volume --- PV Name /dev/xvda2 VG Name VolGroup PV Size 7,51 GiB / not usable 3,00 MiB Allocatable yes (but full) PE Size 4,00 MiB Total PE 1922 Free PE 0 Allocated PE 1922 PV UUID wZ0Qhl-8Bvz-YEOk-Hi1L-FhvX-hIYY-WAdlZB
расширяем физический том /dev/xvda2
~# pvresize /dev/xvda2 Physical volume "/dev/xvda2" changed 1 physical volume(s) resized / 0 physical volume(s) not resized
Смотрим состояние физических томов после ресайза (PV Size 17,50 GiB; Free PE 2559 )
~# pvdisplay /dev/xvda2 --- Physical volume --- PV Name /dev/xvda2 VG Name VolGroup PV Size 17,50 GiB / not usable 905,50 KiB Allocatable yes PE Size 4,00 MiB Total PE 4481 Free PE 2559 Allocated PE 1922 PV UUID wZ0Qhl-8Bvz-YEOk-Hi1L-FhvX-hIYY-WAdlZB
Смотрим состояние логических разделов до изменения раздела (LV Size 6,71 GiB):
~# lvdisplay /dev/VolGroup/lv_root --- Logical volume --- LV Path /dev/VolGroup/lv_root LV Name lv_root VG Name VolGroup LV UUID u1a240-QBdR-1ME3-tvfq-yIBo-eiIm-07Hdy0 LV Write Access read/write LV Creation host, time localhost.localdomain, 2014-07-21 02:45:08 -0700 LV Status available # open 1 LV Size 6,71 GiB Current LE 1718 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0
Расширяем раздел:
~# lvextend -l +100%FREE /dev/VolGroup/lv_root Extending logical volume lv_root to 16,71 GiB Logical volume lv_root successfully resized
Смотрим результат (LV Size 16,71 GiB; Free PE 0):
~# lvdisplay /dev/VolGroup/lv_root --- Logical volume --- LV Path /dev/VolGroup/lv_root LV Name lv_root VG Name VolGroup LV UUID u1a240-QBdR-1ME3-tvfq-yIBo-eiIm-07Hdy0 LV Write Access read/write LV Creation host, time localhost.localdomain, 2014-07-21 02:45:08 -0700 LV Status available # open 1 LV Size 16,71 GiB Current LE 4277 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 ~# pvdisplay /dev/xvda2 File descriptor 7 (pipe:[10213]) leaked on pvdisplay invocation. Parent PID 1669: bash --- Physical volume --- PV Name /dev/xvda2 VG Name VolGroup PV Size 17,50 GiB / not usable 905,50 KiB Allocatable yes (but full) PE Size 4,00 MiB Total PE 4481 Free PE 0 Allocated PE 4481 PV UUID wZ0Qhl-8Bvz-YEOk-Hi1L-FhvX-hIYY-WAdlZB
Расширяем файловую систему (в нашем случае ext3)
~# resize2fs /dev/VolGroup/lv_root resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required old desc_blocks = 1, new_desc_blocks = 2 Performing an on-line resize of /dev/VolGroup/lv_root to 4379648 (4k) blocks. The filesystem on /dev/VolGroup/lv_root is now 4379648 blocks long.
Проверяем полученный результат, удивляемся :)
~# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 17G 6,2G 9,5G 40% /
Готово!