Настройка RAID и разделов в Rescue Hetzner
При аренде выделенного сервера в Hetzner вы можете столкнуться с ситуацией, когда система загружается в Rescue-режим, а стандартная разбивка дисков не устраивает. Особенно часто проблемы возникают с RAID-массивами и разделом подкачки (SWAP). В этой статье мы разберём, как вручную создать партиции и RAID-массивы через Rescue, а затем установить на них операционную систему.
Почему стандартная разбивка не подходит?
По умолчанию утилита installimage создаёт все разделы в RAID1, включая SWAP. Это приводит к неэффективному использованию дискового пространства, так как SWAP в зеркале избыточен. Кроме того, после установки изменить разметку сложно - попытки пересобрать SWAP-массив часто заканчиваются тем, что сервер перестаёт загружаться. Выход - использовать Rescue-режим для ручного создания нужной конфигурации.
Пошаговая инструкция: создание RAID и разделов в Rescue Hetzner
1. Загрузка в Rescue-режим
Войдите в панель управления Hetzner Robot, выберите сервер и активируйте Rescue-режим. После перезагрузки подключитесь по SSH к Rescue-системе. Вы увидите командную строку с правами root.
2. Очистка дисков
Перед созданием новых массивов необходимо очистить старую разметку. Выполните для каждого диска (например, /dev/sda и /dev/sdb):
wipefs -a /dev/sda
wipefs -a /dev/sdbЭто удалит все существующие таблицы разделов и метаданные RAID.
3. Создание RAID-массивов
Используйте утилиту mdadm для создания массивов. Пример конфигурации:
/dev/md0- /boot, 1 ГБ, RAID1/dev/md1- /, 20 ГБ, RAID1/dev/md2- /var, 30 ГБ, RAID1/dev/md3- SWAP, 32 ГБ, RAID0 (без зеркала)/dev/md4- LVM, оставшееся место, RAID1
Команды для создания:
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3
mdadm --create /dev/md3 --level=0 --raid-devices=2 /dev/sda4 /dev/sdb4
mdadm --create /dev/md4 --level=1 --raid-devices=2 /dev/sda5 /dev/sdb5Важно: перед созданием массивов необходимо разбить диски на разделы с помощью fdisk или parted. Убедитесь, что номера разделов совпадают на обоих дисках.
4. Создание файловых систем и LVM
После создания массивов отформатируйте разделы:
mkfs.ext4 /dev/md0
mkfs.ext4 /dev/md1
mkfs.ext4 /dev/md2
mkswap /dev/md3Для /dev/md4 создайте физический том LVM, группу томов и логические тома:
pvcreate /dev/md4
vgcreate vg0 /dev/md4
lvcreate -L 10G -n root_lv vg0
lvcreate -L 5G -n var_lv vg0
lvcreate -l 100%FREE -n home_lv vg0Отформатируйте логические тома: mkfs.ext4 /dev/vg0/root_lv и т.д.
5. Монтирование разделов и установка системы
Смонтируйте корневой раздел в /mnt, создайте каталоги /mnt/boot, /mnt/var и смонтируйте соответствующие разделы. Затем установите базовую систему с помощью debootstrap (для Debian) или pacstrap (для Arch). После установки настройте /etc/fstab, указав UUID массивов, и установите загрузчик GRUB на оба диска.
FAQ: Часто задаваемые вопросы
Как избежать ошибок при пересборке SWAP?
Не пытайтесь пересобрать SWAP в установленной системе - это часто приводит к неработоспособности. Сразу создавайте SWAP-раздел в RAID0 через Rescue, как описано выше. После установки не забудьте добавить его в /etc/fstab и активировать командой swapon -a.
Можно ли использовать installimage с кастомной конфигурацией RAID?
Да, вы можете передать параметры разметки через файл конфигурации installimage. Укажите в нём свои размеры и уровни RAID для каждого раздела. Однако если нужна нестандартная конфигурация (например, SWAP на RAID0), проще сделать всё вручную.
Что делать, если после перезагрузки сервер не поднимается?
Проверьте корректность записей в /etc/fstab и правильность установки GRUB. Загрузитесь снова в Rescue, смонтируйте разделы и выполните grub-install /dev/sda и grub-install /dev/sdb. Убедитесь, что в /boot/grub/grub.cfg указаны правильные UUID массивов.
Как проверить состояние RAID после установки?
Используйте команду cat /proc/mdstat - она покажет статус всех массивов. Для детальной информации по каждому массиву выполните mdadm --detail /dev/md0. Убедитесь, что все диски активны и нет ошибок.
Зачем делать SWAP на RAID0?
SWAP не требует избыточности: если сервер перезагружается, содержимое SWAP теряется. RAID0 даёт прирост производительности и экономит место, так как не дублирует данные. Для критичных систем можно оставить SWAP на отдельном SSD без RAID.