Иногда случается так, что доступное дисковое пространство заканчивается. В этой заметке будет описан процесс увеличения lvm-тома за счёт нераспределённого пространства на физическом сервере или добавленного пространства на виртуальной машине.
Процесс одинаков для Ubuntu, RHEL/CentOS и скорее всего будет идентичен для любого другого linux-дистрибутива.
Предполагается, что диск, который мы хотим использовать для расширения раздела, - /dev/sda.
Запустим fdisk и приступим к изменению разметки диска
Создадим новый раздел, началом нового раздела указываем сектор, следующий после последнего использованного - 209713152, а концом - последний доступный.
Создадим новый физический lvm-том
Последней командой увеличиваем доступное пространство.
Было
Процесс одинаков для Ubuntu, RHEL/CentOS и скорее всего будет идентичен для любого другого linux-дистрибутива.
Предполагается, что диск, который мы хотим использовать для расширения раздела, - /dev/sda.
Запустим fdisk и приступим к изменению разметки диска
sudo -s fdisk /dev/sdaдля отображения таблицы разделов выберем команду p
Команда (m для справки): p Диск /dev/sda: 200 GiB, 214748364800 байтов, 419430400 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 1048576 bytes Тип метки диска: dos Идентификатор диска: 0x98595de7 Устр-во Загрузочный Start Конец Секторы Size Id Тип /dev/sda1 * 2048 1499135 1497088 731M 83 Linux /dev/sda2 1501182 209713151 208211970 99,3G 5 Расширенный /dev/sda5 1501184 209713151 208211968 99,3G 8e Linux LVMв приведённом примере номер последнего использованного сектора - 209713151.
Создадим новый раздел, началом нового раздела указываем сектор, следующий после последнего использованного - 209713152, а концом - последний доступный.
Команда (m для справки): n Тип раздела p первичный (1 первичных, 1 расширенных, 2 свободно) l логический (numbered from 5) Select (default p): p Номер раздела (3,4, по умолчанию 3): 3 Первый сектор (1499136-419430399, по умолчанию 1499136): 209713152 Last sector, +sectors or +size{K,M,G,T,P} (209713152-419430399, по умолчанию 419430399): Создан новый раздел 3 типа 'Linux' и размера 100 GiB.После создания нужно указать тип раздела, номер раздела указываем тот, который был использован при его создании, для типа Linux LVM это 8e.
Команда (m для справки): t Номер раздела (1-3,5, по умолчанию 5): 3 Тип раздела (наберите L, чтобы увидеть список всех типов): 8e Изменён тип раздела 'Linux' на 'Linux LVM'.Проверяем, что всё выглядит так, как нужно
Команда (m для справки): p Диск /dev/sda: 200 GiB, 214748364800 байтов, 419430400 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 1048576 bytes Тип метки диска: dos Идентификатор диска: 0x98595de7 Устр-во Загрузочный Start Конец Секторы Size Id Тип /dev/sda1 * 2048 1499135 1497088 731M 83 Linux /dev/sda2 1501182 209713151 208211970 99,3G 5 Расширенный /dev/sda3 209713152 419430399 209717248 100G 8e Linux LVM /dev/sda5 1501184 209713151 208211968 99,3G 8e Linux LVMЕсли всё выглядит так, как нам это необходимо, то записываем изменения и выходим из fdisk.
Команда (m для справки): w Таблица разделов изменена. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Устройство или ресурс занято Ядро всё ещё использует старую таблицу. Новая будет использована при следующей перезагрузке или после выполнения partprobe(8) или kpartx(8).Обновляем данные о структуре разделов
partprobeТеперь переходим к изменениям структуры lvm.
Создадим новый физический lvm-том
pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully createdПроверяем, что новый том имеет нужный размер
pvs PV VG Fmt Attr PSize PFree /dev/sda3 lvm2 --- 100,00g 100,00g /dev/sda5 test-vg lvm2 a-- 99,28g 4,00mУвеличиваем размер lvm-группы за счёт нового тома
vgextend test-vg /dev/sda3
Volume group "test-vg" successfully extended
Проверяем, что размер изменился
vgs
VG #PV #LV #SN Attr VSize VFree
test-vg 2 2 0 wz--n- 199,28g 100,00g
Расширяем логический lvm-том, используя для этого всё доступное пространство
lvextend -l +100%FREE /dev/test-vg/root Size of logical volume test-vg/root changed from 98,32 GiB (25171 extents) to 198,33 GiB (50772 extents). Logical volume root successfully resized.Если мы хотим использовать не всё доступное пространство, то можно использовать команду с указанием конкретного объёма
lvextend -L+90G /dev/test-vg/root /dev/sda3Имя логического тома можно узнать из вывода команды lvdisplay
Последней командой увеличиваем доступное пространство.
resize2fs /dev/test-vg/root resize2fs 1.42.13 (17-May-2015) Filesystem at /dev/test-vg/root is mounted on /; on-line resizing required old_desc_blocks = 7, new_desc_blocks = 13 The filesystem on /dev/test-vg/root is now 51990528 (4k) blocks long.Как итог:
Было
df -h Файл.система Размер Использовано Дост Использовано% Cмонтировано в /dev/mapper/test-vg-root 97G 11G 82G 12% /Стало
df -h Файл.система Размер Использовано Дост Использовано% Cмонтировано в /dev/mapper/test-vg-root 196G 11G 176G 6% /Более подробно о работе с lvm можно почитать в документации Red Hat
Статья полезная, но вы забыли добавить что после
ОтветитьУдалитьpvcreate /dev/sda3
vgextend test-vg /dev/sda
Действительно забыл. Обновил содержимое статьи.
УдалитьСпасибо за указание на ошибку.