1. 概要
LifeKeeper for Linux/DataKeeper for Linux は、保護対象となる SCSI ディスクの識別を
World Wide Identifier (WWID) と呼ばれる固有 ID を使用し、永続的でシステム構成に依存しない方法で
SCSI ディスクを認識しディスクリソースを作成しています。
しかしながら、特定環境(仮想環境で提供されるエミュレートされた SCSI ディスク、SSD など)では
これらの固有 ID を取得することが出来ないため、/dev/sdb などのデバイスファイル名(DEVNAME)を
使用したパスベースの識別方法でディスクを認識しリソースを作成する機能を提供しています。
DEVNAME のようなパスベースの名前はディスクの追加・削除に伴い変わる可能性があるため、DEVNAME を使用したミラーディスクリソースがある環境では、
構成変更の都度正しい手順(ins_setid コマンドによるID設定)でディスクの追加や削除を行う必要が
あります。
正しい手順を実行せずにディスクの追加や削除を行うと、ソースディスクとターゲットディスクの対応が変わり、データの破損を引き起こす可能性があります。
2. 対象環境
DataKeeper for Linux(DK リソース)を利用していて、ディスク識別に DEVNAME を用いている環境で、ディスクの追加や削除を行う場合が対象となります。
以下のいずれかの方法で、対象環境かどうかを判別することができます。
・DK リソースのリソース ID(TAG ではない)に「/dev/」が含まれた場合
※ DK リソースのリソース ID は lcdstatus コマンド出力の ”id=” から確認可能です。
・次のコマンドの実行結果が DEVNAME だった場合
# ins_list -r netraid | cut -d^A -f6 | cut -d^B -f6 (※^A と ^B は制御文字で、それぞれ Ctrl-A と Ctrl-B です)
3. 対応方法
上記の対象環境でディスクの構成変更をする際は、以下の手順を実施してください。
※ LifeKeeper for Linux v9.2.2 以降をご利用の場合は、DEVNAME を利用しない環境に移行させることも
可能です。
(後述の「4.補足」を参照してください。)
前提:
・以下の手順は、稼働系と待機系で LifeKeeper for Linux を稼働させた状態で実施してください。
・手順の実行中(DK リソースの停止中)には、保護対象のディスクにアクセスしないようにして
ください。
・手順実施の前に、データのバックアップを取得してください。
・この手順においては、稼働系と待機系間の同期は発生しません。
・ディスク構成変更をする際は、都度この手順を実施してください。
手順:
1. 全てのリソースを停止する(厳密には DK リソース以外の停止は必須ではありません)
2. 以下を全ノードで実行する(どのノードから実行してもかまいません)
(1) ディスク構成を変更する
(2) ins_setid コマンド(以下の付録を参照)で DK リソースの ID を適切な値に変更する
(3) lcdsync コマンド(以下の付録を参照)で上記変更を反映する
3. 全てのリソースを起動する
<付録>
・ins_setid コマンドの仕様:
書式: ins_setid [-d destsys] -t tag -i id
-d ターゲットシステム名
-t リソースタグ名
-i 変更後のデバイス名
使用例 (/dev/sdc1 に変更する場合)
# ins_setid -t <TAG> -i /dev/sdc1
・lcdsync コマンドの仕様:
書式: lcdsync [-d destsys] -d ターゲットシステム名
使用例 (ターゲットシステム上で変更内容を反映させる場合)
# lcdsync
4. 補足
LifeKeeper for Linux v9.2.2 以降をご利用の場合は、
以下のいずれかの方法で(DEVNAME を利用しない)
GPT パーティション(GUID Partition Table)環境に移行させることができます。
移行手順(a):
前提:
・以下の手順は、稼働系と待機系で LifeKeeper for Linux を稼働させた状態で実施してください。
・手順の実行中(DK リソースの停止中)には、保護対象のディスクにアクセスしないようにして
ください。
・手順実施の前に、データのバックアップを取得してください。
・この手順においては、稼働系と待機系間の同期が発生します。
手順:
1. 全てのリソースを停止する(厳密には DK リソース以外の停止は必須ではありません)
2. 全ての DK リソースと他のアプリケーションリソースとの依存関係を削除する
3. 全ての DK リソースを削除する
4. 以下を全ノードで実行する(どのノードから実行してもかまいません)
・ディスク構成を変更する
・保護対象ディスクが GPT パーティションでない場合、作成する
5. DK リソースを「Replicate New File System」にて作成し、拡張する
6. バックアップしたデータを復元させる(ここで稼働系と待機系間の同期が発生します)
7. 全ての DK リソースと他のアプリケーションリソースとの依存関係を作成する
8. 全てのリソースを起動する
移行手順(b):
前提:
・以下の手順は、稼働系と待機系で LifeKeeper for Linux を稼働させた状態で実施してください。
・手順の実行中(DK リソースの停止中)には、保護対象のディスクにアクセスしないようにしてください。
・手順実施の前に、データのバックアップを取得してください。
・この手順においては、稼働系と待機系間の同期が発生します。
・レプリケーション領域の存在するディスクに、ある程度の空き容量が必要です。
(後述の※1を満たす必要があります。)
手順:
1. 全てのリソースを unextend する(厳密には DK リソースを含まないリソース階層の unextend は
必須ではありません)
2. 以下を待機系ノードで実施する
・ディスク構成を変更する
・保護対象ディスクが GPT パーティションでない場合、作成する
※1:領域の大きさがソース側(稼働系)と同じか大きくなるように作成する必要があります
3. unextend した全てのリソース階層を extend する(ここで稼働系と待機系間の同期が発生します)
4. 同期が完了するのを待つ
5. 待機系にスイッチオーバーする
6. 全てのリソースを unextend する(厳密には DK リソースを含まないリソース階層の unextend は
必須ではありません)
7. 以下を元稼働系ノード(スイッチオーバーにより待機系となったノード)で実施する
・ディスク構成を変更する
・保護対象ディスクが GPT パーティションでない場合、作成する
※1:領域の大きさが稼働系ノードと同じか大きくなるように作成する必要があります。
8. unextend した全てのリソース階層を extend する(ここで稼働系と待機系間の同期が発生します)
9. 同期が完了するのを待つ
10. extend したリソースの Priority が稼働系ノードと待機系ノードで入れ替わる為、リソースの
Properties 画面から Priority を元に戻す
11. 元稼働系ノードにスイッチバックする
改訂履歴
[公開日:2018年3月9日] [改定日:2018年3月19日] LifeKeeper for Linux v9.2.2 の情報を追加しました。