студия открытых решений о-никс
<< Resize ext2/ext3/ext4 Переход в single mode >>

Расширение корневого раздела LVM в Linux на лету

Не надо бояться LVM - это реально удобно! Допустим, корневой раздел LVM форматирован в ext3. Рассмотрим пример увеличения корневого раздела на лету путем добавления нового физического диска (его раздела) в логический том LVM:

# df -h
Файловая система Разм Исп Дост Исп% смонтирована на
/dev/mapper/VolGroup00-LogVol00 24G 3,9G 19G 18% /
/dev/sda1 99M 20M 75M 21% /boot

Добавляем новый диск (/dev/sdd) и создаем на нем раздел:

# fdisk -l
...
Диск /dev/sdd: 28.9 ГБ, 28991029248 байт
255 heads, 63 sectors/track, 3524 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт
На диске /dev/sdd отсутствует верная таблица разделов
# fdisk /dev/sdd
...
Команда (m для справки): n
Действие команды
e расширенный
p основной раздел (1-4)
p
Номер раздела (1-4): 1
Первый цилиндр (1-3524, по умолчанию 1):
Используется значение по умолчанию 1
Последний цилиндр или +size или +sizeM или +sizeK (1-3524, по умолчанию 3524):
Используется значение по умолчанию 3524
Команда (m для справки): p
Диск /dev/sdd: 28.9 ГБ, 28991029248 байт
255 heads, 63 sectors/track, 3524 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdd1 1 3524 28306498+ 83 Linux
Команда (m для справки): w
Таблица разделов была изменена!


Если ваш диск больше 2 Тб, то вместо утилиты fdisk необходимо использовать утилиту GNU Parted и ставить метку GPT (применить разбиение GUID Partition Table), поскольку fdisk не поддерживает GPT, а значит, не в ней создать раздел больше 2 Тб:
 
# parted /dev/sdd
(parted) mklabel gpt
(parted) mkpart primary ext3 1 -1
(parted) set 1 lvm on
(parted) print
Модель: ATA ST32000641AS (scsi)
Диск /dev/sdd: 2000GB
Размер сектора (логич./физич.): 512B/512B
Таблица разделов: gpt
 Номер  Начало  Конец   Размер  Файловая система  Имя      Флаги
1 1049kB 2000GB 2000GB primary lvm

(parted) quit

Новый раздел на новом диске создан. Инициализируем раздел в качестве физического тома в LVM и добавляем его в группу VolGroup00:
 
# pvcreate /dev/sdd1
Writing physical volume data to disk "/dev/sdd1"
Physical volume "/dev/sdd1" successfully created
[root@prime ~]# vgextend VolGroup00 /dev/sdd1
Volume group "VolGroup00" successfully extended

Расширяем логический том LogVol00 на 27G

# lvextend -L +27G /dev/mapper/VolGroup00-LogVol00
Extending logical volume LogVol00 to 51,12 GB
Insufficient free space: 864 extents needed, but only 863 available

Ага, немного не хватило экстентов, тогда увеличиваем на 26G

# lvextend -L +26G /dev/mapper/VolGroup00-LogVol00
Extending logical volume LogVol00 to 50,12 GB
Logical volume LogVol00 successfully resized

Чтобы не подгадывать размер, на какой увеличить логический том, а использовать все доступное пространство нового диска, команду расширения тома можно выполнить с такими ключами:

# lvextend -l +100%FREE /dev/mapper/VolGroup00-LogVol00

Теперь расширение прошло успешно. Ресайзим корень на лету в работающей системе (обратите внимание, не всякий тип файловой системы поддерживает расширение раздела без потери информации)!

# resize2fs /dev/mapper/VolGroup00-LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/mapper/VolGroup00-LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/mapper/VolGroup00-LogVol00 to 13139968 (4k) blocks.
The filesystem on /dev/mapper/VolGroup00-LogVol00 is now 13139968 blocks long.

 

Проверяем:

# df -h
Файловая система Разм Исп Дост Исп% смонтирована на
/dev/mapper/VolGroup00-LogVol00 49G 3,9G 43G 9% /
/dev/sda1 99M 20M 75M 21% /boot

Отлично! LVM позволяет увеличить корневой раздел на лету без перезагрузки!

 

<< Resize ext2/ext3/ext4 Переход в single mode >>

Поделиться в соцсетях:

система комментирования CACKLE
RSS