Столкнулся тут с такой ситуацией: есть удалённый сервер, на нём оказался диск побольше прежнего, на новый диск перенесли образ старого, но осталось ещё место, которое никак не размечено. Вопрос: как выделить оставшееся место под отдельный раздел, перенеся туда /var
? Ответ — далее.
Запускаем утилиту для разметки дисков (далее я буду работать с правами рута, поэтому не забудьте выполнить sudo su
):
fdisk
Попадаем в её командный режим (если ввести команду m
, то будет доступна справка по всем командам), но необходимые команды для нас это:
p
— просмотр текущей таблицы разделов.
n
— создание нового раздела.
w
— запись таблицы разделов на диск и последующий выход.
q
— выход без записи новой таблицы на диск.
После команды n
вас спросят, хотите ли вы делать раздел основным или расширенным. Учтите только, что основных разделов не может быть более четырёх, если их уже столько, то, по-любому, придётся создавать расширенный.
Далее будет предложено выбрать номер раздела (например, если укажите 3, то в итоге получите раздел /dev/sda3
— не волнуйтесь, занять имеющийся раздел у вас не получится, утилита выдаст ошибку и придётся создавать раздел с другим номером).
После будет предложено указать начальный и конечный цилиндры раздела. Но если вы просто станете нажимать Enter, то утилита сама подставит значения, определяющие участок от последнего размеченного раздела и до конца диска.
Проверяем новую таблицу разделов (p
), запоминаем какой раздел у нас появился (например, /dev/sda3
), записываем новую таблицу на диск (w
).
Далее нужно, чтобы система получила доступ к обновлённой файловой системе с новым разделом. Я торопился поэтому… перезагрузился. В комментариях принимается более разумный совет (на всякий случай напомню, что сервер удалённый).
Теперь раздел надо отформатировать. Я выбрал вполне современную журналируемую файловую систему ext3. И отформатировал в неё раздел лаконичной командой:
mkfs.ext3 /dev/sda3
Теперь надо примотировать новый диск, для этого нам потребуется точка монтирования, создадим её:
mkdir /media/tmp
Примонтируем устройство:
mount /dev/sda3 /media/tmp
Скопируем старое содержимое из /var
на новое устройство:
cp -ax /var/* /media/tmp
Переименуем старый /var
:
mv /var /oldvar
Создаём пустую директорию /var
для монтирования:
mkdir /var
Добавляем в конфигурационный файл /etc/fstab
такую строку:
/dev/sda3 /var ext3 relatime,errors=remount-ro 0 1
Перегружаем fstab:
mount -a
Подчищаем ненужный теперь мусор:
umount /media/tmp
rm -r /media/tmp
Готово.
»