lvs
作者:互联网
lvs四种集群特点
类型 | 特征 |
---|---|
lvs-nat | 修改请求报文的目标IP,多目标IP的DNAT |
lvs-dr | 操纵封装新的MAC地址 |
lvs-tun | 在原请求IP报文之外新加一个IP首部 |
lvs-fullnat | 修改请求报文的源和目标IP |
- lvs-nat
- RIP和DIP应在同一个IP网络,且应使用私网地址; RS的网关要指向DIP
- 请求报文和响应报文都必须经由Director转发, Director易于成为系统瓶颈
- 支持端口映射,可修改请求报文的目标PORT
- VS必须是Linux系统, RS可以是任意OS系统
- lvs-dr
- Director和各RS都配置有VIP
- 确保前端路由器将目标IP为VIP的请求报文发往Director
- RS的RIP可以使用私网地址,也可以是公网地址; RIP与DIP在同一IP网络;RIP的网关不能指向DIP,以确保响应报文不会经由Director
- RS和Director要在同一个物理网络
- 请求报文要经由Director,但响应报文不经由Director,而由RS直接发往Client
- 不支持端口映射(端口不能修败)
- RS可使用大多数OS系统
- lvs-tun
- DIP, VIP, RIP都应该是公网地址
- RS的网关一般不能指向DIP
- 请求报文要经由Director,但响应不经由Director
- 不支持端口映射
- RS的OS须支持隧道功能
- lvs-fullnat
- VIP是公网地址, RIP和DIP是私网地址,且通常不在同一IP网络;因此,RIP的网关一般不会指向DIP
- RS收到的请求报文源地址是DIP,因此,只需响应给DIP;但Director还要将其发往Client
- 请求和响应报文都经由Director
- 支持端口映射
描述LVS-DR工作原理,并配置实现
- 原理图
- 配置
- 规划:
- 一台vs服务器 192.168.20.27
- 两台rs服务器 192.168.20.37 192.168.20.47
- VIP为 10.0.0.100
- 规划:
- 设置rs1
- 安装apache
yum install -y httpd && systemctl start httpd && systemctl enable httpd
设置IP地址
cat >> /etc/sysconfig/network-scripts/ifcfg-lo <<EOF IPADDR1=10.0.0.100 NETMASK1=255.255.255.255 EOF
systemctl restart network
设置不回应arp
cat >> /etc/sysctl.conf <<EOF net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 EOF
sysctl -p
- 安装apache
- 设置vs
设置IP地址
cat >> /etc/sysconfig/network-scripts/ifcfg-lo <<EOF IPADDR1=10.0.0.100 NETMASK1=255.255.255.255 EOF
systemctl restart network
- 安装ipvsadm
yum install -y ipvsadm
设置ipvsadm
ipvsadm -A -t 10.0.0.100:80 -s rr ipvsadm -a -t 10.0.0.100:80 -r 192.168.20.37:80 ipvsadm -a -t 10.0.0.100:80 -r 192.168.20.47:80
设置路由器,增加路由10.0.0.100向内网
实现LVS+Keepalived高可用
- 在以上实验基础上,增加一台vs
配置两台vs /etc/hosts
vs1 192.168.20.27 vs2 192.168.20.57
相互复制公钥
ssh-ketgen ssh-copy-id 192.168.20.57 #另一边改成 192.168.20.27
- 两台vs安装keepalived
yum install -y keepalived
配置keepalived
! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id node1 vrrp_mcast_group4 224.0.0.100 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 6 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 123 } virtual_ipaddress { 10.0.0.100 dev lo:1 } notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault" } virtual_server 10.0.0.100 80 { delay_loop 3 lb_algo rr lb_kind DR protocol TCP sorry_server 127.0.0.1 80 real_server 192.168.20.37 80 { weight 1 HTTP_GET { url { path / status_code 200 } connect_timeout 1 nb_get_retry 3 delay_before_retry 1 } } real_server 192.168.20.47 80 { weight 1 HTTP_GET { url { path / status_code 200 } connect_timeout 1 nb_get_retry 3 delay_before_retry 1 } } }
标签:lvs,RS,报文,192.168,Director,DIP 来源: https://www.cnblogs.com/chaoyiyang/p/12365992.html