Назад | Перейти на главную страницу

как выполнить кикстарт-установку CentOS 6.0 на аппаратной RAID-карте Areca 1880i

У меня есть сервер с этим оборудованием

и создали один том 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