開発者ドキュメント

Ubuntu12.04サーバーでMariaDBを使用してGaleraクラスターを構成する方法

ステータス:非推奨

この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。

理由:
Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.

代わりに参照してください:このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。

序章


実稼働環境でリレーショナルデータベースシステムを扱う場合、ある種のレプリケーション手順を実行するのが最善の場合がよくあります。 レプリケーションを使用すると、データを別のノードに自動的に転送できます。

単純なマスタースレーブレプリケーションは、SQLの世界で最も一般的です。 これにより、1つの「マスター」サーバーを使用してすべてのアプリケーション書き込みを処理でき、複数の「スレーブ」サーバーを使用してデータを読み取ることができます。 フェイルオーバーやその他の手法を構成することが可能です。

マスタースレーブレプリケーションは便利ですが、マスターマスターレプリケーションほど柔軟ではありません。 マスターマスター構成では、各ノードは書き込みを受け入れ、クラスター全体に分散させることができます。 MariaDBにはデフォルトでこれの安定バージョンがありませんが、「Galera」と呼ばれる一連のパッチは同期マスターマスターレプリケーションを実装します。

このガイドでは、Ubuntu12.04VPSインスタンスを使用してGaleraクラスターを作成します。 デモンストレーションの目的で3台のサーバー(構成可能な最小のクラスター)を使用しますが、実稼働環境では5台のノードをお勧めします。

MariaDBリポジトリを追加する


MariaDBおよびGaleraパッケージは、デフォルトのUbuntuリポジトリでは使用できません。 ただし、MariaDBプロジェクトは、必要なすべてのパッケージを含むUbuntu用の独自のリポジトリを維持しています。

このクラスター用に構成する3つのサーバーのそれぞれに、最初にpython-software-propertiesパッケージをインストールする必要があります。 これにより、リポジトリを管理するために必要なコマンドが提供されます。

sudo apt-get update
sudo apt-get install python-software-properties

これで、MariaDBリポジトリのキーファイルを追加できます。 これにより、リポジトリのメンテナを信頼し、問題なくリポジトリ内にパッケージをインストールできることがサーバーに通知されます。

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db

これにより、キーファイルが受け入れられます。 データベースに信頼できるキーがあるので、実際のリポジトリを追加できます。

sudo add-apt-repository 'deb http://mirror.jmu.edu/pub/mariadb/repo/5.5/ubuntu precise main'

Galeraパッチを使用してMariaDBをインストールする


これで、aptインターフェイスを介してGaleraパッチを使用してMariaDBを簡単にインストールできます。 最初にデータベースを更新することを忘れないでください。

sudo apt-get update
sudo apt-get install mariadb-galera-server galera

インストール中に、MariaDB管理ユーザーのパスワードを設定するように求められます。 すべてのサーバーインスタンスに同じパスワードを設定できます。

何らかの理由で、マシンにrsyncがまだインストールされていない場合は、次のように入力して今すぐインストールする必要があります。

sudo apt-get install rsync

これで、クラスターの構成を開始するために必要なすべての要素が揃いました。

MariaDBとGaleraを構成する


3台のサーバーのそれぞれにMariaDBとGaleraをインストールしたので、構成を開始できます。

クラスタは実際にその構成を共有する必要があります。 このため、最初のマシンですべての構成を行い、それを他のノードにコピーします。

最初のサーバーで、クラスターの設定を含む別のファイルを作成します。

デフォルトでは、MariaDBは、/etc/mysql/conf.dディレクトリで追加のファイルをチェックして、その動作を強化するように構成されています。 このディレクトリに、クラスタ固有のすべてのディレクティブを使用してファイルを作成できます。

sudo nano /etc/mysql/conf.d/cluster.cnf

次の構成をコピーしてファイルに貼り付けます。 変更する必要があるものと、各部分の意味について説明します。

[mysqld] query_cache_size = 0 binlog_format = ROW default-storage-engine = innodb innodb_autoinc_lock_mode = 2 query_cache_type = 0 bind-address = 0.0.0.0

ガレラプロバイダーの構成

wsrep_provider = / usr / lib / galera / libgalera_smm.so#wsrep_provider_options =“ gcache.size = 32G”

ガレラクラスター構成

wsrep_cluster_name =“ test_cluster” wsrep_cluster_address =“ gcomm:// first_ipsecond_ipthird_ip

ガレラ同期の組み合わせ

wsrep_sst_method = rsync#wsrep_sst_auth = user:pass

ガレラノード構成

wsrep_node_address =“ this_node_ip ” wsrep_node_name =“ this_node_name

モバイルバージョンを終了