RHCS-highweb
实验拓扑
四台虚拟机
192.168.8.41 web1
192.168.8.42 web2
192.168.8.51 web3
192.168.8.52 nfss
VIP:192.168.8.35/24 提供web服务
目的是将网站文件放在nfs的共享目录中,当节点出现故障时,服务迁移到另一台机时,可以保证用户访问网站时获取到同样的登陆记录、浏览记录等
四台机子接同一个网关,桥接模式,确保能相互通信。
nfss使用一台PC创建共享目录作为nfs服务器。
/===================================================================
0.关闭iptable与selinux,同时需要修改每台机的主机名与hosts文件一一对应
1.时间同步,四台都需要
yum install -y ntp
service ntpd stop
chkconfig ntpd off
ntpdate 202.108.6.95
2.配置hosts文件添加一下记录,四台都需要
127.0.0.1 localhost
192.168.8.41 web1
192.168.8.42 web2
192.168.8.51 web3
192.168.8.52 nfss
3.安装RHCS组件
yum install -y cman rgmanager system-config-cluster
cman,是一个分布式集群管理工具,运行在集群的各个节点上,为RHCS提供集群管理任务。
rgmanager,主要用来监督、启动、停止集群的应用、服务和资源。
system-config-cluster,是集群的图形化管理工具。
注,在三台web节点上都需要安装
安装完成后必须先启动cman服务,再启动rgmanager服务
service cman start
service cman rgmanager
4.配置集群服务
在任一web节点上运行system-config-cluster
前提是该节点至少已经安装了x windows组件
可用Xmanager的xstart连接上亦可。
运行system-config-cluster后可可以看到以下界面。
配置顺序为
a.添加节点
b.添加fence devices
c.配置集群资源
d.配置集群服务
e.将配置同步到其他节点
5.创建集群配置文件
会提示创建一个集群create new configuration
a.输入集群配置文件名mycluster可自定义
b.custom configure muiticast,勾选则需要输入一个多播地址作为传递心跳信息,不勾选则自动生成一个可用的多播地址,在此不需要勾选
c.use a quorum disk 是否启用仲裁磁盘(有的称表决磁盘),在此不需要勾选
6.添加节点
Cluster–Cluster–Add a cluster node
主机名为web1需要与每台机的主机名一致可用(uname -n查看)手中具有一票的投票权(类似于权重)
将三台节点都添加上去
7.添加fance devices设备(栅设备,栅栏)
该设备是为了防止不可预知现象造成的脑裂(即每个节点都认为自己是主节点,互相争夺集群资源,导致集群服务不可用)
,在此采用手动隔离的方式
Fence Devices–Add a Fence Devices–Manual Fencing
在name填写栅设备名字可自定义
8.配置集群资源(集群的资源通常有,IP、存储设备、提供的服务等等,该资源是整个集群的共享资源)
Managed Resources–Resources–Creat a Resources
添加VIP
Monitor Link 监视连接
添加NFS mount
webstorge
/var/www/html #自己的挂在点
192.168.8.52 #nfs服务器的ip
/web/sharefile #nfs服务器共享的目录
注请确保selinux是关闭,否则其他节点挂载后讲没有权限进行读取
添加http资源
9.配置集群服务
Managed Resources–services–Creat a Services
集群服务名:webservice
Add a shared Resources to this service 添加共享资源到本服务
将刚才创建的三个资源都添加到本服务
10.将配置同步到各个节点
send to cluster–yes
注此后每次修改都需要将配置同步到其他节点与重启集群服务
/==================================================================
11.nfs服务器配置
创建共享目录nfs
mkdir -pv /web/sharefile
vim /etc/exports
/web/sharefile 192.168.8.0/255.255.255.0(rw) #rw可读写,ro只读
service nfs start
chkconfig nfs on
showmount -e 192.168.8.52 #显示指定NFS服务器输出目录列表(也称为共享目录列表)
echo "nfs server test web" > /web/sharefile/index.html #nfs共享目录中提供的web文件
service nfs restart
12.测试
clustat #查看当前集群服务运行在那个节点上,输出如下
/—————————————————————
Cluster Status for test_cluster @ Wed Feb 15 17:47:05 2017
Member Status: Quorate
Member Name ID Status
—— —- —- ——
web1 1 Online, Local, rgmanager
web2 2 Online, rgmanager
web3 3 Online, rgmanager
Service Name Owner (Last) State
——- —- —– —— —–
service:webservice web1 started
/——————————————————————
使用monut命令查看放点是否挂载nfs共享目录
[root@web1 ~]# mount
/dev/sda3 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
none on /sys/kernel/config type configfs (rw)
192.168.8.52:/web/sharefile on /var/www/html type nfs (rw,sync,soft,noac,addr=192.168.8.52)
此时在浏览器输入vip可以看到由nfs共享目录里提供的web page
clusvcadm -r webservice -m web2 #将集群服务迁移到web2节点
同样使用mount 一样可以看到自动挂载了nfs,浏览器里也同样可以看到nfs提供的web page
13.附一些常用命令
cman_tool status #查看当前集群状态
clustat #查看相关节点
cman_tool -h 3以管理配置为主
clusvcadm -h #以管理集群节点服务为主
clusvcadm -r webservice -m web2 #服务迁移到web2节点
clusvcadm -r webservice #服务自动迁移到可用节点
更多命令用法可查看man手册