日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LVS在淘宝环境中的应用

發(fā)布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LVS在淘宝环境中的应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

1. LVS-簡介

2. LVS-問題

3. LVS-fullnat

4. LVS-synproxy

5. LVS-cluster

6. LVS-performance

7. LVS-todo list


?疑問引入:用戶訪問淘寶,訪問哪臺apache服務(wù)器

傳統(tǒng)做法:DNS服務(wù)

四個問題

Q1:apache2 down,remove生效時間不可控

Q2:只支持WRR癿調(diào)度策略

Q3:apache間負載不均勻

Q4:攻擊防御能力弱

A:? 引入Virtual Server

4層Load Balance

– 基亍傳輸層信息進行 調(diào)度

– 調(diào)度算法:WRR/WLC 等

– 工作模式:NAT/DR/TUNNEL

– 傳輸協(xié)議:TCP/UDP

NAT

TUNNET

DR

LVS – 內(nèi)核模塊:ip_vs – 實現(xiàn)了負載均衡
? Q – 某臺RealServer down了,怎么辦? – LVS本身down了,怎么辦?

?A – 某臺RealServer down了,怎么辦?

--- 健康檢測 – LVS本身down了,怎么辦?

---LVS冗余 ? Keepalived

– LVS管理軟件 – 健康檢測:支持4/7監(jiān)測;

– 主備冗余:采用VRRP協(xié)議癿HeartBeat;

– 如何配置?

--- 配置文件
?Keepalived –f /etc/keepalived/keepalived.conf
?
Q:缺少監(jiān)控系統(tǒng)?LVS具有開源SNMP Patch

問題

?LVS在大規(guī)模網(wǎng)絡(luò)中應(yīng)用存在不足

– 各轉(zhuǎn)發(fā)模式,網(wǎng)絡(luò)拓撲復(fù)雜,運維成本高 ? 和商用LB設(shè)備相比

– 缺少TCP標志位DDOS攻擊防御 ? 主備部署方式不足

– 性能無法線性擴展

DR模式-不足

1. LVS-RS間必須在同一個VLAN 2. RS上綁定VIP,風(fēng)險大;

NAT模式-不足

TUNNEL不足


?
IN:增加1個IP頭 OUT:NULL
1. RS配置復(fù)雜(IPIP模塊等)

2. RS上綁定VIP,風(fēng)險大

解決辦法

LVS各轉(zhuǎn)發(fā)模式運維成本高

– 新轉(zhuǎn)發(fā)模式FULLNAT:實現(xiàn)LVS-RealServer間跨vlan通訊,并 且in/out流都經(jīng)過LVS;

? 缺少攻擊防御模塊 – SYNPROXY:synflood攻擊防御模塊

– 其它TCP FLAG DDOS攻擊防御策略 ? 性能無法線性擴展

– Cluster部署模式

?FULLNAT是一種新的轉(zhuǎn)發(fā)模式 – 主要思想:引入local address(內(nèi)網(wǎng)ip地址),cip-vip轉(zhuǎn) 換為lip->rip,而 lip和rip均為IDC內(nèi)網(wǎng)ip,可以跨vlan通 訊; – keepalived配置方式:
?virtual_server 125.76.224.240 {
???? lb_kind FNAT/DR/NAT/TUNNEL
???????? local_address {
????????????????????????? 192.168.1.1
???????? }

?FULLNAT轉(zhuǎn)發(fā)模式

NAT實現(xiàn)原理

FULLNAT實現(xiàn)原理

NAT-HOOK點

NETFILTER HOOK點,同iptables
?
為什么是這2個HOOK點?

FULLNAT-HOOK點

NAT-session表

?FULLNAT-session表

FULLNAT-獲取client address(TOA)

?FULLNAT-設(shè)計考慮
– TCP OPT-TIMESTAMP ? RealServer kernel開啟tcp_tw_recycle ? 用戶A和B,timestamp大癿訪問成功,timestamp小癿訪問失敗
– TCP OPT-MSS ? TCP三次握手最后一個ack包為GET請求 ? GET請求>1個數(shù)據(jù)包,toa無法插入
– TCP - Sequence ? RealServer上timewait癿socket復(fù)用條件:seq遞增

SYNPROXY用于防御synflood攻擊 – 主要思想:參照linux tcp協(xié)議棧中syncookies癿思想, LVS-構(gòu)造特殊seq癿synack包,驗證ack包中ack_seq是否 合法-實現(xiàn)了TCP三次握手代理; – 配置方式
virtual_server 125.76.224.240 {
???????? syn_proxy
?
?SYNPROXY實現(xiàn)原理

SYNPROXY-設(shè)計考慮
– TCP - Sequence ? Lvs->client 和 apache->lvs癿syn_ack包中seq不相同
– TCP OPT ? Lvs->client syn_ack包中tcp opt支持mss/wsale/sack
– Session reused ? 多個用戶通過NAT網(wǎng)關(guān)用同一個ip/port訪問LVS
– Ack Storm ? Tcp seq轉(zhuǎn)換導(dǎo)致ack storm

?IPVS優(yōu)化 – 多隊列網(wǎng)卡,1個隊列綁定到1個cpu核上

– 增大session hash table

– 增大session hash bucket lock個數(shù) – 避免路由cache條目過多
– LOCKLESS – 硬件:Westmere(第二代nehalem)/bios配置

單隊列網(wǎng)卡 – 只有一個rx_buffer和一個tx_buffer;

多隊列網(wǎng)卡

?網(wǎng)卡中斷– CPU核 – Cat /proc/interrupts
? 54:? 188324418?????? 0???? IR-PCI-MSI-edge????? eth0-TxRx-0
???? 55:? 167573416?????? 0???? IR-PCI-MSI-edge????? eth0-TxRx-1
?
– 綁定
?echo? 01 > /proc/irq/54/smp_affinity ?
? echo 02 > /proc/irq/55/smp_affinity

? 軟多隊列:RPS(receive packet steering)

?RPS配置
– cat? /sys/class/net/eth0/queues/rx-0/rps_cpus
?cat? /sys/class/net/eth0/queues/rx-1/rps_cpus
? – 綁定
?echo? 01 > /sys/class/net/eth0/queues/rx-0/rps_cpus
? echo 02 > /sys/class/net/eth0/queues/rx-1/rps_cpus

?KEEPALIVED優(yōu)化
– Select->epool – 減少reload時間和開銷

系統(tǒng)配置注意點

– 關(guān)閉網(wǎng)卡LRO/GRO

– 關(guān)閉irqbalance

– 增大proc參數(shù):net.core.netdev_max_backlog

性能指標

– Synflood:350w pps

– Ack/rst/fin-flood:800w pps

– HTTP:150w pps

– New tcp connection:30w

– MAX session:4000w (24G memory) 機器:DELL R610(E5645? @ 2.40GHz), Intel 82599 NIC

? 提高性能

– Ipvs:lockless

– Keepalived:多線程事件驅(qū)勱

– 新硬件:sandybridge - DDIO ? 完善功能

– 攻擊防御:ip黑白名單…..

– 支持GRO(不支持LRO)
?
未來:4/7層合一

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的LVS在淘宝环境中的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。