ここでは、運用ドメインの論理ボリュームのデータを、運用ドメインとは異なるドメインに属しているバックアップサーバからバックアップ/リストアする方法について説明します。
例として、ストライプボリュームのバックアップ/リストア手順を示します。ミラーボリューム、シングルボリューム、コンカチネーショングループ内のボリュームのバックアップ/リストアも同様の手順で行うことができます。ただし、ミラーボリュームのバックアップは、「7.12.2 スライス切離しによるスナップショットを使用したバックアップとリストア」に示す方法で行うことを推奨します。
注意
物理デバイス名
運用ドメインとバックアップサーバとでは、同一の物理ディスクに対して異なる物理デバイス名 (sda など) が割り当てられる場合もあります。
業務を停止し、業務用ボリュームが使用されていない状態でバックアップを行います。
ボリュームのデータが破損した場合、データをテープからリストアします。リストアは、業務を停止し、業務用ボリュームが使用されていない状態で行います。
注意
リソース登録
バックアップサーバがクラスタドメイン (バックアップドメインと呼ぶ) に属している場合、運用ドメインでリソース登録したディスクや、バックアップドメインでシャドウクラスに登録するディスクは、バックアップドメインではリソース登録しないでください。リソース登録の詳細については、「6.3 共用ディスク装置のリソース登録」を参照してください。
1) 業務用ボリュームの作成
ディスク sda、sdb、sdc、sdd 上に、業務で使用するストライプボリュームを作成します。以下の設定を運用ドメインのノード Node1 または Node2 で実施します。
1-1) ディスクの登録
ディスクsda、sdb、sdc、sdd を、ノード Node1、Node2 から共用される共用クラス Class1 に登録し、それぞれ Disk1、Disk2、Disk3、Disk4 というディスク名を付けます。
# sdxdisk -M -c Class1 -a type=shared,scope=Node1:Node2 -d sda=Disk1,sdb=Disk2,sdc=Disk2,sdd=Disk4 |
1-2) ストライプグループの作成
ディスク Disk1、Disk2、Disk3、Disk4 をストライプグループ Group1 に接続します。
# sdxdisk -C -c Class1 -g Group1 -d Disk1,Disk2,Disk3,Disk4 -a type=stripe,width=256 |
1-3) ストライプボリュームの作成
ストライプグループ Group1 に、ストライプボリューム Volume1 を作成します。
# sdxvolume -M -c Class1 -g Group1 -v Volume1 -s 1048576 -a pslice=off |
2) 業務の停止
運用ドメインのノード Node1 および Node2 において、業務用ボリューム Volume1 にアクセスしているアプリケーションを停止します。
Volume1 をファイルシステムとして使用している場合は、アンマウントします。
3) 業務用ボリュームの停止
運用ドメインのノード Node1 および Node2 において、業務用ボリューム Volume1 への不当な書込みを防止するため、Volume1 を停止します。以下のコマンドを Node1 または Node2 で実行します。
# sdxvolume -F -c Class1 -v Volume1 -e allnodes |
4) 業務用ボリュームの構成の確認
運用ドメインのノード Node1 または Node2 において、バックアップの対象となる業務用ボリューム Volume1 の構成を確認します。
下線部を確認します。
# sdxinfo -c Class1
OBJ NAME TYPE SCOPE SPARE
------ ------- -------- ----------- -----
class Class1 shared Node1:Node2 0
OBJ NAME TYPE CLASS GROUP DEVNAM DEVBLKS DEVCONNECT STATUS ------ ------- ------ ------- ------- ------- -------- ---------------- ------- disk Disk1 stripe Class1 Group1 sda 8380800 Node1:Node2 ENABLE disk Disk2 stripe Class1 Group1 sdb 8380800 Node1:Node2 ENABLE disk Disk3 stripe Class1 Group1 sdc 8380800 Node1:Node2 ENABLE disk Disk4 stripe Class1 Group1 sdd 8380800 Node1:Node2 ENABLE OBJ NAME CLASS DISKS BLKS FREEBLKS SPARE
------ ------- ------- ------------------------- -------- -------- -----
group Group1 Class1 Disk1:Disk2:Disk3:Disk4 32964608 31850496 * OBJ NAME CLASS GROUP SKIP JRM 1STBLK LASTBLK BLOCKS STATUS ------ ------- ------- ------- ---- --- -------- -------- -------- -------- volume * Class1 Group1 * * 0 65535 65536 PRIVATE volume Volume1 Class1 Group1 * * 65536 1114111 1048576 STOP volume * Class1 Group1 * * 1114112 32964607 31850496 FREE OBJ CLASS GROUP DISK VOLUME STATUS ------ ------- ------- ------- ------- -------- slice Class1 Group1 * Volume1 STOP |
ポイント
業務用ボリューム Volume1 がストライプグループに属している場合は、ストライプ幅も確認します。
下線部を確認します。
# sdxinfo -G -c Class1 -o Group1 -e long OBJ NAME CLASS DISKS BLKS FREEBLKS SPARE MASTER TYPE WIDTH ACTDISK ------ ------- ------- ------------------------ -------- -------- ----- ------ ------ ----- ------- group Group1 Class1 Disk1:Disk2:Disk3:Disk4 32964608 31850496 * * stripe 256 * |
5) バックアップ用シャドウボリュームの作成
バックアップサーバ Node3 において、手順 4) で確認した業務用ボリュームと同じ構成のバックアップ用ボリューム (シャドウボリューム) を作成します。以下の設定をバックアップサーバ Node3 で実施します。
注意
不適切な構成のシャドウボリュームに書込みを行うと、業務用ボリュームのデータが破損することがあります。手順 5-4) において、シャドウボリュームの構成が適切であることを必ず確認してください。
5-1) シャドウディスクの登録
ディスク sda、sdb、sdc、sdd をシャドウクラス Class2 に登録し、それぞれ Disk1、Disk2、Disk3、Disk4 というディスク名を付けます。
# sdxshadowdisk -M -c Class2 -d sda=Disk1,sdb=Disk2,sdc=Disk3,sdd=Disk4 |
ポイント
ディスク名は、手順 1-1) で割り当てたディスク名と同じにする必要があります。手順 1-1) で割り当てたディスク名は、手順 4) の sdxinfo コマンドで表示されたディスク情報の NAME フィールドで確認できます。
クラス名は自由に割り当てることができます。
5-2) シャドウグループの作成
シャドウディスク Disk1、Disk2、Disk3、Disk4 をストライプタイプのシャドウグループ Group1 に接続します。
# sdxshadowdisk -C -c Class2 -g Group1 -d Disk1,Disk2,Disk3,Disk4 -a type=stripe,width=256 |
ポイント
業務用ボリュームがストライプグループまたはコンカチネーショングループに属している場合、シャドウグループにシャドウディスクを接続する順序は、手順 1-2) でグループにディスクを接続した順序と同じにする必要があります。手順 1-2) でディスクを接続した順序は、手順 4) の sdxinfo コマンドで表示されたグループ情報の DISKS フィールドで確認できます。
業務用ボリュームがストライプグループに属している場合、シャドウグループのストライプ幅は手順 1-2) で指定したストライプ幅と同じにする必要があります。手順 1-2) で指定したストライプ幅は、手順 4) の sdxinfo -e long コマンドで表示されたグループ情報の WIDTH フィールドで確認できます。
グループ名は自由に割り当てることができます。
5-3) シャドウボリュームの作成
シャドウグループ Group1 に、シャドウボリューム Volume1 を作成します。
# sdxshadowvolume -M -c Class2 -g Group1 -v Volume1 -s 1048576 |
ポイント
ボリュームは、手順 1-3) と同じサイズで作成する必要があります。手順 1-3) で作成したボリュームのサイズは、手順 4) の sdxinfo コマンドで表示されたボリューム情報の BLOCKS フィールドで確認できます。
ボリュームが複数ある場合、手順 4) の sdxinfo コマンドで表示されたボリューム情報の 1STBLK フィールドの値 (先頭ブロック番号) が小さい順に、対応するシャドウボリュームを作成する必要があります。
ボリューム名は自由に割り当てることができます。
5-4) シャドウボリュームの構成の確認
sdxinfo コマンドを実行し、グループ情報の DISKS フィールド、ボリューム情報の 1STBLK フィールドおよび BLOCKS フィールドなどから、グループ構成やボリューム構成が適切であることを確認します。
下線部を確認します。
# sdxinfo -c Class2 OBJ NAME TYPE CLASS GROUP DEVNAM DEVBLKS DEVCONNECT STATUS ------ ------- ------ ------- ------- ------- -------- ---------------- ------- disk Disk1 stripe Class2 Group1 sda 8380800 Node3 ENABLE disk Disk2 stripe Class2 Group1 sdb 8380800 Node3 ENABLE disk Disk3 stripe Class2 Group1 sdc 8380800 Node3 ENABLE disk Disk4 stripe Class2 Group1 sdd 8380800 Node3 ENABLE OBJ NAME CLASS DISKS BLKS FREEBLKS SPARE
------ ------- ------- ------------------------- -------- -------- -----
group Group1 Class2 Disk1:Disk2:Disk3:Disk4 32964608 31850496 * OBJ NAME CLASS GROUP SKIP JRM 1STBLK LASTBLK BLOCKS STATUS ------ ------- ------- ------- ---- --- -------- -------- -------- -------- volume * Class2 Group1 * * 0 65535 65536 PRIVATE volume Volume1 Class2 Group1 * * 65536 1114111 1048576 ACTIVE volume * Class2 Group1 * * 1114112 32964607 31850496 FREE OBJ CLASS GROUP DISK VOLUME STATUS ------ ------- ------- ------- ------- -------- slice Class2 Group1 * Volume1 ACTIVE |
ストライプボリュームの場合は、ストライプ幅も確認します。
下線部を確認します。
# sdxinfo -G -c Class2 -o Group1 -e long OBJ NAME CLASS DISKS BLKS FREEBLKS SPARE MASTER TYPE WIDTH ACTDISK ------ ------- ------- ------------------------ -------- -------- ----- ------ ------ ----- ------- group Group1 Class2 Disk1:Disk2:Disk3:Disk4 32964608 31850496 * * stripe 256 * |
6) テープへのバックアップ
バックアップサーバ Node3 において、シャドウボリュームのデータをテープにバックアップします。シャドウボリューム Volume1 のデータをテープ装置 /dev/st0 のテープ媒体にバックアップする例を示します。
参照
バックアップ方法の詳細については、バックアップするファイルシステムや使用するコマンドのマニュアルを参照してください。
参考
GFS 共用ファイルシステムの場合
手順 6a) の方法でバックアップしてください。
6a) dd(1) コマンドを使用してデータをバックアップする場合
# dd if=/dev/sfdsk/Class2/dsk/Volume1 of=/dev/st0 bs=32768 |
6b) tar(1) コマンドを使用して ext4 ファイルシステムをバックアップする場合
6b-1) シャドウボリューム Volume1 上の ext4 ファイルシステムを、一時的なマウントポイント /mnt1 に読取り専用モードでマウントします。
# mkdir /mnt1 |
6b-2) ファイルシステムのデータをテープにバックアップします。
# cd /mnt1 # tar cvf /dev/st0 . |
6b-3) 手順 6b-1) でマウントしたファイルシステムをアンマウントします。
# cd / |
7) シャドウボリュームの削除
バックアップが完了したら、シャドウボリュームへの不当なアクセスを防ぐため、シャドウボリュームを削除します。バックアップサーバ Node3 で以下の作業を実施します。
7-1) シャドウボリュームの停止
シャドウボリューム Volume1 を停止します。
# sdxshadowvolume -F -c Class2 -v Volume1 |
7-2) シャドウボリュームの削除
シャドウボリューム Volume1 を削除します。
# sdxshadowvolume -R -c Class2 -v Volume1 |
7-3) シャドウグループの削除
シャドウグループ Group1 を削除します。
# sdxshadowgroup -R -c Class2 -g Group1 |
7-4) シャドウディスクの削除
シャドウディスク Disk1、Disk2、Disk3、Disk4 を削除します。
# sdxshadowdisk -R -c Class2 -d Disk1 # sdxshadowdisk -R -c Class2 -d Disk2 # sdxshadowdisk -R -c Class2 -d Disk3 |
8) 業務の再開
運用ドメインで業務を再開します。業務を実行するノードで以下の作業を実施します。
8-1) 業務用ボリュームの起動
業務用ボリューム Volume1 を起動します。
# sdxvolume -N -c Class1 -v Volume1 |
8-2) 業務の再開
手順 2) で業務用ボリューム Volume1 上のファイルシステムをアンマウントした場合は、再度マウントします。
Volume1 を使用するアプリケーションを起動します。
9) 業務の停止
運用ドメインのノード Node1 および Node2 において、業務用ボリューム Volume1 にアクセスしているアプリケーションを停止します。
Volume1 をファイルシステムとして使用している場合は、アンマウントします。
10) 業務用ボリュームの停止
運用ドメインのノード Node1 および Node2 において、業務用ボリューム Volume1 への不当な書込みを防止するため、Volume1 を停止します。以下のコマンドを Node1 または Node2 で実行します。
# sdxvolume -F -c Class1 -v Volume1 -e allnodes |
11) 業務用ボリュームの構成と状態の確認
運用ドメインのノード Node1 および Node2 において、リストアの対象となる業務用ボリューム Volume1 の構成と状態を確認します。ボリューム Volume1 が STOP 状態であることを確認します。ボリュームの状態が不当な場合は、「D.1.3 ボリューム状態に関する異常」を参照して状態を復旧してください。
下線部を確認します。
# sdxinfo -c Class1 OBJ NAME TYPE CLASS GROUP DEVNAM DEVBLKS DEVCONNECT STATUS ------ ------- ------ ------- ------- ------- -------- ---------------- ------- disk Disk1 stripe Class1 Group1 sda 8380800 Node1:Node2 ENABLE disk Disk2 stripe Class1 Group1 sdb 8380800 Node1:Node2 ENABLE disk Disk3 stripe Class1 Group1 sdc 8380800 Node1:Node2 ENABLE disk Disk4 stripe Class1 Group1 sdd 8380800 Node1:Node2 ENABLE OBJ NAME CLASS DISKS BLKS FREEBLKS SPARE
----- ------- ------- ------------------------- -------- -------- -----
group Group1 Class1 Disk1:Disk2:Disk3:Disk4 32964608 31850496 *
OBJ NAME CLASS GROUP SKIP JRM 1STBLK LASTBLK BLOCKS STATUS ------ ------- ------- ------- ---- --- -------- -------- -------- -------- volume * Class1 Group1 * * 0 65535 65536 PRIVATE volume Volume1 Class1 Group1 * * 65536 1114111 1048576 STOP volume * Class1 Group1 * * 1114112 32964607 31850496 FREE OBJ CLASS GROUP DISK VOLUME STATUS ------ ------- ------- ------- ------- -------- slice Class1 Group1 * Volume1 STOP |
業務用ボリューム Volume1 がストライプグループに属している場合は、ストライプ幅も確認します。
下線部を確認します。
# sdxinfo -G -c Class1 -o Group1 -e long OBJ NAME CLASS DISKS BLKS FREEBLKS SPARE MASTER TYPE WIDTH ACTDISK ------ ------- ------- ------------------------ -------- -------- ----- ------ ------ ----- ------- group Group1 Class1 Disk1:Disk2:Disk3:Disk4 32964608 31850496 * * stripe 256 * |
12) リストア用シャドウボリュームの作成
バックアップサーバ Node3 において、手順 11) で確認した業務用ボリュームと同じ構成のリストア用ボリューム (シャドウボリューム) を作成します。以下の設定をバックアップサーバ Node3 で実施します。リストア用シャドウボリュームとバックアップ用シャドウボリュームは共通です。すでに作成されている場合は、手順 12-4) のアクセスモードの変更のみを実施してください。
注意
不適切な構成のシャドウボリュームに書込みを行うと、業務用ボリュームのデータが破損することがあります。手順 12-5) において、シャドウボリュームの構成が適切であることを必ず確認してください。
12-1) シャドウディスクの登録
ディスク sda、sdb、sdc、sdd をシャドウクラス Class2 に登録し、それぞれ Disk1、Disk2、Disk3、Disk4 というディスク名を付けます。
# sdxshadowdisk -M -c Class2 -d sda=Disk1,sdb=Disk2,sdc=Disk3,sdd=Disk4 |
ポイント
ディスク名は、手順 1-1) で割り当てたディスク名と同じにする必要があります。手順 1-1) で割り当てたディスク名は、手順 11) の sdxinfo コマンドで表示されたディスク情報の NAME フィールドで確認できます。
クラス名は自由に割り当てることができます。
12-2) シャドウグループの作成
シャドウディスク Disk1、Disk2、Disk3、Disk4 をストライプタイプのシャドウグループ Group1 に接続します。
# sdxshadowdisk -C -c Class2 -g Group1 -d Disk1,Disk2,Disk3,Disk4 -a type=stripe,width=256 |
ポイント
業務用ボリュームがストライプグループまたはコンカチネーショングループに属している場合、シャドウグループにシャドウディスクを接続する順序は、手順 1-2) でグループにディスクを接続した順序と同じにする必要があります。手順 1-2) でディスクを接続した順序は、手順 11) のsdxinfo コマンドで表示されたグループ情報の DISKS フィールドで確認できます。
業務用ボリュームがストライプグループに属している場合、シャドウグループのストライプ幅は手順 1-2) で指定したストライプ幅と同じにする必要があります。手順 1-2) で指定したストライプ幅は、手順 11) の sdxinfo -e long コマンドで表示されたグループ情報の WIDTH フィールドで確認できます。
グループ名は自由に割り当てることができます。
12-3) シャドウボリュームの作成
シャドウグループ Group1 に、シャドウボリューム Volume1 を作成します。
# sdxshadowvolume -M -c Class2 -g Group1 -v Volume1 -s 1048576 |
ポイント
ボリュームは、手順 1-3) と同じサイズで作成する必要があります。手順 1-3) で作成したボリュームのサイズは、手順 11) の sdxinfo コマンドで表示されたボリューム情報の BLOCKS フィールドで確認できます。
ボリュームが複数ある場合、手順 11) の sdxinfo コマンドで表示されたボリューム情報の1STBLKフィールドの値 (先頭ブロック番号) が小さい順に、対応するシャドウボリュームを作成する必要があります。
ボリューム名は自由に割り当てることができます。
12-4) シャドウボリュームのアクセスモードの変更
シャドウボリューム Volume1 を読書き用のアクセスモード (rw) で起動します。
# sdxshadowvolume -F -c Class2 -v Volume1 |
12-5) シャドウボリュームの構成の確認
sdxinfo コマンドを実行し、グループ情報の DISKS フィールド、ボリューム情報の 1STBLK フィールドおよび BLOCKS フィールドなどから、グループ構成やボリューム構成が適切であることを確認します。
下線部を確認します。
# sdxinfo -c Class2 OBJ NAME TYPE CLASS GROUP DEVNAM DEVBLKS DEVCONNECT STATUS ------ ------- ------ ------- ------- ------- -------- ---------------- ------- disk Disk1 stripe Class2 Group1 sda 8380800 Node3 ENABLE disk Disk2 stripe Class2 Group1 sdb 8380800 Node3 ENABLE disk Disk3 stripe Class2 Group1 sdc 8380800 Node3 ENABLE disk Disk4 stripe Class2 Group1 sdd 8380800 Node3 ENABLE OBJ NAME CLASS DISKS BLKS FREEBLKS SPARE
------ ------- ------- ------------------------- -------- -------- -----
group Group1 Class2 Disk1:Disk2:Disk3:Disk4 32964608 31850496 * OBJ NAME CLASS GROUP SKIP JRM 1STBLK LASTBLK BLOCKS STATUS ------ ------- ------- ------- ---- --- -------- -------- -------- -------- volume * Class2 Group1 * * 0 65535 65536 PRIVATE volume Volume1 Class2 Group1 * * 65536 1114111 1048576 ACTIVE volume * Class2 Group1 * * 1114112 32964607 31850496 FREE OBJ CLASS GROUP DISK VOLUME STATUS ------ ------- ------- ------- ------- -------- slice Class2 Group1 * Volume1 ACTIVE |
ストライプボリュームの場合は、ストライプ幅も確認します。
# sdxinfo -G -c Class2 -o Group1 -e long OBJ NAME CLASS DISKS BLKS FREEBLKS SPARE MASTER TYPE WIDTH ACTDISK ------ ------- ------- ------------------------ -------- -------- ----- ------ ------ ----- ------- group Group1 Class2 Disk1:Disk2:Disk3:Disk4 32964608 31850496 * * stripe 256 * |
13) テープからのリストア
バックアップサーバ Node3 において、シャドウボリュームのデータを手順 6) でバックアップしたテープからリストアします。シャドウボリューム Volume1 のデータをテープ装置 /dev/st0 のテープ媒体からリストアする例を示します。
参照
リストア方法の詳細については、リストアするファイルシステムや使用するコマンドのマニュアルを参照してください。
参考
GFS 共用ファイルシステムの場合
手順 13a) の方法でリストアしてください。
13a) dd(1) コマンドを使用してデータをリストアする場合
# dd if=/dev/st0 of=/dev/sfdsk/Class2/dsk/Volume1 bs=32768 |
13b) tar(1) コマンドを使用して ext4 ファイルシステムをリストアする場合
13b-1) シャドウボリューム Volume1 に ext4 ファイルシステムを作成します。
# mkfs -t ext4 /dev/sfdsk/Class2/dsk/Volume1 |
13b-2) シャドウボリューム Volume1 上の ext4 ファイルシステムを、一時的なマウントポイント /mnt1 にマウントします。
# mkdir /mnt1 # mount -t ext4 /dev/sfdsk/Class2/dsk/Volume1 /mnt1 |
13b-3) ファイルシステムのデータをテープからリストアします。
# cd /mnt1 |
13b-4) 手順 13b-3) でマウントしたファイルシステムをアンマウントします。
# cd / |
14) シャドウボリュームの削除
リストアが完了したら、シャドウボリュームへの不当なアクセスを防ぐため、シャドウボリュームを削除します。バックアップサーバ Node3 で以下の作業を実施します。
14-1) シャドウボリュームの停止
シャドウボリューム Volume1 を停止します。
# sdxshadowvolume -F -c Class2 -v Volume1 |
14-2) シャドウボリュームの削除
シャドウボリューム Volume1 を削除します。
# sdxshadowvolume -R -c Class2 -v Volume1 |
14-3) シャドウグループの削除
シャドウグループ Group1 を削除します。
# sdxshadowgroup -R -c Class2 -g Group1 |
14-4) シャドウディスクの削除
シャドウディスク Disk1、Disk2、Disk3、Disk4 を削除します。
# sdxshadowdisk -R -c Class2 -d Disk1 # sdxshadowdisk -R -c Class2 -d Disk2 # sdxshadowdisk -R -c Class2 -d Disk3 # sdxshadowdisk -R -c Class2 -d Disk4 |
15) 業務の再開
運用ドメインで業務を再開します。業務を実行するノードで以下の作業を実施します。
15-1) 業務用ボリュームの起動
業務用ボリューム Volume1 を起動します。
# sdxvolume -N -c Class1 -v Volume1 |
15-2) 業務の再開
手順 9)で業務用ボリューム Volume1 上のファイルシステムをアンマウントした場合は、再度マウントします。
Volume1 を使用するアプリケーションを起動します。