1、负载均衡集群:(LB)以提高系统的响应能力,尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载的整体性能。
2、高可用集群:(HA)以提高应用系统的可靠性,尽可能减少中断时间为目标、确保服务的连续性,达到高可用的容错效果。
3、高性能运算集群:(HPC)以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算能力。
1、 第一层,负载调度器:(前端)这是访问整个群集系统的唯一入口。对外使用所有服务器共有的vip(虚拟IP)地址。通常配置主、备两台服务器实现热备份。
2、第二层,服务器池:群集所提供的应用服务 如http ftp。
3、第三层,共享存储:为服务器的所有节点提供稳定、一致的文件存取服务,确保整个集群的统一性。
1、地址转换:简称NAT模式,负载调度器作为所有服务器节点的网关,既作为客户机的访问入口,也是各节点回应客户机的访问出口。(回包给调度器)
2、 IP隧道:简称TUN模式,负载调度器仅作为客户机的访问入口。各节点通过各自的internet连接直接回应客户机,而不再经过负载调度器,服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信。
3、直接路由:简称DR模式,采用半开放网络式结构,各节点并不是分散在各地,而是与调度器同处一个物理网络,负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道。(回包给client)
以上三种工作模式中,NAT方式只需要一个公网IP地址,从而成为最易用的一种负载均衡模式。 相比较而言DR 和TUN模式的负载能力更加强大、适用范围更广,但节点的安全性较差。
1、轮询(rr):将收到的访问请求按照顺序轮流分配给集群中的各节点,均等的对待每一台服务器,而不管服务器实际的连接数和系统负载。
2、加权轮询(wrr)根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重。这样能力强的服务器就承担了更多的访问量。
3、最少链接(lc):根据真实服务器的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点。如果所有服务器节点性能相近,这种方式可以更好的均衡负载。
4、加权最少连接(wlc):在服务器节点性能差异较大的情况下,可以为真实服务器自动调整权重,权重较高的节点将承受更大比例的活动连接负载。
client 访问vip 可以访问到web1和web2网站, 使用NFS发布共享资源。使得网站同步。(NAT)
首先停掉四台的这些东西
chkconfig iptables off
chkconfig NetworkManager off
service iptables stop
service NetworkManager stop
cat /etc/sysconfig/selinux | grep SELINUX
把网络配置好 不同的是web1 和web2 需要指定网关1.1。拿web1 来举例
cat /etc/sysctl.conf | grep ip_forward
net.ipv4.ip_forward = 0
sed -i s'/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/' /etc/sysctl.conf
sysctl -p #配置路由转发
modprobe ip_vs #加载ip_vs模块
cat /proc/net/ip_vs #确认内核对lvs的支持
yum -y install ipvsadm #装ipvsadm群集管理工具
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 200.0.0.1
service iptables save
chkconfig iptables on #写防火墙规则 1.0网段地址 从eth0 出 源地址转换成200.0.0.1
ipvsadm -A -t 200.0.0.1:80 -s rr
ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.2:80 -m -w 1
ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.3:80 -m -w 1
ipvsadm -ln
service ipvsadm save
chkconfig ipvsadm on #创建虚拟服务器 添加服务器节点
A 表示添加虚拟服务器
-t 用来指定vip地址及端口
-s 用来指定负载均衡调度算法——轮询(rr)、加权轮询(wrr)、最少连接(lc)、加权最少连接(wlc)
-p 秒数 -p 60 为保持时间(60秒)
-a 表示添加真实服务器
-r 用来指定rip地址及tcp端口
-m 表示使用NAT集群模式(-g DR模式、-i TNU模式)
-w 用来设置权重(权重为0表示暂停节点)
-ln 查看群集状态
echo 111111 > /var/www/html/index.html
service httpd start #建立测试网页文件 web2我设置的不一样 为了看效果
yum -y install nfs-utils rpcbind
chkconfig nfs on
chkconfig rpcbind on
mkdir -p /opt/wwwroot
vim /etc/exports
/opt/wwwroot 192.168.2.0/24(rw,sync,no_root_squash) #写入配置文件
cat /etc/exports
chmod 770 /opt/wwwroot/ #权限要注意文件本身的权限
#设置共享目录 NFS配置文件为/etc/exports 同时共享给不同客户机、不同权限,空格隔开指定多个客户机选项就可以
tail -1 /etc/mtab # 查看挂载结果将有以下输出
192.168.2.1:/opt/wwwroot /var/www/html nfs rw,vers=4,addr=192.168.2.1,clientaddr=192.168.2.2 0 0
ro 为只读 rw 为读写 sync 表示同步写入
no_root_squash 表示以root身份访问时赋予本地root权限(默认是root_squash ,将作为nfsnobody降权对待)
service rpcbind restart
service nfs start #注意启动顺序,不然不可以访问
netstat -anpt | grep rpcbind #将有以下输出
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2280/rpcbind
tcp 0 0 :::111 :::* LISTEN 2280/rpcbind
showmount -e 192.168.2.1 #web 1 web 2 查看共享存储将有以下输出
Export list for 192.168.2.1:
/opt/wwwroot 192.168.2.0/24
mount 192.168.2.1:/opt/wwwroot /var/www/html #挂载共享存储到本地网站首页路径
#web1 web2 同样操作
echo 456456456456 > /var/www/html/index.html #web1 更新网站首页文件
#改了一下网页内容
setenforce 0 #如果httpd服务起不来 输入这个服务起来 访问不了去lvs调度器也执行一下。
写自动挂载配置文件
vim /etc/fstab
192.168.2.1:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0