中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用ucarp實現虛擬IP故障轉移

發布時間:2020-08-01 17:34:57 來源:網絡 閱讀:1003 作者:stoneking 欄目:建站服務器

一、概述

  1. UCARP簡介
    UCARP允許多個主機共享一個虛擬的ip地址,以提供自動的故障恢復功能,當其中某個主機宕機時,其它的主機會自動接管服務。UCARP是CARP協議(通用地址冗余協議,最早在OpenBSD上實現)的linux實現版本,同時也能移植到其它多個unix平臺,UCARP的官方網站:http://www.ucarp.org/project/ucarp 。
    CARP協議的特點在于其非常低的開銷,主機間使用加密數據傳遞信息,并且在冗余主機之間不需要任何額外的網絡鏈接(在README中有ucarp的簡單部署實例)。

2.配置需求
兩個或多個主機以構成冗余主機組;
一個共享的虛擬ip地址,用以對外提供可靠的服務,冗余主機組中的某個主機會對會對這個ip上的服務進行應答;
對于每個主機,需要配置一個真實的ip地址;
一個1-255之間的共享標識符;
一個共享的密碼(使得網絡間傳輸的消息都為密文);
當冗余組中某個主機成為MASTER時執行的腳本程序;
當冗余組中某個主機不再是MASTER是執行的腳本程序;

3 Ucap具體參數詳解
--inter (-i <if>: bind interface <if> (網絡接口綁定網絡接口)
--srcip=<ip> (-s <ip>: source (real) IP address of that host (源地址真實ip)
--vhid=<id> (-v <id>: virtual IP identifier (1-255) (虛擬ip標識 (1-255))
--pass=<pass> (-p <pass>: password (密碼)
--preempt (-P): becomes a master as soon as possible (以最快的速度成為主服務器的角色)
--neutral (-n): don't run downscript at start if backup (如果是備份主機,啟動的時候不運行downscript.)
--addr=<ip> (-a <ip>: virtual shared IP address( 共享虛擬ip地址)
--help (-h): summary of command-line options (幫助)
--advbase=<seconds> (-b <seconds>: advertisement frequency (廣播的頻率(秒))
--advskew=<skew> (-k <skew>: advertisement skew (0-255) (不廣播)用來設置公告間隔時間, 公式(以秒計)為advskew/256+advbase。advbase可以減少網絡流量或設置更長的主力機"輪循"時間(直至備份機來頂替它);advskew設置哪臺熱備份計算機在故障轉移時優先成為主力機(這是必需的)
--upscript=<file> (-u <file>: run <file> to become a master (運行一個腳本文件,使本服務器成為主服務器)
--downscript=<file> (-d <file>: run <file> to become a backup (運行一個腳本文件,使本服務器成為從服務器)
--deadratio=<ratio> (-r <ratio>: ratio to consider a host as dead (認定主機已經死掉的比率(閥值))
--shutdown (-z): call shutdown script at exit (在退出的時候,執行關閉的腳本)
--daemonize (-B): run in background (運行在后臺)
--facility=<facility> (-f): set syslog facility (default=daemon) (設置syslog工具,默認在后臺)

Ucarp參數簡述:
-v vip標識 –p 密碼 –a vip地址 –u 當機器為升為master時運行的腳本 –d 當機器降為slave時運行的腳本 –s心跳ip地址 –P與-k結合最小的為master機器 –B以daemon方式運行

4.實驗環境
Role hostname real_ip vip gateway OS
master node2 192.168.32.32/24 192.168.32.22/24 192.168.32.254 rhel5.5
slave node3 192.168.32.33/24 192.168.32.22/24 192.168.32.254 rhel5.5

二、安裝配置
1、安裝
[root@node2 ~]# tar -zxf ucarp-1.5.tar.gz #ucarp最好選擇1.2以上版本,1.1以下含有bug
[root@node2 ~]# cd ucarp-1.5
[root@node2 ucarp-1.5]# which gcc #確定gcc
/usr/bin/gcc
[root@node2 ucarp-1.5]# ./configure CC=/usr/bin/gcc --prefix=/usr/local/ucarp
[root@node2 ucarp-1.5]# make && make install

2、配置主服務器(node2)
2.1 編寫機器升為master時運行的腳本
[root@node2 ~]# vim /etc/master-up.sh
#!/bin/bash
GATEWAY=192.168.32.254
/sbin/ip addr add 192.168.32.22/24 dev eth0
/bin/hostname nodevir2
/sbin/route add default gw $GATEWAY
service httpd start

2.2 編寫機器降為slave時運行的腳本
[root@node2 ~]# vim /etc/master-down.sh
#!/bin/bash
GATEWAY=192.168.32.254
/sbin/ip addr del 192.168.32.22/24 dev eth0
/bin/hostname node2
/sbin/route add default gw $GATEWAY
service httpd stop

2.3 編寫ucarp運行腳本
[root@node2 ~]# vim /etc/master.sh
#!/bin/bash
/usr/local/ucarp/sbin/ucarp -i eth0 -v 40 -p gw22 -a 192.168.32.22 -u /etc/master-up.sh -d /etc/master-down.sh -s 192.168.32.32 -P -B

2.4 啟動服務
[root@node2 ~]# . /etc/master.sh
[root@node2 ~]# ps -ef | grep ucarp
root 11695 1 0 11:33 ? 00:00:00 /usr/local/ucarp/sbin/ucarp -i eth0 -v 40 -p gw22 -a 192.168.32.22 -u /root/master-up.sh -d /root/master-down.sh -s 192.168.32.32 -P -B
[root@node2 ~]# hostname #hostname切換成功
nodevir2
[root@node2 ~]# ip addr show | grep 22 #master-up.sh腳本生效
inet 192.168.32.22/24 scope global secondary eth0
[root@nodevir2 ~]# ps -ef | grep httpd #httpd服務啟動
root 11726 1 0 11:33 ? 00:00:00 /usr/sbin/httpd
apache 11727 11726 0 11:33 ? 00:00:00 /usr/sbin/httpd
apache 11729 11726 0 11:33 ? 00:00:00 /usr/sbin/httpd
apache 11730 11726 0 11:33 ? 00:00:00 /usr/sbin/httpd
apache 11731 11726 0 11:33 ? 00:00:00 /usr/sbin/httpd
apache 11732 11726 0 11:33 ? 00:00:00 /usr/sbin/httpd
apache 11733 11726 0 11:33 ? 00:00:00 /usr/sbin/httpd
apache 11734 11726 0 11:33 ? 00:00:00 /usr/sbin/httpd
apache 11735 11726 0 11:33 ? 00:00:00 /usr/sbin/httpd
root 11897 6167 0 11:44 pts/1 00:00:00 grep httpd

3.配置備服務器(node3)
3.1 編寫機器升為master時運行的腳本
[root@node3 ~]# vim /etc/master-up.sh
#!/bin/bash
GATEWAY=192.168.32.254
/sbin/ip addr add 192.168.32.22/24 dev eth0
/bin/hostname nodevir2
/sbin/route add default gw $GATEWAY
service httpd start

3.2 編寫機器降為slave時運行的腳本
[root@node2 ~]# vim /etc/master-down.sh
#!/bin/bash
GATEWAY=192.168.32.254
/sbin/ip addr del 192.168.32.22/24 dev eth0
/bin/hostname node3
/sbin/route add default gw $GATEWAY
service httpd stop

3.3 編寫ucarp運行腳本
[root@node2 ~]# vim /etc/master.sh
#!/bin/bash
/usr/local/ucarp/sbin/ucarp -i eth0 -v 40 -p gw22 -a 192.168.32.22 -u /etc/master-up.sh -d /etc/master-down.sh -s 192.168.32.33 -P -k 15 -B

3.4 啟動服務
[root@node2 ~]# . /etc/master.sh
root 5678 1 0 11:40 ? 00:00:00 /usr/local/ucarp/sbin/ucarp -v 40 -i eth0 -p gw22 -a 192.168.32.22 -u /root/master-up.sh -d /root/master-down.sh -s 192.168.32.33 -k 15 -B
[root@node3 ~]# ps -ef | grep httpd #httpd服務為啟動
root 5788 32767 0 11:46 pts/1 00:00:00 grep httpd

三. 故障切換

  1. 主故障
    [root@nodevir2 ~]# kill 5678 #down掉ucarp服務,或重啟服務器

[root@node3 ~]# hostname #hostname切換成功
nodevir2
[root@node3 ~]# ip addr show | grep 22 #虛擬IP切換成功
inet 192.168.32.22/24 scope global secondary eth0
[root@node3 ~]# ps -ef | grep httpd #服務切換成功
root 5824 1 0 11:47 ? 00:00:00 /usr/sbin/httpd
apache 5826 5824 0 11:47 ? 00:00:00 /usr/sbin/httpd
apache 5827 5824 0 11:47 ? 00:00:00 /usr/sbin/httpd
apache 5828 5824 0 11:47 ? 00:00:00 /usr/sbin/httpd
apache 5829 5824 0 11:47 ? 00:00:00 /usr/sbin/httpd
apache 5830 5824 0 11:47 ? 00:00:00 /usr/sbin/httpd
apache 5831 5824 0 11:47 ? 00:00:00 /usr/sbin/httpd
apache 5832 5824 0 11:47 ? 00:00:00 /usr/sbin/httpd
apache 5833 5824 0 11:47 ? 00:00:00 /

2.主恢復
[root@node2 ~]# . /etc/master.sh
[root@nodevir2 ~]# hostname
nodevir2
[root@node2 ~]# ps -ef | grep httpd
root 11969 1 0 11:46 ? 00:00:00 /usr/sbin/httpd
apache 11970 11969 0 11:46 ? 00:00:00 /usr/sbin/httpd
apache 11972 11969 0 11:46 ? 00:00:00 /usr/sbin/httpd
apache 11973 11969 0 11:46 ? 00:00:00 /usr/sbin/httpd
apache 11974 11969 0 11:46 ? 00:00:00 /usr/sbin/httpd
apache 11975 11969 0 11:46 ? 00:00:00 /usr/sbin/httpd
apache 11976 11969 0 11:46 ? 00:00:00 /usr/sbin/httpd
apache 11977 11969 0 11:46 ? 00:00:00 /usr/sbin/httpd
apache 11978 11969 0 11:46 ? 00:00:00 /usr/sbin/httpd
[root@node2 ~]# ip addr show | grep 22
inet 192.168.32.22/24 scope global secondary eth0

[root@node3 ~]# hostname
node3
[root@node3 ~]# ps -ef | grep httpd
root 6148 32767 0 12:02 pts/1 00:00:00 grep httpd
[root@node3 ~]# ip addr show | grep 22 #成功切換

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浠水县| 兴海县| 揭西县| 房山区| 宿迁市| 辽宁省| 阿合奇县| 丽江市| 江门市| 盘锦市| 航空| 西华县| 盐池县| 利川市| 子洲县| 阿尔山市| 小金县| 宜兰市| 建宁县| 金堂县| 图木舒克市| 宁安市| 鹰潭市| 竹溪县| 高安市| 依兰县| 东宁县| 根河市| 唐山市| 西乡县| 余庆县| 永城市| 大冶市| 方山县| 玉溪市| 灌阳县| 龙井市| 延吉市| 西吉县| 来凤县| 麦盖提县|