设为首页 收藏本站
查看: 722|回复: 0

[经验分享] LB lvs

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2019-1-2 13:35:09 | 显示全部楼层 |阅读模式
  Lvs-nat
  负载均衡nat模式工作原理讲解

  Lvs是LB 的实现方式
  LB :负载均衡
  Lvs-nat
  Directory 负载均衡调度器
  Real server 真正负载集群的总称
  请求报文
  首先客户端请求一个http资源,经过路由器到达directory  的vip 经过路由选择,送到INPUT链上去,INPUT链
  查看他的请求资源是个本机,但是本机是个集群,本机并没有web服务提供,根据配置规则,就修改请求资源的目
  标地址为真正的real server rip 送给dip,dip查看是送到real server xx的就送给xx啦
  响应报文
  Real server  xx查看请求的资源,马上就开始构建响应报文,构建完响应报文后,通过dip送到directory,dip通过修
  改源端口,dip直接从forword链转发到vip,vip在转发给客户端
  工作示意图如上图
  Vmware1   directory  nfs 共享mysql   eth0:192.168.1.118/24     eth1:172.16.1.143/16
  Vmware2   lamp  web   host1   eth0:192.168.1.11/24   关闭mysql  安装wordpress
  Vmware3   lamp  web   host2   eth1:192.168.1.12/24   关闭mysql  安装Wordpress
  系统均为centos6.5
  配置好ip地址和建立好网页,ping 一下看主机是否在线
  1、节点real  server的配置
  Ifconfig eth0  192.168.1.11/24 up  使用虚拟通道3
  Route  add  default  gw  192.168.1.11
  Yum  install  httpd  mysql-server  php  php-mysql  php-gd -y
  Vim  /var/www/html  提供网页文件
  Service  httpd  restart
  节点二一样配置
  2、directory的配置
  首先添加一张网卡,配置能让linux正常识别到
  Ifconfig eth0 192.168.1.118/24 up   桥接
  Ifconfig eth1 172.16.1.143/16 up  使用虚拟通道3
  Yum  install  httpd  mysql-server  php  php-mysql  php-gd -y
  此时先在directory 测试一下 ping 各节点
  Curl  http:// 192.168.1.11 测试下个节点的网页是否正常
  3、上面的准备环境做好啦,就可以做真正的集群服务啦
  先要安装软件   配置好yum 源   yum   install   ipvsadm  -y
  不懂软件命令使用可以  man  ipvsadm
  ipvsadm -A|E -t|u|f service-address [-s scheduler]
  [-p [timeout]] [-M netmask]
  ipvsadm -D -t|u|f service-address
  ipvsadm -C
  ipvsadm -a|e -t|u|f service-address -r server-address
  [-g|i|m] [-w weight] [-x upper] [-y lower]
  -A 添加集群
  -E 修改集群
  -C 清空集群配置
  -D 删除集群
  -a 添加real server 配置
  -e 修改real server 配置
  -d 删除real server 配置
  -m 是开启nat模式
  -g 是开启dr模式
  -w 算法的权重
  -L 列出信息
  -n 查看详细信息
  echo "1" > /proc/sys/net/ipv4/ip_forward  打开路由间转发功能
  配置服务
  Ipvsadm -A -t 172.16.1.143:80 -s rr
  Ipvsadm -a -t 172.16.1.143:80 -r 192.168.1.11 -m -w 1
  Ipvsadm -a -t 172.16.1.143:80 -r 192.168.1.12 -m -w 2

  echo "1" > /proc/sys/net/ipv4/ip_forward  开启路由转发机制
  配置就成功啦  可以先  curl http://172.16.1.118 查看是否轮询
  我们还可以改变集群算法,根据业务不同进行集群切换

  Ipvsadm -E -t 172.16.1.118:80 -s lc 再测试结果
  各种算法的比较
  静态算法
  动态算法
  4、对实验的升级
  用nfs 共享mysql,给两台real  server  web 安装wordpress提供论坛服务
  用源码编译安装搭建 lamp平台 我们可以先搭建一台,然后快速克隆三台出来
  Ip地址和上面一样
  Directory 提供mysql nfs 的共享
  Real server 提供web服务,但是mysql是关闭的
  三台虚拟主机系统均是centos6.5
  不会lamp源码编译安装的话请看http://1983939925.blog.运维网.com/8400375/1540799
  这里的关键点环境的搭建lamp和mysql的授权问题
  (1)用nfs建共享
  vim /etc/exports
  /www/html  172.16.0.0/16(no_root_squash,rw)

  service nfs restart
  (2)lamp的配置
  搭建安装lamp
  vim /etc/httpd24/http.conf
  指定pid
  PidFile "/var/run/httpd.pid"
  支持.php的网页文件
  DirectoryIndex index.php index.html
  开启虚拟主机设置网页
  Include /etc/httpd24/extra/httpd-vhosts.conf
  支持网页的格式设置
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
  (3)虚拟主机的配置
  vim //etc/httpd24/extra/httpd-vhosts.conf
  注释掉他的示例虚拟主机
  新建虚拟主机
  
  DocumentRoot "/www/html"
  
  Require all granted
  
  ServerName www.dingchao.com
  

  (4)mysql授权远程主机访问
  重要的是授权本机或者远程主机访问mysql
  主要的是配置文件mysql的注册时,wp-config.PHP  mysql的ip地址要填提供mysq服务本机的地址
  对于授权的问题是,我们要授权给共享web服务来访问的ip地址,如果实验验证不了,我们可以现在web
  客户端,远程连接一下,测试一下授权是否成功
  mysql,看有没有权限访问,出错问题还有就是NFS的权限,所有具体的问题要自己结合实际情况解决问题
  (5)directory 集群基于域名解析
  在windows本机的hosts文件中添加可以解析linux的ip地址,这样做的意义是我们要基于域名来解析安装wordpress,
  和访问
  C:\Windows\System32\drivers\etc\hosts
  172.16.1.143 www.dingchao.com
  基于主要是因为此软件 基于ip注册访问的话,有很强的缓存,实验验证的话会出现问题
  安装Wordpress就不说啦
  mysql -u root -h 127.0.0.1 -p
  Creat database wp;
  grant all on wp.* to 'tom'@'共享web ip' identified by '1234';
  (6)directory 集群配置和上面rpm配置的一样
  (7)实验验证在浏览器中发表一篇文章real server1,我这里是基于域名安装的wordpress,然后在后台关闭real server1,
  再在浏览其中访问word server 可以看到你在real server1 中发表的文章,及说明你实验成功
  Lvs-dr
  模式工作示意图

  1、注意要点
  Real  server 和 directory 必须要在同一网络中
  Real  server 必须配置vip和directory上的一样,工作中主要是在INPUT链上添加了dip的mac地址和
  real  server 的mac地址
  Real  server  配置的vip必须保证,别人的arp请求vip解析不予响应,自己也不通告有vip地址,只是当
  有来自directory的分配时,给予响应
  基本缓解搭配和上面一样,不过这里的directory只要一块网卡,我们要把上面的directory的eth1  down掉
  2、具体配置
  Directory 的配置
  Ifconfig eth0 192.168.100.15/24 up
  Ifconfig eth0:0 192.168.100.20/24 up
  Route add default gw 192.168.100.1
  Ipvsadm -A -t 192.168.100.20:80 -s rr
  Ipvsadm -a -t 192.168.100.20:80 -r 192.168.1.11 -g -w 1
  Ipvsadm -a -t 192.168.100.20:80 -r 192.168.1.12 -g -w 2
  Real server的配置
  Ifconfig eth0 192.168.100.11/24 up
  echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
  echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
  echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
  echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
  ifconfig lo:0 192.168.100.20  netmask 255.255.255.255 broadcast 192.168.100.20 up   自己只能跟自己通话
  Route add default gw 192.168.100.1
  route add -host 192.168.100.20 dev lo:0
  另一节点的配置也一样
  实验验证也是一样





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-658686-1-1.html 上篇帖子: LB lvs 下篇帖子: LVS的工作机制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表