久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

LVS+keepalived的安裝部署怎么完成mysql的負載均衡

143次閱讀
沒有評論

共計 6205 個字符,預計需要花費 16 分鐘才能閱讀完成。

LVS+keepalived 的安裝部署怎么完成 mysql 的負載均衡,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

  試驗環境:

LVS1:192.168.9.27

LVS2:192.168.9.28

keepalived   的 VIP:192.168.9.230

要分發的 mysql1: 192.168.9.29

要分發的 mysql2:192.168.9.30

具體安裝步驟:

# 下載 ipvsadm(也就是 LVS 程序包)

wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

# 解壓

[root@lvs-a ~]# tar -zxf ipvsadm-1.24.tar.gz

# 進入該 ipvsadm 目錄  

[root@lvs-a ~]# cd /usr/local/ipvsadm-1.24

# 安裝開發包及庫文件

[root@lvs-a ipvsadm-1.24]# # yum install zlib-devel gcc gcc-c++ openssl-devel pcre-devel libtool kernel-devel ncurses-devel -y

# 創建內核連接

[root@lvs-a ipvsadm-1.24]# ln -sv /usr/src/kernels/2.6.18-194.el5-i686/ /usr/src/linux #(2.6.18-194.el5-i686)根據系統版本修改。

# 編譯安裝

[root@lvs-a ipvsadm-1.24]# make;make install

# 進入目錄

[root@lvs-a ~]# cd  /usr/local/

# 下載 keepalived

wget http://www.keepalived.org/software/keepalived-1.1.17.tar.gz

# 解壓

[root@lvs-a ipvsadm-1.24]# tar -zxf keepalived-1.2.12.tar.gz

# 進入該 keepalived 目錄

[root@lvs-a ~]cd keepalived-1.2.12

# 編譯安裝

[root@lvs-a keepalived-1.2.12]#./configure –prefix=/usr/local/keepalived # 這里編譯完后面顯示三個 yes,說明編譯成功,否則安裝不成功。

# 以下為 1.2.12 版本./configure 結果如下

# 如果為 1.1.17 版本./configure 結果如下

 

[root@lvs-a keepalived-1.2.12]#make

[root@lvs-a keepalived-1.2.12]#make install

# 復制啟動文件

[root@lvs-a keepalived-1.2.12]#cp /usr/local/keepalived/etc/rc.d/init.d/keepalived  /etc/init.d/    ## 這樣才能用 service keepalived 的命令。

# 復制命令文件

[root@lvs-a keepalived-1.2.12]#cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

# 復制【配置文件

[root@lvs-a keepalived-1.2.12]#cp /usr/local/keepalived/etc/sysconfig/keepalived  /etc/sysconfig/

# 新建主配置文件目錄

[root@lvs-a keepalived-1.2.12]#mkdir -p /etc/keepalived

# 編輯配置文件 LVS1

[root@lvs-a sysconfig]#vim  /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
 router_id lvs
}

vrrp_sync_group http {                       # 設置 vrrp 組, 隨便起名字,
group {
 mysql                                            ### 隨便起的名字
 }
}

vrrp_instance apache {                       ### 定義一個 vrrp 實例
 state MASTER                                    # 設置 lvs 的狀態, MASTER 和 BACKUP 兩種,必須大寫,主節點 master, 從節點 backup
 interface eth0                                    # 設置對外服務的接口,也就是 /LVS 監控的網絡接口
    virtual_router_id 01                            # 設置 lvs 監聽的接口,同一實例下 virtual_router_id 必須相同  ,隨便起名字
 priority 500                                          # # 設置優先級,數值越大,優先級越高,也就是主節點的這個值大
 advert_int 1                                          ## //MASTER 與 BACKUP 負載均衡器之間同步檢查的時間間隔,單位是秒  

 authentication {                                 # 設置驗證類型和密碼
 auth_type PASS                                
 auth_pass aabb                                ## 密碼
 }
 virtual_ipaddress {                         ## 設置 keepalived 的 VIP
 192.168.9.230                          # 如果有多個,往下加就行了  

        #192.168.9.231

        #192.168.9.232

   }

}

virtual_server 192.168.9.230 3306 {             ## 定義虛擬服務器  
    delay_loop 6                                              # 健康檢查時間,單位是秒。
 lb_algo rr                                                  # 負載調度算法,這里設置為 rr,即輪詢算法
 lb_kind DR                                                 #LVS 實現負載均衡的機制,可以有 NAT、TUN 和 DR 三個模式可選  
 nat_mask 255.255.255.0                             #可以不填寫這個參數,
# persistence_timeout 50
 protocol TCP

 real_server 192.168.9.29 3306 {                     ## 要分發的目標服務器 IP,
 weight 1                                                        # 設置權重,也就是分發的次數,這里表示每個分發一次,
 TCP_CHECK {                                                 # 通過 tcpcheck 判斷 RealServer 的健康狀態  
 connect_timeout 3                                   ## 連接超時時間  

              #nb_get_retry 3                                           #重連次數  , 有默認值
              #delay_before_retry 3                                # 重連間隔時間     有默認值                      
 connect_port 3306
 }
 }
 real_server 192.168.9.30 3306 {
 weight 1
 TCP_CHECK {
 connect_timeout 3
 connect_port 3306
 }
 }
}

# 配置完成重啟 keepalived

[root@lvs-a sysconfig]#service keepalived restart

# 添加自己的網關

[root@lvs-a network-scripts]# route add -host 192.168.9.254  dev eth0

 # 安裝 keepalived 同 lvs1 相同

 # 安裝 keepalived 后配置 LVS2,配置如下:

[root@lvs-b ~]# cat /etc/keepalived/keepalived.conf 

! Configuration File for keepalived

global_defs {
 router_id lvs
}

vrrp_sync_group http {
group {
 mysql
 }
}

vrrp_instance apache {
 state BACKUP 
 interface eth0
 virtual_router_id 01
 priority 400
 advert_int 1
 # nopreempt
 authentication {
 auth_type PASS
 auth_pass aabb
 }
 virtual_ipaddress {
 192.168.9.230
 }
}

virtual_server 192.168.9.230 3306 {
 delay_loop 6
 lb_algo rr
 lb_kind DR
 nat_mask 255.255.255.0
# persistence_timeout 50
 protocol TCP

 real_server 192.168.9.29 3306 {
 weight 1
 TCP_CHECK {
 connect_timeout 3
 connect_port 3306
 }
 }
 real_server 192.168.9.30 3306 {
 weight 1
 TCP_CHECK {
 connect_timeout 3
 connect_port 3306
 }
 }
}

       

# 配置完成重啟 keepalived

service keepalived restart

# 添加自己的網關

route add -host 192.168.9.254  dev eth0

# 查看

route -n

# 查看分發結果

Ipvsadm -ln

# 清除分發

Ipvsadm -C

# 查看虛擬 ip(VIP)

Ip addr

# 配置  mysql-realserver1   在 192.168.9.29 上執行:

[root@lvs-a ~]# ifconfig lo:0 192.168.9.230 netmask 255.255.255.0  broadcast 192.168.9.230 up       ## 設置的一個臨時的 IP

設置到主機的路由

[root@lvs-b ~]# route add -host 192.168.9.230 dev lo:0

設置默認路由

[root@lvs-b ~]#route add default gw 192.168.9.137  

保證 arp 協議在連接過程中,路由器上,只知道網絡中 192.168.9.230 對應的是分發器

[root@lvs-b ~]#echo 1 /proc/sys/net/ipv4/conf/all/arp_ignore          

[root@lvs-b ~]#echo 2 /proc/sys/net/ipv4/conf/all/arp_announce

# 配置  mysql-realserver2   在 192.168.9.30 上執行:

[root@lvs-a ~]# ifconfig lo:0 192.168.9.230 netmask 255.255.255.0  broadcast 192.168.9.230 up 

設置到主機的路由

[root@lvs-a ~]#route add -host 192.168.9.230 dev lo:0

設置默認路由

[root@lvs-a ~]#route add default gw 192.168.153.137

保證 arp 協議在連接過程中,路由器上,只知道網絡中 192.168.9.230 對應的是分發器

[root@lvs-a ~]#echo 1 /proc/sys/net/ipv4/conf/all/arp_ignore          

[root@lvs-a ~]#echo 2 /proc/sys/net/ipv4/conf/all/arp_announce

# 兩臺 mysql-realserver 配置完成后啟動分別 mysql

Service mysqld start

LVS 分發測試:

1,在  mysql-realserver1(192.168.9.29)  創建一個名字叫做 slave1 的數據庫:

mysql create database slave1;

Query OK, 1 row affected (0.00 sec)

2,在 mysql-realserver2  (192.168.9.30)上創建一個名字叫做 slave2 的數據庫:

mysql create database slave2  ; 

Query OK, 1 row affected (0.00 sec)

3,在一臺能 ping 通 mysql-realserver1 和 mysql-realserver2 的機器上執行(注意不要在正在用著的 lvs 機器上執行,例如我現在 lvs 用著 [root@lvs-a ~]# 這個機器,如果你在這里執行他會報錯

[root@lvs-a ~]# mysql -uroot -pliuwenhe -h292.168.9.230 -e show databases
ERROR 2003 (HY000): Can t connect to MySQL server on  192.168.9.230  (111)
You have new mail in /var/spool/mail/root

[root@lvs-b ~]# mysql -uroot -pliuwenhe -h292.168.9.230 -e show databases

+——————–+
| Database |
+——————–+
| information_schema | 
| he | 
| liuwenhe | 
| mysql | 
| performance_schema | 
| slave1 | 
| test | 
+——————–+
[root@lvs-b ~]# mysql -uroot -pliuwenhe -h292.168.9.230 -e show databases
+——————–+
| Database |
+——————–+
| information_schema | 
| he | 
| liuwenhe | 
| mysql | 
| performance_schema | 
| slave2 | 
| test | 
+——————–+

  說明 lvs 分發成功。

看完上述內容,你們掌握 LVS+keepalived 的安裝部署怎么完成 mysql 的負載均衡的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-19發表,共計6205字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 咸丰县| 中江县| 武川县| 牟定县| 鄂温| 无锡市| 休宁县| 安平县| 崇左市| 公安县| 松阳县| 巩留县| 南阳市| 科技| 平果县| 阳高县| 楚雄市| 海兴县| 遂溪县| 阳泉市| 蒙城县| 八宿县| 绥滨县| 普定县| 山阳县| 铁岭县| 绥棱县| 醴陵市| 遵义县| 德令哈市| 汾西县| 土默特左旗| 莱州市| 桃源县| 咸丰县| 阿尔山市| 九龙坡区| 内黄县| 嵊州市| 同德县| 会宁县|