基本的にはLinuxをPXEインストールするのと変わりなく、DHCP、TFTP、NFSを組み合わせて行う事になる。
参考>> PXE ブートによるネットワークインストール(CentOS 5.5)
Table of Contents ================= 1 検証した環境 2 NFSサーバの準備 2.1 isoイメージをマウント 2.2 isoイメージをフルコピー 2.3 NFSでエクスポートしておく 3 PXEブートサーバの設定 3.1 TFTPのインストールと設定 3.2 DHCPサーバの設定 4 NexentaのPXEインストール
1 検証した環境
PXE/DHCP/TFTPサーバ:CentOS5.5(192.168.1.71)
NFSサーバ:Solaris10(192.168.1.10)
Nexentaのインストール先:Sun Ultra 27
2 NFSサーバの準備
# wget http://www.nexenta.org/releases/nexenta-core-platform_3.0.1-b134_x86.iso.zip
# unzip nexenta-core-platform_3.0.1-b134_x86.iso.zip
# lofiadm -a /spool/cifs01/OSimage/Nexenta/nexenta-core-platform_3.0.1-b134_x86.iso
/dev/lofi/3
2.1 isoイメージをマウント
# mount -F hsfs -r /dev/lofi/3 /mnt/nfs01
# cd /mnt/nfs01
# ls -alF
合計 895223 dr-xr-xr-x 2 root sys 2048 9月 7日 23:41 ./ drwxr-xr-x 9 root sys 9 8月 8日 03:46 ../ -r--r--r-- 1 root root 2048 9月 7日 23:41 .catalog dr-xr-xr-x 3 root root 2048 9月 7日 23:40 boot/ drwxr-xr-x 4 root root 2048 9月 7日 23:38 platform/ -r--r--r-- 1 root root 458344448 9月 7日 23:41 usr.img.zlib
2.2 isoイメージをフルコピー
# mkdir -p /spool/pxeimages/nexenta3.0.1
# cp -Rp * /spool/pxeimages/nexenta3.0.1/
2.3 NFSでエクスポートしておく
(既にこの領域はZFS sharenfsで共有済み)
# share
- /spool/cifs01 sec=sys,ro,root=@192.168 "" - /spool/archive sec=sys,root=@192.168,ro "" - /spool/pxeimages sec=sys,ro "" - /spool/home rw=sol10-u24 "" - /spool/kvmnfs01 sec=sys,root=@192.168,rw=@192.168 ""
# zfs get sharenfs spool/pxeimages
NAME PROPERTY VALUE SOURCE spool/pxeimages sharenfs ro,root local
3 PXEブートサーバの設定
CentOS上でTFTP/DHCPサーバを構築する。
3.1 TFTPのインストールと設定
事前にtfpのルートディレクトリを作っておく
[root@centos55 ~]# mkdir /tftpboot
パッケージのインストール
[root@centos55 ~]# yum install tftp*
[root@centos55 ~]# rpm -qa |grep tftp
tftp-server-0.49-2.el5.centos tftp-0.49-2.el5.centos
起動する(xinetd経由で起動される)
[root@centos55 ~]# chkconfig --list |grep tftp
tftp: off
[root@centos55 ~]# chkconfig tftp on
[root@centos55 ~]# chkconfig --list |grep tftp
tftp: on
必要ファイルをNexentaのCDから取ってくる
[root@centos55 tftpboot]# showmount -e sol10-u24
Export list for sol10-u24: /spool/cifs01 (everyone) /spool/archive (everyone) /spool/pxeimages (everyone) /spool/home sol10-u24 /spool/kvmnfs01 @192.168
[root@centos55 tftpboot]# mount -t nfs sol10-u24:/spool/pxeimages/nexenta3.0.1 /mnt/nfs01
[root@centos55 tftpboot]# df -h
Filesystem サイズ 使用 残り 使用% マウント位置 /dev/hda3 2.0T 11G 1.9T 1% / /dev/hda1 251M 27M 211M 12% /boot tmpfs 950M 0 950M 0% /dev/shm sol10-u24:/spool/pxeimages/nexenta3.0.1 3.7T 19G 3.7T 1% /mnt/nfs01
必要ディレクトリの作成
[root@centos55 tftpboot]# mkdir -p /tftpboot/nexenta_os/platform/i86pc
[root@centos55 tftpboot]# mkdir -p /tftpboot/boot/grub
必要ファイル配置
[root@centos55 tftpboot]# cp -Rp /mnt/nfs01/platform/i86pc/kernel /tftpboot/nexenta_os/platform/i86pc
[root@centos55 tftpboot]# cp -Rp /mnt/nfs01/platform/i86pc/kernel /tftpboot/nexenta_os/platform/i86pc
[root@centos55 tftpboot]# cp -Rp /mnt/nfs01/platform/i86pc/miniroot /tftpboot/nexenta_os/platform/i86pc
[root@centos55 tftpboot]# cp -Rp /mnt/nfs01/boot/grub/pxegrub /tftpboot/boot/grub/
grub menuの作成
[root@centos55 tftpboot]# vi /tfptboot/boot/grub/menu.lst
default 0 timeout 10 title NexentaCore PXE Install kernel$ /nexenta_os/platform/i86pc/kernel/$ISADIR/unix -B iso_nfs_path=192.168.1.10:/spool/pxeimages/nexenta3.0.1 module$ /nexenta_os/platform/i86pc/$ISADIR/miniroot
3.2 DHCPサーバの設定
[root@centos55 tmp]# yum install dhcp
まだ起動しない
[root@centos55 tmp]# chkconfig --list |grep dhcp
dhcpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
*複数インターフェースがあるマシンでは、DHCPが待ち受けるifを指定すること。そうしないと余計なセグメントにDHCPが流れてしまう。
設定サンプルから設定した方が早い。
[root@centos55 tmp]# cp -p /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
[root@centos55 tmp]# vi /etc/dhcp.conf
太字部分がLinuxのPXEインストールと違うところ。
ddns-update-style interim; ignore client-updates; use-host-decl-names on; option grubmenu code 150 = text; subnet 192.168.1.0 netmask 255.255.255.0 { # --- default gateway option routers 192.168.1.254; option subnet-mask 255.255.255.0; option domain-name "sol-net.jp"; option domain-name-servers 192.168.1.254; option time-offset -18000; # Eastern Standard Time default-lease-time 21600; max-lease-time 43200; # we want the nameserver to appear at a fixed address host nexenta-u27 { # TFTPサーバのIPアドレス next-server 192.168.1.71; # インストール対象のMACアドレス hardware ethernet 08:00:27:7f:f6:46; # インストール時に一時的に割り当てるIPアドレス fixed-address 192.168.1.11; # PXEブートするためにTFTPサーバから取得するファイル filename "/boot/grub/pxegrub"; option grubmenu "/boot/grub/menu.lst"; } }
設定のチェック
[root@centos55 etc]# /etc/init.d/dhcpd configtest
Syntax: OK
起動する。
[root@centos55 etc]# /etc/init.d/dhcpd start
dhcpd を起動中: [ OK ]
これでPXEブートをする準備が整った。
4 NexentaのPXEインストール
特に考えることは無く、サーバ起動時にブート順序をネットワークから起動するようにすれば、Nexentaのインストーラーが起動してくる。
インストール時に問い合わせされることは、ほとんどSolarisと一緒。
参考>> Nexenta Core 3.0 RC3 をインストール
Nexentaのインストールはかなり早い。インストールイメージのサイズをみるとわかるけど、インストールされるものがかなり少ない。今回の環境はインストールが始まって5分ほどで終了した。
root@nexenta:~# uname -a
SunOS nexenta 5.11 NexentaOS_134f i86pc i386 i86pc Solaris
次回はDeDupeの効果を検証してみる。