私有云落地解决方案之openstack高可用(pike版本)-数据库

来源:互联网 发布:淘宝旺铺有必要买吗 编辑:程序博客网 时间:2024/06/13 07:48

作者:【吴业亮】

博客:http://blog.csdn.net/wylfengyujiancheng

1、安装rpm包

# yum install -y MariaDB-server  MariaDB-client galera xinetd rsync ntpdate

2、启动服务

# systemctl start mariadb.service 

3、初始化数据库

# mysql_secure_installation (设置MariaDB密码)

4、修改配置文件/etc/my.cnf.d/server.cnf
在第一个节点进行如下配置:

[mysqld]binlog_format = ROWbind-address = 172.16.8.60default-storage-engine = innodbinnodb_file_per_table = onmax_connections = 4096collation-server = utf8_general_cicharacter-set-server = utf8[galera]bind-address = 172.16.8.60wsrep_provider = /usr/lib64/galera/libgalera_smm.sowsrep_cluster_address ="gcomm://172.16.8.60,172.16.8.61,172.16.8.62"wsrep_cluster_name = openstackwsrep_node_name = node1wsrep_node_address = 172.16.8.60wsrep_on=ONwsrep_slave_threads=4wsrep_sst_method=rsyncdefault_storage_engine=InnoDB[embedded][mariadb][mariadb-10.1]

在第二个节点修改配置,修改对应第二节地址:bind-address、
wsrep_node_name、wsrep_node_address

在第三个节点修改配置,修改对应第二节地址:bind-address、
wsrep_node_name、wsrep_node_address

5、启动mysql集群
关闭三个节点的服务

# systemctl stop mariadb.service && systemctl disable mariadb.service

在第一个节点执行如下命令:

# /usr/sbin/mysqld --wsrep-new-cluster --user=root &

在其他两个节点分别启动mariadb.service

# systemctl start mariadb.service# systemctl status mariadb.service

最后,两个节点启动成功后,在重新启动第一个节点:(删除第一个节点数据)

# pkill -9 mysql# rm -rf /var/lib/mysql/*# systemctl start mariadb.service# systemctl status mariadb.service

6、查看集群状态

# mysql -uroot -pChangeme_123MariaDB [(none)]> show status like "wsrep_cluster_size";

7、配置 clustercheck 工具集
clustercheck工具集改善心跳检测。

# cd /usr/bin/# yum install wget -y# wget https://raw.githubusercontent.com/olafz/percona-clustercheck/master/clustercheck# chmod +x clustercheck

创建个脚本检查数据库集群的状态

cat <<END>/etc/xinetd.d/mysqlchk # default: on# # description: mysqlchkservice mysqlchk{  disable = no  flags = REUSE  socket_type = stream  port = 9200  wait = no  user = nobody  server = /usr/bin/clustercheck  log_on_failure += USERID  only_from = 0.0.0.0/0  per_source = UNLIMITED}END

8、修改 /etc/services,

# echo 'mysqlchk        9200/tcp                # mysqlchk' >> /etc/services

9、启动xinetd服务

# systemctl start xinetd# chkconfig xinetd on

10、登录数据库创建’clustercheckuser’用户(任意节点)

mysql -u root -pChangeme_123GRANT PROCESS ON *.* TO 'clustercheckuser'@'localhost' IDENTIFIED BY 'clustercheckpassword!' ;检查MariaDB [(none)]> select host,user,password from mysql.user ;

11、检查测试脚本(各个节点上验证)

/usr/bin/clustercheckHTTP/1.1 200 OKContent-Type: text/plainConnection: closeContent-Length: 40Percona XtraDB Cluster Node is synced.
阅读全文
0 0