成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

突破LVS瓶頸,LVS Cluster部署(OSPF + LVS)

開發 前端
LVS大家應該很熟悉,這款優秀的開源軟件基本成為了IP負載均衡的代言詞。但在實際的生產環境中會發現,LVS調度在大壓力下很容易就產生瓶頸,其中瓶頸包括ipvs內核模塊的限制,CPU軟中斷,網卡性能等,當然這些都是可以調優的,關于LVS的調優,會在這里詳細講 LVS調優攻略 。

前言

LVS大家應該很熟悉,這款優秀的開源軟件基本成為了IP負載均衡的代言詞。但在實際的生產環境中會發現,LVS調度在大壓力下很容易就產生瓶頸,其中瓶頸包括ipvs內核模塊的限制,CPU軟中斷,網卡性能等,當然這些都是可以調優的,關于LVS的調優,會在這里詳細講LVS調優攻略。回到主題,那當無法避免的單臺LVS調度機出現了性能瓶頸,有什么辦法呢?在本文就來介紹如何橫向擴展LVS調度機

架構簡圖

Lvs_Cluster_new

如上圖三層設備的路由表,VIP地址183.60.153.100對應nexthop有三個地址,這三個地址是三臺lvs調度機的地址。這樣便可達到效果:用戶訪問------>VIP------>三臺LVS調度機------>分發到多臺RealServe

架構優勢

1.LVS調度機自由伸縮,橫向擴展(最大8臺,受限于三層設備允許的等價路由數目)

2.LVS調度資源全利用,All Active。不存在備份機

部署方法

1.硬件資源準備

三層設備: 本文用的是h3c 5800三層交換機

LVS調度機三臺: 192.168.0.2 192.168.2.2 192.168.3.2

Realserver三臺:  183.60.153.101 183.60.153.102 183.60.153.103

2.三層設備OSPF配置

  1. #查找與三層交換與lvs調度相連的端口,在本文端口分別為 g1/0/2 g1/0/3 g1/0/6 
  2.  
  3. #把g1/0/2改為三層端口,并配上IP  
  4.  
  5. interface GigabitEthernet1/0/2 
  6. port link-mode route  
  7. ip address 192.168.0.1 255.255.255.0 
  8.  
  9. #配置ospf的參數, timer hello是發送hello包的間隔,timer dead是存活的死亡時間。默認是1040。  
  10.  
  11. #hello包是ospf里面維持鄰居關系的報文,這里配置是每秒發送一個,當到4秒還沒有收到這個報文,就會認為這個鄰居已經丟失,需要修改路由  
  12. ospf timer hello 1 
  13. ospf timer dead 4 
  14. ospf dr-priority 100 
  15.  
  16. #如此類推,把g1/0/3 g1/0/6都配置上  
  17.  
  18. interface GigabitEthernet1/0/3 
  19. port link-mode route  
  20. ip address 192.168.3.1 255.255.255.0 
  21.  
  22. ospf timer hello 1 
  23. ospf timer dead 4 
  24. ospf dr-priority 99 
  25.  
  26.  
  27. interface GigabitEthernet1/0/6 
  28. port link-mode route  
  29. ip address 192.168.2.1 255.255.255.0 
  30.  
  31. ospf timer hello 1 
  32. ospf timer dead 4 
  33. ospf dr-priority 98 
  34.  
  35.  
  36. #配置ospf  
  37. ospf 1 
  38. area 0.0.0.0 
  39. network 192.168.0.0 0.0.0.255 
  40. network 192.168.3.0 0.0.0.255 
  41. network 192.168.2.0 0.0.0.255 

3.LVS調度機的OSPF配置

 

a.安裝軟路由軟件quagga

  1. yum –y install quagga 

b.配置zerba.conf

vim /etc/quagga/zebra.conf

  1. hostname lvs-route-1 
  2. password xxxxxx  
  3. enable password xxxxxx  
  4.  
  5. log file /var/log/zebra.log  
  6. service password-encryption  
  7.  

c.配置ospfd.conf

vim /etc/quagga/ospfd.conf

  1. #ospf的配置類似于上面三層設備,注意需要把vip聲明出去(183.60.153.100)  
  2.  
  3. log file /var/log/ospf.log  
  4. log stdout  
  5. log syslog  
  6. interface eth0  
  7. ip ospf hello-interval 1 
  8. ip ospf dead-interval 4 
  9. router ospf  
  10. ospf router-id 192.168.0.1 
  11. log-adjacency-changes  
  12. auto-cost reference-bandwidth 1000 
  13. network 183.60.153.100/32 area 0.0.0.0 
  14. network 192.168.0.0/24 area 0.0.0.0 
  15.  

d.開啟IP轉發

  1. sed –i ‘/net.ipv4.ip_forward/d’ /etc/sysctl.conf  
  2.  
  3. echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.confsysctl –p 

e.開啟服務

  1. /etc/init.d/zebra start   
  2.  
  3. /etc/init.d/ospfd start   
  4.  
  5. chkconfig zebra on   
  6.  
  7. chkconfig ospfd on 

#p#

4.LVS keepalived配置

在此架構下,LVS只能配置成DR模式。如果要配置成NAT模式,我的想法是,需要參照上面的方式讓LVS調度機與內網三層設備配置ospf,此方法未驗證,有其他方案請告知。

 

a.修改配置文件 keepalived.conf ,在Cluster架構中,所有調度機用相同的配置文件

vim /etc/keepalived/keepalived.conf

  1. #keepalived的全局配置global_defs {    
  2.    notification_email {  
  3.  
  4.    lxcong@gmail.com  
  5.    }  
  6.    notification_email_from lvs_notice@gmail.com  
  7.    smtp_server 127.0.0.1 
  8.    smtp_connect_timeout 30 
  9.    router_id Ospf_LVS_1  
  10. }  
  11.  
  12. #VRRP實例,在這個架構下所有的LVS調度機都配置成MASTER  
  13.  
  14. vrrp_instance LVS_Cluster{  ##創建實例 實例名為LVS_Cluster  
  15.  
  16.     state MASTER #備份服務器上將MASTER改為BACKUP     
  17.     interface eth0    ##VIP 捆綁網卡  
  18.     virtual_router_id 100   ##LVS_ID  在同一個網絡中,LVS_ID是唯一的  
  19.     priority 100    #選舉的優先級,優先級大的為MASTER  備份服務上將100改為99 
  20.     advert_int 1  #發送vrrp的檢查報文的間隔,單位秒  
  21.     authentication {  ##認證信息。可以是PASS或者AH  
  22.         auth_type PASS    
  23.         auth_pass 08856CD8  
  24.     }  
  25.     virtual_ipaddress {  
  26.         183.60.153.100 
  27.     }  
  28. }  
  29.  
  30. #LVS實例,在本文采用的是DR模式,WRR調度方式。其實在這種架構下也只能使用DR模式  
  31.  
  32. virtual_server 183.60.153.100 80 {  
  33.     delay_loop 6 
  34.     lb_algo wrr  
  35.     lb_kind DR  
  36.     persistence_timeout 60 
  37.     protocol TCP   
  38.  
  39. real_server 183.60.153.101 80 {  
  40.     weight 1                                           # 權重  
  41.     inhibit_on_failure                               # 若此節點故障,則將權重設為零(默認是從列表中移除)  
  42.     TCP_CHECK {  
  43.         connect_timeout 3 
  44.         nb_get_retry 3 
  45.         delay_before_retry 3 
  46.         connect_port 80 
  47.     }  
  48.  
  49. }  
  50.  
  51. real_server 183.60.153.102 80 {  
  52.     weight 1                                           # 權重  
  53.     inhibit_on_failure                               # 若此節點故障,則將權重設為零(默認是從列表中移除)  
  54.     TCP_CHECK {  
  55.         connect_timeout 3 
  56.         nb_get_retry 3 
  57.         delay_before_retry 3 
  58.         connect_port 80 
  59.     }  
  60.  
  61. }  
  62.  
  63. real_server 183.60.153.103 80 {  
  64.     weight 1                                           # 權重  
  65.     inhibit_on_failure                               # 若此節點故障,則將權重設為零(默認是從列表中移除)  
  66.     TCP_CHECK {  
  67.         connect_timeout 3 
  68.         nb_get_retry 3 
  69.         delay_before_retry 3 
  70.         connect_port 80 
  71.     }  
  72.  
  73. }  
  74.  
  75. }  

b.啟動keepalived

  1. /etc/init.d/keepalived start  
  2. chkconfig keepalived on 

5.realserver配置

 

a.添加啟動服務腳本/etc/init.d/lvs_realserver

請自行按需要修改腳本中SNS_VIP變量

  1. #!/bin/sh  
  2. ### BEGIN INIT INFO  
  3. # Provides: lvs_realserver  
  4. # Default-Start:  3 4 5 
  5. # Default-Stop: 0 1 6 
  6. # Short-Description: LVS real_server service scripts  
  7. # Description: LVS real_server start and stop controller  
  8. ### END INIT INFO  
  9. #  Copyright 2013 kisops.com  
  10. #  
  11. #  chkconfig: - 20 80 
  12. #  
  13. #  Author:  k_ops_yw@ijinshan.com   
  14.  
  15. #有多個虛擬IP,以空格分隔  
  16. SNS_VIP="183.60.153.100" 
  17. . /etc/rc.d/init.d/functions  
  18. if [[ -z "$SNS_VIP"  ]];then  
  19.     echo 'Please set vips in '$0' with SNS_VIP!' 
  20. fi   
  21.  
  22. start(){  
  23. num=0 
  24. for loop in $SNS_VIP  
  25. do 
  26.     /sbin/ifconfig lo:$num $loop netmask 255.255.255.255 broadcast $loop  
  27.     /sbin/route add -host $loop dev lo:$num  
  28.     ((num++))  
  29. done  
  30. echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore  
  31. echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce  
  32. echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore  
  33. echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce  
  34. sysctl -e -p >/dev/null 2>&1 
  35. }   
  36.  
  37. stop(){  
  38. num=0 
  39. for loop in $WEB_VIP  
  40. do 
  41.     /sbin/ifconfig lo:$num down  
  42.     /sbin/route del -host $loop >/dev/null 2>&1 
  43.     ((num++))  
  44. done  
  45. echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore  
  46. echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce  
  47. echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore  
  48. echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce  
  49. sysctl -e -p >/dev/null 2>&1 
  50. }   
  51.  
  52. case "$1" in  
  53.     start)  
  54.         start  
  55.         echo "RealServer Start OK" 
  56.         ;;  
  57.     stop)  
  58.         stop  
  59.         echo "RealServer Stoped" 
  60.         ;;  
  61.     restart)  
  62.         stop  
  63.         start  
  64.         ;;  
  65.     *)  
  66.          echo "Usage: $0 {start|stop|restart}" 
  67.          exit 1 
  68. esac  
  69. exit 0 

b.啟動服務

  1. service lvs_realserver start  
  2. chkconfig lvs_realserver on 

總結

到這里,LVS Cluster架構已部署完了,如果各位有其他更好的LVS擴展方式請留意或者聯系我,互相交流 QQ:83766787。另外以前做了一個LVS的管理平臺,但是一直都做得不好,也希望有相關平臺開發經驗的能聯系我,交流交流、

QQ截圖20130710233858

原文鏈接:http://my.oschina.net/lxcong/blog/143904

 

責任編輯:林師授 來源: OSCHINA
相關推薦

2012-02-13 23:29:52

lvslinux集群

2012-05-07 10:20:12

LVS集群

2014-05-30 13:35:21

MySQL Clust架構

2019-08-15 14:11:31

LVS負載均衡調度算法

2010-04-27 13:12:04

負載均衡算法

2014-08-01 12:57:31

linuxheartbeatlvs

2011-05-18 09:47:17

LVSDR模式

2015-03-18 14:56:58

負載均衡服務器集群

2010-04-22 10:59:45

Lvs負載均衡

2010-04-27 10:19:45

lvs負載均衡

2012-02-15 22:51:29

lvslinuxheartbeat

2010-05-17 10:04:45

2010-12-17 10:45:13

ldirectordLVS負載平衡

2023-03-08 09:27:51

LVSsession

2010-04-22 14:19:21

LVS負載均衡集群

2010-04-27 11:12:01

HTTP負載均衡

2010-04-22 11:19:11

LVS負載均衡

2012-02-15 00:01:34

2016-09-22 20:26:09

負載均衡lvsDNS輪詢

2010-04-25 17:05:48

lvs負載均衡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 新疆少妇videos高潮 | 精品日韩一区 | com.国产 | 亚洲福利片 | 黑人巨大精品欧美黑白配亚洲 | 久久综合久久综合久久综合 | 国产精品视频一区二区三 | 国产激情在线 | 精品www| 成人片免费看 | 国产一区视频在线 | 国产高清一区二区三区 | 中文字幕在线观看第一页 | 成年无码av片在线 | 成人久久18免费网站图片 | 色婷婷综合久久久中字幕精品久久 | 亚洲精品99 | 亚洲精品欧美 | 久久国产精品首页 | 日韩超碰在线 | 日日夜夜天天干 | 影音先锋亚洲资源 | 天堂成人国产精品一区 | 国产精品毛片一区二区在线看 | 欧美aⅴ片 | xx性欧美肥妇精品久久久久久 | 99久久婷婷国产综合精品首页 | 成人欧美在线 | 国产一区二区欧美 | 欧洲一级视频 | 四虎影院一区二区 | 精品国产高清一区二区三区 | 一级大片 | 国产欧美在线视频 | 国产在线一区二 | 一区二区在线看 | 高清av电影 | 日日爱av | 4h影视| 中文字幕国产精品视频 | 一区在线播放 |