Расширение диска или раздела Linux
В инструкции рассмотрены сценарии расширения дискового пространства разделов в Linux без потери информации.
Принцип увеличения диска:
- Расширение раздела.
- Изменение размера файловой системы.
В зависимости от типа раздела и файловой системы, действия различаются.
Любая работа с диском несет риск потери информации. Перед началом работ убедитесь в наличие резервных копий ценных данных.
Шаг 1. Расширение раздела
Обычные тома
Допустим, есть диск /dev/sdb и раздел /dev/sdb2, который нужно увеличить.
Сначала необходимо отмонтировать раздел:
В случае работы с корневой директорией, отмонтировать ее не получиться. В таком случае необходимо загрузить компьютер с Windows LiveCD или GParted Live.
Подключаемся утилитой 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:

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

Нажимаем кнопку Resize/Move.
Проверяем изменения в окне программы и сохраняем настройки кнопкой «Apply All Operations»:
Расширение диска в Linux (Debian, CentOS, Ubuntu)
Важно! До внесения изменений, обязательно сделайте резервную копию (backup) всех данных сервера. Любые манипуляции с разделами несут в себе риск потери данных.
Расширение будет выполнено без потери данных. Это такая «хитрая техника»: существующий раздел удаляется, а на его месте создается новый, большего размера.
В нашем примере устройство называется vda и находится в каталоге /dev
1. Необходимо узнать название устройства жесткого диска который мы хотим расширить. Делается это командой fdisk -l
2. Чтобы увеличить размер раздела (партиции, слайса) на диске, нам необходимо выполнить: fdisk /dev/vda
![]()
3. Затем внутри командной строки приложения fdisk выполнить p (print), чтобы увидеть таблицу разделов на диске.

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

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

После этого мы получим предупреждение, что устройство подмонтировано и суперблок недоступен, и что объем раздела будет изменен после перезапуска ОС.
6. Перезагружаем ОС — reboot
7. После перезагрузки нам необходимо расширить ФС на весь раздел. Сделаем это командой resize2fs /dev/vda1

8. Далее, df -h – чтобы удостовериться, что все получилось.
Как изменить размер Ext4
На данный момент Ext4 — это самая популярная файловая система для операционных систем семейства Linux, она используется как на серверах, так и на домашних компьютерах, и там и там часто возникает необходимость изменить размер раздела.
В сегодняшней статье мы рассмотрим как расширить раздел Ext4 в графическом интерфейсе или с помощью терминала.
Как увеличить размер Ext4
Шаг 1. Увеличение раздела
Если вы хотите изменить размер корневого раздела файловой системы, то вам обязательно надо будет загрузится с LiveCD иначе вы не сможете редактировать примонтированный раздел. Если это не системный раздел, то его можно отмонтировать и затем изменять. Для увеличения раздела будем использовать parted. Сначала запустите утилиту:
sudo parted /dev/sda
Здесь /dev/sda — это ваш диск, один из разделов которого вы хотите расширить. Сначала выведите текущую таблицу разделов, для этого выполните:

Как видите, здесь есть только один раздел и он занимает 16 гигабайт, а всего на диске доступно 21,7 гигабайт. Чтобы расширить Ext4 и занять всё это пространство используйте команду resizepart:
(parted) resizepart 1 21,7GB

Первый параметр, это номер раздела, который вы узнали из предыдущей команды, а второй, размер раздела, доступный размер тоже выводится в предыдущей команде. Теперь утилиту можно закрыть:
Шаг 2. Увеличение файловой системы
Осталось увеличить самую файловую систему до конца раздела. Для этого воспользуемся утилитой resize2fs. Она может работать даже когда файловая система смонтирована.
sudo resize2fs /dev/sda1

Утилита по умолчанию увеличивает файловую систему на всё доступное пространство раздела.
Шаг 3. Проверка на ошибки
После этого не помешает проверить всё на ошибки с помощью fsck:
sudo e2fsck -f /dev/sda1

Шаг 4. Монтирование
Затем можно монтировать полученную файловую систему и проверять её размер, как видите, теперь она занимает 20 гигабайт:
df -h | grep /dev/sda1
Как уменьшить размер Ext4
Допустим, нам надо отделить от корневого раздела четыре гигабайта и создать из них другой раздел, например, раздел подкачки. Для этого сначала надо уменьшить размер файловой системы, а затем самого раздела.
Шаг 1. Проверка файловой системы
Перед тем, как уменьшить размер Ext4 надо проверить её на ошибки. Если файловая система смонтирована, размонтируйте её:
sudo umount /dev/sda1
Для этого выполните:
sudo e2fsck -f /dev/sda1

Шаг 2. Уменьшение файловой системы
Уменьшение размера файловой системы тоже выполняется с помощью resize2fs. Но теперь утилите надо передать в параметрах новый размер файловой системы. Например, 16 гигабайт:
resize2fs /dev/sda1 16G

Размер можно указывать в килобайтах (K), мегабайтах (M) или гигабайтах (G). Теперь вы знаете как изменить размер Ext4. В выводе утилита вы увидите сколько теперь блоков занимает файловая система. Это число надо умножить на 4096 чтобы получить размер файловой системы в байтах. Цифра четыре взята потому что размер одного блока в Ext4 равняется четырём килобайтам. Например, в данном случае это будет 17179869184 байт или 16 гигабайт:

Теперь надо уменьшить размер раздела с помощью parted. Но значение желательно брать чуть больше, для безопасности, потому, что если вы зацепите пространство, где расположена файловая система, то работать с ней вы больше не сможете.
Шаг 3. Уменьшение раздела
Запустите parted и используйте ту же команду resizepart чтобы уменьшить размер раздела:
sudo parted /dev/sda
(parted) resizepart 1 16,1GB

Чтобы закрыть программу выполните:
Шаг 4. Монтирование
После этого файловую систему можно монтирововать и проверять её размер:
sudo mount /dev/sda1 /mnt
df -h | grep /dev/sda1

Выводы
В этой статье мы рассмотрели как уменьшить раздел Ext4, а также как его увеличить через терминал. Если вы работаете в графическом интерфейсе, то всё выполняется гораздо проще. Для этого можно воспользоваться утилитой Gparted. Она автоматически меняет как размер раздела, так и файловой системы. К тому же программа может не только менять положение конца раздела, но и начала, иногда это может быть полезно. А как вы меняете размер файловой системы? Напишите в комментариях!
alt=»Creative Commons License» width=»» />
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Оцените статью:
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
5 комментариев
Полезная статья. Когда то была необходимость изменять размеры разделов (хотел увеличить home за счет корневого), но без знаний не получилось.