利用keepalived實現主/從和主/主模式的高性能負載均衡集群

要求:

1、使用nginx的反向代理功能實現負載均衡

2、keepalived實現高可用

???????第一組的虛擬地址為172.16.1.100

????????????D設備的優先級高

???????第二組的虛擬地址為172.16.1.110

????????????E設備的優先級高

3、分別實現主/從和主/主兩種配置

集群拓撲:

? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

第一種:主/從配置

所有配置之前先在各個主機上進行時間同步

?ntpdate 時間服務器地址

一、后端real server(A、B、C)配置

???1、在A、B、C三臺主機上安裝httpd包

????yum install httpd

???2、配置虛擬主機

???????vim /etc/httpd/conf.d/vir.conf

??????A主機:

? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ?B主機

? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ?C主機

? ? ? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ?3、創建三主機的URL 目錄及主頁面

???A主機

?????mkdir ?-pv /data/web/

?????????vim /data/web/index.html

?????????內容為 This is Vhost1

???B主機

?????mkdir ?-pv /data/web/

?????????vim /data/web/index.html

?????????內容為 This is Vhost2

???C主機

?????mkdir ?-pv /data/web/

?????????vim /data/web/index.html

?????????內容為 This is Vhost3

注意:三主機主頁面不同,是為了后面實驗來區分不同的real server

啟動httpd服務: systemctl ?start ?httpd.service

二、配置負載均衡節點

? ? ? ? ?D(此主機為MASTER)

? E(此主機為BACKUP)主機

? 利用nginx的ngx_http_upsteam_module模塊實現負載均衡

1、安裝nginx包

? ? ? ? ? ??在D、E主機上分別安裝

? ? ? ? ? ? yum install nginx

2、配置負載均衡

? ? ? ? ? ?在D、E主機上分別安裝

???vim /etc/nginx/nginx.conf

???定義websvr組:

????upstream websvr {

??????????server 192.168.70.137:80;

??????????server 192.168.70.138:80;

??????????server 192.168.70.140:80;

?????????}

???反向代理組 websvr

???????location / {

?????????????proxy_pass http://websvr;

????????}

? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

三、配置keepalived服務

? ? ? 1、全局配置

??主機D上

??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ? ? ?主機E上配置

? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ?2、分別在兩個主機上定義腳本 chk_down

? ? ? ? ?此腳本的功能:

? ? ? ? ? ??文件 /etc/keepalived/down 存在時:虛擬IP轉義到另一個節點

? ? ? ? ?vrrp_script chk_down {

? ? ? ? ? ? ? script “[[ -f /etc/keepalived/down ]] && exit 1 || exit 0”

? ? ? ? ? ? ? ?interval 1

? ? ? ? ? ? ? ?weight -10

? ? ? ? ? ? }

? ? ? 3、分別在兩個主機上定義腳本 chk_ngx

? ? ? ? ?此腳本功能:

? ? ? ? ? ?確認nginx服務是否正運行

? ? ? ? ? vrrp_script chk_ngx {

? ? ? ? ? ? ? script “killall -0 nginx && exit 0 || exit 1”

? ? ? ? ? ? ? interval 1

? ? ? ? ? ? ??weight -10

? ? ? ? ? ? ? fall 2

? ? ? ? ? ? ? rise 1

? ? ? ? ? }

? ? ? ? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ? 4、vrrp_instance配置

? ? ? ? ?D主機

? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ??? E主機

? ? ? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ?5、創建notify警告配置腳本

? ? ? ? ?分別在兩個主機上創建

? ? ? ? ?vim ?/etc/keepalived/notify.sh

? ? ? ? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ? ? ?chmod +x notify.sh 給予此腳本執行權限

6、啟動服務

??systemctl start keepalived.service

四、測試

??1、不做修改時,即主機D上沒有/etc/keepalived/down文件

? ? ? (1)、查看虛擬IP位置

? ? ? ? ? ??在主機D上(此主機為MASTER)

? ? ? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? 在主機E上(此主機為BACKUP)

? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

通過對比可以看到虛擬IP在D主機上

????(2)、查看nginx是否啟動

?????通過腳本/etc/keepalived/notify.sh可以看到哪臺主機成為MASTER狀態,哪臺主機就自動啟動nginx服務

????主機D

? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

????主機E

? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

通過對比可以知道主機D上的nginx服務啟動,而主機E上的nginx服務為啟動

(3)訪問URL

?????curl ?http:/172.16.1.10

? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ?2、在主機D上創建/etc/keepalived/down文件

? ? ? ? ?touch ?/etc/keepalived/down

? ? ? ? (1)、查看虛擬IP位置

? ? ? ? ? ??在主機D上(此主機為MASTER)

? ? ? ? ? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

?在主機E上(此主機為BACKUP)

? ? ? ? ? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

?通過對比可以看到虛擬IP在E主機上

? ? ?(2)、查看nginx是否啟動

??????主機D

? ? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ? ? ? ? ?主機E上

? ? ? ? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

???????通過對比可以知道主機E上的nginx服務啟動,而主機D上的nginx服務為啟動

(3)訪問URL

?????curl ?http:/172.16.1.100

? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ? ? ?能正常訪問,現實了高性能

第二部分實現主/主配置

一、增加配置在D、E主機上

????1、 在原有的配置基礎上增加一個vrrp_instance配置

????????在主機D上配置

? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ? ??在主機E上配置

? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? 2、修改警告配置腳本

??????將backup時停止nginx服務改為啟動nginx服務

? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

二、檢測

???1、不做修改時,即主機D和E上都沒有/etc/keepalived/down文件

?????(1)、查看虛擬IP位置

? ? ??在主機D上

? ? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

?????在主機E上

? ? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

通過對比看到:

????虛擬IP:172.16.1.100在主機D上

? ? ? ? ? ?虛擬IP:172.16.1.110在主機E上

?????(2)查看nginx服務狀態

? ? ? ? ??主機D、E的nginx服務都處于啟動狀態

? ? ? ? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ?(3)訪問URL

??????curl ?http:/172.16.1.100

? ? ? ? ? ? 利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ?curl ?http:/172.16.1.110

? ? ? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ? ??? ?能正常訪問,現實了高性能

????2、在主機D上創建/etc/keepalived/down文件

? ? ? ??(1)、查看虛擬IP位置

? ? ? ? ? ? 在主機D上

? ? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ? ? ?在主機E上

? ? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

通過對比看到:

????虛擬IP:172.16.1.100在主機E上

? ? ? ? ? ?虛擬IP:172.16.1.110在主機E上

?????(2)查看nginx服務狀態

? ? ? ? ??主機D、E的nginx服務都處于啟動狀態

? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ?(3)訪問URL

??????curl ?http:/172.16.1.100

? ? ? ? ? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ?curl ?http:/172.16.1.110

? ? ? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ? ? ??? ?能正常訪問,現實了高性能

 

????3、在主機E上創建/etc/keepalived/down文件

? ? ? ????(1)、查看虛擬IP位置

? ? ? ? ? ? 在主機D上

? ? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ? ? ? ? 在主機E上

? ? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

通過對比看到:

????虛擬IP:172.16.1.100在主機D上

? ? ? ? ? ?虛擬IP:172.16.1.110在主機D上

?????(2)查看nginx服務狀態

? ? ? ? ??主機D、E的nginx服務都處于啟動狀態

? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ?(3)訪問URL

??????curl ?http:/172.16.1.100

? ? ? ? ? ??利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ?curl ?http:/172.16.1.110

? ? ? ? ? ? ?利用keepalived實現主/從和主/主模式的高性能負載均衡集群

? ? ? ? ??? ?能正常訪問,現實了高性能

 

原創文章,作者:zq,如若轉載,請注明出處:http://www.www58058.com/78548

(0)
zqzq
上一篇 2017-06-25 21:40
下一篇 2017-06-25 23:42

相關推薦

  • 程序包管理的前端工具YUM及案例一二

    程序包管理前端工具–YUM        yum:yellowdog update modifier        yum工具為CS架構 yum倉庫(yum repository):yum repo   &n…

    Linux干貨 2016-08-24
  • LA LN MP

    L A/N MP 安裝 添加epel源 yum install epel* 安裝所需環境 yum install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zl…

    Linux干貨 2016-05-28
  • N25_第二周

    Linux文件管理類命令 cp命令:copy 源文件;目標文件; 單源復制:cp [OPTION]… [-T] SOURCE DEST 多源復制:cp [OPTION]… SOURCE… DIRECTORY | ????? cp [OPTION]… -t DIRECTORY SOURCE……

    Linux干貨 2016-12-11
  • Jmeter性能測試 入門

    Jmeter是一款優秀的開源測試工具, 是每個資深測試工程師,必須掌握的測試工具,熟練使用Jmeter能大大提高工作效率。 熟練使用Jmeter后, 能用Jmeter搞定的事情,你就不會使用LoadRunner了。 【小坦克Jmeter教程】,將會覆蓋Jmeter的各個功能,并且會通過豐富的實例,讓讀者快速掌握Jmeter的各種用法 。 本文將通過一個實際的…

    Linux干貨 2015-03-06
  • vim shell 練習作業題

    vim練習題 1. 復制/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的行首的空白字符   :%s/^[[:blank:]]\+//g 【注意要把/etc/profile復制到/tmp下,cp  /etc/profile  /tmp(盡量不要修改原文件)】 2. 復制/etc/rc.d…

    2017-08-07
  • RAID介紹及軟RAID實現

    RAID RAID:Redundant Arrays of Inexpensive(Independent)Disks1988年由加利福尼亞大學伯克利分校(University of California-Berkeley)“A Case for Redundant Arrays of Inexpensive Disks”。多個磁盤合成一個“陣列”來提供更好…

    Linux干貨 2016-09-02
欧美性久久久久