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

6.2.2 リストア手順

ZFS ブート環境のシステムディスクのリストアは、以下の手順で行います。

注意

バックアップを行ったサーバと異なるサーバにリストアすることはできません。

1) 任意のファイルを追加します。

システムが起動できる場合、リストアが正しく行われていることを確認するため、リストア前に任意のファイルを追加します。

例)hosts_new ファイルを追加する場合

# cd /etc/inet
# cp hosts hosts_new
# ls host*
hosts hosts_new

2) システムを停止します。

# /usr/sbin/shutdown -i0 -g0 -y

3) ディスク交換が必要な場合、ディスクを交換します。

交換作業は、各装置で定められた手順に従って実施してください。

注意

物理ディスクを交換せずに過去に GDS で使用していたディスクへリストアする場合には、CD-ROM 装置(またはネットワーク)からシステムを起動し、ルートクラスに登録されていた物理ディスクをすべて初期状態に戻します。CD-ROM 装置(またはネットワーク)からシステムを起動する方法については、手順4)を参照してください。

# format c0t0d0
format> type AVAILABLE DRIVE TYPES: 0. Auto configure ~ Specify disk type (enter its number)[14]: 0 c0t0d0: configured with capacity of 4.00GB <SUN4.2G cyl 3880 alt 2 hd 16 sec 135> selecting c0t0d0 [disk formatted] format> label Ready to label disk, continue? y format> quit

4) ok プロンプトが表示されたら、対象サーバをシングルユーザモードで起動します。

4a) 内蔵 DAT 装置、オンボードの SAS インタフェース、または富士通製 SAS カードで外付けテープドライブを使用する場合

対象サーバに Solaris のインストール DVD-ROM をセットし、 DVD-ROM からシステムを起動します。

起動方法については、Solaris のマニュアルを参照してください。

4b) 富士通製 SCSI カードで外付けテープドライブを使用する場合

4b-1) OBP 変数の local-mac-address? 値を確認し、 true の場合、 false に変更します。

ok printenv local-mac-address?
local-mac-address? = true
ok setenv local-mac-address? false
local-mac-address? = false

4b-2) 対象サーバと同一セグメント上にブートサーバを用意し、ネットワーク経由でシステムを起動します。

起動方法については、Solaris のマニュアルを参照してください。


5) 対象のシステムディスクにスライスを作成します。

バックアップ時に記録したパーティション情報を元に format(1M) コマンドを実行して、リストアの対象とする方のシステムディスクにスライスを作成します。

バックアップ時に記録したパーティション情報において、Tag欄に "-" (ハイフン)が表示されているパーティションは、GDSの占有スライスです。このパーティションは、作成しないでください。また、占有スライスが存在する場合は、削除してください。


6) ZFSファイルシステムをリストアします。

手順の概要は以下のとおりです。詳細は、SolarisおよびZFSのマニュアルを参照してください。

6-1) zfs createコマンドを使用して、リストア先のスライスにZFSストレージプールを作成します。

6-2) zfs receiveコマンドを使用して、テープ媒体からZFSスナップショットを復元します。

6-3) installbootコマンドなどを使用して、リストア先のスライスにブートブロックを作成します。

この段階では、手順6-1)で作成したZFSストレージプールのエクスポート(zpool exportコマンド)、および、システムの再起動は、実行しないでください。


7) リストアしたルートファイルシステムがマウントされていない場合はマウントします。

Solaris 11の場合、手順6)で有効にしたBE (Boot Environment)をマウントします。

マウント方法については、SolarisおよびZFSのマニュアルを参照してください。

以下の手順では、マウントポイントが/tmp/mntの場合の例を示します。


8) 共用クラスまたはローカルクラスを使用していて、かつ、「6.2.1 バックアップ手順」においてGDSの構成パラメタ

SDX_DB_FAIL_NUM=0の設定を行わなかった場合、GDSの構成パラメタの設定を行います。

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

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

9) GDS のシステムディスクの設定を削除します。

/tmp/mnt/kernel/drv/sfdsk.conf から sysvol-db と記述された行をすべて削除します。

# vi /tmp/mnt/kernel/drv/sfdsk.conf
#
# Copyright (c) 1998, by Fujitsu, Ltd.
# All rights reserved.
#
name="sfdsk" parent="pseudo"; 
sysvol-db0="sd","2"; ←この行を削除する。
sysvol-db1="sd","18"; ←この行を削除する。

10) boot-archive ファイルを更新します。

10-1) /tmp/mnt/platform 配下に boot-archive ファイルがあるか確認します。

# ls /tmp/mnt/platform/`uname -m`/boot_archive

10-2) boot-archive ファイルがある場合は、ファイル名が表示されますので、bootadm コマンドを実行して boot-archive ファイルを更新します。
その他の場合は、このコマンドは実行しないでください。

# /sbin/bootadm update-archive -R /tmp/mnt

11) Solaris 11の場合、手順7)でマウントしたBEをアンマウントします。

アンマウント方法については、SolarisおよびZFSのマニュアルを参照してください。


12) ZFS ストレージプールをエクスポートします。

# zpool export rpool

13) OpenBoot の boot-device プロパティを設定します。

手順は以下の3つの場合で異なります。

参照

SAN ブート環境の場合の手順は、以下のドキュメントを参照してください。

  • MPxIO を使用する場合

    SPARC Enterprise SAN Boot環境構築ガイド (Leadvilleドライバ編)

    https://updatesite.jp.fujitsu.com/unix/jp/download/driver/pfca-8info/

  • ETERNUS マルチパスドライバを使用する場合

    SPARC Enterprise SAN Boot環境構築ガイド

    https://updatesite.jp.fujitsu.com/unix/jp/download/driver/pfca-4/


12Gbps SAS カードに接続されているディスクの場合

13a-1) リストア先のスライスのデバイスパスを確認します。

以下のコマンドを実行して、リストア先のスライスのデバイスパスを調べて記録します。

# ls -l /dev/dsk | grep リストア先のスライス名

例)リストア先のスライスが c0t600000E00D0000000001060300040000d0s0 の場合

# ls -l /dev/dsk | grep c0t600000E00D0000000001060300040000d0s0
lrwxrwxrwx 1 root root 64 Feb 2 13:57 c0t600000E00D0000000001060300040000d0s0 -> ../../devices/scsi_vhci/disk@g600000e00d0000000001060300040000:a

13a-2) リストア先のディスクの情報を確認します。

以下のコマンドを実行して、リストア先のスライスのデバイスパスを調べて記録します。

# prtconf -v リストア先のスライス名

例)リストア先のスライスが c0t600000E00D0000000001060300040000d0s0 の場合

# prtconf -v /dev/rdsk/c0t600000E00D0000000001060300040000d0s0
disk, instance #0 Driver properties: ~ Hardware properties: ~ Paths from multipath bus adapters: Path 33: /pci@8100/pci@4/pci@0/pci@0/LSI,sas@0/iport@f0/disk@w500000e0d0460306,0 lsc#3(online) (*1) (*2)

(*1) diskノード名( この例では disk@w500000e0d0460306,0 )
(*2) SAS Address ( この例では 500000e0d0460306 )

注意

MPxIO が無効になっている場合、"Paths from multipath bus adapters:" という行は表示されません。


13a-3) OpenBoot 環境に移行します。

# shutdown -y -g0 -i0

13a-4) リストア先のディスクが接続されているSAS HBAのデバイスパスを確認します。

以下のコマンドを実行して、リストア先のSAS HBAのデバイスパスを確認します。

ok probe-scsi-all

例)リストア先のSAS HBAが 500000e0d0460306 の場合

ok probe-scsi-all
/pci@8100/pci@4/pci@0/pci@0/LSI,sas@0
(*1) FCode Version 1.00.65, MPT Version 2.05, Firmware Version 4.00.00.00 Target a Unit 0 Disk TOSHIBA MBF2300RC 3706 585937500 Blocks, 300 GB SASDeviceName 50000393d82956d4 SASAddress 500000e0d0460306 PhyNum 0 Target b (*2) Unit 0 Disk TOSHIBA MBF2300RC 3706 585937500 Blocks, 300 GB SASDeviceName 50000393d828bbfc SASAddress 500000e0da0cc620 PhyNum b ~ ok

(*1) デバイスパス
(*2) SAS Address ( 手順13a-2) の *2 で確認した SAS Address )


13a-5) boot-deviceプロパティを設定します。

手順13a-4) で確認したデバイスパスと、手順13a-2)diskノード名と、手順13a-1) で確認したスライス名を連結した値を、OBP の boot-deviceプロパティに設定します。

ok setenv boot-device /pci@8100/pci@4/pci@0/pci@0/LSI,sas@0/disk@w500000e0d0460306,0:a

13a-6) multipath-boot?プロパティに false を設定します。

ok setenv multipath-boot? false

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

13b-1) リストア先のスライスのデバイスパスを確認します。

以下のコマンドを実行して、リストア先のスライスのデバイスパスを調べて記録します。

# ls -l /dev/dsk | grep リストア先のスライス名

[Solaris 11.3 以前の例]

リストア先のスライスが c0t5000CCA0150FEA10d0s0 の場合

# ls -l /dev/dsk | grep c0t5000CCA0150FEA10d0s0
lrwxrwxrwx 1 root root 48 Apr 25 13:46 c0t5000CCA0150FEA10d0s0 -> ../../devices/scsi_vhci/disk@g5000cca0150fea10:a

[Solaris 11.4 以降の例]

リストア先のスライスが c1t50000397683346AAd0s0 の場合

# ls -l /dev/dsk | grep c1t50000397683346AAd0s0
lrwxrwxrwx 1 root root 0 Aug 17 10:51 c1t50000397683346AAd0s0 -> ../../devices/pci@8000/pci@4/pci@0/pci@0/scsi@0/iport@f/disk@w50000397683346aa,0:a

13b-2) リストア先のスライスの情報を確認します。

# prtconf -v /dev/rdsk/リストア先のスライス

情報の確認方法は、OS のバージョンと、現在 MPxIO が有効になっているかどうかによって異なります。

MPxIO が有効になっているかどうかは、format(1M) コマンドの current サブコマンドで確認できます。リストア先のディスクの論理パス内に /scsi_vhci ディレクトリがある場合、MPxIO は有効です。

例:リストア先のディスクが c0t50000394882261A0d0 である場合

# format c0t50000394882261A0d0
format> current
Current Disk = c0t50000394882261A0d0: 00000000
<TOSHIBA-MBF2600RC-3706 cyl 64986 alt 2 hd 27 sec 668>
/scsi_vhci/disk@g50000394882261a0
/dev/chassis/SYS/HDD0/disk

[Solaris 11.3 以前の場合]

[Solaris 11.4 以降の場合]


13b-3) OpenBoot 環境に移行します。

# halt

注意

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


13b-4) boot-device プロパティを設定します。

[Solaris 11.3 以前の例]

手順13b-2) で確認した obp-path パラメタと、手順13b-1) で確認したリストア先デバイスのスライス名を連結した値を、OBP の boot-device プロパティに設定します。

ok setenv boot-device /pci@400/pci@2/pci@0/pci@e/scsi@0/disk@w5000cca0150fea11,0:a

[Solaris 11.4 以降の例]

手順13b-2) で確認した ddi-boot-path パラメタと、手順13b-1) で確認したリストア先デバイスのスライス名を連結した値を、OBP の boot-device プロパティに設定します。

ok setenv boot-device /pci@8000/pci@4/pci@0/pci@0/scsi@0/disk@w50000397683346aa,0:a


上記以外の場合

13c-1) リストア先のスライスのデバイスパスを確認します。

以下のコマンドを実行して、リストア先のスライスのデバイスパスを調べて記録します。

# ls -l /dev/dsk | grep リストア先スライス

例)リストア先のスライスが c0t1d0s0 の場合

# ls -l /dev/dsk | grep c0t1d0s0

lrwxrwxrwx 1 root root 48 12月 1日 15:37 c0t1d0s0 -> ../../devices/pci@83,4000/FJSV,ulsa@2,1/sd@1,0:a

13c-2) OpenBoot 環境に移行します。

# halt

注意

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


13c-3) OpenBoot 環境でのデバイス名を確認します。

ok show-devs /pci@83,4000/FJSV,ulsa@2,1

ここで指定しているパス「 /pci@83,4000/FJSV,ulsa@2,1 」は、手順 13c-1) で表示されたパスから最終要素(この例では /sd@1,0:a )を除いたものです。


13c-4) boot-device プロパティを設定します。

手順 13c-3) での確認結果に応じて以下のコマンドを実行し、システムを起動します。

show-devs で表示されたパスの最終要素に "disk" というデバイス名が出力された場合

ok setenv boot-device /pci@83,4000/FJSV,ulsa@2,1/disk@1,0:a

ここで指定しているパス「 /pci@83,4000/FJSV,ulsa@2,1/disk@1,0:a 」は、手順 13c-1) で表示されたパスの最終要素の @ より前の部分(この例では sd )を disk に置き換えたものです。

show-devs で表示されたパスの最終要素に "sd" というデバイス名が出力された場合

ok setenv boot-device /pci@83,4000/FJSV,ulsa@2,1/sd@1,0:a

ここで指定しているパス「 /pci@83,4000/FJSV,ulsa@2,1/sd@1,0:a 」は、手順 13c-1) で表示されたパスです。



14) boot-device-index プロパティを設定します。

OpenBoot に boot-device-index プロパティがあるかどうか確認し、ある場合は boot-device-index プロパティを 0 に設定します。

ok printenv boot-device-index

boot-device-index プロパティがある場合は、 "boot-device-index = 数値" と表示されます。この場合は、以下のコマンドを実行します。その他の場合は、以下のコマンドは実行しないでください。

ok setenv boot-device-index 0

15) local-mac-address? プロパティを設定します。

手順 4) で OBP 変数の local-mac-address? 値を false に変更した場合、 true に戻します。

ok printenv local-mac-address?
local-mac-address? = false
ok setenv local-mac-address? true
local-mac-address? = true

16) システムを起動します。

ok boot

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

# sdxinfo

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

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

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

19) クラスタシステムの場合は、ルートクラスのクラスタリソースを削除します。

ここでの対象はルートクラスのみであり、ローカルクラスおよび共用クラスのクラスタリソースは削除しないでください。

以降では、以下のクラスが存在している場合の実行例を示します。

ルートクラスのクラスリソースが存在することを確認します。


# /etc/opt/FJSVsdx/bin/sdxdcrsc -I
NAME SCOPE RID(RDB) RID(CDB) --------------- -------------------- --------------- --------------- System node1 368 1 class0001 node1 369 2 class0002 node1,node2 371,372(370) 4,5(3) #

ルートクラスのクラスリソースが表示されない場合は、次の手順 20) に進みます。

ルートクラスのクラスリソースが表示された場合は、ルートクラスのクラスリソースを削除します。


# /etc/opt/FJSVsdx/bin/sdxdcrsc -R -c System
sdxdcrsc: System removed #

ルートクラスのクラスリソースが削除されたことを確認します。

以下のコマンドを実行し、対象のクラス名が表示されないことを確認してください。


# /etc/opt/FJSVsdx/bin/sdxdcrsc -I
NAME SCOPE RID(RDB) RID(CDB) --------------- -------------------- --------------- --------------- class0001 node1 369 2 class0002 node1,node2 371,372(370) 4,5(3) #

20) システムディスクのミラーリングを再設定します。

詳細は、「7.1.1 ZFS ブート環境のシステムディスクミラーリングの設定 (GDS ミラー方式)」または「7.2.1 ZFS ブート環境のシステムディスクミラーリングの設定 (ZFS ミラー方式)」を参照してください。


注意

ミラー先ディスクの初期化

システムディスクミラーリングの設定手順において、ミラー先ディスクにスライスを作成した後、以下のコマンドを実行し、ミラー先ディスクのスライスを初期化してください。ddコマンドの詳細については、ddコマンドのマニュアルを参照してください。使用方法やオプションの意味を確認し、適切なオプションを指定してください。

例) ミラー先ディスクが c1t0d0 の場合

# dd if=/dev/zero of=/dev/rdsk/c1t0d0s0 bs=1024k

21) バックアップデータをリストアしたことにより、手順 1) で追加したファイルが消えていることを確認します。


# cd /etc/inet
# ls host*
hosts