Dmitri JoukovskiとPavel Praginによる

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

MySQLに使いやすく、柔軟で堅牢なバックアップとリカバリを提供することにより、人生を簡素化するソリューションを探しているなら、Zmandaリカバリマネージャ(ZRM)が最適な選択肢となるでしょう。詳細について ZRM機能はここから入手できます。

データベースのバックアップの場合、主な考慮事項は、バックアップの一貫性とユーザーおよびアプリケーションへの影響です。ただし、リモートMySQLのバックアップには、以下に関連する追加の課題があります。

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

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

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

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

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

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

Rawバックアップは、データベースの一貫したコピーを提供し、バックアップはバイナリファイルです。論理バックアップに対するrawバックアップの利点は次のとおりです。

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

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

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

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

名前が示すように、ソケットコピープラグインは、IPベースのネットワークを介してZRMとMySQL間の通信を提供するソケットを確立します。ソケットコピープラグインを使用するには、xinetdサービスがMySQLサーバーで実行され、デフォルトのポート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ネットワークに無料で登録し、このホワイトペーパーの完全版をダウンロードしてください。いくつかの一般的なシナリオでZRMを使用する方法を学習します。たとえば、この使用例では、SSHコピープラグインを使用して、ネットワーク上でデータを安全に保存し、残りのデータをバックアップする方法の技術的な詳細を提供します。

インターネット上のZRM

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

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

参照:
MySQLのZRM
ZRM for MySQL Wiki
Zmandaフォーラム