PRIMECLUSTER Global Disk Services 説明書 4.1 (Solaris(TM) オペレーティングシステム版) |
目次
![]() ![]() |
第6章 バックアップとリストア | > 6.1 システムディスクのバックアップとリストア |
1) CD-ROM装置からシステムをブートします。
ok boot cdrom -s |
CD-ROM装置からブートするOSのバージョンは、リストアするOSと同じバージョンにしてください。
GDSでミラーリングしているシステムにおいて、CD-ROM装置からブートして不当な操作を行うと、ミラーリング状態が破壊される場合があります。必ず本手順に従って操作を行い、本手順にない操作はできるだけ避けてください。
復旧作業に伴い、物理スライス上のファイルシステムをマウントする場合には、不当な書込みを防ぐために、読取り専用でマウントすることを推奨します。
2) テープ装置の特殊ファイルを作成します。
# tapes |
3) ルート(/), /usr, /varファイルシステムのリストア先となる物理スライス名を調べて記録します。
# eeprom nvramrc | grep sdx-root-slice devalias sdx-root-slice-1 /devices/pci@1f,4000/scsi@3/sd@0,0:a,raw # eeprom nvramrc | grep sdx-usr-slice devalias sdx-usr-slice-1 /devices/pci@1f,4000/scsi@3/sd@0,0:g,raw # eeprom nvramrc | grep sdx-var-slice devalias sdx-var-slice-1 /devices/pci@1f,4000/scsi@3/sd@0,0:b,raw |
この例では、主となる物理スライス名は以下のとおりです。
/ : /devices/pci@1f,4000/scsi@3/sd@0,0:a,raw
/usr : /devices/pci@1f,4000/scsi@3/sd@0,0:g,raw
/var : /devices/pci@1f,4000/scsi@3/sd@0,0:b,raw
また、副となる物理スライス名は以下のとおりです。
/ : /devices/pci@1e,4000/scsi@3/sd@0,0:a,raw
/usr : /devices/pci@1e,4000/scsi@3/sd@0,0:g,raw
/var : /devices/pci@1e,4000/scsi@3/sd@0,0:b,raw
多重度3以上のミラーリング構成の場合、副側の物理スライスは複数存在します。
/usr, /varファイルシステムが存在しない構成の場合は、以下のように物理スライス名が表示されません。
# eeprom nvramrc | grep sdx-usr-slice |
4) テープ媒体に採取されているバックアップデータを、それぞれの主側の物理スライスにリストアします。
例として、ufsdump(1M)コマンドで採取したバックアップデータを用いてリストアする手順を示します。
# newfs /devices/pci@1f,4000/scsi@3/sd@0,0:a,raw # mount -F ufs /devices/pci@1f,4000/scsi@3/sd@0,0:a /mnt # cd /mnt # ufsrestore rvf /dev/rmt/0 # cd / # umount /mnt # newfs /devices/pci@1f,4000/scsi@3/sd@0,0:g,raw # mount -F ufs /devices/pci@1f,4000/scsi@3/sd@0,0:g /mnt # cd /mnt # ufsrestore rvf /dev/rmt/0 # cd / # umount /mnt # newfs /devices/pci@1f,4000/scsi@3/sd@0,0:b,raw # mount -F ufs /devices/pci@1f,4000/scsi@3/sd@0,0:b /mnt # cd /mnt # ufsrestore rvf /dev/rmt/0 # cd / # umount /mnt |
主側の物理スライスへのリストアがI/Oエラーなどによって失敗する場合は、副側の物理スライスへリストアしてください。
mount(1M)コマンドで指定するデバイス特殊ファイル名の末尾には、,rawを付けないでください。
システムディスクをミラーリングする前に採取したバックアップデータを用いてリストアしないでください。
ufsrestore(1M)コマンドの詳細については、Solaris(TM)オペレーティングシステムのマニュアルを参照してください。
5) ブートブロックをシステムディスクのルートパーティションにインストールします。
# installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /devices/pci@1f,4000/scsi@3/sd@0,0:a,raw |
6) ディスクのセクタサイズとシリンダサイズを調べて記録します。
# prtvtoc /devices/pci@1f,4000/scsi@3/sd@0,0:a,raw 〜 * Dimensions: * 512 bytes/sector * 248 sectors/track * 19 tracks/cylinder * 4712 sectors/cylinder 〜 |
この例では、セクタサイズは512(バイト)=1(ブロック)、シリンダサイズは512*4712(バイト)=4712(ブロック)です。
7) ディスクの先頭セクタ(VTOC域)を含む物理スライスを調べます。
prtvtoc(1M)コマンドの出力結果においてFirst Sectorフィールドが0の物理スライスが、ディスクの先頭セクタを含んでいます。
# prtvtoc /devices/pci@1f,4000/scsi@3/sd@0,0:a,raw 〜 * First Sector Last * Partition Tag Flags Sector Count Sector Mount Directory 0 2 00 0 409656 409655 1 7 00 409656 307242 716897 2 5 00 0 4117568 4117567 3 3 01 737906 388648 1126553 4 33 00 716898 21008 737905 5 4 00 1126554 942734 2069287 6 4 00 2069288 2048280 4117567〜 |
この例では、Partition 0の物理スライス(:a)が先頭セクタを含みます。
Partition 2はディスク全体に対応する特殊なパーティションです。
8) リストアが完了した主側の物理スライスから副側の物理スライスにデータをコピーします。
物理スライスがディスクの先頭セクタを含まない場合は8a)の手順、物理スライスがディスクの先頭セクタを含む場合は8b)の手順に従ってコピーを実施します。
多重度3以上のミラーリング構成の場合、副側の物理スライスは複数存在します。すべての副側の物理スライスにデータをコピーしてください。
手順4)においてリストアを行っていない主側のスライスのデータは、コピーする必要はありません。
8a) 物理スライスがディスクの先頭セクタを含まない場合:
コピー時間を短縮するために、dd(1M)コマンドのbsオプション(入出力ブロックサイズ)には、手順6)で調べたシリンダサイズを指定します。
# dd if=/devices/pci@1f,4000/scsi@3/sd@0,0:g,raw of=/devices/pci@1e,4000/scsi@3/sd@0,0:g,raw bs=4712b |
8b) 物理スライスがディスクの先頭セクタを含む場合:
以下の手順を実施します。
8b-1) まず、物理スライスの先頭シリンダのみをコピーします。副側の先頭セクタ(VTOC域)を上書きしないように先頭セクタをスキップし、セクタ単位にコピーします。
先頭セクタをスキップするため、dd(1M)コマンドのiseekオプションとoseekオプションには1を指定します。bsオプションには、手順6)で調べたセクタサイズを指定します。countオプションには、手順6)で調べたシリンダサイズ(単位はブロック)から1を引いた値を指定します。
# dd if=/devices/pci@1f,4000/scsi@3/sd@0,0:a,raw of=/devices/pci@1e,4000/scsi@3/sd@0,0:a,raw bs=512 iseek=1 oseek=1 count=4711 |
8b-2) 次に、物理スライスの残りのシリンダをコピーします。
コピー時間を短縮するために、dd(1M)コマンドのbsオプションには、手順6)で調べたシリンダサイズを指定します。手順8b-1)でコピーした先頭シリンダをスキップするため、iseekオプションとoseekオプションには1を指定します。
# dd if=/devices/pci@1f,4000/scsi@3/sd@0,0:a,raw of=/devices/pci@1e,4000/scsi@3/sd@0,0:a,raw bs=4712b iseek=1 oseek=1 |
9) システムをリブートします。
# shutdown -g0 -i6 -y |
目次
![]() ![]() |