Openstack高可用之数据库【garela】

作者:吴业亮
博客:https://wuyeliang.blog.csdn.net/

一、配置源
1、安装yum源

# yum -y install centos-release-scl-rh centos-release-scl

2、启用[priority=10]

# sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/CentOS-SCLo-scl.repo 
# sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-SCLo-scl.repo 
# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

二、安装数据库软件包
1、安装rpm包

# yum --enablerepo=centos-sclo-rh -y install rh-mariadb101-mariadb-server-galera

2、配置防火墙

# firewall-cmd --add-service=mysql --permanent 
# firewall-cmd --add-port={3306/tcp,4567/tcp,4568/tcp,4444/tcp} --permanent 
# firewall-cmd --reload 

三、配置第一个节点
1、备份配置文件

# mv /etc/opt/rh/rh-mariadb101/my.cnf.d/galera.cnf /etc/opt/rh/rh-mariadb101/my.cnf.d/galera.cnf.org 

2、修改配置文件/etc/opt/rh/rh-mariadb101/my.cnf.d/mariadb-server.cnf

[galera]
wsrep_on=ON
wsrep_provider=/opt/rh/rh-mariadb101/root/usr/lib64/galera/libgalera_smm.so 
wsrep_cluster_address=gcomm:// 
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_cluster_name="MariaDB_Cluster"
wsrep_node_address="172.16.100.31"
wsrep_sst_method=rsync

3、启动Galera Cluster

# /opt/rh/rh-mariadb101/root/usr/bin/galera_new_cluster
# cp -a /opt/rh/rh-mariadb101/root/usr/bin/mysql_secure_installation /usr/bin/
# cp -a  /opt/rh/rh-mariadb101/root/usr/bin/mysql /usr/bin/

4、初始化数据库

# mysql_secure_installation 

四、配置其他节点
1、备份源文件

# mv /etc/opt/rh/rh-mariadb101/my.cnf.d/galera.cnf /etc/opt/rh/rh-mariadb101/my.cnf.d/galera.cnf.org

2、修改配置文件/etc/opt/rh/rh-mariadb101/my.cnf.d/mariadb-server.cnf

[galera]
wsrep_on=ON
wsrep_provider=/opt/rh/rh-mariadb101/root/usr/lib64/galera/libgalera_smm.so 
wsrep_cluster_address="gcomm://172.16.100.31,172.16.100.51" 
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_cluster_name="MariaDB_Cluster"
wsrep_node_address="172.16.100.51"
wsrep_sst_method=rsync

3、启动数据库,自动加入集群中。

# systemctl start rh-mariadb101-mariadb 

4、查看状态

MariaDB [(none)]> show status like 'wsrep_%';

五、配置监控
1、拷贝文件

# cp -a /opt/rh/rh-mariadb101/root/usr/bin/clustercheck   /usr/bin/

2、赋予权限

# chmod +x /usr/bin/clustercheck

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

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

5、修改 /etc/services,注释wa-wsp两行,新增myslchk行

mysqlchk        9200/tcp                # mysqlchk

6、安装xinetd

# yum install -y xinetd -y 

7、启动xinetd服务

# systemctl start xinetd
# chkconfig xinetd on

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

# mysql -u root -p
> GRANT PROCESS ON *.* TO 'clustercheckuser'@'localhost' IDENTIFIED BY 'clustercheckpassword!' ;
> exit;

检查

MariaDB [(none)]> select host,user,password from mysql.user ;

9、检查测试脚本

/usr/bin/clustercheck

参考:
http://galeracluster.com/documentation-webpages/

https://www.percona.com/software/documentation

https://docs.openstack.org/ha-guide/shared-database.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值