Solarisマシンのハードウェア交換時の設定

Solarisを運用しているマシンのハードウェア(HDD以外のマザーボード・CPU等)だけをアップグレードして、OSは今のままで使いたいという場合があるかと思います。

今回、我が家ではまさにそういう目的でCPU・メモリ・マザーボードを交換したのですが、交換後にOSが起動しなくなる等のトラブルで結構大変な思いをしました。ハードウェア交換時の再設定の項目を以下に簡単にまとめますので、参考にしてください。

症状としては、ハードウェア交換後に、GRUBは起動するが、Solarisがブートしない場合を想定しています。Grubが出ない場合は、BIOSのブートシーケンスの設定等を直す必要があると思いますので、まずはそちらを解決してください。

1.Safemode/Solaris インストールCDで起動

2.ブートディスクのマウント
# mount /dev/dsk/c0d0s0 /mnt

※ここではc0d0s0としていますが、format、iostat -En等で確認してください

3.ブートディスクのデバイスIDを確認
# ls -l /dev/dsk/c0d0s0

/dev/dsk/c0d0s0 -> ../../devices/pci@0,0/pci-ide@8/ide@0/cmdk@0,0:a

4.現在のブートデバイスIDを確認
# cat /mnt/boot/solaris/bootenv.rc

(省略)
setprop bootpath /pci@0,0/pci-ide@f,1/ide@0/cmdk@0,0:a

★3のデバイスIDと違う場合はデバイス構成の修正が必要なので次へ★

5.デバイス再構成(新しいハードウェアのデバイス構成を反映させます)
# drvconfig -r /mnt/devices
# disks -C -r /mnt

6.ブート情報の修正
# vi /mnt/boot/solaris/bootenv.rc

(正しいデバイスIDに変更)
setprop bootpath /pci@0,0/pci-ide@8/ide@0/cmdk@0,0:a
※3のデバイスIDを設定します

7.vfstabの修正
(再構成後のブートデバイスのブロックデバイス名を確認)
#ls -l /dev/dsk

lrwxrwxrwx   1 root     root          48  9月  6日  03:21 c2d0s0 -> ../../devices/pci@0,0/
pci-ide@8/ide@0/cmdk@0,0:a

(確認したブロックデバイスを/にマッピングするようにvfstabを修正)
# vi /etc/vfstab

/dev/dsk/c2d0s0 /dev/rdsk/c2d0s0 / ufs 1 no logging,rq

8.ブートアーカイブの更新
# bootadm update-archive -R /mnt

9.リブート
# reboot

これでうまくいけば、正常にブートするはずです。
うまくブートしても、NICのデバイス番号(hme0のようなDLPIリンク名)が変わっていたりするので、影響のあるソフト(ipfilterのフィルタ対象の設定、ネットワークアプリのバインド設定等)を変更する必要があります。

●参考ページ
http://roguelife.org/~tsumura/solaris/azusa_dev.html

トラックバック(0)

トラックバックURL: http://kirihari.net/mt/mt-tb.cgi/24

コメントする