Ubuntu Server を pxe(netboot)+preseed で全自動インストールする
- 日記(2011.08.29)の続き
- 15台くらい同じOS(Ubuntu Server 11.04)をインストールしたい
- PXEブートを利用する
- preseed.cfg ファイルを用意しておくと、途中の入力を省略できる
- apt-mirror を用意しておくと、各々のインストール時に外部のミラーサーバを見に行かなくてよい
DHCPサーバーの準備
$sudo aptitude install dhcp3-server
- 設定ファイル: /etc/dhcp3/dhcpd.conf
- ファイルの最後に追記
allow booting; allow bootp; subnet 192.168.78.0 netmask 255.255.255.0 { range 192.168.78.100 192.168.78.130; option broadcast-address 192.168.78.255; next-server 192.168.78.2; } host host_1 { filename "ubuntu_server_11.04-installer/pxelinux.0"; hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address 192.168.nnn.mmm; # host xx-xx-xx-xx-xx-xx { hardware ethernet xx:xx:xx:xx:xx:xx; } } host host_2 { ~ }
TFTPサーバーの準備
$sudo aptitude install atftpd
- /var/tftp/ubuntu_server_11.04-installer あたりに、以下のURLの netboot.tar.gz を wget して解凍する
- pxelinux.cfg/01-macaddress ファイルを作成
- 01-xx-xx-xx-xx-xx-xx-
default autoinstall label autoinstall kernel ubuntu-installer/i386/linux append load initrd=ubuntu-installer/i386/initrd.gz locale=ja_JP.UTF8 console-keymaps-at/keymaps=ja106 interface=eth0 hostname=ubntsvr01 domain=localdomain.local url=tftp://192.168.78.1/preseed.cfg DEBCONF_DEBUG=5
preseed.cfg
- インストール時に入力を求められる項目をあらかじめ書いておく
- 今後編集する可能性があったので、gist にアップロードした
apt-mirror
- 参考: 第47回 Ubuntuのネットワークインストールとapt-mirrorの活用 - Ubuntu Weekly Recipe
- インストール時にアップデートや追加のパッケージをWebに見に行かないで済むように、リポジトリのミラーを手元に作成
- sudo aptitude install apt-mirror
- (リポジトリに追加、削除がある場合は、/etc/apt/mirror.listファイルを編集する)
- sudo apt-mirror
- めちゃくちゃ時間かかる