ページの先頭行へ戻る
PRIMECLUSTER Global Disk Services 説明書 4.5
FUJITSU Software

6.3.3 リストア手順 (システムがブートできない場合)

1) CD-ROM 装置 (またはネットワーク) からシステムをブートします。

手順については、Solaris のマニュアルを参照してください。

注意

  • Solaris 10 (カーネルパッチ 137111-08 以前を適用済) をリストアする場合、CD-ROM 装置 (またはネットワーク、復元用緊急起動ディスク) からブートする OS は、リストアする OS と同じバージョン (カーネルパッチ 137111-08 以前を適用済) にしてください。

  • Solaris 10 (カーネルパッチ 137137-09 以降を適用済) をリストアする場合、CD-ROM 装置 (またはネットワーク、復元用緊急起動ディスク) からブートする OS は、リストアする OS と同じバージョン (カーネルパッチ 137137-09 以降を適用済) にしてください。

  • Solaris 11 をリストアする場合、CD-ROM 装置 (またはネットワーク、復元用緊急起動ディスク) からブートする OS のバージョンは、リストアする OS と同じバージョンにしてください。

  • GDS でミラーリングしているシステムにおいて、CD-ROM 装置 (またはネットワーク) からブートして不当な操作を行うと、ミラーリング状態が破壊される場合があります。必ず本手順に従って操作を行い、本手順にない操作はできるだけ避けてください。

  • 復旧作業に伴い、物理スライス上のファイルシステムをマウントする場合には、不当な書込みを防ぐために、読取り専用でマウントすることを推奨します。


2) ルート (/)、/usr、/var ファイルシステムのリストア先となる物理スライスのデバイス名を確認します。

# eeprom nvramrc | grep sdx-root-slice
devalias sdx-root-slice-1 /devices/pci@1f,4000/scsi@3/sd@0,0:a,raw
devalias sdx-root-slice-2 /devices/pci@1e,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
devalias sdx-usr-slice-2 /devices/pci@1e,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
devalias sdx-var-slice-2 /devices/pci@1e,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 以上のミラーリング構成の場合、副側の物理スライスは複数存在します。

6Gbps SAS カードに接続している増設ファイルユニットのディスク、または、SPARC M12/M10、SPARC T4-4/T4-2/T4-1/T3-4/T3-2/T3-1 の内蔵ディスクの場合、以下の手順を実施し、デバイスを特定してください。

# eeprom nvramrc | grep sdx-boot-device
devalias sdx-boot-device-1 /pci@8000/pci@4/pci@0/pci@0/scsi@0/disk@w50000394980066de,0:a devalias sdx-boot-device-2 /pci@8000/pci@4/pci@0/pci@0/scsi@0/disk@w5000039488226256,0:a

参考

  • /usr、/var ファイルシステムが存在しない構成の場合は、以下のように物理スライス名が表示されません。

    # eeprom nvramrc | grep sdx-usr-slice
    # eeprom nvramrc | grep sdx-var-slice
  • MPLB ディスクの場合、2 本目以降のパスの物理スライスのデバイス名は、以下の方法で調べることができます。ネットワークからブートした環境で、2 本目以降のパスが定義されていれば、そのパスの物理スライスにリストアすることも可能です。

    # eeprom nvramrc | grep sdx-root-slice (1 本目のパス)
    devalias sdx-root-slice-1 /devices/pci@1f,4000/fibre-channel@4/sd@10,0:a,raw
    ~
    # eeprom nvramrc | grep sdx-root-alt-slice (2 本目のパス)
    devalias sdx-root-alt-slice-1b /devices/pci@1f,4000/fibre-channel@5/sd@10,0:a,raw
    ~

3) リストア先となる物理スライス名を確認します。

リストア先となる物理スライス名を求める手順は、6Gbps SAS カードに接続している増設ファイルユニットのディスク、または、SPARC M12/M10、SPARC T4-4/T4-2/T4-1/T3-4/T3-2/T3-1 の内蔵ディスクの場合と、それ以外の場合で異なります。

[6Gbps SAS カードに接続している増設ファイルユニットのディスク、または、SPARC M12/M10、SPARC T4-4/T4-2/T4-1/T3-4/T3-2/T3-1 の内蔵ディスクの場合]

デバイス名に手順 2) で取得したデバイスを含む物理ディスク名を確認します。

# format </dev/null | grep -i t50000394980066ded
1. c0t50000394980066ded0 <sfdsk type1.0; TOSHIBA-MBF2600RC-3706 cyl 64986 alt 2 hd 27 sec 668> 01000002

grep コマンドの引数には、"t" + <target-port> + "d" を指定します。
この例では、リストアする物理ディスク名は c0t50000394980066ded0 です。

物理ディスク名から物理スライス名を確認します。

# ls -l /dev/rdsk/c0t50000394980066ded0* | grep ":a,raw"
lrwxrwxrwx 1 root root 86 Jul 28 23:59 c0t50000394980066ded0s0    -> ../../devices/pci@8000/pci@4/pci@0
/pci@0/scsi@0/iport@f/disk@w50000394980066de,0:a,raw

grep コマンドの引数には、手順 2) で確認したデバイス名の ":" 以降を指定します。
この例では、ルート (/) の主となる物理スライス名は c0t50000394980066ded0s0 です。

[上記以外の場合]

手順 2) で確認した物理スライスのデバイス名から、物理スライス名を確認します。

# ls -l /dev/rdsk | grep /devices/pci@1f,4000/scsi@3/sd@0,0:a,raw
lrwxrwxrwx   1 root     root          45 Oct 19 23:36 c0t0d0s0 -> ../../devices/pci@1f,4000/scsi@3/sd@0,0:a,raw
# ls -l /dev/rdsk | grep /devices/pci@1e,4000/scsi@3/sd@0,0:a,raw
lrwxrwxrwx   1 root     root          45 Oct 19 23:36 c1t0d0s0 -> ../../devices/pci@1e,4000/scsi@3/sd@0,0:a,raw
# ls -l /dev/rdsk | grep /devices/pci@1f,4000/scsi@3/sd@0,0:g,raw
lrwxrwxrwx 1 root root 45 Oct 19 23:36 c0t0d0s6 -> ../../devices/pci@1f,4000/scsi@3/sd@0,0:g,raw
# ls -l /dev/rdsk | grep /devices/pci@1e,4000/scsi@3/sd@0,0:g,raw
lrwxrwxrwx   1 root     root          45 Oct 19 23:36 c1t0d0s6 -> ../../devices/pci@1e,4000/scsi@3/sd@0,0:g,raw
# ls -l /dev/rdsk | grep /devices/pci@1f,4000/scsi@3/sd@0,0:b,raw
lrwxrwxrwx 1 root root 45 Oct 19 23:36 c0t0d0s1 -> ../../devices/pci@1f,4000/scsi@3/sd@0,0:b,raw
# ls -l /dev/rdsk | grep /devices/pci@1f,4000/scsi@3/sd@0,0:b,raw
lrwxrwxrwx 1 root root 45 Oct 19 23:36 c1t0d0s1 -> ../../devices/pci@1f,4000/scsi@3/sd@0,0:b,raw

grep コマンドの引数には、手順 2) で確認したデバイス名を指定します。

この例では、主側となる物理スライス名は以下のとおりです。

/ : c0t0d0s0
/usr : c0t0d0s6
/var : c0t0d0s1

また、副側となる物理スライス名は以下のとおりです。

/ : c1t0d0s0
/usr : c1t0d0s6
/var : c1t0d0s1


4) テープ媒体に採取されているバックアップデータを、それぞれの主側の物理スライスにリストアします。

例として、ufsdump(1M) コマンドで採取したバックアップデータを用いてリストアする手順を示します。

# newfs /dev/rdsk/c0t0d0s0
# mount -F ufs /dev/dsk/c0t0d0s0 /mnt # cd /mnt
# ufsrestore rvf /dev/rmt/0 # cd / # umount /mnt # newfs /dev/rdsk/c0t0d0s6 # mount -F ufs /dev/dsk/c0t0d0s6 /mnt # cd /mnt # ufsrestore rvf /dev/rmt/0
# cd /
# umount /mnt
# newfs /dev/rdsk/c0t0d0s1 # mount -F ufs /dev/dsk/c0t0d0s1 /mnt
# cd /mnt
# ufsrestore rvf /dev/rmt/0
# cd /
# umount /mnt

注意

  • 主側の物理スライスへのリストアが I/O エラーなどによって失敗する場合は、副側の物理スライスへリストアしてください。

  • システムディスクをミラーリングする前に採取したバックアップデータを用いてリストアしないでください。

参照

ufsrestore(1M) コマンドの詳細については、Solaris のマニュアルを参照してください。使用方法やオプションの意味を確認し、適切なオプションを指定してください。


5) ブートブロックをシステムディスクのルートパーティションにインストールします。

# installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0

6) ディスクのセクタサイズとシリンダサイズを調べて記録します。

# prtvtoc /dev/rdsk/c0t0d0s0
~ * 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 /dev/rdsk/c0t0d0s0
~
*                          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 の物理スライスが先頭セクタを含みます。

参考

Partition 2 はディスク全体に対応する特殊なパーティションです。


8) リストアが完了した主側の物理スライスから副側の物理スライスにデータをコピーします。

物理スライスがディスクの先頭セクタを含まない場合は 8a) の手順、物理スライスがディスクの先頭セクタを含む場合は 8b) の手順に従ってコピーを実施します。

注意

  • 多重度 3 以上のミラーリング構成の場合、副側の物理スライスは複数存在します。すべての副側の物理スライスにデータをコピーしてください。

  • 手順 4) においてリストアを行った主側のスライスのデータは、必ずコピーしてください。
    リストアを行っていない主側のスライスのデータは、コピーする必要はありません。

8a) 物理スライスがディスクの先頭セクタを含まない場合:

コピー時間を短縮するために、dd(1M) コマンドの bs オプション (入出力ブロックサイズ) には、手順 6) で調べたシリンダサイズを指定します。

# dd if=/dev/rdsk/c0t0d0s6 of=/dev/rdsk/c1t0d0s6 bs=4712b
# dd if=/dev/rdsk/c0t0d0s1 of=/dev/rdsk/c1t0d0s1 bs=4712b

8b) 物理スライスがディスクの先頭セクタを含む場合:

以下の手順を実施します。

8b-1) まず、物理スライスの先頭シリンダのみをコピーします。副側の先頭セクタ (VTOC 域) を上書きしないように先頭セクタをスキップし、セクタ単位にコピーします。

先頭セクタをスキップするため、dd(1M) コマンドの iseek オプションと oseek オプションには 1 を指定します。bs オプションには、手順 6) で調べたセクタサイズを指定します。count オプションには、手順 6) で調べたシリンダサイズ (単位はブロック) から 1 を引いた値を指定します。

# dd if=/dev/rdsk/c0t0d0s0 of=/dev/rdsk/c1t0d0s0 bs=512 iseek=1 oseek=1 count=4711

8b-2) 次に、物理スライスの残りのシリンダをコピーします。

コピー時間を短縮するために、dd(1M) コマンドの bs オプションには、手順 6) で調べたシリンダサイズを指定します。手順 8b-1) でコピーした先頭シリンダをスキップするため、iseek オプションと oseek オプションには 1 を指定します。

# dd if=/dev/rdsk/c0t0d0s0 of=/dev/rdsk/c1t0d0s0 bs=4712b iseek=1 oseek=1

9) 共用クラスまたはローカルクラスを使用していて、かつ、「6.3.1 バックアップ手順」においてGDSの構成パラメタSDX_DB_FAIL_NUM=0の設定を行わなかった場合、以下の手順でGDSの構成パラメタの設定を行います。

9-1) OpenBoot環境に移行します。

# halt

9-2) システムをシングルユーザモードで起動します。

ok boot -s

9-3) 構成ファイル /etc/opt/FJSVsdx/sdx.cf の最後に SDX_DB_FAIL_NUM=0 の設定を追加します。

# vi /etc/opt/FJSVsdx/sdx.cf
... SDX_DB_FAIL_NUM=0 ←追加

10) システムをマルチユーザモードで再起動します。

# shutdown -g0 -i6 -y

11) 共用クラスおよびローカルクラスの構成や状態に異常がないことを確認します。

# sdxinfo

12) 共用クラスまたはローカルクラスを使用している場合、GDSの構成パラメタの設定を元に戻します。

構成ファイル /etc/opt/FJSVsdx/sdx.cf の SDX_DB_FAIL_NUM=0 の行をコメントアウトします。

# vi /etc/opt/FJSVsdx/sdx.cf
... # SDX_DB_FAIL_NUM=0