RHCS套件高可用(nginx+mysql+高可用磁盘)

高可用High Availability(nginx+mysql+高可用磁盘)

1.配置yum源

RHCS套件高可用(nginx+mysql+高可用磁盘)

2.server1和server4都安装ricci,设置密码并启动

[[email protected] ~]# yum install ricci -y

[[email protected] ~]# passwd ricci

[[email protected] ~]# /etc/init.d/ricci start

[[email protected] ~]#  chkconfig ricci on

RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

3.在server1上安装luci,并启动

[[email protected] ~]# yum install luci -y

[[email protected] ~]# /etc/init.d/luci start

[[email protected] ~]# chkconfig luci on

RHCS套件高可用(nginx+mysql+高可用磁盘)

4.界面登陆设置,用户为server1的root用户及其密码

RHCS套件高可用(nginx+mysql+高可用磁盘)

按图标进行创建,passwd是server1和server4中ricci密码

RHCS套件高可用(nginx+mysql+高可用磁盘)

设置中,server1和server4会重新启动

RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

由于设置了ricci和luci的开机自启,可以直接在浏览器中看到创建成功

RHCS套件高可用(nginx+mysql+高可用磁盘)

5.命令界面查看

[[email protected] ~]# clustat

RHCS套件高可用(nginx+mysql+高可用磁盘)

二.安装fence系统

1.安装

[[email protected] ~]# yum install fence-* -y

RHCS套件高可用(nginx+mysql+高可用磁盘)

创建fence

[[email protected] ~]# fence_virtd -c

RHCS套件高可用(nginx+mysql+高可用磁盘)

多播模式,地址默认,端口选择实际

RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

创建cluster目录

[[email protected] ~]# mkdir /etc/cluster

生成随机**文件,重启服务

[[email protected] cluster]# dd if=/dev/urandom of=/etc/cluster/fency_xvm.key bs=128 count=1

RHCS套件高可用(nginx+mysql+高可用磁盘)

查看fence服务是否启动正常

RHCS套件高可用(nginx+mysql+高可用磁盘)

把**文件传递给server1和server4

[[email protected] cluster]# scp fency_xvm.key [email protected]:/etc/cluster/

[[email protected] cluster]# scp fency_xvm.key [email protected]:/etc/cluster/

RHCS套件高可用(nginx+mysql+高可用磁盘)

2.创建fence设备

打开web luci管理系统,选择Fence Devices 中Add

RHCS套件高可用(nginx+mysql+高可用磁盘)

选择server1,点击Add Fence Method 为fence1

RHCS套件高可用(nginx+mysql+高可用磁盘)

选择server4,点击Add Fence Method 为fence2

RHCS套件高可用(nginx+mysql+高可用磁盘)

选择 Fence1 中 Add Fence Instance

RHCS套件高可用(nginx+mysql+高可用磁盘)

添加Domain为虚拟机的uuid

RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

添加后效果

RHCS套件高可用(nginx+mysql+高可用磁盘)

fence2同样的方法添加

RHCS套件高可用(nginx+mysql+高可用磁盘)

3.测试

在server1中把server4破坏,fence起作用,server4在重启

[[email protected] ~]# fence_node server4
[[email protected] ~]# clustat

RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

三.在搭建好的集群上添加Nginx服务

1.server1和server4上都部署好 nginx,server2和server4部署好后端http (轮询)

RHCS套件高可用(nginx+mysql+高可用磁盘)

2.配置 Luci web 端

(1)添加服务  这里采用的是双机热备

选择Failover Domains,如图,填写Name(nginxfail),如图选择,前面打勾的三个分别是结点失效之后可以跳到另一个结点、只服务运行指定的结点、当结点失效之跳到另一个结点之后,原先的结点恢复之后,不会跳回原先的结点。下面的Member打勾,是指服务运行server1和server4结点,后面的Priority值越小,优先级越高,选择Create

RHCS套件高可用(nginx+mysql+高可用磁盘)

(2)选择Resourcs,点击Add,选择添加IPAddress如图,添加的ip必须是未被占用的ip,24是子网掩码的位数,5指的是等待时间为5秒。选择Submit

RHCS套件高可用(nginx+mysql+高可用磁盘)

(3)以相同的方法添加Script,nginx是服务的名字,/etc/init.d/nginx是服务启动脚本的路径,选择Submit

RHCS套件高可用(nginx+mysql+高可用磁盘)

注:将nginx的脚本放置到/etc/init.d/nginx下,脚本为自己编写,用户启动nginx

RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

(3)选择Service Groups,点击Add如图,nginx是服务的名字,下面两个勾指分别的是自动开启服务、运行 ,选择Add Resource,将全局资源IP Address 和Script加入

RHCS套件高可用(nginx+mysql+高可用磁盘)


RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

选择Submit,完成,nginx服务组running

RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

3.测试

clustat    ,将server1的webib服务转移到server4上

clustat   查看状态

clusvcadm -r nginx -m server4  将nginx组转移到server4上

clusvcadm -e nginx   重新**nginx组

clusvcadm -d nginx   停止nginx组


RHCS套件高可用(nginx+mysql+高可用磁盘)

服务没有停止,已经转义到server4上

RHCS套件高可用(nginx+mysql+高可用磁盘)


四.在搭建好的集群上添加服务sicis共享磁盘(双机热备)

1.server2上服务端scisi, server1和server4上iscisi

[[email protected] ~]# yum install iscsi-* -y

[[email protected] ~]# yum install iscsi-* -y

[[email protected] ~]# yum install scsi-* -y

2.配置server2

RHCS套件高可用(nginx+mysql+高可用磁盘)

配置scisi文件,重启服务

[[email protected] ~]# ll -d /dev/vdb

[[email protected] ~]# vim /etc/tgt/targets.conf

[[email protected] ~]# /etc/init.d/tgtd start

RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

[[email protected] ~]# tgt-admin -s    查看配置是否成功

RHCS套件高可用(nginx+mysql+高可用磁盘)


3.配置server1 和 server4 iscsi端

[[email protected] ~]# iscsiadm -m discovery -t st -p 172.25.87.2

[[email protected] ~]# iscsiadm -m node -l

[[email protected] ~]# fdisk -l

RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

RHCS套件高可用(nginx+mysql+高可用磁盘)

4.在server1上创建iscsi分区,创建为lvm格式

[[email protected] ~]# fdisk -cu /dev/sda

RHCS套件高可用(nginx+mysql+高可用磁盘)

5.在server1上创建lvm分区

1)创建 pv vg lv

[[email protected] ~]# pvcreate /dev/sda1

[[email protected] ~]# vgcreate clustervg /dev/sda1

[[email protected] ~]# lvcreate -n demo -L 2G clustervg

RHCS套件高可用(nginx+mysql+高可用磁盘)

2)创建分区

[[email protected] ~]# mkfs.ext4 /dev/clustervg/demo
RHCS套件高可用(nginx+mysql+高可用磁盘)

6.在server1上挂载sicis磁盘

[[email protected] ~]# mount /dev/clustervg/demo /mnt/

RHCS套件高可用(nginx+mysql+高可用磁盘)

7. 在server4上挂载sicis磁盘

[[email protected] ~]# partprobe

[[email protected] ~]# mount /dev/clustervg/demo /mnt/

RHCS套件高可用(nginx+mysql+高可用磁盘)


五.在搭好的集群上添加mysql服务

1.配置mysql

[[email protected] ~]# yum install mysql-server -y

[[email protected] ~]# /etc/init.d/mysqld start

2.将iscsi磁盘挂载在/mnt下,将/var/lib/mysql数据cp到/mnt下

[[email protected] mysql]# pwd
/var/lib/mysql

[[email protected] mysql]# cp -a *  /mnt/

RHCS套件高可用(nginx+mysql+高可用磁盘)

3.取消挂载,更改var/lib/mysql所属人为mysql,要不然iscsi内的数据运行会出问题,重新在server1上启动数据库,运行数据库正常,证明使用iscsi内的数据正常

[[email protected] mysql]# umount /mnt/

[[email protected] mysql]# mount /dev/clustervg/demo /var/lib/mysql/

[[email protected] mysql]# chown  mysql.mysql /var/lib/mysql/

[[email protected] mysql]# /etc/init.d/mysqld start

RHCS套件高可用(nginx+mysql+高可用磁盘)

4.关闭数据库并取消数据库挂载

[[email protected] mysql]# /etc/init.d/mysqld stop

[[email protected] ~]# umount /var/lib/mysql/

七.创建高可用集群共享盘,可以同时读取写入

1.将原来iscsi磁盘格式化为高可用集群共享盘

[[email protected] ~]# mkfs.gfs2 -j 3 -p lock_dlm -t AJC:mygfs2 /dev/clustervg/demo

RHCS套件高可用(nginx+mysql+高可用磁盘)

2.查出其uuid,写入/etc/fstab开机自动挂载(server1和server4),server1和server4同时可以写入

[[email protected] ~]# blkid

[[email protected] ~]# vim /etc/fstab
RHCS套件高可用(nginx+mysql+高可用磁盘)





WWWW