Sun サーバの SAN boot のテスト
条件
既に local disk(/dev/dsk/c0t0d0s0) から起動している Solaris マシンがある
そのマシンには HBA のドライバがロードされいる
ストレージに対してアクセスできる設定になっている(Zoneなどの設定がされている)
1. FC 接続された disk の確認
format により当該の LUN が見えるか確認する。target 0, LUN 0 であることは必須?
物理フォーマット、label(root/swap, rw など) などを確認する
2. ファイルシステムの作成
newfs によりターゲットのボリュームにファイルシステムを切る
newfs -v /dev/rdsk/c1t0d0s0
3. ファイルシステムをマウントする
mount /dev/dsk/c1t0d0s0 /mnt
4. 起動しているファイルシステムを新しいファイルシステムにコピー
cd /mnt; ufsdump 0f - /dev/dsk/c0t0d0s0 | ufsrestore rf -
5. コピーしたファイルシステムから "restoresymtable" を消去
rm /mnt/restoresymtable
6. bootブロックのインストール
installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t0d0s0
7. vfstab ファイルを編集してマウントポイントを変更
vi /mnt/etc/vfstab
/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no -
と書いてある部分を
/dev/dsk/c1t0d0s0 /dev/rdsk/c1t0d0s0 / ufs 1 no -
に変更する
8. dumpadm.conf を編集して swap の場所を変更する
vi /mnt/etc/adm/dumpad.conf
変更先の swap を /dev/rdsk/c1t0d0s1 とすると /dev/rdsk/c0t0d0s1 を変更すればいい。
9. アンマウントする
cd / ; umount /mnt
10. reboot
11. OpenBoot で boot デバイスを変更する
OpenBoot のプロンプトで printenv boot-device
printenv boot-device
Boot-device = disk
devalias disk
Disk /pci@1f,4000/scsi@3/disk@0,0
show-devs
/pci@1f,2000/lpfc@1/sd
という感じで表示されるので、ターゲットのデバイスの nvalias を切る
nvalias sanboot /pci@1f,2000/lpfc@1/sd@0,0
setenv boot-device sanboot
12. OpenBoot で reset
reset-all
これでできるはず!
boot server を立てる場合は、11をやればオッケーっす。ただし、FC ドライバはインストールイメージに追加しておくことが必須(当たり前)