У меня есть сервер с этим оборудованием
и создали один том RAID 6, который использует все 5 жестких дисков.
К сожалению, нет поддержки Арека 1880i Карта RAID в ядре Linux в установочном образе CentOS 6.0. Тем не менее, на веб-сайте Areca доступен обновленный модуль ядра (как в виде предварительно скомпилированного двоичного кода для RHEL 6.0, так и в виде исходного кода).
Как написать сценарий кикстарта для автоматизации установки CentOS 6.0 на сервер?
Обновить: Хорошие новости! CentOS 6.2 поддерживает Areca 1880i. Когда я обновился до CentOS 6.2, выполнив «yum -y update», новое ядро имело встроенную поддержку Areca 1880i. Я не тестировал установку кикстарта CentOS 6.2, но думаю, что это тоже должно сработать.
В % pre раздела сценария кикстарта нам нужно запустить pre-install.sh скрипт, который загружает обновленный двоичный модуль ядра (arcmsr) с помощью / sbin / insmod. После этого кикстарт-установка получает доступ к жесткому диску, который рейд-карта Areca 1880i представляет компьютеру, и таким образом может разбивать и создавать на нем файловые системы. В %Почта раздела сценария кикстарта нам нужно запустить post-install.sh сценарий, который устанавливает обновленный двоичный модуль ядра в / mnt / sysimage / lib / modules /, а затем запускает / sbin / mkinitrd, чтобы сервер мог загрузиться после установки.
Предварительно скомпилированный модуль ядра, находящийся на веб-странице Areca, упакован в виде ZIP-архива.
http://www.areca.us/support/s_linux/driver/rhel/6_0.zip
но распаковать команда недоступна во время % pre раздел кикстарт-установки Centos 6.0. Поэтому заранее распаковываем архив.
$ mkdir /tmp/a
$ cd /tmp/a
$ wget --quiet http://www.areca.us/support/s_linux/driver/rhel/6_0.zip
$ unzip 6_0.zip
Archive: 6_0.zip
creating: 6_0/
inflating: 6_0/install.zip
inflating: 6_0/README.txt
$ mkdir /tmp/b
$ cd /tmp/b
$ unzip /tmp/a/6_0/install.zip
Archive: /tmp/a/6_0/install.zip
inflating: driver.img
$ ls -l driver.img
-rw-r--r-- 1 erik users 1474560 2011-05-09 10:48 driver.img
Теперь поместите файл driver.img на каком-то внутреннем веб-сервере. В этом примере файл будет доступен как http://www.example.com/driver.img но вам нужно настроить этот URL в вашем собственном скрипте кикстарта. Вот что вы пишете в разделе% pre
%pre --log=/tmp/kspre.log
#!/bin/sh
cd /tmp
wget http://example.com/driver.img
mkdir /arcmsr
mount -o loop driver.img /arcmsr
cd /arcmsr
sh ./pre-install.sh
sleep 5
dd if=/dev/zero of=/dev/sda bs=512 count=64
parted -s /dev/sda mklabel gpt
%end
В sleep 5
было необходимо, поскольку в противном случае parted -s /dev/sda mklabel gpt
потерпит неудачу вот так
# parted -s /dev/sda mklabel gpt
Error: Can't have the end before the start! (start sector=34 length=-3)
Error: Can't have overlapping partitions.
Error: Can't have overlapping partitions.
Нам нужно создать таблицу разделов GUID (GPT), потому что рейд-карта представляет для компьютера том RAID 6 как жесткий диск емкостью 9 ТБ. 9 ТБ больше максимальных 2 ТБ, которые могут обрабатываться обычной таблицей разделов.
Идея использовать GPT пришла от сообщение списка рассылки Джошуа Дэниела Франклина.
В разделе% post сценария кикстарта мы сначала копируем некоторые установочные файлы в / mnt / sysimage, поскольку они должны быть доступны, когда мы позже запускаем команды после chroot в / mnt / sysimage.
%post --nochroot --log=/mnt/sysimage/root/ks-post1.log
cp -r /tmp /mnt/sysimage/root/tmp
mkdir /mnt/sysimage/tmp/arcmsr
cp -r /arcmsr/* /mnt/sysimage/tmp/arcmsr
%end
%post --log=/root/ks-post2.log
cd /tmp/arcmsr
sh ./post-install.sh
%end
Обратите внимание, что нам нужно иметь два раздела% post, первый без chroot, а второй с chroot в / mnt / sysimage. Сначала я попытался /usr/sbin/chroot /mnt/sysimage
внутри раздела поста% без chroot, но это не сработало.
Схема разбиения сервера может выглядеть так
bootloader --location=mbr
clearpart --linux --drives=sda
part /boot --fstype=ext4 --size=8192
part pv.01 --grow --size=1
volgroup vg0 --pesize=4096 pv.01
logvol swap --name=lv_swap --vgname=vg0 --size=65536
logvol / --fstype=ext4 --name=lv0 --vgname=vg0 --grow --size=1024
В сообщение списка рассылки Джошуа Дэниела Франклина говорит, что следует избегать zerombr
или clearpart --all
в файле кикстарта, поскольку в противном случае GPT, который мы создали в разделе% pre, будет перезаписан.
После установки сервер выглядит так
[user@server ~]$ cat /proc/meminfo |grep SwapTotal
SwapTotal: 67108856 kB
[user@server ~]$ df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/mapper/vg0-lv0 8256978 828 7836720 1% /
tmpfs 12012 0 12012 0% /dev/shm
/dev/sda1 8064 194 7460 3% /boot