为了测试方便,所有机子清空或关闭防火墙

test1:192.168.10.161,提供NFS服务(CentOS 6.8),主机名:test1

test2:192.168.10.162,提供http服务(CentOS 6.9),主机名:test2

test3:192.168.10.163,提供http服务(CentOS 6.9),主机名:test3

vip:192.168.10.20

设置test1、test2、test3能基于主机名通信,在/etc/hosts中添加:

192.168.10.161  test1

192.168.10.162  test2

192.168.10.163  test3

test1、test2、test3之间root用户基于密钥认证设置过程、时间同步设置过程略。

注意:定义成为集群服务中的资源不能开机启动。

一、test1节点设置

1、test1创建一个分区用于存储数据库

[root@test1 ~]# fdisk /dev/sdb

blob.png

创建LVM逻辑卷

[root@test1 ~]# pvcreate /dev/sdb3

  Physical volume "/dev/sdb3" successfully created

[root@test1 ~]# vgcreate myvg /dev/sdb3

  Volume group "myvg" successfully created

[root@test1 ~]# lvcreate -L 2G -n mydata myvg

  Logical volume "mydata" created.

[root@test1 ~]# mkfs.ext4 /dev/myvg/mydata

挂载到/mydb目录:

[root@test1 ~]# mkdir /mydb

 [root@test1 ~]# vim /etc/fstab

/dev/myvg/mydata  /mydb ext4 defaults 0 0

[root@test1 ~]# mount -a

2、安装配置nfs:

#yum install nfs-utils -y

编辑/etc/exports 文件

# [root@test1 ~]# vim /etc/exports

/mydb       *(rw,no_root_squash)

3、创建mysql用户和组,用户、组id为306

[root@test1 ~]# groupadd -r -g 306 mysql

[root@test1 ~]# useradd -r -g 306 -u 306 mysql

设置/mydb用户和组为mysql

[root@test1 ~]# chown -R mysql.mysql /mydb/

[root@test1 ~]# exportfs -arv

4、启动nfs

service nfs start

二、mariadb数据库安装

1、test2、test3创建/mydb目录

[root@test2 ~]# mkdir /mydb;ssh test3 ' mkdir /mydb'

2、创建mysql用户和组,id为306

[root@test2 ~]# groupadd -r -g 306 mysql;ssh test3 'groupadd -r -g 306 mysql'

[root@test2 ~]# useradd -r -g 306 -u 306 mysql;ssh test3 'useradd -r -g 306 -u 306 mysql'

3、将test1的nfs共享挂载到/mydb

[root@test2 ~]# mount -t nfs 192.168.10.161:/mydb /mydb

[root@test2 ~]# mount

4、mariadb数据库安装

4.1、到官网下载mariadb数据库

4.2、解压、安装

[root@test2 ~]# tar xf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/

[root@test2 ~]# cd /usr/local/

[root@test2 local]# ln -sv mariadb-5.5.57-linux-x86_64/ mysql

`mysql' -> `mariadb-5.5.57-linux-x86_64/'

blob.png

4.3修改属主属组

[root@test2 local]# cd mysql/

[root@test2 mysql]# chown -R root.mysql ./*

blob.png

4.4、安装数据库

[root@test2 mysql]# ./scripts/mysql_install_db –datadir=/mydb/data –user=mysql

4.5、配置数据库配置文件

[root@test2 mysql]# mkdir /etc/mysql

 [root@test2 mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf

[root@test2 mysql]# vim /etc/mysql/my.cnf

datadir = /mydb/data

innodb_file_per = on

skip_name_resolve = on

blob.png

4.6、配置服务脚本

[root@test2 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

4.7、新建一个空白文档记录数据库日志

[root@test2 mysql]# touch /var/log/mysqld.log

[root@test2 mysql]# chown mysql.mysql /var/log/mysqld.log

4.8、服务配置

[root@test2 mysql]# chkconfig –add mysqld

不能设置开机启动

[root@test2 mysql]# chkconfig mysqld off

安装完之后卸载nfs共享目录

#umount /mydb

test3安装mariadb:

[root@test3 ~]# tar xf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/

[root@test3 ~]# cd /usr/local/

[root@test3 local]# ln -sv mariadb-5.5.57-linux-x86_64/ mysql

`mysql' -> `mariadb-5.5.57-linux-x86_64/'

[root@test3 local]# cd mysql/

[root@test3 mysql]# chown -R root.mysql ./*

[root@test3 mysql]# mkdir /etc/mysql

将test2的数据库配置文件复制过来

[root@test2 mysql]# scp /etc/mysql/my.cnf test3:/etc/mysql

服务脚本:

[root@test3 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@test3 mysql]# chkconfig –add mysqld

[root@test3 mysql]# chkconfig mysqld off

[root@test3 mysql]# touch /var/log/mysqld.log

[root@test3 mysql]# chown mysql.mysql /var/log/mysqld.log

三、test2、test3设置SELinux

# setsebool -P httpd_use_nfs 1

四、test1安装mysql工具

yum install mysql -y

五、heartbeat V2版的安装

test2、test3节点安装heartbeat V2版本

下载地址:https://pan.baidu.com/s/1i5QYj8T

1、安装依赖包

# yum install net-snmp-libs libnet PyXML perl-TimeDate libltdl* pygtk2-libglade* -y

#yum groupinstall "Debugging Tools" "Server Platform Development" -y

2test2test3节点安装

heartbeat-2.1.4-12.el6.x86_64.rpm        heartbeat-pils-2.1.4-12.el6.x86_64.rpm

heartbeat-devel-2.1.4-12.el6.x86_64.rpm  heartbeat-stonith-2.1.4-12.el6.x86_64.rpm

heartbeat-gui-2.1.4-12.el6.x86_64.rpm

3、在test2节点上配置heartbeat

1)复制/usr/share/doc/heartbeat-2.1.4/目录下相关配置文件到/etc/ha.d目录下

[root@test2 ha.d]# cp /usr/share/doc/heartbeat-2.1.4/{authkeys,ha.cf,haresources} /etc/ha.d/

2)配置ha.cfvim /etc/ha.cf

启动日志:logfile /var/log/ha-log

设置多播:mcast eth0 225.10.0.1 694 1 0

定义节点:

node test2

node test3

启用crm:

crm on

运行crm_mon命令:

blob.png

显示没有配置资源。

3)配置authkeys

生成一个随机字符串作为认证密钥:

[root@test3 ha.d]# openssl rand -base64 8

i80T7YUjfe4=

[root@test2 ha.d]# vim authkeys

auth 2

2 sha1 i80T7YUjfe4=

authkeys文件权限为600 [root@test2 ha.d]# chmod 600 authkeys

4)将authkeys ha.cf s配置文件发给test3

scp -p authkeys ha.cf test3:/etc/ha.d/

5)启动heartbeat服务:

[root@test2 ha.d]# service heartbeat start;ssh test3 'service heartbeat start'

6)资源配置工具hb_gui (前面已经安装heartbeat-gui包)

·设置hacluster用户密码

[root@test2 ~]# echo 123456 | passwd –stdin hacluster

Changing password for user hacluster.

passwd: all authentication tokens updated successfully.

·运行hb_gui

[root@test2 ~]# hb_gui &

可以在物理机显示图形界面(Xshell远程连接linux并且物理机已经安装xmanager

Xshell设置:

blob.png

点击Connection选择LogIn:

blob.png

blob.png

输入hacluster用户的密码:

blob.png

登录成功:

blob.png

资源配置:定义一个资源组,名为:myservices

先添加ip,再添加文件系统,最后添加mysql服务

blob.png

在组资料“myservices”中添加ip192.168.10.20:

blob.png

ip:192.168.10.20

nic:eth0

在组资料“myservices”中添加文件系统:

blob.png

在组资料“myservices”中添加mysqld服务:

blob.png

添加完ip、文件系统、mysql服务如下图:

blob.png

启动组资源:

blob.png

资源运行在test3

mysql数据库root用户授权,资源在test3节点上,所以

[root@test3 ~]# /usr/local/mysql/bin/mysql

MariaDB [(none)]> GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '123456';

MariaDB [(none)]> FLUSH PRIVILEGES;

test1节点连接数据库:

[root@test1 ~]# mysql -uroot -p123456 -h 192.168.10.20

blob.png

连接成功。。

分类: Linux服务

发表评论

电子邮件地址不会被公开。 必填项已用*标注

11 + 4 =