Изменение размера раздела ext2/ext3/ext4 без потери информации

Вследствие неправильного разбиения дисковой системы на разделы или в силу непредвиденного резкого увеличения занимаемого дискового пространства наступает момент, когда места на разделе не хватает. Что же делать в сложившейся ситуации? Переустанавливать систему трудозатратно и не легко. Какой выход? Но выход есть всегда! Причем довольно простой. В современной Linux системе расширение дисковых разделов реализовано достаточно хорошо. В некоторых случаях не потребуется даже перезагрузка системы. Рассмотрим изменение размеров разделов файловых систем ext2, ext3, ext4 операционной системы Linux с помощью утилит fdisk и resize2fs на примерах. Эти методы позволяют сохранить существующую информацию на разделах, но в целях безопасности лучше сделать копии важных данных. Поскольку утилиты работают с от монтированным разделом, то для изменения размера корневого раздела потребуется загрузка с установочного или live-диска. Если же у вас desktop с графической системой, то можно воспользоваться легкой в применении программой gparted с графическим интерфейсом.

Увеличение размера раздела ext2/ext3/ext4

И так, предположим, что в нашей системе имеется диск /dev/sdd размером 1 Тб с разделом /dev/sdd1 размером 2 Тб. Попробуем увеличить размер раздела /dev/sdd до 2 Тб, т.е. максимально возможного размера. Для этого зайдем используя ssh на консоль сервера, где введем несколько последовательных команд:

  • от монтируем партицию:
umount /dev/sdd1
  • выполним проверку партиции:
fsck -f /dev/sdd1
  • запустим утилиту fdisk
fdisk /dev/sdd

После выполнения последней команды мы попадаем в интерактивную оболочку fdisk. Нажмем клавишу d (удалить раздел):

Команда (m для справки): d
Выбранный раздел 1

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

Команда (m для справки): n
Действие команды
e расширенный
p основной раздел (1-4)
p
Номер раздела (1-4, по умолчанию 1): 1
Первый сектор (2048-2097151, по умолчанию 2048): <жмём Enter>

Последний сектор тоже выбираем по-умолчанию, нажав Enter:

Last сектор, +секторы or +size{K,M,G} (2048-1097151, по умолчанию 1097151):<жмём Enter>

После этого записываем новую таблицу раздела на диск, нажав w:

Команда (m для справки): w
Таблица разделов была изменена!
...
Синхронизируются диски

Теперь увеличиваем размер файловой системы до последнего сектора:

resize2fs /dev/sdd1

После этого монтируем раздел обратно:

mount /dev/sdd1 /mnt/data

И проверяем новый размер раздела:

df -h

Уменьшение размера раздела ext2/ext3/ext4

Для уменьшения размера раздела с файловой системой ext2/ext3/ext4 необходимо выполнить те же действия, но в обратном порядке.

Например, уменьшим размер раздела до 100 Мб (главное, чтобы этот размер был больше занятого файлами пространства на разделе).

  • от монтируем партицию:
umount /dev/sdd1
  • выполним проверку партиции:
fsck -f /dev/sdd1

выполним команду resize2fs указав в качестве параметра размер новой партиции (100 Мб):

resize2fs /dev/sdd1 100M
  • запустим утилиту fdisk
fdisk /dev/sdd
Команда (m для справки): d
Команда (m для справки): n

Действие команды

e расширенный
 
p основной раздел (1-4)
p
Номер раздела (1-4, по умолчанию 1): 1
Первый сектор (2048-2097151, по умолчанию 2048): <жмём Enter>

Последний сектор выбираем не по-умолчанию, а соответственно новому размеру раздела:

Первый сектор (2048-2097151, по умолчанию 2048): +100M

После этого записываем новую таблицу раздела на диск, нажав w:

Команда (m для справки): w
Таблица разделов была изменена!
...
Синхронизируются диски

После этого монтируем раздел обратно:

mount /dev/sdd1 /mnt/data

И проверяем новый размер раздела:

df -h

Изменение размера раздела ext2/ext3/ext4 без потери информации: 1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *