ClusterControlを使用すると、データベース設定を簡単に展開できます。展開ウィザードにいくつかの値(データベースベンダー、データベースデータディレクトリ、パスワード、およびホスト名)を入力するだけで、準備は完了です。残りの構成オプションは、ホストの仕様(CPUコア、メモリ、IPアドレスなど)に基づいて自動的に決定(および計算)され、ClusterControlに付属のテンプレートファイルに適用されます。このブログ投稿では、ClusterControlがデフォルトのテンプレートファイルをどのように使用するか、およびユーザーがそれらをニーズに合わせてカスタマイズする方法について説明します。
ベーステンプレートファイル
ClusterControlによって構成されたすべてのサービスは、ClusterControlノードの/ usr / share / cmon/templatesの下にある基本構成テンプレートを使用します。以下は、ClusterControlv1.4.0によって提供されるテンプレートファイルです。
ファイル名 | 説明 |
---|---|
config.ini.mc | MySQLクラスター構成ファイル。 |
haproxy.cfg | |
haproxy_rw_split.cfg | |
garbd.cnf | |
keepalived-1.2.7.conf | |
keepalived.conf | |
keepalived.init | |
MaxScale_template.cnf | |
mongodb-2.6.conf.org | MongoDB2.x構成テンプレート。 |
mongodb.conf.org | MongoDB3.x構成テンプレート。 |
mongodb.conf.percona | MongoDB用のPerconaサーバー用のMongoDB3.x構成テンプレート。 |
mongos.conf.org | |
my.cnf.galera | |
my57.cnf.galera | MySQL5.7上のGaleraClusterのMySQL構成テンプレート。 |
my.cnf.grouprepl | |
my.cnf.gtid_replication | |
my.cnf.mysqlcluster | |
my.cnf.pxc55 | Percona XtraDBClusterv5.5のMySQL構成テンプレート。 |
my.cnf.repl57 | MySQLReplicationv5.7のMySQL構成テンプレート。 |
my.cnf.replication | |
mysqlchk.galera | |
mysqlchk.mysql | |
mysqlchk_xinetd | |
mysqld.service.override | |
proxysql_template.cnf |
上記のリストは、インストールされているClusterControlリリースによって提供される機能セットによって異なります。古いバージョンでは、それらのいくつかが見つからない場合があります。これらのテンプレートファイルは直接変更できますが、次のセクションで説明するように推奨しません。
Configuration Manager
クラスタタイプに応じて、ClusterControlは必要なベーステンプレートファイルをCMONデータベースにインポートし、展開が成功すると、[管理]->[構成]->[テンプレート]からアクセスできます。たとえば、MariaDBGaleraクラスターの次の構成テンプレートについて考えてみます。
ClusterControlは、デプロイメントが成功した後、Galera構成テンプレートの基本テンプレートコンテンツを/usr/share/cmon/templates/my.cnf.galeraからCMONデータベース(cluster_configuration_templatesテーブル内)にロードします。その後、ClusterControlUIで独自の構成ファイルを直接カスタマイズできます。 [保存]ボタンを押すたびに、新しいバージョンの構成テンプレートが、ベーステンプレートファイルを上書きすることなく、CMONデータベース内に保存されます。
クラスターがデプロイされて実行されると、UIのテンプレートが優先されます。ベーステンプレートファイルは、ClusterControl-> Deploy-> DeployDatabaseClusterを介した初期クラスターデプロイメント中にのみ使用されます。展開段階では、ClusterControlは/ var / tmp /にある一時ディレクトリを使用して、コンテンツを準備します。例:
/var/tmp/cmon-003862-6a7775ca76c62486.tmp
動的変数
ClusterControlによって動的に構成可能な構成変数がいくつかあります。これらの変数は、アットマーク「@」で囲まれた大文字で表されます(例:@ [email protected])。サポートされている変数の詳細については、このページを参照してください。動的変数は、クラスターの展開中に指定された入力に基づいて自動的に構成されます。または、ClusterControlは、ホスト名、IPアドレス、使用可能なRAM、CPUコアの数などに基づいて自動検出を実行します。これにより、クラスターの展開段階で最小限のオプションを指定するだけで済む展開が簡素化されます
動的変数が値(または未定義)に置き換えられた場合、ClusterControlはそれをスキップし、代わりに構成された値を使用します。これは、通常、特定のデータベースワークロードに合わせて調整された独自の構成オプションのセットを持っている上級ユーザーにとって便利です。
展開前の構成テンプレートの例
データベースノードのmax_connectionsの数に基づいてClusterControlの動的変数に依存する代わりに、/ usr / share / cmon / templates/my57.cnf.galera内の次の行を次のように変更できます。
[email protected]@sqldat.com
宛先:
max_connections=50
テキストファイルを保存し、[データベースクラスターの展開]ダイアログで、ClusterControlが正しいベーステンプレートファイルを使用していることを確認します。
[デプロイ]ボタンをクリックして、データベースクラスターのデプロイを開始します。
展開後の構成テンプレートの例
データベースクラスターの展開が完了したら、スケールアップを決定する前に、実行中のサーバーで微調整を行った可能性があります。スケールアップするとき、ClusterControlはCMONデータベース内の構成テンプレート(ClusterControl->構成->テンプレートの下に入力されたもの)を使用して、新しいノードをデプロイします。したがって、データベースサーバーで行った変更をテンプレートファイルに適用することを忘れないでください。
新しいノードを追加する前に、構成テンプレートを確認して、新しいノードが期待どおりに機能することを確認することをお勧めします。次に、ClusterControl-> Add Nodeに移動し、正しいMySQLテンプレートファイルが選択されていることを確認します。
次に、[ノードの追加]ボタンをクリックして、展開を開始します。
それでおしまい。 ClusterControlは、デプロイメントに関してさまざまな自動化ジョブを実行しますが、それでも、ユーザーがそれに応じてデプロイメントをカスタマイズする自由を提供します。ハッピークラスタリング!