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

6.3.2 リストア手順 (システムがブートできる場合)

1) 動作中のアプリケーションプログラムを停止します。高い安全性が求められる場合は、システムディスクのバックアップを事前に採取してください。バックアップ手順については、「6.3.1 バックアップ手順」を参照してください。


2) 後でリストア先として使用するディスク以外をグループから切断して、グループに 1 つのディスクのみが接続されている状態にします。

例として、ディスク Root1 とディスク Root2 がグループ Group1 に接続されてミラーリングされていて、リストア先として Root1 を使用するために、Group1 から Root2 を切断する場合のコマンド行を示します。

# sdxdisk -D -c System -g Group1 -d Root2

グループ Group1 に接続されているディスク (GROUP フィールドに Group1 と表示されるディスク) が 1 つだけであることを確認します。

# sdxinfo -D -c System
OBJ NAME TYPE CLASS GROUP DEVNAM DEVBLKS DEVCONNECT STATUS ------ ------- ------ ------- ------- ------- -------- -------------- ------- disk Root1 mirror System Group1 c0t0d0 35368272 node1 ENABLE disk Root2 undef System * c1t0d0 35368272 node1 ENABLE

参考

ディスク Root1 上に INVALID 状態のスライスがある場合は、Root1 の方を切断してください。
keep タイプのディスクを切断した場合 (sdxinfo -D コマンドの出力のうち切断したディスクの TYPE フィールドの値が keep の場合) は、後でグループに接続できるように、タイプ属性を undef に変更してください (または、一旦クラスから削除してから、undef タイプのディスクとして登録しなおしてください)。ディスクのタイプ属性の変更方法は、「5.4.1 クラス構成」の「ディスク属性の変更」または「D.7 sdxattr - オブジェクトの属性値変更」を参照してください。

例) keep タイプのディスク Root1 を Group1 から切断した場合に、Root1 のタイプ属性を undef に変更する方法

# sdxattr -D -c System -d Root1 -a type=undef

参照

GDS 運用管理ビューを使用する場合は、「5.4 変更」の「5.4.2 グループ構成」を参照してください。

3) リストア対象の物理ディスクの target-port のパラメタを取得します。

リストア対象のディスクが、6Gbps SAS カードに接続している増設ファイルユニットのディスク、または、SPARC M12/M10、SPARC T4-4/T4-2/T4-1/T3-4/T3-2/T3-1 の内蔵ディスクの場合、物理ディスクの target-port のパラメタを調べて記録します。
それ以外のディスクの場合、本手順は不要です。

# prtconf -v /dev/rdsk/c5t5000039488225F20d0s2
disk, instance #2
  Driver properties:
    ~
  Hardware properties:
    ~
  Paths from multipath bus adapters:
    ~
    name='target-port' type=string items=1
        value='5000039488225f22'
    ~

4) システムをシャットダウンします。

# shutdown -g0 -i0 -y

5) ルート (/)、/usr、/var ファイルシステムはシステム動作中にマウント解除できないため、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 装置 (またはネットワーク) からブートして不当な操作を行うと、ミラーリング状態が破壊される場合があります。必ず本手順に従って操作を行い、本手順にない操作はできるだけ避けてください。

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


6) ルート (/)、/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

参考

  • /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
    ~

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

リストア先となる物理スライス名を求める手順は、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 の内蔵ディスクの場合]

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

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

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

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

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

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

[上記以外の場合]

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

# 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@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@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

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

この例では、ルート (/)、/usr、/varの物理スライス名は、それぞれ、c0t0d0s0、c0t0d0s6、c0t0d0s1 です。


8) テープ媒体に採取されているバックアップデータを用いて、ルート (/)、/usr、/var ファイルシステムをリストアします。

例として、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

注意

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

参照

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

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

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

10) 共用クラスまたはローカルクラスを使用していて、かつ、「6.3.1 バックアップ手順」においてGDSの構成パラメタSDX_DB_FAIL_NUM=0の設定を行わなかった場合、GDSの構成パラメタの設定を行います。
構成ファイル /etc/opt/FJSVsdx/sdx.cf の最後に SDX_DB_FAIL_NUM=0 の設定を追加します。

例) ルートファイルシステムのマウントデバイスがc0t0d0s0の場合

# mount -F ufs /dev/dsk/c0t0d0s0 /mnt
# vi /mnt/etc/opt/FJSVsdx/sdx.cf
 ...
SDX_DB_FAIL_NUM=0    ←追加
# umount /mnt

11) システムをリブートします。

# reboot

注意

復元用緊急起動ディスクから起動している場合は、shutdown(1M)コマンドを使用して再起動してください。


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

# sdxinfo

13) 共用クラスまたはローカルクラスを使用している場合、GDSの構成パラメタの設定を元に戻します。
構成ファイル /etc/opt/FJSVsdx/sdx.cf の SDX_DB_FAIL_NUM=0 の行をコメントアウトします。

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

14) 手順 2) で切断したディスクをグループに再接続します。

# sdxdisk -C -c System -g Group1 -d Root2

ディスク Root2 がグループ Group1 に接続されたこと (Root2 の行の GROUP フィールドに Group1 と表示されること) を確認します。

# sdxinfo -D -c System
OBJ NAME TYPE CLASS GROUP DEVNAM DEVBLKS DEVCONNECT STATUS ------ ------- ------ ------- ------- ------- -------- -------------- ------- disk Root1 mirror System Group1 c0t0d0 35368272 node1 ENABLE disk Root2 mirror System Group1 c1t0d0 35368272 node1 ENABLE

等価性コピーが自動的に行われ、等価性コピーが完了するとミラーリング状態が復旧されます。

参照

GDS 運用管理ビューを使用する場合は、「5.4 変更」の「5.4.2 グループ構成」を参照してください。

参考

手順 2) で keep タイプのディスクをグループから切断し、タイプ属性を undef に変更しなかった場合、手順 14) がエラーとなりエラーメッセージ "keep disk cannot be connected to existing group" が出力されます。この場合、ディスクのタイプ属性を undef に変更してから、手順 14) を再実行してください。
ディスクのタイプ属性の変更方法は、手順 2) の「参考」を参照してください。