当前位置:网站首页>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
边栏推荐
- Bus消息总线
- String (explanation)
- ViewModelProvider.of 过时方法解决
- Navicat importing 15g data reports an error [2013 - lost connection to MySQL server during query] [1153: got a packet bigger]
- 常用函数detect_image/predict
- [noi simulation] regional division (conclusion, structure)
- 请教一下,监听pgsql ,怎样可以监听多个schema和table
- How can flinksql calculate the difference between a field before and after update when docking with CDC?
- 途家、木鸟、美团……民宿暑期战事将起
- 请问 flinksql对接cdc时 如何实现计算某个字段update前后的差异 ?
猜你喜欢
偏执的非合格公司
Abnova 膜蛋白脂蛋白体技术及类别展示
Take you to brush (niuke.com) C language hundred questions (the first day)
Linear algebra (1)
How can I check the DOI number of a foreign document?
Basic introduction of JWT
Data of all class a scenic spots in China in 2022 (13604)
2018年江苏省职业院校技能大赛高职组“信息安全管理与评估”赛项任务书第二阶段答案
[start from scratch] detailed process of deploying yolov5 in win10 system (CPU, no GPU)
使用TCP/IP四层模型进行网络传输的基本流程
随机推荐
Please ask a question, flick Oracle CDC, read a table without update operation, and repeatedly read the full amount of data every ten seconds
Algorithm --- bit count (kotlin)
Can 7-day zero foundation prove HCIA? Huawei certification system learning path sharing
Abnova循环肿瘤DNA丨全血分离,基因组DNA萃取分析
精准时空行程流调系统—基于UWB超高精度定位系统
数据资产管理与数据安全国内外最新趋势
Jmeter 5.5版本发布说明
JDBC database connection pool usage problem
Take you to brush (niuke.com) C language hundred questions (the first day)
Abnova 体外转录 mRNA工作流程和加帽方法介绍
From zero to one, I will teach you to build the "clip search by text" search service (2): 5 minutes to realize the prototype
linux系统rpm方式安装的mysql启动失败
品牌·咨询标准化
SVN version management in use replacement release and connection reset
unity3d学习笔记
Big coffee gathering | nextarch foundation cloud development meetup is coming
健身房如何提高竞争力?
Abnova 免疫组化服务解决方案
学术报告系列(六) - Autonomous Driving on the journey to full autonomy
联合索引ABC的几种索引利用情况