Centos 7 расширить диск

Обновлено: 07.07.2024

На одном из тестовых серверов мне не хватило места на корневом диске под LVM.

И, поскольку, на сервере используется LVM я решил просто расширить имеющийся раздел, а не добавлять новые и монтировать в корень. Вот, что имелось:

На хосте виртуальных машин я добавил 2 ГБ к имевшемуся диску. Теперь оставалось освоить эти 2 гигабайта

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p

Disk /dev/sda: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000b7436

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 6291455 2096128 8e Linux LVM
/dev/sda3 6291456 10485759 2097152 8e Linux LVM

Command (m for help):

ОК, теперь оставалось подсунуть его LVM и расширить имеющийся диск. Но LVM-у моя затея не понравилась:

И только после нескольких перепроверок я вспомнил, что дело не в LVM, а в том, что я забыл сообщить системе, что появился новый раздел. Вот что знала система:

8 0 5242880 sda
8 1 1048576 sda1
8 2 2096128 sda2
11 0 1048575 sr0
253 0 1777664 dm-0
253 1 315392 dm-1

Как видно из вывода, система не была в курсе, что есть еще один раздел sda3. Но ничего страшного, просто информируем ее про новый раздел:

8 0 5242880 sda
8 1 1048576 sda1
8 2 2096128 sda2
8 3 2097152 sda3
11 0 1048575 sr0
253 0 1777664 dm-0
253 1 315392 dm-1

Отлично, теперь система может работать с новым разделом. Теперь можно и расширять:

Замечательно, диск создали, группу томов расширили:

Осталось расширить логический том:

Но и тут не все гладко пошло. Из-за особенностей подсчета размера диска не все 2 изначальных гигабайта были мне доступны. Я не хотел заморачиваться с пересчетами и просто расширил на все свободное место:

Вот и все. Проверяем текущий размер раздела:

В инструкции рассмотрены сценарии расширения дискового пространства разделов в Linux без потери информации.

Принцип увеличения диска:

  1. Расширение раздела.
  2. Изменение размера файловой системы.

В зависимости от типа раздела и файловой системы, действия различаются.

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

Шаг 1. Расширение раздела

Обычные тома

Допустим, есть диск /dev/sdb и раздел /dev/sdb2, который нужно увеличить.

Сначала необходимо отмонтировать раздел:

В случае работы с корневой директорией, отмонтировать ее не получиться. В таком случае необходимо загрузить компьютер с LiveCD.

Подключаемся утилитой fdisk к /dev/sdb:

Если мы работаем с разделом более чем 2Тб, используем утилиту parted.

Смотрим номера разделов:

Удаляем раздел (не переживайте — все данные сохраняются):

* в моем примере, раздел для удаления на второй позиции.

Создаем новый раздел:

Номер раздела — 2:

На запрос начального и конечного секторов просто нажимаем Enter.

Если раздел был загрузочный, добавляем соответствующий флаг:

Еще раз проверяем, что получилось:

LVM-тома расширяются на лету, даже для корневых разделов. В данном примере, работаем с /dev/sda.

Открываем диск утилитой fdisk:

* напомню, что при работе с диском 2Тб и более, следует использовать утилиту parted.

Создаем еще один раздел:

Номер раздела оставляем тот, который предлагает система (просто нажимаем Enter).

Первый и последний сектора также оставляем по умолчанию для использования всего дискового пространства (еще два раза Enter).

Задаем тип раздела:

Выбираем номер раздела (в моем примере создавался раздел 3):

Командой L можно посмотреть список всех типов, но нас интересует конкретный — LVM (8e):

Проинформируем систему, что в таблице разделов произошли изменения:

Создаем физический том из нового раздела:

Смотрим наши Volume Group и для нужного добавляем созданный том:

vgextend vg_centos /dev/sda3

* в моем примере группа томов LVM называется vg_centos

Смотрим LVM-разделы и расширяем пространства для нужного:

lvextend -l +100%FREE /dev/vg_centos/lv_root

* данная команда расширяем LVM-раздел /dev/vg_centos/lv_root, используя все свободное пространство (100%FREE).

Шаг 2. Изменение размера для файловой системы

Посмотреть файловую систему:

ext2/ext3/ext4:

XFS:

Reiserfs:

* обратите внимание, что в данных примерах используются различные устройства.

Если раздел был отмонтирован, монтируем его, например:

mount /dev/sda2 /mnt

Проверяем, что настройки применились:

Увеличение разделов с Gparted

Если работы выполняются на системе с графическим интерфейсом или есть возможность перезагрузить сервер и загрузиться с LiveCD, можно воспользоваться простым средством — утилитой Gparted, которая позволяем менять размер разделов мышкой.

Запускаем утилиту - выбираем диск, с которым будем работать - кликаем правой кнопкой по разделу, который хотим увеличить и выбираем Resize/Move:

Изменение раздела в GParted

В открывшемся окне с помощью мышки или форм меняем размер раздела:

Уменьшение или увеличение пространства в GParted

Нажимаем кнопку Resize/Move.

Проверяем изменения в окне программы и сохраняем настройки кнопкой «Apply All Operations»:

Важно! До внесения изменений, обязательно сделайте резервную копию (backup) всех данных сервера. Любые манипуляции с разделами несут в себе риск потери данных.

Расширение будет выполнено без потери данных. Это такая «хитрая техника»: существующий раздел удаляется, а на его месте создается новый, большего размера.

В нашем примере устройство называется vda и находится в каталоге /dev

1. Необходимо узнать название устройства жесткого диска который мы хотим расширить. Делается это командой fdisk -l

2. Чтобы увеличить размер раздела (партиции, слайса) на диске, нам необходимо выполнить: fdisk /dev/vda

1-add-disk-space-linux-server

3. Затем внутри командной строки приложения fdisk выполнить p (print), чтобы увидеть таблицу разделов на диске.

2-add-disk-space-linux-server

В нашем примере раздел один. Называется /dev/vda1 и имеет объем 5ГБ. Сам же жесткий диск имеет объем 10ГБ. Давайте расширим /dev/vda1 до 10ГБ.

4. Выполним d для удаления существующего раздела. Затем n – для создания нового, p – для primary, 1 – это номер раздела; и укажем начало и конец раздела в секторах. Начальный сектор должен соответствовать начальному сектору раздела, который был удален. На скриншоте видно, что это 2048. Последний сектор раздела выбираем максимально возможным. В нашем случае fdisk предлагает нам 20971519. Его и введем.

3-add-disk-space-linux-server

5. Еще раз p – чтобы убедиться, что раздел теперь увеличился до необходимого нам размера. И w – для записи и выхода из fdisk.

4-add-disk-space-linux-server

После этого мы получим предупреждение, что устройство подмонтировано и суперблок недоступен, и что объем раздела будет изменен после перезапуска ОС.

6. Перезагружаем ОС — reboot

7. После перезагрузки нам необходимо расширить ФС на весь раздел. Сделаем это командой resize2fs /dev/vda1

5-add-disk-space-linux-server

8. Далее, df -h – чтобы удостовериться, что все получилось.

Как увеличить размер диска LVM в ОС Linux на примере CentOS

Работа с дисками LVM в CentOS

Но место в системе не увеличилось, как и должно быть

Кстати, отсюда сразу берем имя группы томов vg_projects и имя тома lv_root, и запоминаем эти имена (у вас они будут другие).

Т.к. у нас теперь имеется неразмеченная область, то создадим новый раздел sda4 с типом раздела Linux LVM (код типа 8e) на этой области. Для этого начинаем работу с устройством sda:

Справка: команды оболочки fdisk

a переключение флага загрузки
b редактирование метки диска bsd
c переключение флага dos-совместимости
d удаление раздела
l список известных типов файловых систем
m вывод этого меню
n добавление нового раздела
o создание новой пустой таблицы разделов DOS
p вывод таблицы разделов
q выход без сохранения изменений
s создание новой чистой метки диска Sun
t изменение id системы раздела
u изменение единиц измерения экрана/содержимого
v проверка таблицы разделов
w запись таблицы разделов на диск и выход
x дополнительная функциональность (только для экспертов)

Далее используем следующие команды: n — создаём новый раздел;
p — обозначаем его как primary;
так как у нас было 3 логических раздела, то на вопрос Partition number (1-4) отвечаем 4;
t — укажем тип раздела;
опять тот же вопрос Partition number (1-4), отвечаем 4;
вводим 8e — это код типа раздела, соответствующий Linux LVM;
убедимся, что всё сделано верно, вводим p — показать таблицу разделов:

Отлично. Раздел sda4 создан. Вводим w для сохранения изменения на диске.

Теперь ОБЯЗАТЕЛЬНО перезагружаем виртуальную машину.

Надеюсь у вас всё удачно перезагрузилось. Теперь необходимо создать физический том sda4:

Далее расширяем группу томов, на новое пространство. Используем наше имя группы томов vg_projects, которое мы подсмотрели ранее, командой df:

Теперь расширим логический том. Вспоминаем, что говорил нам df.

Еще пару волшебных действий для активации

Для CentOS 7 с файловой системой xfs используйте xfs_growfs вместо resize2fs. Данный процесс может занять некоторе время. После завершения операции проверим чего мы натворили:

Готово! Увеличение на 5см размера диска LVM в ОС Linux CentOS выполнено.

Нашли ошибку в тексте? Выделите фрагмент текста и нажмите Ctrl+Enter

4 thoughts on “ Как увеличить размер диска LVM в ОС Linux на примере CentOS ”

Насчет перезагрузки после создания раздела диска, перезагружаться необязательно.
Можно просто перечитать заново разделы заново:
partx -a /dev/sdX
где sdX ваш диск

Спасибо за отличное дополнение, обязательно внесу в статью!

Читайте также: