サイト内の現在位置を表示しています。

CLUSTERPRO X 5.3のご紹介~業務稼働状態でのミラーディスクのバックアップ・リストア~(Linux)

CLUSTERPRO オフィシャルブログ ~クラブロ~

はじめに

CLUSTERPRO Xの最新バージョンであるCLUSTERPRO X 5.3を2025年4月8日にリリースしました。CLUSTERPRO X 5.3ではクラウド利用における構築・運用の容易化、ユーザビリティ向上、セキュリティ/IoT・組込みOS対応、新OS・プラットフォーム対応など多数の機能強化を実施しました。詳細はpopup機能強化ポイントを参照してください。

機能強化ポイントで挙げられている項目以外にもミラーディスクのバックアップ機能が強化されており、サービス(フェールオーバーグループ)を停止することなくバックアップを取得するための静止点確保が可能となっています。本記事ではこのバックアップ機能強化についてご紹介します。

この記事の内容

1. 業務稼働状態でのバックアップについて

業務サービスにおいて、データのバックアップを確実に作成することは非常に重要です。バックアップを正しく作成していないと、せっかくリストアしてもファイルシステムの整合性が取れていないなどの原因によりアプリケーション実行が失敗し、サービスを開始できないなどの問題が発生します。そのような事態を防ぐため、CLUSTERPROではミラーディスク/ハイブリッドディスク環境でバックアップ・リストアを支援するコマンドを提供しています。

ただ、従来のコマンドでは静止点の確保のためにサービス(フェールオーバーグループ)の停止が必要でした。サービスによっては停止時間をわずかでも減らしたいため、以前よりフェールオーバーグループ停止が不要なバックアップが要望されていました。

CLUSTERPRO X 5.3 for Linuxでは、ミラーディスク環境におけるバックアップ・リストアの支援コマンドが強化されました。強化されたコマンドは、ミラーディスクに対するアプリケーションからの書き込み処理を一時停止した上でディスクにデータを書き出すことで、サービスを停止することなく安全にバックアップを作成できる状態にします。その結果、サービス側から見て一時的な応答遅延は発生しますが、サービス自体は稼働し続けた状態でバックアップが作成できます。

なお、本機能はミラーディスクの静止点確保を目的としているため、システムドライブ等のデータは対象外となります。そのため、実際の運用では本機能によるミラーディスクの定期的なバックアップを目的とした業務稼働状態でのバックアップ作成と、従来のバックアップ・リストアの支援コマンドによる業務停止を伴うシステム全体のバックアップを併用するような使い方が想定されます。

業務稼働状態でのバックアップ・リストアの詳細および注意点については、次のメンテナンスガイドを参照してください。

【参考】
popupCLUSTERPRO X システム構築ガイド

  • CLUSTERPRO X 5.3 > Linux > メンテナンスガイド
        → 第 2 章 保守情報
            → 2.22. 業務稼働状態でミラーディスクのスナップショットバックアップを作成するには
            → 2.23. 業務稼働状態で作成したミラーディスクのスナップショットからリストアするには

2. 想定するHAクラスター構成

今回は、2ノードのミラーディスク型HAクラスターで業務稼働状態でのミラーディスクのバックアップ・リストアを行います。バックアップ・リストア実行中に、CLUSTERPRO X 5.3で強化されたバックアップ・リストア支援コマンドを使用します。

HAクラスターの構成図は以下の通りです。

また、CLUSTERPROの構成は以下の通りです。
適宜ご利用の環境に合わせて読み替えてください。

  • サーバー
        – 現用系サーバー :server1
        – 待機系サーバー :server2
  • フェールオーバーグループ :failover1
        – フローティングIPリソース :fip1
        – ミラーディスクリソース    :md1
           • 初期ミラー構築:初期ミラー構築を行わない
  • モニタリソース
        – フローティングIPモニタリソース :fipw1
        – ミラーコネクトモニタリソース    :mdnw1
        – ミラーディスクモニタリソース    :mdw1
  • ミラーディスクリソースの初期ミラー構築についての設定が「初期ミラー構築を行う」となっている場合は手順の途中で設定変更が必要となるため、本構成では予め「初期ミラー構築を行わない」としています。

3. 業務稼働状態でのバックアップ

ここでは業務稼働状態で片系のバックアップを行う手順について説明します。

バックアップ手順のイメージ図は以下の通りです。

バックアップ対象のミラーディスクが現用系/待機系のどちらであっても行う操作は同じとなります。もし現用系/待機系それぞれのミラーディスクについてバックアップを行う場合は、まず現用系について本手順によるバックアップを行った後、待機系について同様の操作でバックアップを行ってください。
ここでは現用系のミラーディスクをバックアップ対象としています。

3.1 バックアップ事前処理コマンドの実行

現用系(バックアップ対象ミラーディスクが起動しているサーバー)で次のコマンドを実行し、ミラーディスクを通常モードからバックアップモードに変更します。

# clpbackup.sh --pre --online
clpbackup.sh : Changing the setting of cluster services to Manual Startup.
clpbackup.sh : Suspending Cluster Service.
Suspend server1 : Command succeeded.
Suspend server2 : Command succeeded.
clpbackup.sh : Beginning backup-mode.
  md1 has been frozen.
All backup flags have set to <ON>.
clpbackup.sh : Command succeeded.

本手順によりバックアップモードに設定されている間は、以下の状態となります。これによりバックアップ中の監視異常による回復処理やフェールオーバーなどが発生することを防ぎ、ファイルシステム情報が不正にならないようにします。

  • クラスタサービスがサスペンド状態となり、全ての監視が一時停止します。
  • メモリ上にキャッシュされているミラーディスクへの書き込みデータが、ミラーディスクへフラッシュされます。
  • ミラーディスクへの書き込み要求が一時停止されます。
  • クラスタサービスやフェールオーバーグループの自動起動がオフに変更されます。

3.2 バックアップの作成

ミラーディスクに対して、物理ストレージや仮想基盤、クラウド基盤の機能(スナップショットなど)を利用してバックアップを作成します。

3.3 バックアップ事後処理コマンドの実行

スナップショット取得などによりバックアップ作成が完了したら、ミラーディスクをバックアップモードから通常モードに戻します。

# clpbackup.sh --post --online
clpbackup.sh : Changing the setting of cluster services to Auto Startup.
clpbackup.sh : Ending backup-mode.
All backup flags have set to <OFF>.
  md1 has been unfrozen.
clpbackup.sh : Resuming Cluster Service.
Resume server1 : Command succeeded.
Resume server2 : Command succeeded.
clpbackup.sh : Command succeeded.

ミラーディスクが通常モードになることで、次の状態に戻ります。

  • クラスタサービスおよび監視が再開されます。
  • ミラーディスクが書き込み可能になります。
  • クラスタサービスおよびフェールオーバーグループの自動起動がオンになります。

4. リストア

ここでは同一のバックアップイメージを用いて現用系/待機系のそれぞれのミラーディスクのリストアを行う手順について説明します。バックアップイメージは「3. 業務稼働状態でのバックアップ」で現用系ミラーディスクから作成していることが前提となります。

リストア手順のイメージ図は以下の通りです。

4.1 フェールオーバーグループの停止

ミラーディスクを含むフェールオーバーグループが起動している場合は、フェールオーバーグループを停止します。

現用系サーバーで以下のコマンドを実行します。

# clpgrp -t failover1
Command succeeded.

4.2 リストア事前処理コマンドの実行

現用系/待機系の両サーバーにて次のコマンドを実行します。

# clprestore.sh --pre
clprestore.sh : Changing the setting of cluster services to Manual Startup.
clprestore.sh : Shutting down...
Command succeeded.
clprestore.sh : Command succeeded.

実行後、クラスタサービスの自動起動がオフに設定され、サーバーをシャットダウンします。

  • OSが起動できず、サーバーの再構築が必要な場合には、そのサーバーを再構築した後に上記コマンドを実行してください。

4.3 ミラーディスクの交換

現用系/待機系の両サーバーにてミラーディスクの交換を行います。

ここでは現用系/待機系の両サーバーに同一のミラーディスクイメージを同時にリストアする方針のため、現用系で作成したバックアップから、現用系・待機系それぞれについて交換用ディスクを作成します。

スナップショットからリストアする場合は、クラスタパーティションおよびデータパーティションが含まれるディスクボリュームをスナップショットから作成し、元のディスクボリュームと交換してください。

4.4 ミラーディスクの設定確認

現用系/待機系の両方のリストア作業が完了したら、全サーバーを起動します。
なお、サーバー起動後もクラスタサービスは自動起動がオフに設定されているため、停止状態のままとなっています。

サーバー起動完了後、リストアしたクラスタパーティションやデータパーティションのデバイス名(/dev/sdaなど)を確認します。デバイス名が変わっている場合はミラーディスクリソースの設定を修正します。Cluster WebUIに接続後[設定モード]にし、ミラーディスクリソースのプロパティの[詳細]タブで、各デバイス名の設定を変更し、[設定の反映]を行ってください。

デバイス名の設定が間違っていると、ミラーディスクリソースの起動に失敗したり、パーティションを破壊したりする可能性があるため十分に注意して設定してください。

Red Hat Enterprise Linux 9でミラーディスク用パーティションにLVMを使用している場合、ミラーディスク交換後にlsblkコマンドではミラーディスクのデバイス名が表示されるにも関わらず、pvdisplayおよびlvdisplayコマンドで物理ボリュームや論理ボリュームが表示されなくなる場合があります。このような場合は、次のコマンドを実行することで新しいボリュームを認識するようになります。

# lvmdevices --update --refresh

4.5 リストア事後処理コマンド(その1)の実行

現用系/待機系の両サーバーにて、それぞれ下記コマンドを実行してください。実行後、全クラスタパーティションが初期化され、クラスタサービスの自動起動がオンに設定され、サーバーがリブートします。

# clprestore.sh --post --skip-copy

実行すると次のようなメッセージを表示後、サーバーが再起動します。

Mirror info will be set as default.
Initializing mirror disk of md1 failed.
Check if the Cluster Partition or Data Partition is OK.
Initializing mirror disk complete.
clprestore.sh : Changing the setting of cluster services to Auto Startup.
clprestore.sh : Rebooting...

Broadcast message from root@server1 (Thu 2025-06-11 13:58:34 JST):

The system will reboot now!

Reboot server1 : Command succeeded.

  • ミラーディスクリソースの設定で、[初期ミラー構築を行う]がオンになっている場合は、コマンドがエラーとなります。
    その場合は、Cluster WebUIを使って[初期ミラー構築を行う]をオフに変更して[設定の反映]を行ってから、再度コマンドを実行してください。
    もしも、停止しているサーバーが存在していて、それによりCluster WebUIの[設定の反映]で中断メッセージが出る場合は、[強制的に設定を反映する]のチェックボックスをオンにして、強制的に設定の反映を続行してください。
    なお、停止していて配信できなかったサーバーがある場合には、構成情報の不整合が発生しないよう、必ず後でそのサーバーへも配信してください。
  • もしも、ミラーエージェントが起動している場合には、クラスタパーティション初期化処理にてコマンドがエラーとなります。その場合はclprestore.sh --pre を実行後、サーバーを起動して、再度clprestore.sh --post --skip-copy コマンドを実行してください。

4.6 ミラーディスクの状態確認

現用系/待機系の両サーバーが起動したら、各ミラーの状態を、Cluster WebUIまたはclpmdstatコマンドを使って確認してください。現用系/待機系の両方のミラーのステータスが"正常"(GREEN)となります。

# clpmdstat --mirror md1

  Mirror Status: Normal

  md1                 server1             server2
  ------------------------------------------------------------
  Mirror Color        GREEN               GREEN

4.7 リストア事後処理コマンド(その2)の実行

現用系/待機系の両サーバーにて、それぞれ次のコマンドを実行します。実行後、ミラーディスクの状態が通常モードに変更され、クラスタサービスやフェールオーバーグループの自動起動がオンになります。

# clprestore.sh --post --online --skip-copy
clprestore.sh : Changing the setting of cluster services to Auto Startup.
clprestore.sh : Ending backup-mode.
All backup flags have set to <OFF>.
clprestore.sh : Command succeeded.

もし、フェールオーバーグループが自動起動しない場合は、手動で起動します。

まとめ

今回は、CLUSTERPRO X 5.3の機能強化ポイントの一つとして、業務稼働状態でのバックアップとリストアを支援するコマンドと利用方法をご紹介しました。本番環境を止めずに重要なデータをバックアップすることが可能になったこと、およびバックアップ時の手順が従来と比べて簡潔になったことの恩恵は非常に大きいと感じています。本機能について知っておくと運用・保守手順の検討時に大いに役に立つのではないでしょうか。

本記事の手順をご検討の際は、CLUSTERPROのpopup試用版を提供しておりますので、ぜひご活用ください。

利用製品

本記事の環境を構築する際に利用した製品です。

■ OS共通
    – CLUSTERPRO X Media 5.3
    – CLUSTERPRO X Startup Kit 5.3
■ Linux
    – CLUSTERPRO X 5.3 for Linux VM (1ノードライセンス)
    – CLUSTERPRO X Replicator 5.3 for Linux (1ノードライセンス)

お問い合わせ

本記事に関するお問い合わせは、popupお問い合わせ窓口までお問い合わせください。