August 6, 2022

Hetzner объединение объема 2х дисков в 1

При создании сервера на Hetzner выберите дополнительный объем памяти, при таких конфигурациях у Вас создастся сервер с двумя дисками - на одном будет количество памяти, которое заявлено в сервере, на втором такое, как Вы выбрали в дополнительном параметре(Volume).

Заходите на hetzner, выбираете необходимый сервер, раздел RESCUE, нажимаете "ENABLE RESCUE", выбираете linux64 и ssh.
Далее перезагружаете сервер, что бы новый логин и пароль стали активными (переключатель ON/OFF в правом верхнем углу).

Теперь идем в терминал и логинимся, используя логин и пароль из поля Credentials, как выше на скрине. Это мы залогинились в rescue систему, подобие безопасного режима в винде (Вы можете видеть это ниже на скрине - root@rescue). Так же я тут вижу объемы своих дисков сразу.

Теперь необходимо переустановить операционную систему Убунту, перераспределяя память и логически объединить диски.

Вводим:

installimage

Открывается меню установки системы, выбираем какую ставить, а так же ее версию:

После выбора Убунту и ее версии - кликаем "ок" до открытия вот такого конфигурационного файла установки:

Тут ищем и изменяем следующие поля:

SWRAIDLEVEL 1
#удалить

SWRAID 1
#удалить

UEFI##PART / ext4 all
#удалить

HOSTNAME=<ubuntu_hwe>
#<ubuntu_hwe> будет указана выбранная вами ОС
#меняем на любое значение (это название вашего сервера) 

PART...
#таких строк может быть много, проверяем, что бы они все были закоментированы
#строка, с знаком хештега в начале - закоментированна и не будет выполняться, как команда

Ищем раздел "example with LVM:" (как на скрине ниже)

Тут раскоментируем(удалить хештег перед строкой) две строки, ничего при этом не меняя:

PART /boot ext3 512M
PART lvm vg0 all 

Еще меняем строки:

#LV vg0 swap swap swap 4G
#удаляем хештег перед и меняем последний параметр(4G) на свое количество RAM

#LV vg0 home /home xfs 20G
#раскомментируем, меняем на LV vg0 root / ext4 all (должно получится, как на скрине ниже)

Нажимем f10 (сохраняя изменения), прожимаем несколько раз "ок", начнется процесс форматирования, ждем его окончания (если были какие-то данные до этого на сервере - они все удалятся!

Процесс объединения дисков завершен!

Перезагружаем сервер:

reboot

Перезагружаем сервер через хетцнер(ONN/OFF), заходим через портх с тем же паролем, но уже нас пускает не в рескью систему, а в обычный режим.

Устанавливаем qemu-guest-agent(по умолчанию такой агент установлен на арендуемых серверах и позволяет скидывать пароль с личного кабинета, сейчас на сервере его нет из-за переустановки системы, которую мы выполнили):

sudo apt update
sudo apt install qemu-guest-agent
sudo systemctl start qemu-guest-agent
sudo service qemu-guest-agent status

Монтируем свободную память в раздел root

pvcreate /dev/sdb

vgextend vg0 /dev/sdb

lvextend --resizefs -l +100%FREE /dev/vg0/root

Можно проверить объем диска следующей командой:

df -h

Если после проверки вы обнаружили, что память объединилась не корректно, то стоит проверить вот что:

Как Вашу память разбил сервер, в какие подразделы, выполняем команду:

lsblk

Видим вот такую картину:

Если Вы видите, что часть необходимой Вам памяти находится не в root, а в другом разделе, нужно правильно ее примонтировать в рут. Примонтировать можно только раздели с одинаковым полем "TYPE" , выбираем подходящий раздел и выполняем команды:

pvcreate /dev/<sdb1>
#<sdb> заменяем на имя раздела, который хотите примонтировать

vgextend vg0 /dev/<sdb1>
#<sdb> заменяем на имя раздела, который хотите примонтировать

lvextend --resizefs -l +100%FREE /dev/vg0/root

Видео-гайд от нашей команды тут

Спасибо за внимание! И поздравляю с новым навыком!
С любовью о Ваших скилах - @kulikovae!

Smart Hamster Nodes Studio
Курс "Обучение по нодам" тут!
Наша новостная группа тут!