インターネット経由で ZRM を使用してリモート MySQL サーバーをバックアップする場合の考慮事項

ドミトリ・ジューコフスキーとパベル・プラギン著

MySQL データベースは、その安定した高速パフォーマンス、高い信頼性、使いやすさにより、世界で最も人気のあるオープン ソース データベースとなっています。 オンライン フォーラムやマネージド ホスティング プロバイダーにある Wiki に MySQL データベースを使用しているかもしれません。あるいは、Bugzilla でバグを追跡するためにリモート オフィスで MySQL データベースを使用しているかもしれません。あるいは、MySQL を使用する新しい Web 2.0 アプリケーションの開発を考えているだけかもしれません。 。 いずれにせよ、MySQL データベースに保存されている情報を重視する場合は、データベース アプリケーションへの影響を最小限に抑えながら、MySQL の安全で一貫性のあるバックアップを確実に成功させる必要があります。 バックアップ ソリューションがネットワーク、サーバー、ストレージ リソースを最も効率的に使用できるようにしてください。

使いやすく、柔軟で柔軟なソリューションを提供することで、生活を簡素化するソリューションをお探しの場合は、 堅牢なバックアップとリカバリ MySQL の場合は、Zmanda Recovery Manager (ZRM) が適切な選択かもしれません。 についての詳細 ZRM 機能はここで利用できます。

データベースのバックアップの場合、主に考慮すべき点は、バックアップの一貫性と、ユーザーとアプリケーションへの影響です。 ただし、リモート MySQL のバックアップには、次のような追加の課題があります。

  • ネットワークの使用
  • セキュリティ、および
  • MySQL データを別のホストに復元できる柔軟性。

最後の点は、MySQL 環境を完全に制御できず、異なるバージョンの MySQL サーバーまたは異なるオペレーティング システムを使用する別のマネージド ホスティング プロバイダーにデータを復元するオプションが必要な場合に重要になる可能性があります。

増分バックアップでは、最後の完全バックアップまたは最後の増分バックアップ以降の変更のみがネットワーク経由で移動されるため、バックアップ ウィンドウとネットワーク使用量が大幅に削減されます。 ZRM を使用すると、データを特定の時点に戻すために複数の増分バックアップ イメージを使用する必要がある場合でも、増分バックアップからデータを簡単に回復できます。 増分バックアップでは、MySQL バイナリ ログを有効にする必要がありますが、MySQL のドキュメントによると、バイナリ ログを有効にすると、 パフォーマンスへの影響は 1% 未満です。

論理バックアップでは、バックアップ ファイルがデータベース スキーマとコンテンツの両方を再作成するすべての MySQL ステートメントを含むテキスト ファイルであるため、リカバリの柔軟性が向上します。 論理バックアップは、MySQL クラスタリングに使用される NDB エンジンを除くすべてのストレージ エンジンで機能します。 論理バックアップの最大の利点は、データベースの回復が柔軟であることです。 MySQL の論理バックアップを他のアーキテクチャや別のデータベースに復元することもできます。 論理 ZRM バックアップ イメージの可搬性により、ZRM は移行に便利なツールになります。 たとえば、MySQL データを移動できます。

  • Solaris 上の MySQL から Linux 上の MySQL へ
  • あるストレージ エンジンから別のストレージ エンジンへ
  • 32ビットサーバーから64ビットサーバーへ
  • XNUMX つのマネージド ホスティング プロバイダーから、データ センターまたは異なる MySQL 構成を持つ別のプロバイダーへ

もちろん、このような柔軟な回復には代償が伴います。 論理バックアップからデータを復元するには、すべての MySQL ステートメントを読み取って再生する必要があるため、時間がかかる可能性があります。 もう XNUMX つの欠点は、論理バックアップのサイズを予測するのが難しい可能性があることです。 データの種類とデータベース スキーマによっては、論理バックアップのサイズがデータベース自体よりも大きくなる場合があります。 解決策の XNUMX つは、論理バックアップは基本的にテキスト ファイルであるため、通常は適切な圧縮を実現できることです。

Raw バックアップでは、バックアップがバイナリ ファイルであるデータベースの一貫したコピーが提供されます。 論理バックアップと比較した RAW バックアップの利点は次のとおりです。

  • バックアップ、特にリカバリがはるかに高速になります。 たとえば、サイズが 4 ~ 5 GB のまったく同じデータベースの場合、RAW バックアップは論理バックアップよりも 5 倍高速であり、RAW バックアップ イメージのリカバリは論理バックアップのリカバリより 20 倍高速であることは珍しくありません。画像。
  • バックアップはデータベースの単なるコピーであるため、バックアップの正確なサイズを常に知ることができます。
  • これは、MySQL データベースがかなり大きい (10 ~ 20 GB 以上など) 場合に重要となる、優れたスケーラビリティを提供します。

RAW バックアップは、元のデータと同じオペレーティング システム上の同じバージョンの MySQL サーバーにのみ復元できます。 これは、MySQL の RAW バックアップ イメージを別のマネージド ホスティング プロバイダーに復元できる可能性はそれほど高くないことを意味し、RAW バックアップと論理バックアップを選択する際にはそのことを考慮する必要があります。

RAW バックアップと論理バックアップはどちらもウォーム バックアップを提供します。つまり、バックアップのために MySQL サーバーをシャットダウンする必要はありませんが、バックアップ中はすべてのテーブルがロックされ、ユーザーはデータを入力できません。 このため、定義したしきい値に基づいてバックアップを遅延できる ZRM スケジュール プラグインの使用を検討する必要があります。 たとえば、50 人を超えるユーザーがデータベースにアクセスする場合、バックアップを XNUMX 時間延期できます。

MySQL のリモート バックアップに関する重要な考慮事項の XNUMX つは、ZRM とリモート MySQL サーバーの間にどのような種類の接続を確立するかを決定することです。 ZRM は、ソケット ベースの接続用のプラグインと、SSH ベースの接続用の別のプラグインを提供します。 ZRM の柔軟なアーキテクチャにより、ユーザーは独自のプラグインを作成できます。

名前が示すように、ソケット コピー プラグインは、IP ベースのネットワーク上で ZRM と MySQL 間の通信を提供するソケットを確立します。 ソケット コピー プラグインを使用するには、MySQL サーバー上で xinetd サービスが実行されており、デフォルトのポート 25300 が開いている必要があります。 必要に応じて、バックアップ管理者はポートを変更できます。 ソケット コピー プラグインは安全ではないため、セキュリティが問題にならない場合、または他の手段でセキュリティが確立されている場合 (たとえば、ZRM とリモート MySQL サーバーの間に VPN 接続がある場合など) にのみ使用してください。

SSH コピー プラグインは、ZRM とリモート MySQL サーバーの間に安全なチャネルを提供します。 公開キー暗号化を使用して、リモート MySQL サーバーと ZRM を実行しているバックアップ ユーザーを認証します。 SSH プラグインでは、標準の TCP ポート 22 が開いており、SSH デーモンが実行されている必要があります。 SSH コピー プラグインは、バックアップ データのセキュリティを確保することが重要な場合に最適です。 SSH 接続は暗号化に余分な CPU サイクルを必要とするため、ソケット接続によるバックアップと比較してバックアップのパフォーマンスに影響が出る可能性があります。

次の表は、MySQL のリモート バックアップにソケットと SSH コピー プラグインを選択する際の考慮事項をまとめたものです。

リモート接続
プラグイン
使用されるポート セキュリティ 相対的なパフォーマンス インストールのコメント
SSHコピー 22(固定) ネットワーク経由でバックアップ データを移動するための強力な認証と暗号化を提供します。 パフォーマンスが低く、MySQL サーバーのメモリ、CPU リソース、利用可能な帯域幅に依存します。 多くの場合、バックアップとリカバリ以外の理由で、リモート MySQL サーバーへの SSH 接続がすでに確立されていることがあります。 それ以外の場合は、ZRM と MySQL サーバーの間に SSH 接続を確立する必要があります。
ソケットコピー 25300 (変更可能) ネットワーク経由のバックアップ データは安全ではありません より高いパフォーマンス 追加のソフトウェアを MySQL サーバーにインストールする必要があります。 たとえば、ZRM 1.1 の Enterprise バージョンの場合は、MySQL-zrm-enterprise-socket-server-1.1-1.noarch.rpm を使用します。 コミュニティ バージョンについては、正確なパッケージについてはダウンロード ページを参照してください。

技術的な詳細については、Zmanda Network に無料で登録し、このホワイト ペーパーの完全版をダウンロードしてください。 いくつかの一般的なシナリオで ZRM を使用する方法を学習します。 たとえば、この使用例では、SSH コピー プラグインを使用して、ネットワーク上および保存中のデータを安全にバックアップする方法の技術的な詳細を提供します。

インターネット上の ZRM

さらに、ソケット コピー プラグインを使用した、より効率的な論理バックアップと RAW バックアップに関する技術的な詳細も提供します。

豊富な機能を備えているので、 MySQL用のZRM は、特定のデータ保護ニーズに最適なバックアップおよびリカバリ戦略を実装するための単なるツールです。 ZRM は堅牢で使いやすいですが、リモート MySQL サーバーの独自の実装とバックアップとリカバリの特定の要件に応じて、ZRM for MySQL が提供する各操作オプションに関連するすべてのトレードオフを考慮する必要があります。

参照:
MySQL用のZRM
MySQL 用 ZRM Wiki
ズマンダ フォーラム