расширение диска в ручном режиме
Применимость: Linux
Задача:
Если вы хотите расширить диск особым образом, например чтобы оставить место в группе LVM для снапшот-бэкапа, то используйте эту инструкцию.
Решение:
Ниже описан порядок действий в ручном режиме. Если вы использовали скрипт, то описанные ниже действия делать не нужно.
Установка дополнительных пакетов
Для возможности изменения таблицы разделов необходим пакет parted
Чтобы обрыв связи не привел к прерыванию процесса изменения размера файловой системы необходим пакет screen
Установим оба пакета:
yum install screen parted
или для debian / ubuntu
apt-get install screen parted
Безопасность данных
Лучше всего изменение пространства делать до начала использования сервера, но с некоторым риском это можно сделать и потом если предусмотреть все необходимое.
SCREEN
Существует опасность обрыва связи. Надо исключить эту возможность.
Обрыв связи с сервером во время изменения размера файловой системы приведет к ее повреждению.
Можно все действия выполнить через KVM -VNC консоль в вашей панели управления, в случае потери и возобновления связи работа может быть продолжена без прерывания процесса, но удобнее работать по сети через SSH.
Если вы подключились по SSH и выполняете все действия в screen, то запущенные процессы продолжат работу в случае обрыва связи. При следующем подключении вы снова подключитесь в screen и продолжите работу.
Если вы еще не освоили screen, поторопитесь это сделать
Дальнейшие действия выполняем в сессии screen.
Создать сессию с именем admin
screen -S admin
Если связь оборвется, то для продолжения работы снова соединитесь с системой и выполните команду подключения к запущенной сессии screen командой:
screen -x admin
Изменяем пространство
Просмотреть существующую таблицу разделов:
parted /dev/sda print Модель: ATA QEMU HARDDISK (scsi) Диск /dev/sda: 42.9GB Размер сектора (логич./физич.): 512B/512B Таблица разделов: msdos Номер Начало Конец Размер Тип Файловая система Флаги 1 1049kB 525MB 524MB primary ext3 загрузочный 2 525MB 21.5GB 20.9GB primary lvmКак видите здесь размечено только около 20Гб пространства из 40Гб
В другом варианте вы можете увидеть такую таблицу разделов:
Number Start End Size Type File system Flags 1 1049kB 256MB 255MB primary ext2 boot 2 257MB 21.5GB 21.2GB extended 5 257MB 21.5GB 21.2GB logical lvmЗдесь вы видите раздел типа logical (5) который «живет» внутри контейнера раздела типа extended (2)
Так как в таблице разделов свободен номер 3 для раздела, то используем его для создания раздела типа prymary.
Добавить раздел
parted -s /dev/sda mkpart primary "3 -0"
Параметр «-0» означает - использовать все свободное пространство.
Обязательно проверьте что получилось
parted -s /dev/sda print
Установим метку типа файловой системы для раздела (мы используем раздел для создания физического LVM тома)
parted -s /dev/sda set 3 lvm on
Вам вы получите предупреждение WARNING: the kernel failed to re-read the partition table on /dev/sda (Устройство или ресурс занято). As a result, it may not reflect all of your changes until after reboot.
Можно послушаться и перезагрузить систему, но если это нежелательно, то можно использовать команду partprobe чтобы система перечитала таблицу разделов.
LVM
Теперь из нового раздела создадим физический том LVM и добавим его в группу LVM томов:
pvcreate /dev/sda3
Если вы получили предупреждение: Device /dev/sda3 not found (or ignored by filtering)., значит команда partprobe не помогла и придется перезагрузить систему.
После создания нового физического тома надо выяснить имя LVM группы в которую надо добавить пространство. В этом поможет команда vgs vgs
VG #PV #LV #SN Attr VSize VFree vg_centos6 1 2 0 wz--n- 19.51g 0
В моем случае имя группы LVM томов - vg_centos6
Для расширения пространства группы нужно добавить в нее физический том командой:
vgextend vg_centos6 /dev/sda3
Снова проверим список групп:
vgs VG #PV #LV #SN Attr VSize VFree vg_centos6 2 2 0 wz--n- 39.50g 20.00g
Теперь мы видим около 20Гб свободного пространства которое можно использовать.
Командой df выясним на каком устройстве у нас расположена корневая файловая система:
Расширяем логический том LVM на котором располагается корневая файловая система командой:
lvextend -L+19G /dev/mapper/vg_centos6-lv_root
Я умышленно использовал не 20, а 19Гб чтобы осталось свободное место (1Гб) для создания LVM снапшотов которые позволяют делать резервные копии без остановки системы.
Если хотите занять все свободное место, то используйте команду:
lvextend -l +100%FREE /dev/mapper/vg_centos6-lv_root
Расширяем файловую систему
Это наиболее опасная процедура. Для файловых систем ext3(4) это можно делать в режиме онлайн без размонтирования.
resize2fs -p /dev/mapper/vg_centos6-lv_root