В существует возможность аренды серверов с большими дисками по 3 Tb. Ниже пойдет речь о том, как запустить сервер с 4 x 3 Tb Software RAID-5 и создать диск размером 9 Tb.
Заказываем RESCUE-mode из панели управления Hetzner.
Заходим по SSH и запускаем установку ОС из образа:
installimage
Выбираем CentOS 6 64bit, а в файле конфигурации прописываем следующие параметры:
SWRAIDLEVEL 1 PART /grub ext3 128M PART swap swap 8G PART / ext3 30G PART /vz ext4 all
После установки запрашиваем еще раз в панели управления Hetzner RESCUE-mode и запускаем
reboot
После перезагрузки удаляем ненужные массивы:
mdadm -S /dev/md0 mdadm -S /dev/md3 mdadm --zero-superblock /dev/sda1 mdadm --zero-superblock /dev/sdb1 mdadm --zero-superblock /dev/sdc1 mdadm --zero-superblock /dev/sdd1 mdadm --zero-superblock /dev/sda5 mdadm --zero-superblock /dev/sdb5 mdadm --zero-superblock /dev/sdc5 mdadm --zero-superblock /dev/sdd5
Конвертируем partition table из MSDOS в GPT (запускаем и нажимаем «w», после чего подтверждаем):
gdisk /dev/sda gdisk /dev/sdb gdisk /dev/sdd gdisk /dev/sdc
Задаем загрузочный раздел для GRUB:
parted /dev/sda set 1 bios_grub on parted /dev/sdb set 1 bios_grub on parted /dev/sdc set 1 bios_grub on parted /dev/sdd set 1 bios_grub on
Дублируем таблицу партиций из GPT в MSDOS:
apt-get install gptsync gptsync /dev/sda gptsync /dev/sdb gptsync /dev/sdc gptsync /dev/sdd
Загружаем GRUB и перезагружаем сервер:
mount /dev/md2 /mnt mount --bind /sys /mnt/sys mount --bind /proc /mnt/proc mount --bind /dev /mnt/dev chroot /mnt grub-install /dev/sda grub-install /dev/sdb grub-install /dev/sdd grub-install /dev/sdc
Удаляем из /etc/fstab следующие строки:
/dev/md0 /grub ext3 defaults 0 0
И перезагружаем:
reboot
Устанавливаем parted:
yum install -y parted
Удаляем маленькие партиции, создаем большие и перезагружаем сервер (чтобы перечиталась таблица партиций):
parted /dev/sda rm 5 parted /dev/sdb rm 5 parted /dev/sdd rm 5 parted /dev/sdc rm 5 parted /dev/sda mkpart RAID ext4 40.9GB 2960GB parted /dev/sdb mkpart RAID ext4 40.9GB 2960GB parted /dev/sdd mkpart RAID ext4 40.9GB 2960GB parted /dev/sdc mkpart RAID ext4 40.9GB 2960GB parted /dev/sda set 4 raid on parted /dev/sdb set 4 raid on parted /dev/sdd set 4 raid on parted /dev/sdc set 4 raid on reboot
И, после перезагрузки, заново создаем RAID-5 с использованием всех 4-х дисков (ключи «--spare-devices=0» и «--force» принуждают mdadm использовать все 4 диска для RAID-5, в ином случае 4-й диск становится резервным):
mdadm --create /dev/md3 --raid-devices=4 --spare-devices=0 --force --level=5 /dev/sda4 /dev/sdb4 /dev/sdc4 /dev/sdd4
Записываем в /etc/mdadm.conf новые данные о массивах. Получаем новый вывод командой
mdadm --examine --scan
и копируем его в /etc/mdadm.conf.
Дальше проще всего обновить ядро. ![]()
При обновлении ядра, создается новый initrd с правильным mdadm.conf, что исключает появление /dev/md127 вместо /dev/md3.
Для примера, устанавливаем vzkernel из (этот файл можно положить в /etc/yum.repos.d/). И перезагружаем сервер.
yum install vzkernel reboot
Создаем файловую систему
mkfs.ext4 -m0 /dev/md3
И дожидаемся, когда синхронизируется рейд:
watch cat /proc/mdstat
Похожие записи:
* чтобы перечитывать таблицу разделов без перезагрузки partprobe
* наверное, опечатка «apt-get install gptsync» видимо, все же, «yum»? или это какая-то виртуализация с дебианом снаружи? (тогда прошу прощения)
Victor
24.01.2012 в 13:43
apt-get — потому что RESCUE в Hetzner работает на Debian
Игорь Олемской
24.01.2012 в 15:35
Привет. А почему узначально выбирается именно SWRAIDLEVEL 1, а не SWRAIDLEVEL 5. Это существенно? Пытаюсь сделать то же самое на на XS13 с семью винтами.
K0rwin
21.03.2012 в 9:43
Привет!
А зачем для загрузочного раздела делать RAID-5?
Игорь Олемской
21.03.2012 в 11:54
Ясно
.
Что-то у меня видимо совсем руки кривые... Добрался до этого момента:
Удаляем из /etc/fstab следующие строки:
1 /dev/md0 /grub ext3 defaults 0 0
И перезагружаем:
1 reboot
И не поднимается сервер. Дважды пробовал уже. Не могли бы Вы подсказать, в чем может быть проблема? До этого момента все, вроде, нормально прошло.
k0rwin
21.03.2012 в 12:59
Так на память я и не скажу.
Игорь Олемской
21.03.2012 в 13:09
И еще один вопрос, в догонку.
Делал изначально по этой инструкции: .
В принципе, то же самое, что и у Вас, но пропущен один шаг:
После перезагрузки удаляем ненужные массивы:
view source
print?
01 mdadm -S /dev/md0
02 mdadm -S /dev/md3
03
04 mdadm --zero-superblock /dev/sda1
05 mdadm --zero-superblock /dev/sdb1
06 mdadm --zero-superblock /dev/sdc1
07 mdadm --zero-superblock /dev/sdd1
08 mdadm --zero-superblock /dev/sda5
09 mdadm --zero-superblock /dev/sdb5
10 mdadm --zero-superblock /dev/sdc5
11 mdadm --zero-superblock /dev/sdd5
Насколько это критично?
PS: кроме того, там, вроде, ошибка. /etc/fstab предлагается редактировать ПОСЛЕ ребута
.
Буду безмерно благодарен за любую подсказку.
k0rwin
21.03.2012 в 13:13
Возможно и до ребута, но шаг на то и есть, чтобы его выполнили
Игорь Олемской
21.03.2012 в 13:16
Просто у меня 7 винтов. Пытаюсь понять, как оно должно выглядеть в моем случае.
Вот что странно. Перегрузился опять в rescue. В
/etc/fstab вижу только одну строку:
dummy /dummy auto noauto 0 0
Впечатление такое, что полностью потерлось все, что я делал.
k0rwin
21.03.2012 в 13:22
Честно, я без понятия
Игорь Олемской
21.03.2012 в 13:36
Здравствуйте,
k0rwin — у меня такая же проблема, тоже 7 винтов — после ребута не грузится система
напишите если что-то прояснилось
Спасибо
nickolay
30.03.2012 в 15:02
k0rwin
/etc/fstab
dummy /dummy auto noauto 0 0
ето не ваш файл
ваш после маунта смотрите в
/mnt/etc/fstab
nickolay
30.03.2012 в 15:06
nickolay,
так у Вас завелось? Я просто забил, в конце концов, и поставил Убунту
. Она 15Tb поддерживает «из коробки». Правда проблем с ней куча. Если centos таки ставится — буду переходить на него.
k0rwin
17.04.2012 в 16:53