デプロイの仕方
新規VMの作成
vSphere Clientから新規VMを作成する。ゲストOSとして「その他の2.6.x Linux (32ビット)」を選択し、新規仮想ディスクを作成する。あとの設定は、適当で良い。まだ起動はしない。
LFS環境のコピー
ホストして一旦他のVMを使用して、LFS環境を新VMにコピーする (前回記事で作成したlfs_template.20130429.tar.xzにアクセス出来る必要がある。)ここでは、LFSのコンパイルに使用したUbuntu 12.04LTS Server 32bitを使用する。
ホストVMを停止し、上記の新規VMで作成した仮想HDDを追加する。ホストVMを起動し、新規HDDが追加されたデバイスファイル名をチェックする。今回は/dev/sdcとして認識された(/dev/sdbにはLFSを構築したHDDが割り当てられているため。)
まず、パーティションを作成する。
sudo fdisk /dev/sdc
/dev/sdc1として”/”にマウントする基本パーティションを、/dev/sdc2としてswapパーティションを作成する(ただし、VMにメモリを十分に割り当てておけば、Swapは無くても動作する)。
次にフォーマットする。
sudo mkfs.ext3 /dev/sdc1 && sudo mkswap /dev/sdc2
そして、適当なディレクトリにマウントする(ここでは、/mnt/newhddを使用。)
sudo mkdir /mnt/newhdd && sudo mount /dev/sdc1 /mnt/newhdd
lfs_template.20130429.tar.xzの内容を新HDDに展開する。ここでは、ホームディレクトリにコピーされてあると仮定する。
cd /mnt/newhdd && sudo tar Jxfv ~/lfs_template.svn20130429.tar.xz && sudo sed -i -e "s%/mnt/lfs%/mnt/newhdd%g" /mnt/newhdd/root/chroot.sh
Grubのインストール
新規HDDのMBRにGRUBをインストールする。
sudo /mnt/newhdd/root/chroot.sh
でchroot環境に入った上で、
grub-install /dev/sdc
を実行する(/dev/sdc等のデバイスファイル名はホスト環境と同一。)
環境設定
/etc/fstabの設定
(Swapパーティションを使用する場合、)/etc/fstabのスワップの設定に関する行をコメントアウトする。
/dev/sda2 swap swap pri=1 0 0
IPアドレス・ホスト名の設定
DHCPの場合
/etc/sysconfig/networkと/etc/hostsに新しいホスト名を書き込む。
固定IPの場合
/etc/sysconfig/networkに新しいホスト名を書き込む。
/etc/hostsにホスト名とIPアドレスを設定。例えば下記のようになる。
# Begin /etc/hosts 127.0.0.1 localhost 192.168.0.XX newvm.example.net newvm # End /etc/hosts
/etc/resolv.confを適切に設定する。
/etc/sysconfig/ifconfig.eth0を下記のように設定する。
ONBOOT=yes IFACE=eth0 SERVICE=ipv4-static IP=192.168.0.XX GATEWAY=192.168.0.1 PREFIX=24 BROADCAST=192.168.0.255
Homeのマウント
Homeをマウントする場合は、下記を設定する(ファイルサーバーがセットアップできていることが前提)。
cd ~ && tar jxf ~admin/src/blfs-bootscripts-20130324.tar.bz2 && cd blfs-bootscripts-20130324 && sudo make install-nfs-client && sudo make install-netfs && cd ../ && rm -rf blfs-bootscripts-20130314
/etc/fstabに下記の行を追加する、
192.168.0.11:/home /home nfs rw,nfsvers=3,_netdev,rsize=8192,wsize=8192 0 0
ユーザを作成する。
sudo groupadd -g 1000 users && sudo useradd -u 1000 -d /home/username -g users -s /bin/bash username && sudo passwd username
将来的には、NISとかLDAPで一元管理したいが、当面は各VMに同じIDでユーザを作成することで対応。
新VMでの起動
chroot環境を抜けて、ホストVMをシャットダウンする。
cd ~ && sudo umount /dev/sdc1 && sudo rmdir /mnt/newhdd && sudo halt
ホストVMから、新HDDを取り外し(仮想HDDファイル自体を削除しないように注意)、新VMを起動する。adminユーザーでログインできる事を確認する。