LVS相关原理
LVS的组成:
IPVS(kernel内核空间):运行在内核空间(LVS核心组件)
IPVSADM(User用户空间):运行在用户空间,管理集群服务的命令工具
LVS的原理:根据用户请求的套接字判断,分流至真是服务器的工作模块
LVS工作方式
工作模式
LVS – DR 模式
工作逻辑图
模式特点
集群节点,必须在一个网络中
真是服务器网关指向路由器
RIP既可以是私网地址,又可以是公网地址
负载调度器只负责入站请求
大大减轻负载调度器压力,支持更多的服务器节点
LVS —NAT 模式模式特点
集群节点,必须在一个网络中
真是服务器必须将网关指向负载调度器
RIP通常都是私有IP,仅用于各个集群节点通信
负载调度器必须位于客户端和真是服务器之间,充当网关
支持端口映射
负载调度器操作系统必须是Linux,真是服务器可以使用任意系统
LVS –TUN模式
工作逻辑图
模式特点
集群节点不必位于同一个物理网络单必须都拥有公网ip(或都可以被路由)
真实服务器不能将网关指向负载调度器
RIP必须是公网地址
负载调度器只负责入站请求
不支持端口映射功能
发送方和接收方必须支持隧道功能
LVS集群构建
LVS-DR模式集群构建
实验架构图
C本机
10.10.10.240
Centos6.9
Diectory
10.10.10.11 10.10.10.100
Centos6.9
RS1
10.10.10.12 vip:10.10.10.100
Centos6.9
RS2
10.10.10.13 vip:10.10.10.100
每台机器都是两块网卡
基础环境搭建
三台服务器都需要配置
[root@localhost ~]# service iptables stop
[root@localhost ~]# setenforce 0
[root@localhost ~]# mkdir /media/cdrom/[root@localhost ~]# mount /dev/cdrom /media/cdrom/
[root@localhost ~]# mount
/dev/mapper/VolGroup-lv_root on /type ext4 (rw)
procon /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on/dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext=“system_u:object_r:tmpfs_t:s0”)
/dev/sda1 on /boot type ext4 (rw)
none on/proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sr0on /media/cdrom type iso9660 (ro)
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir a
[root@localhost yum.repos.d]# mv *.repo a[root@localhost yum.repos.d]# mv ./a/CentOS-Media.repo .
[root@localhost yum.repos.d]# lsa CentOS-Media.repo
[root@localhost yum.repos.d]# vim CentOS-Media.repo
[root@localhost yum.repos.d]# cat CentOS-Media.repo
[c6-media]
name=CentOS-$releasever – Media
baseurl=file:///media/cdrom/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[root@localhost yum.repos.d]# yum clean all已加载插件:fastestmirror, refresh-packagekit, security
Cleaning repos: c6-media
清理一切
Cleaning up listoffastest mirrors
[root@localhost yum.repos.d]# yum -y install gcc gcc-c lrzsz
[root@localhost yum.repos.d]# shutdown -h now
关机拍快照
重启操作
Service NetworkManager stop 关闭网卡守护进程(如果系统没有安装图形化界面不用敲)
负载调度器配置
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-eth0 ifcfg-eth0:0
[root@localhost network-scripts]# vim !$
vim ifcfg-eth0:0[root@localhost network-scripts]# cat ifcfg-eth0:0
DEVICE=eth0:0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=noBOOTPROTO=static
USERCTL=no
iPadDR=10.10.10.100
NETWASK=255.255.255.0
[root@localhost network-scripts]# ifup ifcfg-eth0:0
[root@localhost network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:83:47:26inet addr:10.10.10.11 Bcast:10.255.255.255 Mask:255.0.0.0
inet6 addr: fe80::20c:29ff:fe83:4726/64Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1867 errors:0 dropped:0 overruns:0frame:0
TX packets:1101 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:167678 (163.7 KiB) TX bytes:133877 (130.7 KiB)
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:83:47:26inet addr:10.10.10.100 Bcast:10.255.255.255 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:808 (808.0 b) TX bytes:808 (808.0b)
[root@localhost ~]# vim /etc/sysctl.conf //关闭网卡重定向
net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0 //加在最下面
net.ipv4.conf.eth0.send_redirects = 0[root@localhost ~]# sysctl -p
[root@localhost ~]# modprobe ip_vs //重载ipvs模块
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
(警告:配置文件/etc已弃用/modprobe.conf文件,所有配置文件都属于/etc/modprobe.d/。)
[root@localhost ~]# mv /etc/modprobe.conf /etc/modprobe.d/oprofile.conf //解决方法
[root@localhost ~]# modprobe ip_vs //重新输入
[root@localhost ~]# yum -y install ipvsadm //安装ipvsadm
Ipvsadm -v //查看当前ipvs集群内容
Ipvsadm -A -t 虚拟IP:80 -s rr //添加ipvsTCP集群rr轮询
Ipvsadm -a -t 虚拟ip:80 -r 网站1:80 -g //添加ipvsadm 集群子节点
Ipvsadm -a -t 虚拟ip:80 -r 网站1:80-g
Ipvsadm -Ln
Service ipvsadm save//保存ipvs集群内容至文件,进行持久化存储
Chkconfig ipvsadm on //设置开机自启
root@localhost ~]# service ipvsadm startipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm: [确定]
ipvsadm: Clearing the current IPVS table: [确定]
ipvsadm: Applying IPVS configuration: [确定]
[root@localhost ~]# ipvsadm -v
ipvsadm v1.26 2008/5/15 (compiled with popt and IPVS v1.2.1)
[root@localhost ~]# ipvsadm -A -t 10.10.10.100:80 -s rr
[root@localhost ~]# ipvsadm -A -t 10.10.10.100:80 -s rr
[root@localhost ~]# ipvsadm -a -t 10.10.10.100:80 -r 10.10.10.12:80 -g[root@localhost ~]# ipvsadm -a -t 10.10.10.100:80 -r 10.10.10.13:80 -g
[root@localhost ~]# ipvsadm -LnIP Virtual Server version1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
–
暂无评论内容