uoi-io.galera
Ansible Galera (OpenStack対応)
このモジュールはGaleraクラスタのセットアップをサポートします。
2つのリポジトリがパッケージングシステムに追加されます:
- MariaDB (MariaDB, Galera)
- Percona (xtrabackup)
サポートされるディストリビューション:
- CentOS 7.x
- RedHat EL 7.x
- Debian 8.x
サポートされる機能:
- Firewalld (サーバにはiptablesとfirewalldパッケージが必要です)
- SELinux
- Pacemaker
Pacemakerのサポートにより、clustercheck
ツールとxinetd
用の必要な設定が提供されます。
Pacemakerのサポートが定義された場合、Galeraクラスタは停止し、MariaDBの設定からwsrep_cluster_address
オプションが削除されてPacemakerに決定を任せます。
要件
このモジュールは少なくとも3つのノードとAnsible 2.0が必要です。
ロール変数
もしgalera_reset_cluster
がtrueに設定されている場合、すべてのデータベースが消去されますので、十分注意してください!
CONFIG
### MARIADB
master: ctrl01
mariadb_bind_address: 0.0.0.0
mariadb_port: 3306
mariadb_max_connections: 4096
mariadb_query_cache_size: 0
mariadb_default_storage_engine: InnoDB
mariadb_maintenance_password: I3uL6AqJLHInv85x
mariadb_root_password: 3248ew7dsYUG762
mariadb_hosts_allow: 192.168.%
mariadb_datadir: /var/lib/mysql
### GALERA
galera_node_address: "{{ ansible_eth0.ipv4.address }}"
galera_pacemaker_support: false
galera_clustercheck_user: clustercheck
galera_clustercheck_password: Y3aH1l0ved2CH3CK
galera_reset_cluster: false
galera_selinux: true
galera_firewalld: true
galera_cluster_name: uoi-sql-cluster
galera_sst_method: xtrabackup-v2
galera_sst_user: sst-replication
galera_sst_password: gr34tp4ss0rd
galera_cluster_nodes:
- ctrl01
- ctrl02
- ctrl03
galera_provider_options: 'pc.ignore_quorum=true; gcache.size=1G'
galera_retry_autocommit: 10
galera_slave_threads: 8
変数
このモジュールはRedHatおよびDebianディストリビューションをサポートしているため、OSファミリーに応じていくつかの値を定義する必要があります。
### REDHAT
# ファイル: roles/galera/vars/RedHat.yml
galera_packages:
- MariaDB-server
- percona-xtrabackup
- socat
- MySQL-python
- percona-toolkit
- galera
- policycoreutils-python
- checkpolicy
- xinetd
mariadb_svc_name: mariadb
mariadb_config: my.cnf.d/server.cnf
galera_provider: /usr/lib64/galera/libgalera_smm.so
percona_package: https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-3.noarch.rpm
### DEBIAN
# ファイル: roles/galera/vars/Debian.yml
galera_packages:
- mariadb-server
- xtrabackup
- socat
- python-mysqldb
- percona-toolkit
- xinetd
mariadb_svc_name: mysql
mariadb_config: mysql/conf.d/galera.cnf
galera_provider: /usr/lib/galera/libgalera_smm.so
## MAIN
# ファイル: roles/galera/vars/main.yml
galera_xinet_port: 9200
# ファイアウォールポート
fw_mysql: "{{ mariadb_port }}"
fw_mysql_ist: 4568
fw_mysql_sst: 4444
fw_galera: 4567
fw_xinetd: "{{ galera_xinet_port }}"
依存関係
なし。
例プレイブック
master: node1
mariadb_bind_address: 0.0.0.0
mariadb_max_connections: 4096
mariadb_maintenance_password: I3uL6AqJLHInv85x
mariadb_root_password: 3248ew7dsYUG762
mariadb_hosts_allow: 10.0.%
galera_node_address: "{{ ansible_eth0.ipv4.address }}"
galera_pacemaker_support: false
galera_clustercheck_user: clustercheck
galera_clustercheck_password: Y3aH1l0ved2CH3CK
galera_cluster_name: uoi-sql-cluster
galera_sst_password: gr34tp4ss0rd
galera_cluster_nodes:
- node-1
- node-2
- node-3
- node-4
- node-5
galera-status
展開が終了したら、galera-status
コマンドを実行してGaleraクラスタの状態を確認してください。
# galera-status
ライセンス
Apache
著者情報
このロールは2016年にGaëtan Trellu(goldyfruit)によって作成されました。
プロジェクトについて
Deploy a Galera 3 cluster with MariaDB 10.1, supports SELinux, firewalld, Pacemaker
インストール
ansible-galaxy install uoi-io.galera
ライセンス
apache-2.0
ダウンロード
126