CRM:(Cluster Resource Manager)集群的大腦,根據heartbeart收集回來的節點狀態交給CCM模塊來更新集群的member ship,并指揮LRM對節點資源進行“啟動”,“停止”,總之就是決定資源最終應該在那個節點上運行。
LRM:(Local Resource Manger)操作和管理資源的模塊,負責對資源監控,啟動,停止。三個資源腳本存放路徑
heartbeat: /etc/ha.d/resoruce.d
ocf : /usr/lib/resource.d/heartbeat
lsb: /etc/init.d
CIB:收集資源的原始信息以及不斷更新資源的狀態變化,保存在cib.xml。相當于cluster.conf文件,即集群配置文件。
CCM:保持各節點之間的成員關系,heatbeat僅僅是一個通信工具,而CCM讓所有節點組成了一個集群。
keeplived 2 多長時間廣播一次心跳
warntime 10 10秒內備用節點接受不到主節點的心跳,就向日志寫一次警告,但不會發生資源切換。
deadtime 30 30秒內接收不到主節點的心跳,就判定主節點死亡,備用節點立即接管主節點資源。
initdead 120 主節點因故障重啟,重啟時間較長。
udpport 694 使用廣播心跳的端口
ucast eth1 指定心跳網卡
auto_failback on 當主機服務器恢復正常,資源從備用節點上自動切回
node node1 設置主機名,通過uname命令查看
node node2
Distributed Replicated Block Device(DRBD)是一種基于軟件的,無共享,復制的存儲解決方案,在服務器之間的對塊設備(硬盤,分區,邏輯卷等)進行鏡像。DRBD工作在內核 當中的,類似于一種驅動模塊。DRBD相當于一個RAID1功能的存儲。當本地系統出現故障時,遠程主機上還會保留有一份相同的數據,可以繼續使用。DRBD的架構如下圖
HaMaster eth0:192.168.10.20
HaBack eth0: 192.168.10.21
HaMaster eth1: 192.168.10.10
HaBack eth1: 192.168.10.20
安裝heartbeat yum install -y heartbeat
實驗架構圖如下
http://oss.linbit.com/drbd/
tar zxvf drbd-8.4.3.tar.gz
cd drbd-8.4.3
./configure --prefix=/usr/local/drbd --with-km
make KDIR=/usr/src/kernels/`uname -r`/(指定內核所在的絕對路徑)
mkdir -p /usr/local/drbd/var/run/drbd/
cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d/
chkconfig --add drbd
chkconfig drbd on
進入DRBD的解壓目錄的drbd中,cd /root/software/drbd-8.4.3/drbd
make clean
make KDIR=/usr/src/kernels/`uname -r`/
cp drbd.ko /lib/modules/`uname -r`/kernel/lib/
depmod
fdisk /dev/sdb(進行分區)
fdisk -l 查看分區
① DRBD主配置文件
/usr/local/drbd/etc/drbd.conf,該文件中包含一個全局配置文件和所有的資源文件,內容如下
② 修改global_common.conf文件,在net處添加上protocol C;
/usr/local/drbd/etc/drbd.d/global_common.conf
③ 添加資源文件,新建資源r0,命名為 r0.res,內容如下
④ 加載DRDB模塊
modprobe drbd
查看 lsmod | grep drbd
(為什么執行下面一個步驟,不太清楚)
dd if=/dev/zero of=/dev/sdb1 bs=1M count=100
創建資源 r0:drbdadm create-md r0
啟動資源:drbdadn up 0
啟動服務:/etc/init.d/drbd start
⑤ 主從節點狀態查看和主從節點設置
查看節點drbd狀態:cat /proc/drbd
設置主節點:drbdadm primary --force r0
設置從節點:drbdadm secondary r0
⑥ 格式化drbd,并掛載
mkfs.ext3 /dev/drbd0
mkdir /db
mount /dev/drbd0 /db
⑦ 測試
手動切換主從節點,通過cat /proc/drbd查看
① 安裝: yum -y install heartbeat
② 從安裝路徑下復制模板文件
③ 配置 ha.cf
④ 配置 authkeys
⑤ 配置 haresources
啟動DRBD:service drbd start (HaMaster和HaBack)
啟動heartbeat:service heartbeat(HaMaster和HaBack)
使用 tail -f /var/log/messages查看服務啟動日志
使用 mount查看硬盤是否在HaMaster上掛載,而位在HaBack上掛載
使用 /etc/init.d/mysqld 查看mysql是否啟動。
停止HaMaster上的heartbeat,查看資源是否能被HaBack全部接管
重新啟動HaMaster上的heartbeat,查看資源能從HaBack上接管回來。
1. 博客:http://czmmiao.iteye.com/blog/1773079
2. 51CTO視頻:http://edu.51cto.com/course/course_id-2.html