Rhcs套件ricci+luci

RHCS:Red Hat Cluster Suite即红帽集群套件,它是一套综合的软件组件,可以通过在部署时采用不同的配置,以满足对高可用性,负载均衡,可扩展性,文件共享和节约成本的需要


一、配置环境

1、装备两台虚拟机我这里是server1和server4

free -m 查看内存,给server1Memory为2048,方便后续的操作;

server1和server4安装ricci服务,开启服务并设置为开机自启动,rhel6.5自启动命令为chkconfig ricci on;

server1和server4设置ricci密码,如下图

Rhcs套件ricci+luci

Rhcs套件ricci+luci

netstat -antlp查看端口,如下图

Rhcs套件ricci+luci

server1安装luci服务,开启服务设置开机自启动;

https://server1ip:8084访问 输入server1用户和密码登陆;如图:

Rhcs套件ricci+luci

添加集群,如图

Rhcs套件ricci+luci

输入clustat命令查看是否添加成功,成功如下图:

Rhcs套件ricci+luci

Rhcs套件ricci+luci

相关配置文件在/etc/cluster/cluster.conf下,查看如图

Rhcs套件ricci+luci

二、添加fence(电源交换机防止业务脑裂)

1、点击server1添加fence服务,名字vmfence如图

Rhcs套件ricci+luci

2、真机查看libvirtd运行状态,管控虚拟机的,如图

Rhcs套件ricci+luci

3、真机安装需要的fence三个包,如图

Rhcs套件ricci+luci

4、真机fence_virtd -c看是创建,如图

Rhcs套件ricci+luci

Rhcs套件ricci+luci

Rhcs套件ricci+luci

Rhcs套件ricci+luci


5、cd /etc/cluster去查看有没有key文件 没有dd创建,如图

Rhcs套件ricci+luci

6、将建好的key文件发送给server1和server4下的/etc/cluster,查看如下图

Rhcs套件ricci+luci

Rhcs套件ricci+luci


7、此时真机重启fenci服务 查看状态和端口以及iptables策略

Rhcs套件ricci+luci

Rhcs套件ricci+luci

8、server1和server4添加fence method 填写他们的主机名或uuid(uuid最好),如图

Rhcs套件ricci+luci

Rhcs套件ricci+luci

Rhcs套件ricci+luci

9、server1测试:输入fence_node vm4查看server4状态是否断电重启

Rhcs套件ricci+luci


Rhcs套件ricci+luci


三、nginx高可用和健康检查

1、failover添加nginxfali,如图

Rhcs套件ricci+luci


2、resource添加 vip 和启动脚本,如图

Rhcs套件ricci+luci

Rhcs套件ricci+luci

3、resource纵览如图

Rhcs套件ricci+luci

Rhcs套件ricci+luci

Rhcs套件ricci+luci

Rhcs套件ricci+luci


4、server1更改脚本/etc/init.d/nginx (这个脚本需要自己写) 要有/etc/init.d/nginx reload/start/restart/stop 改好后测试查看;

将server1该好的脚本发送给server4/etc/init.d下 改好后给执行权限chmod +x nginx 然后/etc/init.d/nginx restart;

将server1 /usr/local/nginx目录 -rp发送给server4:/usr/local下

5、server1测试查看cluster状态和vip

Rhcs套件ricci+luci

Rhcs套件ricci+luci

server1 ip addr del 172.25.77.100/24 dev eth0移除;server4查看vip的飘逸 ip addr和clustat状态 如下图:实现高可用和健康检查

Rhcs套件ricci+luci

Rhcs套件ricci+luci


6、在fence装好的前提下 可以用命令echo c > /proc/sysrq-trigger测试


四、nginx反向代理负载均衡及高可用

1、编辑nginx配置文件/usr/local/nginx/conf/nginx.conf

加入upstream(可以加各种算法)server2和server3作rs 末尾行加入server(servername),如图

Rhcs套件ricci+luci

Rhcs套件ricci+luci

2、rs:server2和server3打开httpd服务

3、真机加入本地解析;访问测试负载均衡,如图

Rhcs套件ricci+luci



五、添加iscsi服务

1、server2作为服务端

在server2上安装一块8G虚拟硬盘 fdisk -l查看

Rhcs套件ricci+luci

2、在server2上安装scsi-*

3、修改/etc/tgt/tar.conf配置文件 完成后启动tgt服务 tgt-admin -s查看

Rhcs套件ricci+luci

Rhcs套件ricci+luci

4、在server1和server4上安装iscis服务 并iscsiadm -m discovery -t st -p 172.25.77.2;去/var/lib/iscsi/nodes ls查看信息

5、server1 fdisk -cu /dev/sda 建立

server4端mkfs.ext4格式化  partprobe同步,如图

Rhcs套件ricci+luci

Rhcs套件ricci+luci

6、测试server1 mount挂载建立文件 server4挂载查看

Rhcs套件ricci+luciRhcs套件ricci+luci


六、结合mysql

1、server1和server4安装mysql-server

2、server1 :
 mount /dev/sda1 /var/lib/mysql/
chown myql.mysql /var/lib/mysql/
/etc/init.d/mysqld start

/etc/init.d/mysqld stop

3、server4挂载查看权限是否同步

Rhcs套件ricci+luci

4、添加资源mysql和执行脚本到集群,查看如图

Rhcs套件ricci+luci

Rhcs套件ricci+luciRhcs套件ricci+luci


5、添加mysql服务组,如图

Rhcs套件ricci+luci

Rhcs套件ricci+luci

Rhcs套件ricci+luci


6、完成后,这里做一个在线可拉伸lvs

server4:clusvcadm -d mysql
server1:dd if=/dev/zero of=/dev/sda1 bs=1024 count=1
vim /etc/lvm/lvm.conf 462行=3
 umount /var/lib/mysql/
pvcreate /dev/sda1
vgcreate cluster_vg /dev/sda1
lvcreate -L +2G -n demo cluster_vg

 lvcreate -l 511 -n demo cluster_vg 如果报错server4 直接fence_node server4即可这里我出现错误,错误主要是server4busy)

server4:这边同步查看

Rhcs套件ricci+luci

server1:mkfs.ext4 /dev/cluster_vg/demo
 mount /dev/cluster_vg/demo  /var/lib/mysql/

ll /var/lib/mysql/  chown mysql.mysql /var/lib/mysql/挂载后会改变所属组所有人  /etc/init.d/mysqld start

Rhcs套件ricci+luci

server4:mount /dev/cluster_vg/demo /mnt/

server1:cat /proc/partitions

Rhcs套件ricci+luci

此时开始扩展server1:pvcreate /dev/sda2 vgextend cluster_vg /dev/sda2 vgs查看

Rhcs套件ricci+luci


lvextend -l +1535 /dev/cluster_vg/demo lvs查看

Rhcs套件ricci+luci

df -h 查看挂载设备大小 此时2G resize2fs /dev/cluster_vg/demo 同步设备 df -h 查看此时扩展完成变成8G

Rhcs套件ricci+luci


七、rhcs和gfs2实现网络实时同步

在上面的操作下先:

lvremove  /dev/cluster_vg/demo
vgremove cluster_vg
pvremove /dev/sda2
pvremove /dev/sda1
server1 fdisk -cu /dev/sda 删除sda1 sda2 建立一个sda1

mkfs.ext4 /dev/sda1格式化为ext4文件

Rhcs套件ricci+luci


此时 dd if=/dev/zero of=/dev/sda bs=512 count=1 损坏磁盘 此时fdisk -cu /dev/sda 在此建立sda1即可恢复内容 这就是建立一个磁盘的好处

 mkfs.gfs2 -j 3 -p lock dlm -t kyky(这里设备名和那里一致) :myqfs2 /dev/sda1格式化为gfs2文件

server4 cat /proc/partitions查看是否成功  没成功 就stop iscsi 在start iscsi

Rhcs套件ricci+luci

Rhcs套件ricci+luci

server1 和 server4  mount /dev/sda1  /var/lib/mysql/

server4 在/etc/fstab里写入 UUID="012a272c-42a4-6cf7-7ded-1843658d81ab"    /var/lib/mysql  gfs2  _netdev 0 0 实现同时写入
rhcs中写入记得先文件系统 在vip 在脚本 完成后应用的顺序

Rhcs套件ricci+luci

gfs2_tool sb /dev/sda1 all查看超级块信息和日志 gfs2_tool journals /dev/sda1查看

Rhcs套件ricci+luci