当前位置:网站首页>Lvs+kept (DR mode) learning notes
Lvs+kept (DR mode) learning notes
2022-07-07 06:58:00 【Network stupid pig】
1. sketch
In the medium-sized projects of the Internet , A single server is often unable to meet the performance requirements of the business itself , At this time, it will expand in parallel , Spread the load among several servers ( colony ). Generally, clusters are DNS polling ,LVS,nginx Load balancing .
The main purposes of the cluster include the following three points : High availability 、 Scalable 、 Load balancing .
A complete cluster architecture , You need to include the following three functions : Load balancing 、 Fault isolation 、 Failed to switch
Load balancing : According to the set algorithm , Through the load balancer (Director) Forward external requests to servers in each cluster (Real server)
Fault isolation : When one or more servers in the cluster (Real server) In case of failure or failure to provide services , The cluster can remove them from the forwarding queue , To ensure that user access will not be incorrectly forwarded to servers that cannot be provided (Real server) Handle . And when the server fails (Real server) When it returns to normal , It can rejoin the forwarding queue of the cluster .
Failed to switch : Failed to switch master (Master) The key is to remove the load balancer (Director) A single point of question , Once the load balancer (Director) failure , Standby machine (Slave) Can replace the master (Master) Load Balancer (Director) Accept user requests , And when the main load balancer (Director) When it comes back to normal , Able to take over user requests again ( Depending on the configuration )
LVS yes Linux Virtual Linux Abbreviation , namely Linux Virtual server , Is a commonly used server cluster system , This function has been widely integrated in Linux The kernel .
Keepalived Is a server detection status software , It can provide fault isolation and failover functions for clusters
ipvsadm It is LVS Management tools , Ability to add , modify , Delete , Check the configuration and forwarding status of the current cluster
In the use of Keepalived The scheme , As long as the system is installed ipvsadm command , Just go through Keepalived The configuration file of can realize all configurations of the cluster .
This time mainly introduces DR Cluster configuration in mode ,DR Direct routing , Load Balancer (Director) Only negative forwarding of user requests , The request response is provided by the server (Real server) Provide directly .
The following is a simple architecture diagram
2. install
2.1.ipvsadm install
yum install ipvsadm
2.2.Keepalived install
yum install keepalived
2.3.LVS Support view
uname -r
# see linux Kernel version ,2.4 It has been integrated ,2.4 Please recompile the kernel before ( Now there is no 2.4 Before )
3. To configure
Preset environment :
Load Balancer A:
ip Address : 192.168.1.12
colony VIP:192.168.1.100
Real server B:
ip Address :192.168.1.13
Multicast address :192.168.1.100
Real server C:
ip Address :192.168.1.14
Multicast address :192.168.1.100
Real server configuration :
Real servers do not need to install any software , Just configure it like an ordinary non clustered server
# You can write the following commands shell Script , And in /etc/rc.local It is configured to execute automatically every time you start up
# Be careful : Must be bound to the loopback network card (lo)
# down To make the script repeatable
ifconfig lo:0 192.168.1.100 broadcast 192.168.1.100 netmask 255.255.255.255 down
ifconfig lo:0 192.168.1.100 broadcast 192.168.1.100 netmask 255.255.255.255 up
# This step is very important , In practical applications, multiple real servers in the cluster use the same multicast address , Therefore, it is necessary to suppress ARP radio broadcast
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
### Please note that : The physical machine / The virtual machine lo Return address , broadcast, netmask Wait to compare !!!
After successful execution , Input ifconfig You should see the following results :
lo:0: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 192.168.1.100 netmask 255.255.255.255
loop txqueuelen 0 (Local Loopback)
Because of inhibition ARP radio broadcast , Input ping 192.168.1.100 It should be the following result :
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data. --- 192.168.1.100 ping statistics --- 6 packets transmitted, 0 received, 100% packet loss, time 5042ms
unable ping through
Load balancer configuration
Keepalived Default profile location /etc/keepalived/keepalived.conf
The configuration is as follows :
virtual_server 192.168.1.100 80 { delay_loop 6 lb_algo rr # rr Polling lb_kind DR # DR Pattern nat_mask 255.255.255.255 #persistence_timeout 600 # Session holding time protocol TCP real_server 192.168.1.13 80 { #weight 100 # stay wlc Load balancing algorithm takes effect # Real server status check TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 192.168.1.14 80 { #weight 100 # stay wlc Load balancing algorithm takes effect # Real server status check TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }
Input keepalived -D Command to start keeplived
see keepalived Running state ( The normal startup is three processes )
ps aux | grep "keepalived"
see keepalived Run log
tail /var/log/message
Check the configuration results ( Under normal circumstances, you can see that the configured information has been loaded correctly )
ipvsadm -L
边栏推荐
- MySQL user permissions
- Several index utilization of joint index ABC
- SolidWorks GB Library (steel profile library, including aluminum profile, aluminum tube and other structures) installation and use tutorial (generating aluminum profile as an example)
- Matlab tips (30) nonlinear fitting lsqcurefit
- Stack and queue-p79-9
- Under what circumstances should we consider sub database and sub table
- MySQL installation
- 场馆怎么做体育培训?
- Installing redis and windows extension method under win system
- MySQL SQL的完整处理流程
猜你喜欢
Mysql---- import and export & View & Index & execution plan
服装门店如何盈利?
.net core 访问不常见的静态文件类型(MIME 类型)
项目实战 五 拟合直线 获得中线
Pinduoduo lost the lawsuit: "bargain for free" infringed the right to know but did not constitute fraud, and was sentenced to pay 400 yuan
dolphinscheduler3. X local startup
BindingException 异常(报错)处理
基于JS的迷宫小游戏
How can gyms improve their competitiveness?
7天零基础能考证HCIA吗?华为认证系统学习路线分享
随机推荐
工具类:对象转map 驼峰转下划线 下划线转驼峰
leetcode 509. Fibonacci Number(斐波那契数字)
大咖云集|NextArch基金会云开发Meetup来啦
Redhat5 installing vmware tools under virtual machine
Programmers' daily | daily anecdotes
How to find the literature of a foreign language journal?
Distributed ID solution
How can clothing stores make profits?
Unity C# 函数笔记
JWT certification
impdp的transform参数的测试
Postgresql源码(59)分析事务ID分配、溢出判断方法
MySQL view bin log and recover data
DHCP路由器工作原理
Stack and queue-p79-9
场馆怎么做体育培训?
快速定量,Abbkine 蛋白质定量试剂盒BCA法来了!
基于JS的迷宫小游戏
Initial experience of addresssanitizer Technology
Take you to brush (niuke.com) C language hundred questions (the first day)