вторник, 11 ноября 2008 г.

Автоматическая установка Sun Solaris при помощи инструментария Jumpstart

Последнее время появилась необходимость чаще и быстрее устанавливать ОС Sun Solaris 10 (SPARC). Связано это соответствено с расширением инфраструктуры моей компании. Поэтому чтобы не тратить по два часа на установку ОС с DVD привода, я решил потратить эти 2 часа на создание Jumpstart сервера и в дальнейшем осуществлять установки максимум за 30 минут имея ту конфигурацию на каждом сервере, которая мне необходима.


Итак. Даная инструкция будет короткая и показательным примером того как примерно вам настраивать ваш Jumpstart.
Jumpstart состоит из двух частей.
1) Install сервер (установочный)
2) Boot сервер (загрузочный)
То есть если в серверной #1 подсеть 10.10.10.0/24, в в серверной #2 подсеть 10.20.20.0/24, то соответсвено в каждой из серверных нам необходимо развернуть по boot серверу, которые будут раскидывать ARP BROADCAST и при установке ссылаться напрямую к install серверу. Install сервер может находится где угодно и быть одним.
Install и Boot сервисы в моем Jumpstart будут находится вместе на одном сервере.
Итак...

Часть 1. Подготавливаем установочную часть.

1. Создаем директорию для установочной части
# mkdir /export/install

2. Переходим в DVD привод
# cd /cdrom/s0/Solaris_10/Tools

3. Запускаем скрипт для копирования образа Solaris 10 в директорию установки.
# ./setup_install_server -b /export/install

Процесс может занять около 30 минут.
Кстати лично я делаю это с образа DVD - iso файла. Намного быстрее и удобнее.
# lofiadm -a /opt/install/sun10sparc.img
/dev/lofi/1
# mount /dev/lofi/1 /cdrom

Часть 2. Подготавливаем загрузочную часть.

1. Отредактируйте файл /etc/ethers вписав в него МАС адресс клиента (машину на которую будем ставить ОС)
0:14:4f:ac:58:64 client.example.com

2. Отредактируйте файл /etc/hosts вписав в него
10.10.10.100 server.example.com loghost timehost
10.10.10.200 client.example.com client

3. Отредактируйте файл /etc/netmasks
10.10.10.0 255.255.255.0

4. Вставте DVD диск в привод сервера и создайте директорию конфигурации
# mkdir /export/config

5. Поменяйте директорию на /cdrom/s0/Solaris_10/Misc/jumpstart_sample и скопируйте example-configs в директорию /export/config
# cd /cdrom/s0/Solaris_10/Misc/jumpstart_sample
# cp -r * /export/config/

6. Отредактируйте файл /export/config/rules под ваши нужды.
# cd /export/config
# mv rules rules.orig
# vi rules
hostname client.example.com - host_class finish_script

Синтаксис этого файла следующий:
hostname имя сервера pre-install script configuration file post-install script

7. Отредактируйте конфигурационый файл host_class (Имя файла кстати вы можете выбрать любое которое вам нравится)
# pwd
/export/config
# vi host_class
install_type initial_install
system_type standalone
partitioning explicit

filesys mirror:d10 c1t0d0s0 c1t1d0s0 15360 /
filesys mirror:d20 c1t0d0s1 c1t1d0s1 8192 swap
filesys mirror:d30 c1t0d0s3 c1t1d0s3 112640 /data
metadb c1t0d0s7 count 3
metadb c1t0d0s7 count 3

cluster SUNWCall
cluster SUNWCapache delete
cluster SUNWCaudd delete
cluster SUNWCdtdev delete
cluster SUNWCdtrun delete
cluster SUNWCdtusr delete
cluster SUNWCdtrunx delete
cluster SUNWCfs delete
cluster SUNWClp delete
cluster SUNWCsppp delete
cluster SUNWCwget delete
cluster SUNWCwsdk delete
cluster SUNWCGtk delete
package SUNWmozilla delete
package SUNWmozilla-devel delete
package Cluster-Sol-10-SPARC-local add

В даной конфигурации я сразу же стою RAID-1 (Mirror) и редактирую необходимые мне пакеты установки.

8. Создаем файл finish_script всего с двумя строчками
# vi finish_script
#!/bin/sh
touch /a/noautoshutdown
# chmod 644 finish_script
Эта команда конфигурирует Jumpstart клиент на использование автовыключения питания.

9. Запускаем скрипт проверки нашей конфигурации
# ./check

Должен появится файл rules.ok

10. Создаем файл sysidcfg с ответми на вопросы инсталятора

# vi sysidcfg
network_interface=e1000g0 { primary hostname=client.example.com
ip_address=10.10.10.200
protocol_ipv6=no
netmask=255.255.255.0
default_route=10.10.10.1}
name_service=none
timezone=Asia/Almaty
system_locale=C
security_policy=none
root_password=aTBAweXzif5T3
timeserver=localhost
terminal=vt100

11. Теперь предоставляем Jumpstart по NFS.
Редактируем файл /etc/dfs/dfstab

# vi /etc/dfs/dfstab
share -F nfs -o ro /export/config
share -F nfs -o ro,anon=0 /export/install

Проверяем на запуск службу NFS

# svcs -a | grep nfs
online Oct_02 svc:/network/nfs/mapid:default
online Oct_02 svc:/network/nfs/status:default
online Oct_02 svc:/network/nfs/nlockmgr:default
online Oct_02 svc:/network/nfs/client:default
online Oct_02 svc:/network/nfs/rquota:default
online Nov_05 svc:/network/nfs/cbd:default
disable Nov_06 svc:/network/nfs/server:default
# svcadm enable svc:/network/nfs/server:defaul
# svcs -l svc:/network/nfs/server:default
fmri svc:/network/nfs/server:default
name NFS server
enabled true
state online
next_state none
state_time Thu Nov 06 14:12:16 2008
logfile /var/svc/log/network-nfs-server:default.log
restarter svc:/system/svc/restarter:default
contract_id 17162
dependency require_any/error svc:/milestone/network (online)
dependency require_all/error svc:/network/nfs/nlockmgr (online)
dependency optional_all/error svc:/network/nfs/mapid (online)
dependency require_all/restart svc:/network/rpc/bind (online)
dependency optional_all/none svc:/network/rpc/keyserv (maintenance)
dependency optional_all/none svc:/network/rpc/gss (online)
dependency require_all/error svc:/system/filesystem/local (online)

12. Добавляем нашего клиента в установщик
# cd /export/install/Solaris_10/Tools
# ./add_install_client -c server.example.com:/export/config \
> -p server.example.com:/export/config client.example.com sun4x

Все ... Теперь заходя в OpenBoot на сервере клиента (Например через ILOM) мы даем команду :

ok boot net - install nowin

Система начнет ставится автоматически и установится в течении получаса (в зависимости от вашей конфигурации).
На этом все...

2 комментария:

sHaggY_caT комментирует...

Привет. Получилось ли у Вас установить Solaris по Jump Start через Cobbler?

iOsX комментирует...

Привет вам через полтора года :)) Нет в дальнейшем я не заморачивался с cobbler, а вот через Spacewalk в 2009-ом не вышло тоже. Можно было регистрировать системы Solaris и добавлять Recommended патчи в репозитарий, но к тому моменту Oracle уже сделала свои обновления платными и обновить систему Solaris на что то адекватное я не смог. Но репозитарий со старыми обновлениями я точно помню добавил :) Так что на тот период работало.