建立一个可以在红帽中免费使用的集群管理RHCS
VS:server1:172.25.18.1 server4:172.25.8.4 操作系统:Red Hat 6.5 确保两台VS时间同步
下载ricci,另外给server1下载luci
[root@server1 ~]# yum install -y ricci luci
[root@server4 ~]# yum install -y ricii
下载好之后设置开机自启,并且修改ricc密码,开启服务 vs中ricci密码一样
然后在server1上开启luci,设置开机自启
进入https后面生成的那个网站
添加信任进行访问,输入server1的root用户和密码进入图形化界面
进入之后我们点击Manage Clusters发现其中没有集群,点击create创建一个
集群名字自定义,密码为ricci的密码,选择好选项之后,点击create cluster 它会自动下载所需要的安装包并且进行重启
集群创建完毕后如下:
待两台VS重启之后,集群创建完毕,为了防止脑裂,我们添加fence
然后给物理机下载三个支持fence的包:
[root@foundation18 ~]# yum install -y fence-virtd-multicast
[root@foundation18 ~]# yum install -y fence-virtd-0.3.2-2.el7.x86_64
[root@foundation18 ~]# yum install -y fence-virtd-libvirt-0.3.2-2.el7.x86_64
然后执行下面的命令,选择相同回车,如果不同,则需要编辑。
重启服务查看状态
然后将刚才的钥匙文件发送给其余两个VS
[root@foundation18 cluster]# scp fence_xvm.key root@172.25.18.1:/etc/cluster/
然后选择添加fence
这里填server1/4的UUID或者虚拟机名字
检测
填加服务 名字自定义
填加完成后再填加VIP
再填加httpd服务
填加web组
然后点进去,点击左下角进行填加服务(填加服务需注意顺序先后,先访问VIP,再开启httpd服务,也注意不要填加成为前一个服务的子服务,两者为同级关系)
填加完成后再进行查看
集群搭建完成,可以在网页上面直接进行管理。
nginx----实现负载均衡
下载解压nginx服务
编译之前编辑两个文件
[root@server1 nginx-1.14.0]# vim src/core/nginx.h ##删除14行后面的内容,不显示版本号,防止黑客
[root@server1 nginx-1.14.0]# vim auto/cc/gcc ####注释掉172行内容
下载编译的时候需要的依赖包
[root@server1 nginx-1.14.0]# yum install -y gcc pcre-devel openssl-devel
然后编译三部曲 (编译的时候填加一些nginx的服务)
make && make install
创建软连接,检测是否有错误,没错误后启动服务(nginx服务端口为80,不可与httpd同时启动)
此时访问IP可以直接访问到nginx的网页
server4做同样操作,并且用server4做负载均衡
开启服务:[root@server4 nginx]# nginx
首先创建一个nginx用户,然后编辑文件nginx.conf
配置文件第二行填写自己创建的nginx用户和组,第三行为cpu个数(也可填auto自动匹配),第13行为默认为epoll模块(可写可不写),第14行,为最大连接数,
定义两个RS的httpd网页,如下:
定义完成之后,需要再配置文件的最后进行调用
因为修改了最大连接数,所以应当编辑文件:[root@server4 conf]# vim /etc/security/limits.conf
编辑完成后重新加载nginx : [root@server4 conf]# nginx -s reload
此时访问网页或者用真机测试,则负载均衡成功
nginx-----RHCS
将ngxin的启动关闭脚本加上执行权限,移动到/etc/init.d/目录下
刚才做的RHCS集群开启状态下,将httpd服务改为nginx服务即可
首先将web集群组状态修改为disable,然后remove掉httpd服务,重新填加为nginx服务即可
用ricci实现共享硬盘
在集群操作页面上remove掉nginx服务,使其不工作
新打开server2添加一个硬盘,查看硬盘为vdb:
下载服务:[root@server2 ~]# yum install -y scsi-*
下载完成后编辑文件启动服务
编辑文件如下:去掉38--40行注释,修改39行指向刚才添加的硬盘
Server1和server4下载iscsi服务
下载成功后指向server2
给server1分区,分区完成后同步分区
[root@server1 nodes]# fdisk -cu /dev/sda ###分区为/dev/sda
Command (m for help): n
分区完成后:
此时在server4上面也可以看到server1的共享磁盘
Server1查看并且继续分盘,然后格式化
此时在server4可以看到server1分出来的磁盘
将磁盘在server4上挂载,在server4上写入东西,然后在server1挂载,则可以看到
但是只作为本地文件写入,两者不能同时写入.
下载数据库服务 [root@server1 ~]# yum install -y mysql-server server4也需要下载
先挂载,然后将所有人所有组改为mysql,然后开启服务
Server1关闭了mysql,server4先挂载,然后开启,则可以同步到server1数据库的内容。
两边不可以同时写入或者挂载,否则会造成脑裂
磁盘同步和数据库同步可以用RHCS来管理,只需要填加mysqld服务
停掉nginx服务,然后填加mysqld服务
使用UUID将挂载写入/etc/fstab中(server1,4都需要写入),让它自动进行挂载,然后开启集群,它会自动挂载,并且开启服务。