RHCS-highweb

实验拓扑

nfs 高并发 性能 nfs server 高可用_nfs


四台虚拟机

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后可可以看到以下界面。

nfs 高并发 性能 nfs server 高可用_高可用web_02

配置顺序为
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查看)手中具有一票的投票权(类似于权重)

将三台节点都添加上去

nfs 高并发 性能 nfs server 高可用_nfs 高并发 性能_03


7.添加fance devices设备(栅设备,栅栏)

该设备是为了防止不可预知现象造成的脑裂(即每个节点都认为自己是主节点,互相争夺集群资源,导致集群服务不可用)

,在此采用手动隔离的方式

Fence Devices–Add a Fence Devices–Manual Fencing

在name填写栅设备名字可自定义

nfs 高并发 性能 nfs server 高可用_nfs 高并发 性能_04


8.配置集群资源(集群的资源通常有,IP、存储设备、提供的服务等等,该资源是整个集群的共享资源)

Managed Resources–Resources–Creat a Resources

添加VIP

nfs 高并发 性能 nfs server 高可用_高可用web_05


Monitor Link 监视连接

添加NFS mount

nfs 高并发 性能 nfs server 高可用_nfs_06


webstorge

/var/www/html #自己的挂在点

192.168.8.52 #nfs服务器的ip

/web/sharefile #nfs服务器共享的目录

注请确保selinux是关闭,否则其他节点挂载后讲没有权限进行读取

添加http资源

nfs 高并发 性能 nfs server 高可用_nfs_07


9.配置集群服务

Managed Resources–services–Creat a Services

集群服务名:webservice

Add a shared Resources to this service 添加共享资源到本服务

将刚才创建的三个资源都添加到本服务

nfs 高并发 性能 nfs server 高可用_nfs_08


10.将配置同步到各个节点

send to cluster–yes

nfs 高并发 性能 nfs server 高可用_nfs_09


注此后每次修改都需要将配置同步到其他节点与重启集群服务

/==================================================================

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: QuorateMember Name ID Status 
 —— —- —- —— 
 web1 1 Online, Local, rgmanager 
 web2 2 Online, rgmanager 
 web3 3 Online, rgmanagerService 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手册