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

[经验分享] 学习笔记(2)——实验室集群LVS配置

[复制链接]

尚未签到

发表于 2015-9-5 08:30:15 | 显示全部楼层 |阅读模式
  查看管理结点mgt的网卡信息,为mgt设置VIP



[iyunv@mgt ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 5C:F3:FC:E9:61:78
inet addr:192.168.253.100  Bcast:192.168.253.255  Mask:255.255.255.0
inet6 addr: 2001:cc0:2034:253:5ef3:fcff:fee9:6178/64 Scope:Global
inet6 addr: fe80::5ef3:fcff:fee9:6178/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:19849 errors:0 dropped:0 overruns:0 frame:0
TX packets:8129 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2010431 (1.9 MiB)  TX bytes:4288209 (4.0 MiB)
Interrupt:28 Memory:92000000-92012800
eth1      Link encap:Ethernet  HWaddr 5C:F3:FC:E9:61:7A
inet addr:172.20.0.1  Bcast:172.20.0.255  Mask:255.255.255.0
inet6 addr: 2001:cc0:2034:253:5ef3:fcff:fee9:617a/64 Scope:Global
inet6 addr: fe80::5ef3:fcff:fee9:617a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:17998 errors:0 dropped:0 overruns:0 frame:0
TX packets:21715 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1596283 (1.5 MiB)  TX bytes:12926260 (12.3 MiB)
Interrupt:40 Memory:94000000-94012800
lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:5798104 errors:0 dropped:0 overruns:0 frame:0
TX packets:5798104 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:803149634 (765.9 MiB)  TX bytes:803149634 (765.9 MiB)
  发现mgt结点有2块网卡,eth0配置了外部IP,供其与局域网内部其他机器访问通信,eth01配置了内部IP,供其与各个计算节点之间访问通信。现在需要把mgt结点作为LVS的DirectorServer,需要在其上设置虚拟IP(VIP)。备注:若需要修改eth0的IP地址,可执行下面的命令(其他网卡参数修改类似):



[iyunv@mgt ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
  (1)新建directorserver.sh脚本,代码如下:



#!/bin/bash
setenforce 0
VIP=192.168.253.110
/sbin/ifconfig eth0:0 192.168.253.110 broadcast 192.168.253.110 netmask 255.255.255.255 up
/sbin/route add -host 192.168.253.110 dev eth0:0
sysctl -p
  此时再次查看网卡信息,除了已有的eth0、eth1和lo之外,新增了eth0:0,即为虚拟IP地址:



[iyunv@mgt zmq]# ifconfig
eth0:0    Link encap:Ethernet  HWaddr 5C:F3:FC:E9:61:78
inet addr:192.168.253.110  Bcast:192.168.253.110  Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
Interrupt:28 Memory:92000000-92012800
  查看其路由表,发现新增了一条192.168.253.110在eth0设备上的理由转发规则:



[iyunv@mgt zmq]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.253.110 *               255.255.255.255 UH    0      0        0 eth0      //新增
172.20.0.0      *               255.255.255.0   U     0      0        0 eth1
192.168.253.0   *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1003   0        0 eth0
link-local      *               255.255.0.0     U     1004   0        0 eth1
default         192.168.253.254 0.0.0.0         UG    0      0        0 eth0
  在director server结点上开启包转发功能:



[iyunv@mgt zmq]# echo "1" >/proc/sys/net/ipv4/ip_forward
  
  (2)在计算节点上设置VIP,计算节点为集群的realserver,绑定在每个节点的回环地址上。以node01为例:



[iyunv@node01 ~]# ifconfig
//设备eth0绑定了外部IP
eth0      Link encap:Ethernet  HWaddr 5C:F3:FC:E9:64:78
inet addr:192.168.253.101  Bcast:192.168.253.255  Mask:255.255.255.0
inet6 addr: 2001:cc0:2034:253:5ef3:fcff:fee9:6478/64 Scope:Global
inet6 addr: fe80::5ef3:fcff:fee9:6478/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:102834 errors:0 dropped:0 overruns:0 frame:0
TX packets:111724 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:44921980 (42.8 MiB)  TX bytes:10122764 (9.6 MiB)
Interrupt:28 Memory:92000000-92012800
//虚拟网卡eth0:0绑定了内部IP
eth0:0    Link encap:Ethernet  HWaddr 5C:F3:FC:E9:64:78
inet addr:172.20.0.11  Bcast:172.20.0.255  Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
Interrupt:28 Memory:92000000-92012800
lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:5359 errors:0 dropped:0 overruns:0 frame:0
TX packets:5359 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:348956 (340.7 KiB)  TX bytes:348956 (340.7 KiB)
  执行脚本realserver.sh,脚本内容如下:



#!/bin/bash
setenforce 0
VIP=192.168.253.110
/sbin/ifconfig lo:0 192.168.253.110 broadcast 192.168.253.110 netmask 255.255.255.255 up
/sbin/route add -host 192.168.253.110 dev lo:0
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
sysctl -p


[iyunv@node01 zmq]# ./realserver.sh
setenforce: SELinux is disabled
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
  再次查看网卡信息:



[iyunv@node01 zmq]# ifconfig
//新增了一条记录
lo:0      Link encap:Local Loopback
inet addr:192.168.253.110  Mask:255.255.255.255
UP LOOPBACK RUNNING  MTU:16436  Metric:1
  在每个计算节点上执行上述过程。注意:上述配置在每次重启network服务(命令:service network restart)后会失效。
  (3)配置director server,执行脚本ipvsadm.sh,其内容为:



#/bin/hash
op=$1
MAP_PORT=9527
WEB_PORT=8080
AL_PORT=35569
TEST_PORT=80
LVS_SERVER_VIP=192.168.253.110
MODE=wrr
hosts=(192.168.253.101 192.168.253.102 192.168.253.103 192.168.253.104 192.168.253.105)
WMap=(100 100 100 80 80)
WWeb=(100 100 100 80 80)
WAl=(100 100 100 80 80)
WTest=(1 1 1 1 1)
ipvsadm -C
ipvsadm -A -t ${LVS_SERVER_VIP}:${MAP_PORT} -s ${MODE}
ipvsadm -A -t ${LVS_SERVER_VIP}:${WEB_PORT} -s ${MODE}
ipvsadm -A -t ${LVS_SERVER_VIP}:${AL_PORT} -s ${MODE}
if [ "$op" == test ]; then
ipvsadm -A -t ${LVS_SERVER_VIP}:${TEST_PORT} -s ${MODE}
fi
i=0
while [ $i -lt ${#hosts[@]} ];
do
ipvsadm -a -t ${LVS_SERVER_VIP}:${MAP_PORT} -r ${hosts[$i]}:${MAP_PORT} -w ${WMap[$i]} -g
ipvsadm -a -t ${LVS_SERVER_VIP}:${WEB_PORT} -r ${hosts[$i]}:${WEB_PORT} -w ${WWeb[$i]} -g
ipvsadm -a -t ${LVS_SERVER_VIP}:${AL_PORT} -r ${hosts[$i]}:${AL_PORT} -w ${WAl[$i]} -g
if [ "$op" == test ]; then
ipvsadm -a -t ${LVS_SERVER_VIP}:${TEST_PORT} -r ${hosts[$i]}:${TEST_PORT} -w ${WTest[$i]} -g
fi
i=$(( $i + 1))
done
ipvsadm -Ln
  可以看到:



[iyunv@mgt zmq]# ./ipvsadm.sh
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.253.110:8080 wrr
-> 192.168.253.101:8080         Route   100    0          0
-> 192.168.253.102:8080         Route   100    0          0
-> 192.168.253.103:8080         Route   100    0          0
-> 192.168.253.104:8080         Route   80     0          0
-> 192.168.253.105:8080         Route   80     0          0
TCP  192.168.253.110:9527 wrr
-> 192.168.253.101:9527         Route   100    0          0
-> 192.168.253.102:9527         Route   100    0          0
-> 192.168.253.103:9527         Route   100    0          0
-> 192.168.253.104:9527         Route   80     0          0
-> 192.168.253.105:9527         Route   80     0          0
TCP  192.168.253.110:35569 wrr
-> 192.168.253.101:35569        Route   100    0          0
-> 192.168.253.102:35569        Route   100    0          0
-> 192.168.253.103:35569        Route   100    0          0
-> 192.168.253.104:35569        Route   80     0          0
-> 192.168.253.105:35569        Route   80     0          0
  (4)执行脚本lvsstatus.sh,可查看LVS转发状态,脚本为:



#!/bin/bash
echo "geohpc" | /usr/bin/sudo -S ipvsadm -L
  结果如下图(共分发了1个绘图请求-端口9527,5个算法计算请求-端口35569):
DSC0000.png
  
  
  

运维网声明 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-109558-1-1.html 上篇帖子: LVS入门 下篇帖子: LVS:DR配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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