lvs和keepalives
nginx 為應用層的分流企業
LVS專業做分流
lb 負載平衡器 調度器
lvs的工作模式 和區別
NAT模式 調度器通過個人ip訪問公網 公網通過調度器 調度器回進行改變 源ip不會變 目標ip會進行改變
在ip層 也就是網絡層 網絡地址和轉換
優點 可以隱藏后段的真實服務器
缺點 容易出現性能瓶頸 調度器的壓力比較大
入網和出網都要經過調度器
DR模式 直接路由模式 應用最多
調度器 和交換機和路由器
客戶機訪問一個 ip
路由會把包傳進來 交給交換機
把后臺機器的ip幫在調度器上的lo口 (交互機尋找后段 調度器進行響應 從而進行調度)
調度到后段的一臺機器上
又把ip綁定到后端的一臺機器
回應的時候機器直接甩給網關 不用經過調度器 所以減輕了調度器的壓力
地址解析界協議 arp協議
為什么兩個人不能用同一個ip地址?
當我們設置ip之后 網卡會告訴交換機自己的ip 如果有人回答此ip有人在用 就會引起ip沖突
其他的后臺機器綁定調度器材io端口 (環回口) 只有調度器才是一個真正的訪問的ip地址
正向arp 網關到調度
代理arp 后段機器到外網 這樣路由器就是一個代理arp
源mac目標和目的mac目標 數據幀
以上兩種都在一個網段上
TUNNAL 模式 隧道模式 跨異地的時候比較常用
客戶訪問虛擬ip 后段服務器綁定lo環回端口
調度器綁定了虛擬ip 調度器把數據原封不動 在數據外層加ip頭 設置新的源和目的的地址 傳遞給后段服務器 然后進行解包
要做實驗需要打開路由轉發功能
vim /etc/sysctl.conf 中 添加
net.ipv4.nat ip_forward = 1
sysctl -p 生效
sysctl -a |grep -i forward
yum -y install ipvsadm 調度器的軟件
ipvsadm -A -t ip(這是就是虛擬的ip) -s rr 添加一個虛擬網卡
ipvasdm -a -t ip(虛擬的ip) -r ip(這個是真實后端的ip):80 -m(模式 nat 隧道模式 和 dr 模式) 真實的
大A是虛擬的 小a是真實的
ipvsadm -L 查看
ipvsadm -n 查看端口
DR 模式
ifconfig 網卡名字 +ip netmask 255.255.255.255 up 綁定網卡
-a +-g
到后段電腦 綁定lo回環端口
ifconfig lo:0+ip netmask 255.255.255.255 up 綁定
nat -m
dr -g
TUNNAL -i
-g
ipip協議 ip頭 技術
gre 技術
隧道練習
modprobe ipip 插入模塊(插入后出現tunl0 網卡
lsmode |grep ipip 過濾模塊
綁定虛擬ip
ip addr add dev tunl0 30.30.30.30/32
ifconfig tunl0 up
ifconfig tunl0 up
調度ip轉發功能
配置規則 -i
ipvsadm -S
去令一臺機器
插入ipip模塊
調度算法 -s rr論叫法
wrr 權重加法
lc 最小連接
wlc 在lc的基礎上設置權重
源地址哈希
目標地址哈希 cdn 內容分發網絡 整個緩存系統
keepalived 主備切換 使用多路復用io 機器你一個業務上線了兩臺服務器 一個壞了一個立刻補上 保證業務的可用性
為了防止lb死掉 因此設置一個組播(心跳檢測 心跳線 224.0.0.18 )如果master死掉了 他會自己把自己的vrrp殺掉 然后組播里的別的服務器會自動爭搶master 從而保證lb的高可用性 主備切換
vrrp就是發送hello的 用來選擇主從的 如果自己死了 就不會發送hello 備機 就會自動搶走主的位置
有自己的checkd的檢測辦法 如http 和tcp
vim /etc/keepliave
global全局設置
通知誰 誰是管理員
你的發件人是誰
你的smtp的服務器是誰
連接多久超時
設置自己的id 特別重要 不能引起id沖突
vrrp的實例{
實例的名字可以隨意
幾個機器的id要設置成一樣的
優先級0-255
通話間隔
密碼 默認1111
虛擬ip
自己設置
}
虛擬ip 必須和上面設置的一樣
指定時間
真實ip
ssl 檢測
tcp檢測
http檢測
復制這個配置 到另一臺機器
修改BACKUP
id需要修改
優先級需要修改
都是有一個問題 兩臺機器在故障恢復的時候有一個短暫的時間 這個問題怎么解決的 ?
在從機的backup中添加 nopreempt 然后在主機把master改成BACKUP
也添加一個配置
nopreement 不搶占
轉載于:https://blog.51cto.com/13575677/2096171
總結
以上是生活随笔為你收集整理的lvs和keepalives的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android。WebView加载UR请
- 下一篇: springMVC学习-day01