Linux存储与集群
集群
LB负载均衡集群:LVS和Hapoxy
HA高可用集群: keepalived RHSS(RHEL6 iptables)
共享存储空间:
Iscsi/NFS
分布式存储fastDFS
***************************************************************************************************
什么是集群?
集群分类
高性能计算机集群(HPC)
负载均衡集群(LB)
高可用集群(HA)
集群的目的?
使用LVS部署网站服务的LB集群
LVS介绍:linux虚拟服务器 章文嵩博士研发的,集成在linux内核中
LVS命令行格式: ipvsadm 选项 参数
LVS集群中的角色:前端(负载均衡层),中间(服务器群组层),底端(数据贡献存储层)
LVS集群中的名词:Director server (调度分发服务器) Real server (真实服务器)
Dip(调度器与服务器连接的ip地址) Rip(真实服务器ip)Vip(用户访问的虚拟ip)
LVS的工作模式:LVS/NAT 网络地址转换模式
LVS/DR 直接路由模式
LVS/TUN 隧道模式
LVS调度算法:(一共有10种)rr轮询,wrr加权轮询,lc(最少连接)wlc(加权最少连接)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
LVS/NAT 配置网络地址转换模式
拓扑结构 10客户端 20调度器 30,40 服务器
20客户端开启内核路由转发功能
vim /etc/sysctl.conf
sed -n '7p' /etc/sysctl.conf
net.ipv4.ip_forward = 1 (1为开启服务)
Ifdown eth0 (rhel6 中关网卡命令)
Ifup eth0 (rhel6 中关网卡命令)
安装
{192.168.4.254上
cd /var/www/html/rhel6
ls LoadBalancer/
cd LoadBalancer/
scp ipvsadm-1.26-4.el6.x86_64.rpm 192.168.4.20:/root}=把ipvsadm 的rpm包传给LVS服务器
192.168.4.20上
rpm -ivh ipvsadm-1.26-4.el6.x86_64.rpm
配置
第一步:添加虚拟服务
查看 ipvsadm -L (n是用数字表示服务)
创建: ipvsamd -A -t VIP地址:端口 -s 指定算法
ipvsadm -A -t 192.168.4.20:80 -s rr
删除 ipvsadm -C 清除虚拟服务
修改
第二步:向虚拟服务里添加realserver
添加:ipvsamd -a -t VIP地址:端口 -r realserver 地址 -m (LVS工作模式 NAT)
ipvsadm -a -t 192.168.4.20:80 -r 192.168.4.30 -m
ipvsadm -a -t 192.168.4.20:80 -r 192.168.4.40 -m
删除:ipvsadm -d -t 192.168.4.20:80 -r 192.168.4.40
修改调度算法:ipvsadm -E -t 192.168.4.20:80 -s wrr
修改权重值:ipvsadm -e -t 192.168.4.20:80 -r 192.168.4.30 -w 3 -m
第三步:保存配置
service ipvsadm save 保存在/etc/sysconfig/ipvsadm
chkconfig ipvsadm on
验证配置
[root@svr10 ~]# elinks --dump http://192.168.2.20
___________________________________________________________________________________________________
配置LVS/DR模式的负载均衡集群,客户访问vip地址192.168.4.100时,把请求平均分配至服务器30跟40主机
LVS/DR 配置直接路由模式
配置环境:
一.配置网页服务器端
拥有vip地址
30/40 ifconfig lo:1 192.168.4.100/32
修改网络接口的网络参数,帮兄弟接口收发ip包,并不响应客户端访问vip地址时的ARP广播包
[root@svr30 eth0]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@svr30 eth0]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@svr30 eth0]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@svr30 eth0]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
配置lvs
ifdown eth1 -----------------
ipvsadm -C |
service ipvsadm save |
ipvsadm -Ln |-----------修改上午的配置还原到ipvsadm初始配置
cat /etc/sysconfig/ipvsadm |
vim /etc/sysctl.conf |
sed -n '7p' /etc/sysctl.conf |
net.ipv4.ip_forward = 0 ------------
ifconfig eth0:1 192.168.4.100/32 绑定vip地址
echo "ifconfig eth0:1 192.168.4.100/32" >> /etc/rc.local 设置为开机自启
添加虚拟服务
ipvsadm -A -t 192.168.4.100:80 -s rr
向虚拟服务里添加realserver
ipvsadm -a -t 192.168.4.100:80 -r 192.168.4.30:80
ipvsadm -a -t 192.168.4.100:80 -r 192.168.4.40:80
***************************************************************************************************
Keepalived 可以实现任意单故障节点的高可用
分别在高可用集群中的主机上安装keepalived软件
[root@svr50 ~]# yum -list |grep -i keepalived
[root@svr60 ~]# yum -y install keepalived
修改主配置文件
在50主机上
[root@svr50 ~]# rpm -qc keepalived
/etc/keepalived/keepalived.conf
/etc/sysconfig/keepalived
[root@svr50 ~]# cp /etc/keepalived/keepalived.conf /tmp
[root@svr50 ~]# vim /etc/keepalived/keepalived.conf
1 ! Configuration File for keepalived
2
3 global_defs {
4 notification_email {
5 acassen@firewall.loc
6 failover@firewall.loc
7 sysadmin@firewall.loc
8 }
9 notification_email_from Alexandre.Cassen@firewall.loc
10 smtp_server 192.168.200.1
11 smtp_connect_timeout 30
12 router_id LVS_DEVEL
13 }
14
15 vrrp_instance webha {
16 state MASTER
17 interface eth0
18 virtual_router_id 51
19 priority 150
20 advert_int 1
21 authentication {
22 auth_type PASS
23 auth_pass 123456
24 }
25 virtual_ipaddress {
26 192.168.4.101
27 }
28 }
在60主机上
[root@svr60 ~]# vim /etc/keepalived/keepalived.conf
1 ! Configuration File for keepalived
2
3 global_defs {
4 notification_email {
5 acassen@firewall.loc
6 failover@firewall.loc
7 sysadmin@firewall.loc
8 }
9 notification_email_from Alexandre.Cassen@firewall.loc
10 smtp_server 192.168.200.1
11 smtp_connect_timeout 30
12 router_id LVS_DEVEL
13 }
14
15 vrrp_instance webha {
16 state BACKUP
17 interface eth0
18 virtual_router_id 51
19 priority 100
20 advert_int 1
21 authentication {
22 auth_type PASS
23 auth_pass 123456
24 }
25 virtual_ipaddress {
26 192.168.4.101
27 }
28 }
三.起服务
在50/60主机上
service keepalived start
转载于:https://blog.51cto.com/13259799/2050443