ここでは本製品の概要について説明します。
RHOSP16.1 : Red Hat(R) OpenStack Platform 16.1
Site Recovery for RHOSP : Site Recovery for Red Hat(R) OpenStack Platform 1.1
AdvancedCopy Manager : ETERNUS SF AdvancedCopy Manager
AdvancedCopy Manager CCM : ETERNUS SF AdvancedCopy Manager Copy Control Module
用語 | 説明 |
---|---|
本番サイト | 本番運用しているサイト(拠点)。本手順では本番サイトが被災した場合を想定しています(業務が運用されます)。 |
災対サイト | 被災時に本番業務を復旧するサイトです(検証用に利用します)。 |
インフラ管理者 | admin権限でのOpenStack操作、OpenStack基盤のサーバでroot権限での操作が可能なユーザーです。DRの各操作を実施します。 |
SRプロジェクト | 本製品で使用するOpenStackのプロジェクトです。プロジェクト名は"rcxsrosp"です。 |
SRユーザー | 本製品で使用するOpenStackのユーザーです。ユーザー名は"rcxsrosp"です。 |
メイン作業用コントロールノード | 本製品のコマンドを実行するメインのコントロールノードです(コントロールノード3台のうちの1台です)。 |
切替対象:130VM
切替条件:目標復旧地点(RPO):バックアップした地点、目標復旧時間(RTO):約10時間
切替単位:インスタンス単位で切替
本製品がサポートするOpenStackのコンポーネントは以下のとおりです。
nova, cinder, glance, neutron, keystone, horizon
本番サイトと災対サイトはネットワーク構成が同じ構成です(コンピュートノードの台数や物理サーバのIPアドレス、ホスト名は変更できます)。
本番サイト、災対サイトともにRed Hat(R) OpenStack Platform 16.1で構築します。
本番サイト、災対サイトともにOpenStackが正常に稼働している必要があります。
ストレージネットワーク構成はiSCSIです。
Cinderのスナップショットを使用するため、ETERNUSのACMライセンスが必須です。
AdvancedCopy Manager CCM(Linux)が両サイトにあります。
CinderボリュームにはゲストOSと業務アプリが格納されており、これらをDR対象とします。
業務アプリが使用するDBなど業務上動的に変更されるデータはOpenStack外のストレージで管理されているため、DRの復旧対象外です。
OpenStack管理外の外部DNS切替えなどは対象外です。
ETERNUS間の転送はETERNUSの機能範囲とします。
DR用のテナント/ユーザー(SRプロジェクト/SRユーザー)を登録してください(本番サイト、災対サイト両方)。
ロールとポリシーはデフォルトのadminロールの権限を変更しないでください。
SRユーザーにはデフォルトのadminロールが割り当てられます。
すべてのユーザーは、事前にSRユーザーに対して権限を委譲(trustによる権限委譲)をしてください。
OpenStackのサービスユーザー、OpenStackのDatabaseのユーザーおよびSRユーザーのパスワードは、本番サイトと災対サイトで同じパスワードを設定してください。
OpenStackのプロジェクト名"rcxsrosp"およびユーザー名"rcxsrosp"は本製品で使用するため、使用しないでください。
Novaインスタンスの停止時間短縮のために、rcx_srosp_backup instanceコマンドで内部的にCinderスナップショットを使用します。
Cinderスナップショット格納先の領域は、ユーザーが使用するCinderスナップショットの容量に加えて、最も容量が大きいCinderボリュームの3倍の容量を確保してください。
Cinderスナップショットの総容量の計算式は、以下のとおりです。
ユーザーが使用するCinderスナップショットの総容量 + (最も容量が大きいCinderボリュームの容量 × 3)
本番サイトのストレージ容量の計算式は、以下のとおりです。
本番サイトのストレージ容量 = (A) + (B) + (C) + (D) + (E)
説明 | 容量 | |
---|---|---|
(A) | 本製品の作業ディレクトリに使用するNFS用ボリューム | 10 (MB) × Novaインスタンス総数 |
(B) | 本番サイトのGlanceのバックエンドに使用するNFS用ボリューム | 本番サイトのGlanceイメージの総容量 |
(C) | 本番サイトのCinderのバックアップ格納先に使用するNFS用ボリューム | 本番サイトのCinderボリュームの総容量+増分バックアップの容量 |
(D) | 本番サイトのCinderボリューム格納先 | 本番サイトのCinderボリュームの総容量 |
(E) | 本番サイトのCinderスナップショット格納先 | 本番サイトのCinderスナップショットの総容量 |
災対サイトのストレージ容量の計算式は、以下のとおりです。
災対サイトのストレージ容量 = (A') + (B') + (C') + (D') + (F) + (G) + (H) + (I)
説明 | 容量 | |
---|---|---|
(A') | (A)のRECのコピー先 | (A)と同容量 |
(B') | (B)のRECのコピー先 | (B)と同容量 |
(C') | (C)のRECのコピー先 | (C)と同容量 |
(D') | (D)のRECのコピー先 | (D)と同容量 |
(F) | 検証環境のGlanceのバックエンドに使用するNFS用ボリューム | 検証環境のGlanceイメージの総容量 |
(G) | 検証環境のCinderのバックアップ格納先に使用するNFS用ボリューム | 検証環境のCinderバックアップの総容量 |
(H) | 検証環境のCinderボリューム格納先 | 検証環境のCinderボリュームの総容量 |
(I ) | 検証環境のCinderスナップショット格納先 | 検証環境のCinderスナップショットの総容量 |
災対サイトのETERNUSには、災対サイトで使用するCinderボリュームの容量に加え、本番サイトのCinderボリュームのバックアップ+Cinderボリュームをリストアする領域が必要です。
Cinderバックアップ格納先の容量は、以下を考慮して用意してください。
(C)に記載されている"増分バックアップの容量"は、前回フルバックアップを取得した後に変更したCinderボリュームの容量と同じ量が必要です。フルバックアップの取得間隔と増分バックアップの取得回数などから"増分バックアップの容量"を決定してください。
参考
1ヶ月の運用で仮想マシンのディスク内容が5~10%書き換わると想定すると、月1回増分バックアップを取得した場合、1年でCinderバックアップの容量はフルバックアップ取得時の1.6~2.2倍になります。
Cinderスナップショットは復旧の対象外です。
RECの設定中はCinderボリュームに対して以下の操作ができません。実施する場合はRECを解除してください。
Migrate Volume
Retype Volume
インスタンスのストレージとして、Cinderボリュームを使用するものとします。Cinderボリューム以外(エフェメラルディスク)は復旧対象外です。
Novaインスタンス作成時に指定するdelete_on_terminationオプション(Novaインスタンス削除時にシステムボリュームのCinderボリュームを削除するオプション)は無効にしてください。
Novaインスタンスに使用したフレーバーは削除しないでください。
有効期限が切れたトークンが多い場合、リストアに時間がかかる場合があります。トークンのフラッシュ間隔は十分短くしてください。
適切なフラッシュ間隔は、環境によって異なります。以下はフラッシュ実行間隔の一例です。
例
各コントロールノードごとに1時間に1回、20分ずつずらして実行します。
Cinderバックアップのデータ格納先はストレージの機能で災対サイトにレプリケーションされているものとします。
Glanceイメージのデータ格納先はストレージの機能で災対サイトにレプリケーションされているものとします。
本番サイトで収集した資材(切替え時に使用)は、災対サイトにレプリケーションされているものとします。
DRに関する操作(バックアップ)中は、DRに関する操作以外のOpenStackの操作を実施しないでください(OpenStackのAPI/CLI/GUIでの操作)。
Cinderボリュームのバックアップ取得時はNovaインスタンス(業務VM)を停止してください。
災対サイトのOpenStack上で動作しているシステムは退避してください。
本製品を利用する際は、RHOSPが正常に動作しているものとします。
以下のOpenStackリソースはサポートしていません。
NeutronのFirewall
LBaaS
災対サイトで復旧した以下のリソースのuuidは、復旧前と変わります。
API、CLIでuuidを指定する場合は、災対サイトでの復旧後に対象リソースのリストコマンドなどでuuidを確認してください。
Novaインスタンス
Cinderボリューム
Cinderバックアップ
Neutronポート
バックアップ可能な世代数は1世代だけです。
本製品のバックアップには、フルバックアップと増分バックアップがあり、それぞれ以下のタイミングでバックアップを実施します。
フルバックアップ
本番サイトおよび災対サイトの初回構築完了後に実施します。
また、運用開始後は以下のタイミングでフルバックアップを再取得してください。
1年に1回
Cinderバックアップ格納先の空き容量が20%以下になったとき
参考
1ヶ月の運用で仮想マシンのディスク内容が5~10%書き換わると想定すると、月1回増分バックアップを取得した場合、1年でCinderバックアップの容量はフルバックアップ取得時の1.6~2.2倍になります。
増分バックアップ
本番サイトで変更(※)が生じた際に実施します。
※以下の変更がある場合に、増分バックアップを取得します。
OpenStackで更新系の操作(GET/HEAD以外のAPI)を実施した場合
ゲストOSの更新 (OS/業務アプリのアップデート)
フルバックアップ1回で以下の容量を消費します。
Cinderバックアップの格納先:Cinderボリュームの総容量と同量
本製品の作業ディレクトリに使用するNFS用ボリューム:(10 × インスタンス数) (MB)
フルバックアップ1回にかかる時間は以下のとおりです。
Cinderバックアップにかかる時間(※)(分) = Cinderボリュームの総容量(GB) × 0.2 ... (A)
その他コマンド・手順にかかる時間(分) = 180 ... (B)
フルバックアップにかかる時間(時) = ((A) + (B)) ÷ 60 ... (C)
※以下の節にかかる時間
注意
(B)の時間だけ、業務を停止します。
(C)の時間はDRに関する操作以外のOpenStackの操作は(OpenStackのAPI/CLI/GUIでの操作)禁止されます。
例
Novaインスタンス130台、Cinderボリュームの総容量13TBで約46時間かかります。業務の停止時間は180分です。
切替え1回にかかる時間は以下のとおりです。
検証環境の退避・切替えにかかる時間 (分) = 1.5 × インスタンス総数 ...(A)
その他手順にかかる時間 (分) = 180 ...(B)
Cinderバックアップからのインスタンスリストアにかかる時間(※) (分) = 30 × 対象インスタンス数 ...(C)
切替えにかかる時間 (時) = ((A) + (B) + (C)) ÷ 60
※以下の節にかかる時間
例
Novaインスタンス130台、5%のNovaインスタンスをCinderバックアップからリストアした場合、約10時間かかります。
Cinderのバックエンドの構成に関する注意です。
本番サイトで運用に使用するバックエンドに関するcinder.confの設定は、災対サイトのcinder.confにも同じ設定を記載してください。
運用に使用するボリューム作成/スナップショット作成に使用するストレージプールは、本番サイトと災対サイトで同じ構成にしてください。
検証用環境のバックエンドには、運用に使用するバックエンドとは別の名前を付けてください。
ソフトウェア名称 | 用途 |
---|---|
AdvancedCopy Manager CCM | 本番サイト、災対サイト間のリモートレプリケーションに使用します。 |
本製品のコマンドを使用する場合は、事前に以下の環境変数を設定してください。
環境変数 | 値 |
---|---|
PATH | /opt/FJSVrcxsr/bin |
PYTHONPATH | /opt/FJSVrcxsr/lib |
以下、環境変数の設定例です。
PATHの設定例
# export PATH=/opt/FJSVrcxsr/bin:"$PATH"
PYTHONPATHの設定例
PYTHONPATHに値が設定されていない場合
# export PYTHONPATH=/opt/FJSVrcxsr/lib
PYTHONPATHに値が設定されている場合
# export PYTHONPATH=/opt/FJSVrcxsr/lib:"$PYTHONPATH"
本製品のコマンドは/var/opt/FJSVrcxsr/ディレクトリの配下では実行しないでください。コマンド実行に失敗する場合があります。
本製品が出力するログについて説明します。
パス : 以下のパスに本製品のログが出力されます。
/var/opt/FJSVrcxsr/log/rcxsr.log
ログローテーション : 50MBごとにローテーションされます。ログは5世代保持されます。2世代以前のログは圧縮されます。
出力フォーマット : ログの出力フォーマットは以下のとおりです。
<タイムスタンプ> <プロセスID> <コマンド名> FJSVrcxsr:<ログレベル>:<メッセージ番号>:<メッセージ>