
SunFireにSolaris10入れて遊んでます。
ようやくSCSIのディスクが手に入ったので、
早速DiskSuiteでミラーリングすることにしました。
以下、覚書。(Solaris9と同じやり方でOK)
1. デバイスの接続状態の確認
ok) probe-scsi-all
2. ディスク構成情報の取得
# prtvtoc /dev/rdsk/c1t0d0s2 > /tmp/vtoc.txt
3. VTOCの書き込み
# fmthard -s /tmp/vtoc.txt /dev/rdsk/c1t1d0s2
4. 新ディスクをUFSでフォーマット
# newfs /dev/rdsk/c1t1d0s0
# newfs /dev/rdsk/c1t1d0s3
# newfs /dev/rdsk/c1t1d0s4
# newfs /dev/rdsk/c1t1d0s5
# newfs /dev/rdsk/c1t1d0s6
# newfs /dev/rdsk/c1t1d0s7
5. ファイルシステムのチェック
# fsck -F ufs /dev/rdsk/c1t1d0s0
# fsck -F ufs /dev/rdsk/c1t1d0s3
# fsck -F ufs /dev/rdsk/c1t1d0s4
# fsck -F ufs /dev/rdsk/c1t1d0s5
# fsck -F ufs /dev/rdsk/c1t1d0s6
# fsck -F ufs /dev/rdsk/c1t1d0s7
6. md.tabの編集
md.tabファイルに以下を追加。
# vi /etc/lvm/md.tab
### /(root)
/dev/md/dsk/d10 1 1 /dev/dsk/c1t0d0s0
/dev/md/dsk/d20 1 1 /dev/dsk/c1t1d0s0
/dev/md/dsk/d0 -m /dev/md/dsk/d10
### swap
/dev/md/dsk/d11 1 1 /dev/dsk/c1t0d0s1
/dev/md/dsk/d21 1 1 /dev/dsk/c1t1d0s1
/dev/md/dsk/d1 -m /dev/md/dsk/d11
### /opt
/dev/md/dsk/d14 1 1 /dev/dsk/c1t0d0s4
/dev/md/dsk/d24 1 1 /dev/dsk/c1t1d0s4
/dev/md/dsk/d4 -m /dev/md/dsk/d14
### /usr
/dev/md/dsk/d15 1 1 /dev/dsk/c1t0d0s5
/dev/md/dsk/d25 1 1 /dev/dsk/c1t1d0s5
/dev/md/dsk/d5 -m /dev/md/dsk/d15
### /var
/dev/md/dsk/d16 1 1 /dev/dsk/c1t0d0s6
/dev/md/dsk/d26 1 1 /dev/dsk/c1t1d0s6
/dev/md/dsk/d6 -m /dev/md/dsk/d16
### /export/home
/dev/md/dsk/d17 1 1 /dev/dsk/c1t0d0s7
/dev/md/dsk/d27 1 1 /dev/dsk/c1t1d0s7
/dev/md/dsk/d7 -m /dev/md/dsk/d17
--
7. md.confの編集
# vi /kernel/drv/md.conf
以下を追加。
md_devid_destroy=1;
md_keep_repl_state=1;
--
8. metadbの作成
(以下は2面ミラーの場合)
# metadb -a -f -c2 c1t0d0s3 c1t1d0s3
# metadb
フラグ 最初のブロック ブロック数
a u 16 8192 /dev/dsk/c1t0d0s3
a u 8208 8192 /dev/dsk/c1t0d0s3
a u 16 8192 /dev/dsk/c1t1d0s3
a u 8208 8192 /dev/dsk/c1t1d0s3
9. /etc/systemと/etc/vfstabのバックアップ。
※metarootを実行するとsystemとvfstabが書き換えられるため。
# cp -p /etc/system /etc/system.org
# cp -p /etc/vfstab /etc/vfstab.org
10. metainitの実行(メタデバイスの定義)
/etc/lvm/md.tab に書いた内容で実行される。
# /usr/sbin/metainit -f -a
d20: 連結/ストライプがセットアップされます
d21: 連結/ストライプがセットアップされます
d23: 連結/ストライプがセットアップされます
d25: 連結/ストライプがセットアップされます
d26: 連結/ストライプがセットアップされます
d27: 連結/ストライプがセットアップされます
--
11. metarootの実行
rootデバイスを変更する。
# /usr/sbin/metaroot /dev/md/rdsk/d0
12.vfstabの編集
以下のようメタデバイスにする。
# vi /etc/vfstab
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes -
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/md/dsk/d1 - - swap - no -
/dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no -
/dev/md/dsk/d5 /dev/md/rdsk/d4 /usr ufs 1 no -
/dev/md/dsk/d4 /dev/md/rdsk/d1 /var ufs 1 no -
/dev/md/dsk/d6 /dev/md/rdsk/d5 /opt ufs 2 yes -
/dev/md/dsk/d7 /dev/md/rdsk/d6 /export/home ufs 2 yes -
swap - /tmp tmpfs - yes -
--
13. システムをリブート
#/usr/sbin/shutdown -y -i6 -g0
14. サブミラー連結
# /usr/sbin/metattach d0 d20
# /usr/sbin/metattach d1 d21
# /usr/sbin/metattach d4 d24
# /usr/sbin/metattach d5 d25
# /usr/sbin/metattach d6 d26
# /usr/sbin/metattach d7 d27
15. dumpデバイスの変更
# /usr/sbin/dumpadm -d /dev/md/dsk/d1
16. 代替起動デバイスパスの記録
以下をメモる。(失敗したときのため)
# ls -l /dev/dsk/c1t0d0s0
lrwxrwxrwx 1 root root 44 Sep 12 12:39 /dev/dsk/c1t0d0s0 ->
../../devices/pci@1f,0/pci@1/scsi@1/sd@0,0:a
# ls -l /dev/dsk/c1t1d0s0
lrwxrwxrwx 1 root root 44 Sep 12 12:39 /dev/dsk/c1t1d0s0 ->
../../devices/pci@1f,0/pci@1/scsi@1/sd@1,0:a
17. 同期状態の確認
# metastat | grep %
※1分ごとに同期確認するスクリプト
# while true
>do
>date
>metastat | grep %
>sleep 60
>done
※73GBのディスク2台の2面ミラーの場合
同期完了まで約3時間かかった。
18. ブートブロックのインストール
追加したディスクからもbootできるようにする。
# installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t1d0s0
※参考URL
http://www.manucomp.com/solaris_tips/solstice_disk_suite.html