keepalived高可用實例

1、keepalived單實例

1)實驗環境為VMware虛擬機,兩臺centos7.2,主機1IP地址為10.1.252.55,主機2IP地址為10.1.252.34,虛擬路由IP為10.1.252.246,
2)確保iptables和selinux不影響實驗

(1)確保兩臺主機的時間同步

[root@localhost ~]# vim /etc/chrony.conf
    server 10.1.0.1 iburst  (這個是我們局域網內的NTP服務器,讀者可自行安裝NTP服務器;若虛擬機可以上網(NAT模式),可以用公共的NTP服務器同步時間)
[root@localhost ~]# chronyc sources
506 Cannot talk to daemon  (chrony服務沒有啟動)
[root@localhost ~]# systemctl start chronyd
[root@localhost ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^? 10.1.0.1                      0   7     0   10y     +0ns[   +0ns] +/-    0ns
[root@localhost ~]# ntpdate 10.1.0.1 (手動強行同步時間)

(2)基于ssh服務通信(非必要步驟,可跳過此步)

[root@localhost ~]# ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):         
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
bc:8f:ee:48:47:30:fc:9c:ac:49:d6:eb:48:16:80:ef root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|   . .           |
|  . . +          |
|   . . O .       |
|    . + S        |
|   . o = o       |
|    E * +        |
|     + = o       |
|      oo= .      |
+-----------------+

[root@node1 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@10.1.252.34  (復制到主機2)
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@10.1.252.34's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@10.1.252.34'"
and check to make sure that only the key(s) you wanted were added.

[root@node1 ~]# ssh 10.1.252.34 'pwd' (在主機1上可以不用密碼執行主機2上的命令)
/root

[root@node1 ~]# date;ssh 10.1.252.34 'date'
Mon Oct 31 19:58:47 CST 2016
Mon Oct 31 19:58:47 CST 2016

(3)主機1上安裝并配置keepalived

1)注意網卡要支持多播功能

[root@localhost keepalived]# ip a
...
eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
....

MULTICAST:表示支持多播功能

2)安裝keepalived

[root@node1 ~]# yum -y install keepalived

3)配置keepalived.conf

[root@node1 ~]# cd /etc/keepalived/
[root@node1 keepalived]# cp keepalived.conf{,.bak} (備份原文件)

[root@node1 keepalived]# vim keepalived.conf  (配置內容如下)

    ! Configuration File for keepalived

    global_defs {
       notification_email {  (接收信息的郵箱地址,真實環境中填寫公開的郵箱,如@163.com)
         root@localhost
       }
       notification_email_from keepalived@localhost  (郵件發送者)
       smtp_server 127.0.0.1   (提供郵件服務的服務器)
       smtp_connect_timeout 30  (郵件連接超時時長)
       router_id node1  (路由節點ID標識)
       vrrp_mcast_group4 224.0.100.51  (組播地址)
    }

    vrrp_instance VI_51 {  (VI_51表示實例的ID,是唯一的)
        state MASTER    (指定那個為master,那個為backup,如果設置了nopreempt這個值不起作用,主備考priority決定)
        interface eno16777736   (指定當前實例綁定的網卡)
        virtual_router_id 210   (當前虛擬路由的唯一標識,范圍是0-255)
        priority 100    (指定優先級,范圍1-254)
        advert_int 1    (通告的時間間隔)
        authentication {    (驗證方式)
            auth_type PASS
            auth_pass e8c59269
        }
        virtual_ipaddress {     (虛擬路由IP地址)
            10.1.252.246/16 dev eno16777736
        }
    }

(4)主機2上安裝并配置keepalived

1)安裝keepalived

[root@node1 ~]# yum -y install keepalived

2)在主機1中拷貝配置好的keepalived.conf文件到主機2

[root@node1 ~]# /etc/keepalived
[root@node1 keepalived]# scp keepalived.conf 10.1.252.34:/etc/keepalived/
keepalived.conf

3)修改拷貝過來的keepalived.conf文件

只需修改下兩項,其他的不變
state MASTER 改為 state BACKUP
priority 100 改為 priority 98

(5)測試 ###

1)主機1中啟動 keepalived服務,可看到如下情況

[root@node1 keepalived]# systemctl start keepalived.service
[root@node1 keepalived]# ip a l
    ......

    eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:0e:27:cd brd ff:ff:ff:ff:ff:ff
        inet 10.1.252.55/16 brd 10.1.255.255 scope global dynamic eno16777736
           valid_lft 54812sec preferred_lft 54812sec
        inet 10.1.252.246/16 scope global secondary eno16777736
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe0e:27cd/64 scope link 
           valid_lft forever preferred_lft forever

    ......

2)主機2中啟動 keepalived服務,可看到如下情況

[root@localhost ~]# systemctl start keepalived
[root@localhost ~]# ip a l 
    ......

    eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:e8:7c:bc brd ff:ff:ff:ff:ff:ff
        inet 10.1.252.34/16 brd 10.1.255.255 scope global dynamic eno16777736
           valid_lft 53649sec preferred_lft 53649sec
        inet6 fe80::20c:29ff:fee8:7cbc/64 scope link 
           valid_lft forever preferred_lft forever

    ......

3)主機1關閉keepalived服務,則主機2看到網卡情況如下,表示keepalived配置成功了

[root@node1 keepalived]# ip a l  (10.1.252.246切換到主機2中)
    ...... 

    eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:0e:27:cd brd ff:ff:ff:ff:ff:ff
        inet 10.1.252.55/16 brd 10.1.255.255 scope global dynamic eno16777736
           valid_lft 54812sec preferred_lft 54812sec
        inet 10.1.252.246/16 scope global secondary eno16777736
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe0e:27cd/64 scope link 
           valid_lft forever preferred_lft forever

2、keepalived雙主模式實例

基于實例1,只需修改兩個主機的主配文件,即在實例1主配文件后面再添加一個vrrp_instance

1)主機1上的操作

[root@localhost keepalived]# vim keepalived.conf
    ! Configuration File for keepalived

    global_defs {
       notification_email {
         root@localhost
       }
       notification_email_from keepalived@localhost
       smtp_server 127.0.0.1
       smtp_connect_timeout 30
       router_id node1
       vrrp_mcast_group4 224.0.100.51
    }

    vrrp_instance VI_51 {
        state MASTER
        interface eno16777736
        virtual_router_id 210
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass e8c59269
        }
        virtual_ipaddress {
            10.1.252.246/16 dev eno16777736
        }
    }

    vrrp_instance VI_52 {
        state BACKUP
        interface eno16777736
        virtual_router_id 212
        priority 98
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass e8c58268
        }
        virtual_ipaddress {
            10.1.252.248/16 dev eno16777736
        }
    }

2)主機2的配置

[root@localhost keepalived]# vim keepalived.conf
    ! Configuration File for keepalived

    global_defs {
       notification_email {
         root@localhost
       }
       notification_email_from keepalived@localhost
       smtp_server 127.0.0.1
       smtp_connect_timeout 30
       router_id node1
       vrrp_mcast_group4 224.0.100.51
    }

    vrrp_instance VI_51 {
        state BACKUP
        interface eno16777736
        virtual_router_id 210
        priority 98
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass e8c59269
        }
        virtual_ipaddress {
            10.1.252.246/16 dev eno16777736
        }
    }

    vrrp_instance VI_52 {
        state MASTER
        interface eno16777736
        virtual_router_id 212
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass e8c58268
        }
        virtual_ipaddress {
            10.1.252.248/16 dev eno16777736
        }
    }

3)測試

主機1啟動keepalived服務,查看日志和IP地址變化

[root@localhost keepalived]# systemctl start keepalived.service
[root@localhost keepalived]# tail -20 /var/log/messages
    Oct 31 23:15:04 localhost Keepalived_healthcheckers[3986]: Netlink reflector reports IP fe80::20c:29ff:fe0e:27cd added
    Oct 31 23:15:04 localhost Keepalived_healthcheckers[3986]: Registering Kernel netlink reflector
    Oct 31 23:15:04 localhost Keepalived_healthcheckers[3986]: Registering Kernel netlink command channel
    Oct 31 23:15:04 localhost Keepalived_healthcheckers[3986]: Opening file '/etc/keepalived/keepalived.conf'.
    Oct 31 23:15:04 localhost Keepalived_healthcheckers[3986]: Configuration is using : 7931 Bytes
    Oct 31 23:15:04 localhost Keepalived_healthcheckers[3986]: Using LinkWatch kernel netlink reflector...
    Oct 31 23:15:05 localhost Keepalived_vrrp[3987]: VRRP_Instance(VI_51) Transition to MASTER STATE
    Oct 31 23:15:05 localhost Keepalived_vrrp[3987]: VRRP_Instance(VI_52) Transition to MASTER STATE
    Oct 31 23:15:06 localhost Keepalived_vrrp[3987]: VRRP_Instance(VI_51) Entering MASTER STATE
    Oct 31 23:15:06 localhost Keepalived_vrrp[3987]: VRRP_Instance(VI_51) setting protocol VIPs.
    Oct 31 23:15:06 localhost Keepalived_vrrp[3987]: VRRP_Instance(VI_51) Sending gratuitous ARPs on eno16777736 for 10.1.252.246
    Oct 31 23:15:06 localhost Keepalived_healthcheckers[3986]: Netlink reflector reports IP 10.1.252.246 added
    Oct 31 23:15:06 localhost avahi-daemon[819]: Registering new address record for 10.1.252.246 on eno16777736.IPv4.
    Oct 31 23:15:06 localhost Keepalived_vrrp[3987]: VRRP_Instance(VI_52) Entering MASTER STATE
    Oct 31 23:15:06 localhost Keepalived_vrrp[3987]: VRRP_Instance(VI_52) setting protocol VIPs.
    Oct 31 23:15:06 localhost Keepalived_vrrp[3987]: VRRP_Instance(VI_52) Sending gratuitous ARPs on eno16777736 for 10.1.252.248
    Oct 31 23:15:06 localhost Keepalived_healthcheckers[3986]: Netlink reflector reports IP 10.1.252.248 added
    Oct 31 23:15:06 localhost avahi-daemon[819]: Registering new address record for 10.1.252.248 on eno16777736.IPv4.
    Oct 31 23:15:11 localhost Keepalived_vrrp[3987]: VRRP_Instance(VI_51) Sending gratuitous ARPs on eno16777736 for 10.1.252.246
    Oct 31 23:15:11 localhost Keepalived_vrrp[3987]: VRRP_Instance(VI_52) Sending gratuitous ARPs on eno16777736 for 10.1.252.248

[root@localhost keepalived]# ip a l

......

eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:0e:27:cd brd ff:ff:ff:ff:ff:ff
    inet 10.1.252.55/16 brd 10.1.255.255 scope global eno16777736
       valid_lft forever preferred_lft forever
    inet 10.1.252.246/16 scope global secondary eno16777736
       valid_lft forever preferred_lft forever
    inet 10.1.252.248/16 scope global secondary eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe0e:27cd/64 scope link 
       valid_lft forever preferred_lft forever

.......

啟動主機2的keepalived服務,查看日志和ip地址變化

[root@localhost keepalived]# systemctl start keepalived.service 
[root@localhost keepalived]# tail -20 /var/log/messages
    Oct 31 23:22:36 localhost Keepalived_healthcheckers[11286]: Using LinkWatch kernel netlink reflector...
    Oct 31 23:22:36 localhost Keepalived_vrrp[11287]: Netlink reflector reports IP 10.1.252.34 added
    Oct 31 23:22:36 localhost Keepalived_vrrp[11287]: Netlink reflector reports IP 192.168.122.1 added
    Oct 31 23:22:36 localhost Keepalived_vrrp[11287]: Netlink reflector reports IP fe80::20c:29ff:fee8:7cbc added
    Oct 31 23:22:36 localhost Keepalived_vrrp[11287]: Registering Kernel netlink reflector
    Oct 31 23:22:36 localhost Keepalived_vrrp[11287]: Registering Kernel netlink command channel
    Oct 31 23:22:36 localhost Keepalived_vrrp[11287]: Registering gratuitous ARP shared channel
    Oct 31 23:22:36 localhost Keepalived_vrrp[11287]: Opening file '/etc/keepalived/keepalived.conf'.
    Oct 31 23:22:36 localhost Keepalived_vrrp[11287]: Configuration is using : 67091 Bytes
    Oct 31 23:22:36 localhost Keepalived_vrrp[11287]: Using LinkWatch kernel netlink reflector...
    Oct 31 23:22:36 localhost Keepalived_vrrp[11287]: VRRP_Instance(VI_51) Entering BACKUP STATE
    Oct 31 23:22:36 localhost Keepalived_vrrp[11287]: VRRP sockpool: [ifindex(2), proto(112), unicast(0), fd(10,11)]
    Oct 31 23:22:36 localhost systemd: Started LVS and VRRP High Availability Monitor.
    Oct 31 23:22:37 localhost Keepalived_vrrp[11287]: VRRP_Instance(VI_52) Transition to MASTER STATE
    Oct 31 23:22:37 localhost Keepalived_vrrp[11287]: VRRP_Instance(VI_52) Received lower prio advert, forcing new election
    Oct 31 23:22:38 localhost Keepalived_vrrp[11287]: VRRP_Instance(VI_52) Entering MASTER STATE
    Oct 31 23:22:38 localhost Keepalived_vrrp[11287]: VRRP_Instance(VI_52) setting protocol VIPs.
    Oct 31 23:22:38 localhost Keepalived_vrrp[11287]: VRRP_Instance(VI_52) Sending gratuitous ARPs on eno16777736 for 10.1.252.248
    Oct 31 23:22:38 localhost avahi-daemon[798]: Registering new address record for 10.1.252.248 on eno16777736.IPv4.
    Oct 31 23:22:38 localhost Keepalived_healthcheckers[11286]: Netlink reflector reports IP 10.1.252.248 added
[root@localhost keepalived]# ip a l
    ......

    eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:e8:7c:bc brd ff:ff:ff:ff:ff:ff
    inet 10.1.252.34/16 brd 10.1.255.255 scope global eno16777736
       valid_lft forever preferred_lft forever
    inet 10.1.252.248/16 scope global secondary eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee8:7cbc/64 scope link 
       valid_lft forever preferred_lft forever

    ......

再次查看主機1的IP地址(可以在兩臺主機間多次啟動和關閉服務,多次測試)。

[root@localhost keepalived]# ip a
    ......

    eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:0e:27:cd brd ff:ff:ff:ff:ff:ff
    inet 10.1.252.55/16 brd 10.1.255.255 scope global eno16777736
       valid_lft forever preferred_lft forever
    inet 10.1.252.246/16 scope global secondary eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe0e:27cd/64 scope link 
       valid_lft forever preferred_lft forever

    ......

3、創建通知腳本示例

以下操作主機1和主機2都一樣操作

1)在主機1的/etc/keepalived/目錄中新建一個腳本notify.sh,內容如下

[root@localhost keepalived]# vim notify.sh

#!/bin/bash
#
contact='root@localhost'
notify() {
        mailsubject="$(hostname) to be $1, vip floating"
        mailbody="$(date +'%F %T'): vrrp transition, $(hostname) changed to be $1"
        echo "$mailbody" | mail -s "$mailsubject" $contact
}

case $1 in
master)
        notify master
        ;;
backup)
        notify backup
        ;;
fault)
        notify fault
        ;;
*)
        echo "Usage: $(basename $0) {master|backup|fault}"
        exit 1
        ;;
esac

[root@localhost keepalived]# chmod +x notify.sh  (給腳本執行權限)

2)在keepalived.conf文件中設置腳本調用

[root@localhost keepalived]# vim keepalived.conf
    ...... (省略部分重復內容,以免篇幅過長)

    vrrp_instance VI_51 {
            ......
        }
        virtual_ipaddress {
            10.1.252.246/16 dev eno16777736
        }

        notify_master "/etc/keepalived/notify.sh master"
        notify_backup "/etc/keepalived/notify.sh backup"
        notify_fault "/etc/keepalived/notify.sh fault"  
    }

......

自此,通知腳本及配置完成,之后keepalived服務的啟動和關閉都會有郵件通知管理員了。

補充:以lvs-dr模式用keepalived做一個高可用的nginx服務

keepalived高可用實例

實驗環境VMware虛擬機,K1和K2是cento 7,W1和W2是centos 6.8,自行按照拓撲圖,給每臺主機配置好IP地址,并且要保證K1和K2的時間同步

1、director內主機的配置

(1)K1主機(master)的設置

1)keepalived.conf文件的配置如下

[root@node1 ~]# yum -y install keepalived (安裝keepalived)
[root@localhost keepalived]# vim keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost
   }
   notification_email_from keepalived@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id node1
   vrrp_mcast_group4 224.0.100.51
}

vrrp_script chk_nginx {
   script "killall -0 nginx && exit 0 || exit 1"
   interval 1
   weight -5
}

vrrp_instance VI_51 {
    state MASTER
    interface eno16777736
    virtual_router_id 210
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass e8c59269
    }
    virtual_ipaddress {
        10.1.252.246/16 dev eno16777736
    }
    track_script {
        chk_nginx
    }
}

2)按照nginx并配置反代功能

安裝:

[root@localhost ~]# rpm -ih nginx-1.10.0-1.el7.ngx.x86_64.rpm (nginx的RPM包可自行下載)
warning: nginx-1.10.0-1.el7.ngx.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY
################################# [100%]
Updating / installing...
################################# [100%]
----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* http://nginx.org/en/docs/

Commercial subscriptions for nginx are available on:
* http://nginx.com/products/

----------------------------------------------------------------------

配置:

[root@localhost ~]# cd /etc/nginx/
[root@localhost nginx]# vim nginx.conf
http {
    ......  (在http段添加以下內容)

    upstream websrvs {
        server 10.1.252.146;
        server 10.1.252.148;
    }   

    ......
}

[root@localhost nginx]# vim conf.d/default.conf 
......

location / {
    root   /usr/share/nginx/html;
    proxy_pass http://websrvs;   (在第一個location中添加此行內容)
    index  index.html index.htm;
}

......

啟動:

[root@localhost ~]# systemctl start nginx

3)安裝ipvsadm

[root@localhost ~]# yum -y install ipvsadm

(2)K2主機(backup)的配置

1)keepalived.conf文件的配置如下

[root@node1 ~]# yum -y install keepalived (安裝keepalived)
[root@localhost keepalived]# vim keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost
   }
   notification_email_from keepalived@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id node1
   vrrp_mcast_group4 224.0.100.51
}

vrrp_script chk_nginx {
   script "killall -0 nginx && exit 0 || exit 1"
   interval 1
   weight -5
}

vrrp_instance VI_51 {
    state BACKUP
    interface eno16777736
    virtual_router_id 210
    priority 98
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass e8c59269
    }
    virtual_ipaddress {
        10.1.252.246/16 dev eno16777736
    }
    track_script {
        chk_nginx
    }
}

后面的2、3步的配置同K1一樣

2、web服務器的配置

(1)W1的配置

1)安裝httpd服務

[root@localhost ~]# yum -y install httpd

2)新建一個網頁

[root@localhost ~]# vim /var/www/html/index.html
web server 1

3)啟動httpd服務

[root@localhost ~]# service httpd start
[root@localhost ~]# curl 10.1.252.146
web server 1    (測試正常)

4)修改內核參數,禁止廣播響應

[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
[root@localhost ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@localhost ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

(2)W2的配置

1)安裝httpd服務

[root@localhost ~]# yum -y install httpd

2)新建一個網頁

[root@localhost ~]# vim /var/www/html/index.html
web server 2

3)啟動httpd服務

[root@localhost ~]# service httpd start
[root@localhost ~]# curl 10.1.252.148
web server 2    (測試正常)

4)修改內核參數,禁止廣播響應

[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
[root@localhost ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@localhost ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

3、測試

1)先啟動W2主機的keepalived服務,查看IP地址,并訪問

[root@localhost ~]# systemctl start keepalived.service
[root@localhost ~]# ip a l
......

 eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:e8:7c:bc brd ff:ff:ff:ff:ff:ff
    inet 10.1.252.34/16 brd 10.1.255.255 scope global eno16777736
       valid_lft forever preferred_lft forever
    inet 10.1.252.246/16 scope global secondary eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee8:7cbc/64 scope link 
       valid_lft forever preferred_lft forever

......

[root@localhost ~]# for i in {0..9};do curl http://10.1.252.246 ;done (正常訪問)
web server 2
web server 1
web server 2
web server 1
web server 2
web server 1
web server 2
web server 1
web server 2
web server 1

2)關閉W2主機的keepalived服務,并啟動W1主機的keepalived服務,查看IP地址并訪問

[root@localhost keepalived]# ip a
......

eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:0e:27:cd brd ff:ff:ff:ff:ff:ff
inet 10.1.252.55/16 brd 10.1.255.255 scope global eno16777736
   valid_lft forever preferred_lft forever
inet 10.1.252.246/16 scope global secondary eno16777736
   valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe0e:27cd/64 scope link 
   valid_lft forever preferred_lft forever

......

[root@localhost ~]# for i in {0..9};do curl http://10.1.252.246 ;done (依然正常訪問)
web server 2
web server 1
web server 2
web server 1
web server 2
web server 1
web server 2
web server 1
web server 2
web server 1

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

(0)
paopao
上一篇 2016-11-01 22:27
下一篇 2016-11-02 00:33

相關推薦

  • N25_第十一周的作業

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 2、描述創建私有CA的過程,以及為客戶端發來的證書請求進行辦法證書。 3、描述DNS查詢過程以及DNS服務器類別。          第一段:主機到運營商的DNS服務器(遞歸)    &nbs…

    Linux干貨 2017-02-22
  • 馬哥教育網絡班22期第3周課程作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@MyCloudServer ~]# who | cut -d " " -f1 |sort -u root 2、取出最后登錄到當前系統的用…

    Linux干貨 2016-09-19
  • 任務計劃1

    at.allow :優先級高,有此文件,deny無效,只有此文件中的用戶可使用at at.deny:優先級低,此文件中的用戶拒絕,不在此文件允許 如果都沒有,全都拒絕普通用戶     [root@localhost ~]# rpm -q  at at-3.1.13-22.el7.x86_64 [root@localhost ~]…

    Linux干貨 2017-05-15
  • 馬哥教育網絡班22期-第九周課程作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash # declare -i count=0 declare -i bash_num=0 declare -i&nbs…

    Linux干貨 2016-11-21
  • N25期第三周作業

    1.列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可 who|awk ‘{print $1}’|sort -u 2.取出最后登錄到當前系統的用戶的相關信息 last -1 3.取出當前系統上被用戶當作其默認shell的最多的那個shell cat /etc/passwd|awk -F: ‘{print $NF}’|sort…

    Linux干貨 2016-12-12
  • 馬哥教育網絡班21期+第8周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別 集線器(HUB)是在OSI模型的第一層——物理層——連接多臺主機、延長網絡的設備。其主要功能是將從一個端口接收到的數據包轉發給所有端口。中繼器(Repeater)是將由電纜傳過來的電信號或光信號調整波形和放大再傳給另一個電纜的設備,提供多端口服務的中繼器稱作集線器。二者的主要區別是…

    Linux干貨 2016-08-29
欧美性久久久久