高可用 : HAproxy和DRBD

 HAproxy

HAproxy提供高可用性,負載均衡,以及TCPHTTP代理,支持虛擬主機。

Tar zxf haproxy-1.4.11.tar.gz

Cd haproxy-1.4.11

Make TARGET=linux26

Make install PREFIX=/usr/local/haproxy

Cd /usr/local/haproxy

拷貝配置文件

cp /root/haproxy-1.4.11/examples/haproxy.cfg /usr/local/haproxy/

vim /usr/local/haproxy.cfg

chroot註釋,以及上面五行的註釋

./sbin/haproxy –f /usr/local/haproxy/haproxy.cfg

在配置文件添加stats uri /haproxy-stats

可訪問 http://192.168.0.15:10001/haproxy-stats訪問HA配置信息頁面

DRBD

DRBD是一種塊設備,可以被用於高可用(HA)之中.它類似於一個網絡RAID-1功能.當你將數據寫入本地 文件系統時,數據還將會被髮送到網絡中另一臺主機上.以相同的形式記錄在一個文件系統中. 本地(主節點)與遠程主機(備節點)的數據可以保證實時同步.當本地系統出現故障時,遠程主機上還會 保留有一份相同的數據,可以繼續使用.
在高可用(HA)中使用DRBD功能,可以代替使用一個共享盤陣.因爲數據同時存在於本地主機和遠程主機上,切換時,遠程主機只要使用它上面的那份備份數據,就可以繼續進行服務了.

從官方網站下載源碼包: www.drbd.org 我們在Turbolinux10.5上使用drbd-8.0.4.分別在兩臺主機上安裝DRBD:

 

安裝

tar jxf drbd-8.0.4.tar.gz

cd drbd-8.0.4

make

make install

修改主機名

Hostname g105-1

Hostname g105-2

編輯/etc/hosts文件添加兩塊網卡地址

DRBD使用的硬盤分區

你需要爲本地主機和遠程主機,指定一個DRBD使用的硬盤分區.這兩個分區的大小必須相同.
我們指定兩臺主機的/dev/hdb1分區作爲DRBD的使用的分區.這兩個分區大小都爲300MB.

先不對兩塊硬盤格式化

drbd.conf配置文件

# 是否參加DRBD使用者統計.默認是yes

global { usage-count yes; }

# 設置主備節點同步時的網絡速率最大值,單位是字節.

common { syncer { rate 100M; } }

# 一個DRBD設備(:/dev/drbdX),叫做一個"資源".裏面包含一個DRBD設備的主備節點的

# resource r0 {

# 使用協議C.表示收到遠程主機的寫入確認後,則認爲寫入完成.

protocol C;

net {

# 設置主備機之間通信使用的信息算法.

cram-hmac-alg sha1; shared-secret "FooFunFactory"; }

# 每個主機的說明以"on"開頭,後面是主機名.在後面的{}中爲這個主機的配置.

on g105-1 {

device /dev/drbd1;

disk /dev/hdb1;

# 設置DRBD的監聽端口,用於與另一臺主機通信

address 10.0.1.2:7898;

meta-disk internal;

}

on g105-2 {

device /dev/drbd1;

disk /dev/hdb1;

address 10.0.2.2:7898;

meta-disk internal;

}

}

 

在啓動DRBD之前,你需要分別在兩臺主機的hdb1分區上,創建供DRBD記錄信息的數據塊.分別在兩臺主機上執行:

[root@g105-1 /]# drbdadm create-md r0

[root@g105-2 /]# drbdadm create-md r0

Modprobe drbd

主服務器

[root@g105-1 /]# /etc/init.d/drbd start 現在可以查看DRBD的狀態,然後在g105-1主機上執行:

[root@g105-1 /]# cat /proc/drbd

[root@g105-1 /]# drbdsetup /dev/drbd1 primary –o

格式化磁盤

Mkfs –t ext3 –c /dev/drbd1

Mkdir /drbd

Mount /dev/drbd1 /drbd

從服務器

先查看是否拷貝完畢cat /proc/drbd

/etc/init.d/drbd stop

Mkdir /drbd

Mount /dev/sdb1 /drbd

下次拷貝時先卸載磁盤

Umount /dev/sdb1

再重啓服務

/etc/init.d/drbd restart

繼續拷貝

 

將主機降級爲”備機”.

Umount /dev/drdb1

[root@g105-1 /]# drbdadm secondary r0現在,兩臺主機都是”備機”.
在備機g105-2,將它升級爲”主機”.

[root@g105-2 /]# drbdadm primary r0

 

可以把主Mysql服務器作DRBD備份

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章