ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как изменить схему разделов на вашем Linux-сервере?

Как изменить схему разделов на вашем Linux-сервере?

В этой статье основное внимание уделяется виртуальным частным серверам как практическому варианту использования, но это также руководство о том, как уменьшить размер раздела на любом (Debian) Linux-компьютере с помощью командной строки.

После того, как вы получите VPS у хостинг-провайдера, вы можете настроить макет раздела. Однако часто у вас нет выбора: вы выбираете желаемую ОС, а затем она устанавливается на один раздел, занимая все доступное дисковое пространство.

Тем не менее, VPS не только для однораздельных веб-серверов! В зависимости от ваших потребностей вы можете добавить раздел подкачки, другой для ваших данных …

К счастью, большинство хостинг-провайдеров предлагают режим восстановления, альтернативную операционную систему на другом жестком диске, с которой вы можете настроить обычную ОС и «нормальный» жесткий диск.

В остальной части этого руководства предполагается, что единственный существующий раздел относится к типу Ext4 (или Ext2/3); это тот случай, если вы установили Debian или Ubuntu.

Не пытайтесь использовать этот метод изнутри системы, используйте режим восстановления. Если не уверены, пожалуйста, проверьте своего VPS-провайдера, дает ли он доступ к спасательной консоли. Изменение размера файловой системы и раздела не стирает данные, поскольку новый желаемый размер больше текущего объема данных. Тем не менее, сделайте резервную копию на внешнем диске/устройстве/сервере.

Допустим, вам нужно уменьшить размер раздела с 40 ГиБ до 2 ГиБ (начиная с начала диска), чтобы создать после него другие разделы.

 

Шаг 1. Переключитесь в режим восстановления и определите диск.

Первое, что нужно сделать, – это перезагрузиться в режиме восстановления, которым обычно является система Debian GNU/Linux. Вам будет предоставлен временный пароль root для этой временной системы, просто SSH.

Затем определите диск, используемый вашей обычной системой; вы можете использовать

fdisk -l

 

Диск /dev/sdb, на котором мы хотим изменить схему разделов, и пока единственный раздел /dev/sdb1. /dev/sda – это диск, на котором находится временная система спасения. Конечно, в оставшейся части этого руководства замените sdb1, если это неправильное имя устройства.

 

Шаг 2: уменьшите файловую систему

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

e2fsck -f /dev/sdb1

 

(иначе следующая команда resize2fs может не сработать).

e2fsck и resize2fs, скорее всего, уже установлены в системе восстановления, но если их нет, установите пакет e2fsprogs.
В Debian запустите:
apt install e2fsprogs

Также убедитесь, что размер файловой системы не превышает 2 ГиБ. Предоставление /mnt пусто, смонтируйте файловую систему с помощью:

mount /dev/sdb1 /mnt

 

и проверьте ее размер с помощью df.

Отключите файловую систему:

umount /dev/sdb1

Запустите:

resize2fs /dev/sdb1 2G

 

Шаг 3: Уменьшите раздел

Пока вы уменьшили файловую систему, а это означает, что вы не можете добавлять в нее данные, которые не соответствуют ее логическому размеру 2 ГиБ. Но раздел, на котором расположена файловая система, по-прежнему занимает все дисковое пространство.

Рекомендуем parted для управления разделами в Linux. В Debian получите это с помощью apt install parted. Этот инструмент можно использовать в интерактивном режиме. Запустите его с аргументом:

parted /dev/sdb

 

Используйте unit s, чтобы все размеры отображались как количество секторов (вместо MiB, GiB и т. д.), Что полезно для точного управления. В противном случае вы можете столкнуться с такими проблемами, как «Результирующий раздел неправильно выровнен для лучшей производительности» . Команда print free позволяет увидеть состояние диска.

Вы хотите, чтобы раздел 1 имел длину 2 ГиБ, что равно 2 * 1024 * 1024 * 1024/512 = 4194304 сектора.

Выполните команду:

resizepart 1

 

Затем вам будет предложено указать местоположение на диске, выраженное в секторах от начала диска, где раздел должен заканчиваться. Поскольку перед разделом, заканчивающимся сектором 2047, есть зарезервированная область , необходимо ввести 4194304 + 2047 = 4196351s.

Не забывайте завершающие “s”.

Ответьте «Yes» после предупреждающего сообщения, затем еще print freeраз, чтобы подтвердить изменение размера раздела.

По нашему опыту, остановка здесь и перезагрузка могут «восстановить» структуру разделов в предыдущем состоянии, то есть, как будто вы никогда не уменьшали раздел!

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

 

Шаг 4: Добавьте другие разделы

Допустим, вы хотите добавить раздел Ext4 размером 12 ГиБ после раздела, занятого ОС.

Во-первых, вы должны «объявить» раздел, поэтому запись будет добавлена ​​в таблицу разделов (где-то в зарезервированной зоне). Используйте следующую команду:

mkpart primary ext4

 

Затем выйдите из parted (C^d) и фактически создайте файловую систему Ext4 на sdb2. Чтобы применить настройки Ext4 по умолчанию, выполните следующую команду:

kfs.ext4 /dev/sdb2

 

Итоги

Эта статья была просто введением в то, как управлять разделами и файловыми системами в командной строке, сосредоточившись на практическом случае серверов, имеющих один большой раздел по умолчанию (и где вы можете захотеть его разделить). Надеемся, это было полезно.

Exit mobile version