日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux系统高可用集群软件之Keepalived

發布時間:2025/3/18 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统高可用集群软件之Keepalived 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ???Keepalived 集群軟件是一個基于VRRP協議來實現的LVS(四層協議)服務高可用方案,可以利用避免單節點故障.LVS服務需要有2臺服務器運行Keepalived服務,一臺為主服務器(MASTER),一臺為備份服務器(BACKUP),但是對外只有一個虛擬IP,主服務器會發送特定的消息給備份服務器,當備份服務器收不到這個消息的時候,備份服務器認為主服務器宕機并會接管虛擬IP提供服務,從而保證了服務的高可用性.

?

1.環境說明

系統:Centos 6.5 64位

軟件:Keepalived ipvsadm

服務:apache

網絡:

node1:192.168.1.100?

node2:192.168.1.102??

vip:192.168.1.105

?

2.配置本地時間和網絡

(1)兩臺服務器時間必須一至

[root@node2 ~]# date?????????????????????? --節點2的時間
Thu Nov 13 15:11:09 CST 2014
[root@node2 ~]#

[root@node1 ~]# date???????????????????????--節點1的時間
Thu Nov 13 15:11:13 CST 2014
[root@node1 ~]#

?

(2)配置本地網絡

node1節點:

[root@node1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=08:00:27:EE:3D:F6
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

[root@node1 ~]# vim /etc/hosts???????????????? --兩臺服務器相互解析

192.168.1.100 node1
192.168.1.102 node2

[root@node1 ~]#

?

node2節點:

[root@node2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=08:00:27:A5:94:4C
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.102
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

[root@node2 ~]# vim /etc/hosts

192.168.1.100 node1
192.168.1.102 node2

[root@node2 ~]#

?

3.安裝所需要的軟件包,配置httpd服務

node1節點:

[root@node1 ~]# yum install httpd keepalived ipvsadm -y????????? --安裝所需的軟件

[root@node1 ~]# vim /etc/httpd/conf/httpd.conf

ServerName 127.0.0.1

[root@node1 ~]# echo "node1" > /var/www/html/index.html?????????? --定義web首頁

[root@node1 ~]# /etc/init.d/httpd restart
Stopping httpd:??????????????????????????????????????????? [FAILED]
Starting httpd:??????????????????????????????????????????? [? OK? ]

[root@node1 ~]# chkconfig httpd on??????????????????? --重啟web服務

[root@node1 ~]#

?

node2節點:

[root@node2 ~]# yum install httpd keepalived ipvsadm -y

[root@node2 ~]# vim /etc/httpd/conf/httpd.conf

ServerName 127.0.0.1

[root@node2 ~]# echo "node2" > /var/www/html/index.html

[root@node2 ~]# /etc/init.d/httpd restart
Stopping httpd:??????????????????????????????????????????? [FAILED]
Starting httpd:??????????????????????????????????????????? [? OK? ]

[root@node2 ~]# chkconfig httpd on

?

4.配置keepalived集群服務

node1節點:

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

[root@node1 ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

[root@node1 ~]# ifconfig eth0:1 192.168.1.105 broadcast 192.168.1.105 netmask 255.255.255.255 up
[root@node1 ~]# route add -host 192.168.1.105 dev eth0:1

[root@node1 ~]# ifconfig?
eth0????? Link encap:Ethernet? HWaddr 08:00:27:EE:3D:F6??
????????? inet addr:192.168.1.100? Bcast:192.168.1.255? Mask:255.255.255.0
????????? inet6 addr: fe80::a00:27ff:feee:3df6/64 Scope:Link
????????? UP BROADCAST RUNNING MULTICAST? MTU:1500? Metric:1
????????? RX packets:1600615 errors:0 dropped:0 overruns:0 frame:0
????????? TX packets:1574022 errors:0 dropped:0 overruns:0 carrier:0
????????? collisions:0 txqueuelen:1000?
????????? RX bytes:106099219 (101.1 MiB)? TX bytes:102403193 (97.6 MiB)

eth0:1??? Link encap:Ethernet? HWaddr 08:00:27:EE:3D:F6??
????????? inet addr:192.168.1.105? Bcast:192.168.1.105? Mask:255.255.255.255
????????? UP BROADCAST RUNNING MULTICAST? MTU:1500? Metric:1

lo??????? Link encap:Local Loopback??
????????? inet addr:127.0.0.1? Mask:255.0.0.0
????????? inet6 addr: ::1/128 Scope:Host
????????? UP LOOPBACK RUNNING? MTU:16436? Metric:1
????????? RX packets:5087 errors:0 dropped:0 overruns:0 frame:0
????????? TX packets:5087 errors:0 dropped:0 overruns:0 carrier:0
????????? collisions:0 txqueuelen:0?
????????? RX bytes:403339 (393.8 KiB)? TX bytes:403339 (393.8 KiB)

[root@node1 ~]# route? -n
Kernel IP routing table
Destination???? Gateway???????? Genmask???????? Flags Metric Ref??? Use Iface
192.168.1.105?? 0.0.0.0???????? 255.255.255.255 UH??? 0????? 0??????? 0 eth0
192.168.1.0???? 0.0.0.0???????? 255.255.255.0?? U???? 0????? 0??????? 0 eth0
169.254.0.0???? 0.0.0.0???????? 255.255.0.0???? U???? 1002?? 0??????? 0 eth0
0.0.0.0???????? 192.168.1.1???? 0.0.0.0???????? UG??? 0????? 0??????? 0 eth0

[root@node1 ~]# cd /etc/keepalived/
[root@node1 keepalived]# vim keepalived.conf????????? --配置keepalived文件


! Configuration File for keepalived

global_defs {
?? notification_email {
?????
z597011036@qq.com??????????? --宕機后郵件報警
?? }
?? notification_email_from root?????? --從哪個用戶發出
?? smtp_server localhost??????????????? --郵件服務器
?? smtp_connect_timeout 30
?? router_id LVS_DEVEL
}

vrrp_instance VI_1 {
??? state MASTER?????????????????? --主節點
??? interface eth1???????????????????? --監聽的網卡
??? virtual_router_id 51??????????? --虛擬路由ID號
??? priority 100???????????????????????? --配置優先級
??? advert_int 1
??? authentication {
??????? auth_type PASS???????? --認證類型
??????? auth_pass keep????????? --認證密碼
??? }
??? virtual_ipaddress {

????????192.168.1.105?????????? --虛擬IP地址
??? }
}

virtual_server 192.168.1.105 80 {??????? --虛擬IP和端口設置
??? delay_loop 6
??? lb_algo rr????????
??? lb_kind DR
??? nat_mask 255.255.255.0
??? protocol TCP

??? real_server 192.168.1.100 80 {??????? --主服務器的IP和端口
??????? weight 1?????????????????? --權重
??????? HTTP_GET {???????????--啟用HTTP服務
??????????? url {
????????????? path /
????????????? status_code 200????????? --監控狀態碼為200,如果返回不是200表示宕機
??????????? }
??????????? connect_timeout 3

??????????? nb_get_retry 3

??? ????????delay_before_retry 3
???????? }
??? }
??? real_server 192.168.1.102 80 {????????????? --從服務器的IP和端口
???????? weight 1??????????????????????? --權重
???????? HTTP_GET {
???????????? url {
?????????????? path /
?????????????? status_code 200
???????????? }
???????????? connect_timeout 3
???????????? nb_get_retry 3
???????????? delay_before_retry 3
???????? }
???? }

}
[root@node2 keepalived]#??

?

node2節點:

[root@node2 ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore?
[root@node2 ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore?
[root@node2 ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_ignore?
[root@node2 ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_ignore

[root@node2 ~]# ifconfig eth0:1 192.168.1.105 broadcast 192.168.1.105 netmask 255.255.255.255 up
[root@node2 ~]# route add -host 192.168.1.105 dev eth0:1

[root@node2 ~]# ifconfig?
eth0????? Link encap:Ethernet? HWaddr 08:00:27:A5:94:4C??
????????? inet addr:192.168.1.102? Bcast:192.168.1.255? Mask:255.255.255.0
????????? inet6 addr: fe80::a00:27ff:fea5:944c/64 Scope:Link
????????? UP BROADCAST RUNNING MULTICAST? MTU:1500? Metric:1
????????? RX packets:1601817 errors:0 dropped:0 overruns:0 frame:0
????????? TX packets:1574326 errors:0 dropped:0 overruns:0 carrier:0
????????? collisions:0 txqueuelen:1000?
????????? RX bytes:104324952 (99.4 MiB)? TX bytes:104338539 (99.5 MiB)

eth0:1??? Link encap:Ethernet? HWaddr 08:00:27:A5:94:4C??
????????? inet addr:192.168.1.105? Bcast:192.168.1.105? Mask:255.255.255.255
????????? UP BROADCAST RUNNING MULTICAST? MTU:1500? Metric:1

lo??????? Link encap:Local Loopback??
????????? inet addr:127.0.0.1? Mask:255.0.0.0
????????? inet6 addr: ::1/128 Scope:Host
????????? UP LOOPBACK RUNNING? MTU:16436? Metric:1
????????? RX packets:6824 errors:0 dropped:0 overruns:0 frame:0
????????? TX packets:6824 errors:0 dropped:0 overruns:0 carrier:0
????????? collisions:0 txqueuelen:0?
????????? RX bytes:2407997 (2.2 MiB)? TX bytes:2407997 (2.2 MiB)

[root@node2 ~]# cd /etc/keepalived/
[root@node2 keepalived]# vim keepalived.conf


! Configuration File for keepalived

global_defs {
?? notification_email {
?????
z597011036@qq.com
?? }
?? notification_email_from root
?? smtp_server localhost
?? smtp_connect_timeout 30
?? router_id LVS_DEVEL
}

vrrp_instance VI_1 {
??? state?BACKUP??????????????? --備用節點
??? interface eth1
??? virtual_router_id 51
??? priority 101??????????????????
??? advert_int 1
??? authentication {
??????? auth_type PASS
??????? auth_pass keep
??? }
??? virtual_ipaddress {

????????192.168.1.105
??? }
}

virtual_server 192.168.1.105 80 {
??? delay_loop 6
??? lb_algo rr
??? lb_kind DR
??? nat_mask 255.255.255.0
??? protocol TCP

??? real_server 192.168.1.100 80 {
??????? weight 1
??????? HTTP_GET {
??????????? url {
????????????? path /
????????????? status_code 200
??????????? }
??????????? connect_timeout 3

??????????? nb_get_retry 3

??? ????????delay_before_retry 3
???????? }
??? }
?? real_server 192.168.1.102 80 {
???????? weight 1
???????? HTTP_GET {
???????????? url {
?????????????? path /
?????????????? status_code 200
???????????? }
???????????? connect_timeout 3
???????????? nb_get_retry 3
???????????? delay_before_retry 3
???????? }
???? }

}
[root@node2 keepalived]#??

?

5.啟動keepalived服務和ipvsadm的狀態

node1和node2啟動服務:

[root@node1 keepalived]# /etc/init.d/keepalived restart
Stopping keepalived:?????????????????????????????????????? [? OK? ]
Starting keepalived:?????????????????????????????????????? [? OK? ]
[root@node1 keepalived]#

[root@node2 ~]# /etc/init.d/keepalived restart
Stopping keepalived:?????????????????????????????????????? [? OK? ]
Starting keepalived:?????????????????????????????????????? [? OK? ]
[root@node2 ~]#

[root@node1 keepalived]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
? -> RemoteAddress:Port?????????? Forward Weight ActiveConn InActConn
TCP? 192.168.1.105:80 rr
? -> 192.168.1.100:80???????????? Local?? 1????? 0????????? 0?????????
? -> 192.168.1.102:80???????????? Route?? 1????? 0????????? 0?????????
[root@node1 keepalived]#


6.測試是否正常










本文轉自 z597011036 51CTO博客,原文鏈接:http://blog.51cto.com/tongcheng/1576111,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的Linux系统高可用集群软件之Keepalived的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。