null

Установка Solaris 10 по сети с помощью Ubuntu/dnsmasq

Дмитрий Борисович уже писал об установке Solaris 10 с помощью FreeBSD: Сетевая загрузка Solaris с FreeBSD. Но мы как известно, пойдем своим путем, и будем использовать в качестве инсталл-сервера Ubuntu, а вместо ISC DHCP - более примитивный dnsmasq, включающий в себя форвардер DNS-запросов (он нам понятное дело, не нужен), dhcp-сервер и tftp-сервер. Описанное в статье касается SPARC-платформы, хотя легко масштабируется и для x86/PXE.

Подготовка системы

Итак, устанавливаем необходимое ПО:

# sudo apt-get install dnsmasq nfs-kernel-server


Теперь, нужно вытащить файлы из образа системы. После того, как я скачал образ Solaris 10 Update 9 по SPARC-архитектуру, я положил его в папку /home/myaut/ISO/ и подмонтировал как loop-устройство. В /etc/fstab создается следующая строчка:

/home/myaut/ISO/sol-10-u9-ga-sparc-dvd.iso /media/sol10u9-sparc iso9660 ro,loop 0 0


И образ монтируется:

# mkdir /media/sol10u9-sparc
# mount -a


Выключим network-manager и поднимем интерфейс, с которого будет вестись сетевая установка:

# service network-manager stop
# ifconfig eth0 192.168.100.1/24 up


Также создадим каталог /tftpboot и скопируем туда файл inetboot:

 

# mkdir /tftpboot
# cp /media/sol10u9-sparc/Solaris_10/Tools/Boot/platform/sun4u/inetboot /tftpboot/inetboot.sun4u

 

 

Настройка NFS и dnsmasq


Теперь приступим к настройке nfs-сервера. По умолчанию nfs-kernel-server работает по протоколу NFSv4, что не годится для JumpStart. Решается это передачей параметра --no-nfs-version 4 демону nfsd. К счастью, редактировать init-скрипты не придется, согласно описанному здесь Disabling nfsv4 on Ubuntu how-to достаточно поменять опцию RPCNFSDCOUNT в файле /etc/default/nfs-kernel-server на:

RPCNFSDCOUNT='8 --no-nfs-version 4'


Теперь делаем публичной директорию с Solaris, добавляя в /etc/exports следующую строчку:

/media/sol10u9-sparc    *(ro,async,no_subtree_check,insecure,no_root_squash)


и перезагружаем nfs:

 

# service nfs-kernel-server restart 


Убедимся, что публичная ФС доступна:

 

# sudo exportfs -v
/media/sol10u9-sparc   <world>(ro,async,wdelay,insecure,no_root_squash,no_subtree_check)


dnsmasq хранит настройки в файле /etc/dnsmasq.conf, также часть настроек можно вынести в другие файлы и директории, используя директивы conf-*.
У меня получился следующий конфиг:

 

 

 

# IP-адрес интерфейса, на котором будет слушать dhcp-сервер
listen-address=192.168.100.1
# Диапазон IP-адресов (он динамический), действует 1 час (значение по умолчанию)
dhcp-range=js,192.168.100.100,192.168.100.200
# Имя загрузочного файла для TFTP. net:js я добавил на случай,
# если позже захочется расширить функционал dnsmasq
dhcp-boot=net:js,inetboot.sun4u
# Включаем TFTP-сервер и устанавливаем корневую директорию
enable-tftp
tftp-root=/tftpboot/
# Настройки логов dnsmasq
log-queries
log-dhcp
log-facility=/var/log/dnsmasq.log
# Ссылка на каталог с конфигурацией
conf-dir=/etc/dnsmasq.d/



В /etc/dnsmasq.d/ я поместил единственный файл c именем js и следующей конфигурацией:

# Список хостов в нотации mac-адрес,IP,имя_хоста
dhcp-host=00:03:ba:5b:6e:3f,192.168.100.101,blade

# Опции DHCP. JumpStart использует vendor encapsulated options,
# поэтому я добавил параметр vendor:SUNW (иначе указанные номера опций
# будут пересекаться со стандартными опциями DHCP).

# Root server IP address
dhcp-option-force=net:js,vendor:SUNW,2,192.168.100.1
# Root server hostname
dhcp-option-force=net:js,vendor:SUNW,3,"myaut-nb"
# Root server path
dhcp-option-force=net:js,vendor:SUNW,4,"/media/sol10u9-sparc/Solaris_10/Tools/Boot"

# Install server IP address
dhcp-option-force=net:js,vendor:SUNW,10,192.168.100.1
# Install server hostname
dhcp-option-force=net:js,vendor:SUNW,11,"myaut-nb"
# Install server path
dhcp-option-force=net:js,vendor:SUNW,12,"/media/sol10u9-sparc"

 

Тестирование

 

Rebooting with command: boot net:dhcp -v
Boot device: /pci@1f,700000/network@2:dhcp  File and args: -v
100 Mbps FDX Link up 
100 Mbps FDX Link up 
Using BOOTP/DHCP...  
BOUND: IP address is: 192.168.100.101 
Found 192.168.100.1 @ 0:26:22:6:12:df 
BOUND: Hostname is blade
root server: myaut-nb (192.168.100.1)
root directory: /home/install/Solaris_10/Tools/Boot
<...>
SunOS Release 5.10 Version Generic_142909-17 64-bit
Copyright (c) 1983, 2010, Oracle and/or its affiliates. All rights reserved.  


Установка успешно прошла и я тестирую Solaris 10 Upgrade 9.

 

 

К списку статей

 

Интересуюсь по большей части системным анализом программного обеспечения: поиском багов и анализом неисправностей, а также системным программированием (и не оставляю надежд запилить свою операционку, хотя нехватка времени сказывается :) ). Программированием увлекаюсь с 12 лет, но так уж получилось, что стал я инженером.

Основная сфера моей деятельности связана с поддержкой Solaris и оборудования Sun/Oracle, хотя в последнее время к ним прибавились технологии виртуализации (линейка Citrix Xen) и всякое разное от IBM - от xSeries до Power. Учусь на кафедре Вычислительной Техники НИУ ИТМО.

See you...out there!

http://www.facebook.com/profile.php?id=100001947776045
https://twitter.com/AnnoyingBugs

Ничего не найдено. n is 0