一 高可用负载均衡
1. 在server1和server4端安装nginx,并建立用户nginx,在/etc/secuirty/limit.conf中设定限制,usr/local/nginx/conf/nginx.conf中设定负载均衡的配置之后重新加载nginx服务
2. 将对虚拟机的解析写入到真机的/etc/hosts文件中:
3. 在server1和server4端的yum源中加入四个组件包:
yum repolist:
3. 在server1和server4端安装ricci和luci,开启服务,并设定开机自启动,然后配置ricci服务的密码:
4. 在浏览器中访问https://server1:8084,输入超级用户名root和密码,就可以进入到高可用管理工具页面:
5. 在Manage Clusters中点击create添加一个集群,将装有nginx的server1和server4添加作为节点,设置完成之后点击Create Cluster开始创建集群,之后会安装所需要的包,会安装一段时间。加入节点集群之前,节点服务器会自动重启。
创建成功:
6. 在server1或者server4服务器端,使用指令clustat可以查看到集群的工作状态:
7. 在浏览器的高可用管理工具页面,点击Failover Domain,再点击Add,为集群添加故障转移域名:
对于参数中的No Failback参数,意思是说,如果server1,也就是优先级较高的那个服务器故障之后集群将服务转给server4端,当server1恢复回到集群之后,并不会因为自己的优先级较高而重新夺取服务。适用于两个节点服务器性能相同的情况。
勾选Member,表示server1和server4为故障转移域,并设定不同的优先级,数字乐小表示优先级越高。
8. 创建故障转移域名之后,点击Resource,创建资源,首先创建ip地址:
再创建脚本源:
创建成功:
9. 在server1端,将/usr/local/nginx目录发送到server4端的/usr/local目录下,保持两个服务器配置一致:
10. 将修改之后的nginx脚本复制到server1和server4的/etc/init.d目录下,并赋予可执行权限。执行/etc/init.d/start和/etc/init.d/stop没有错误表示脚本配置成功。
11. 进入浏览器中的高可用管理工具页面,点击Service Grop,然后添加一个服务组:
点击下面的Add Resource添加源,需要注意的是,这里要添加的是IP Address和Script,在勾选的时候,就勾选前面添加的IP Address和Script的名字,如果新添加会报错说源已经存在。
添加成功之后勾选住添加的源,点击Start开启服务:
12. 在server1或server4端clustat就可以查看到工作状态:
在真机端加入对172.24.254.100的解析,就可以在浏览器中看到负载均衡了:
停掉server1端的nginx服务,server4开始接替server1的服务:
二 本地化存储(使用iscsi分布式文件系统)
######本部分开始所有服务器ip在172.25.17网段,不是之前的172.25.254网段,网段并没有什么影响##############
1.在server2端新增一个8G的虚拟硬盘,用来当作存储盘。
2.在server2端安装scsi: yum install scsi-* -y
在server1和server4端安装iscsi: yum install iscsi-* -y
3.安装之后,在server2端编辑配置文件: /etc/tgt/target.conf :
将/dev/vdb盘作为本地化存储的盘,之后就不要对这个盘做其他的操作了。
指定启动程序地址为两个nginx服务器端server1和server4。
配置文件修改完成之后,开启服务:/etc/init.d/tgtg start
4. 在server1和server4端进行对server2端入口的绑定(443行)和认证(444行):
之后就可以在server1和server4端fdisk -l查看到一个8G的硬盘/dev/sda:
分区列表中也可以查看到:
查看clvmd状态:
5.在servre1端(server4端也可以)用分区/dev/sda制作一个4G大小的逻辑卷:
由于server1和server4是同步的,在servre4端也可以查看到逻辑卷:
6. 使用ext4文件格式将逻辑卷格式化,并将正在工作的nginx服务器模式改为disabled:
7. 在高可用管理工具页面删除nginx脚本:
8. 在server1和server4端安装mysql、mysql-server。将逻辑卷/dev/clustervg/demo挂载到/var/lib/mysql目录,将/var/lib/mysql目录的所有人和所在组都改为mysql。查看年server1和server4端的数据是否同步。
9. 解除挂载,进入浏览器删除service group下的nginx,在resource里添加mysql:
添加数据库脚本:
10. 在service group里添加mysql,再依次添加ip地址,文件系统,脚本
管理工具页面成功开启服务:
11.在server1端停掉网络,服务将会转到server4,并可以在server4端的/var/lib/mysql查看到数据。
三 集群化文件系统
分布式文件系统的缺点在于,无法及时同步两端的数据:在逻辑卷挂载之后在挂载目录下写入数据,在另一端的挂载目录并不能及时看到新增的数据,需要先解除挂载再重新挂载才能看到。集群化文件系统可以解决这一问题。
1.在服务开启的主机上,clusvcadm -d mysql停掉数据库服务
2.扩展逻辑卷和文件系统(可以不做)
lvextend -L +1023 /dev/clustervg/demo 扩展逻辑卷,之后两边刷新
Resize2fs /dev/clustervg/demo 扩大文件系统
3.mkfs.gfs2 -j 3 -p lock_dlm -t westos:mygfs2 /dev/clustervg/demo gfs2 进行gfs2文件系统的格式化。
4.管理工具页面的Resource界面加入gfs2格式的文件系统,这样就可以使用gfs文件系统进行数据同步了。