Игорь Олемской — практические заметки по системному администрированию Linux CentOS

Hetzner — создаем диск на 9 Tb под CentOS

14 комментариев

В Hetzner существует возможность аренды серверов с большими дисками по 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 из репозитория openvz (этот файл можно положить в /etc/yum.repos.d/). И перезагружаем сервер.

yum install vzkernel
reboot

Создаем файловую систему

mkfs.ext4 -m0 /dev/md3

И дожидаемся, когда синхронизируется рейд:

watch cat /proc/mdstat

12.01.2011

Написал Игорь Олемской

Рубрики: Мои записи

14 комментариев к 'Hetzner — создаем диск на 9 Tb под CentOS'

Подписаться на комментарии RSS или Trackback к 'Hetzner — создаем диск на 9 Tb под CentOS'.

  1. * чтобы перечитывать таблицу разделов без перезагрузки partprobe

    * наверное, опечатка «apt-get install gptsync» видимо, все же, «yum»? или это какая-то виртуализация с дебианом снаружи? (тогда прошу прощения)

    Victor

    24.01.2012 в 13:43

  2. apt-get — потому что RESCUE в Hetzner работает на Debian

  3. Привет. А почему узначально выбирается именно SWRAIDLEVEL 1, а не SWRAIDLEVEL 5. Это существенно? Пытаюсь сделать то же самое на на XS13 с семью винтами.

    K0rwin

    21.03.2012 в 9:43

  4. Привет!

    А зачем для загрузочного раздела делать RAID-5? 😉

  5. Ясно :).

    Что-то у меня видимо совсем руки кривые... Добрался до этого момента:

    Удаляем из /etc/fstab следующие строки:

    1 /dev/md0 /grub ext3 defaults 0 0

    И перезагружаем:

    1 reboot

    И не поднимается сервер. Дважды пробовал уже. Не могли бы Вы подсказать, в чем может быть проблема? До этого момента все, вроде, нормально прошло.

    k0rwin

    21.03.2012 в 12:59

  6. Так на память я и не скажу.

  7. И еще один вопрос, в догонку.

    Делал изначально по этой инструкции: www.note4us.com/2012/03/hetzner-3tb/.

    В принципе, то же самое, что и у Вас, но пропущен один шаг:

    После перезагрузки удаляем ненужные массивы:

    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

  8. Возможно и до ребута, но шаг на то и есть, чтобы его выполнили 🙂

  9. Просто у меня 7 винтов. Пытаюсь понять, как оно должно выглядеть в моем случае.

    Вот что странно. Перегрузился опять в rescue. В

    /etc/fstab вижу только одну строку:

    dummy /dummy auto noauto 0 0

    Впечатление такое, что полностью потерлось все, что я делал.

    k0rwin

    21.03.2012 в 13:22

  10. Честно, я без понятия 🙂

  11. Здравствуйте,

    k0rwin — у меня такая же проблема, тоже 7 винтов — после ребута не грузится система

    напишите если что-то прояснилось

    Спасибо

    nickolay

    30.03.2012 в 15:02

  12. k0rwin

    /etc/fstab

    dummy /dummy auto noauto 0 0

    ето не ваш файл

    ваш после маунта смотрите в

    /mnt/etc/fstab

    nickolay

    30.03.2012 в 15:06

  13. nickolay,

    так у Вас завелось? Я просто забил, в конце концов, и поставил Убунту :). Она 15Tb поддерживает «из коробки». Правда проблем с ней куча. Если centos таки ставится — буду переходить на него.

    k0rwin

    17.04.2012 в 16:53

  14. [...] olemskoi.ru/node/7303 – кусок про восстановление загрузчика из под chroot. Вот только ключевой момент не описан, если /boot на отдельном разделе, то его тоже надо смонтировать, иначе grub-install проинсталлит черти чего. [...]

Комментировать