兩臺Linux完美實現雙機熱備
一直想做基於linux的雙機熱備,一直沒有時間和機會。一直以為只要做雙機熱備的實驗就必須兩臺機器外接一個儲存。甚至一個月以前在學習keepalived的時候還在琢磨keepalvied去掉哪些條件可以實現雙機熱備。直到一個月以前設計儲存方案的時候部門老大給了一個國外的連結介紹drbd+nfs實現nfs的熱備方案的時候,我的眼前一亮,這不就是我一直想做的不依靠儲存實現熱備的解決方案嗎?
先來糾正一下自己的錯誤認識吧,沒接觸keepalived和heartbeat的時候,道聽途說的認為keepalived出現以後就沒有必要再用heartbeat了。在仔細學習了這兩個傳奇人物以後發現:keepalived是專門為高可用的叢集而誕生的,而heartbeat生是雙機熱備的人死是雙機熱備的死人。
好了,說說本文實現的原理吧。大體來說就是heartbeat+drbd。heartbeat自是不用說,用它來實現資源的統一排程;而drbd就是本文的重頭戲。這一個什麼東東呢?官方的東東我們就不說了。用我們們自己的話說,就是實現兩臺機器的兩塊硬碟的實時完整複製(drbd即磁碟映象)。它的出現,解決了兩臺機器做雙機時的資料一致性問題。
ok,廢話半天,說一下本文的實現環境:
os:ubuntu9.04
ip1:192.168.1.11 drbd1
ip2:192.168.1.12 drbd2
disk:/dev/sdb1(一個8G的分割槽)
通過drbd,掛在每臺機器上的sdb1這塊分割槽將成為我們們“儲存”。let's go !
++++++現在開始兩臺機器配置一樣++++++
1.設定hosts
vi /etc/hosts
192.168.1.11 drbd1
192.168.1.12 drbd2
注意:比如在1.11這臺機器上。drbd1是你執行hostname命令看到的,而不是隨手一寫的喲:)
2.安裝並配置drbd
1).安裝drbd。
你可以去http://oss.linbit.com/drbd/下載最新的版本。本文為了方便直接從ubuntu的源進行安裝
apt-get install drbd8-utils
2).建立配置檔案
如果用apt-get或者yum的方式安裝的話,會預設建立配置檔案,而編譯安裝則不會。不管直接清空或改名,寫入以下內容。
vi /etc/drbd.conf common { syncer { rate 10M; } #速率 } resource r0 { protocol C; disk { on-io-error detach; } on drbd1 { #drbd1為第一臺機器的機器名 device /dev/drbd0; #建立的虛擬資源 disk /dev/sdb1; #實際的物理分割槽,一定要注意,是一個單獨的分割槽,而且是未經格式化的 address 192.168.1.11:7788; #第一臺機器的ip地址,及通訊埠 meta-disk internal; #型別,區域網 } on drbd2 { device /dev/drbd0; disk /dev/sdb1; address 192.168.1.12:7788; meta-disk internal; } } |
3)建立資源
drbdadm create-md r0 #r0為剛才配置檔案裡的資源名
會提示三個疑問,如果你英文還可以的話,可以閱讀一下,不然的話,直接回車。在終點你會看到
success
:)
4)啟動drbd服務
/etc/init.d/drbd start
cat /proc/drbd
你應該可以看到
注意裡面我標註的"Secondary/Secondary"意思是說現在這塊盤是從盤,主盤不知道。
++++++現在開始只在drbd1上操作++++++
5)初始化網路硬碟
drbdsetup /dev/drbd0 primary -o
cat /proc/drbd
你會發現現在已經是“Primary/Secondary”了,而且已經開始同步硬碟狀態。
為了實時的檢視同步情況,你可以在drbd1上執行
watch -n1 cat /proc/drbd
同步還在進行
經過一段時間的等待,你會發現成功完成!
同步完成以後,在drbd2上檢視硬碟狀態
注意磁碟狀態是:“Secondary/Primary”
格式化網路磁碟
6)設定drbd開機啟動
在兩臺機器上都執行
chkconfig drbd on
7)手工測試drbd是不是正常工作
在drbd1上建立3個檔案
在drbd2上驗證結果
ok,我們現在已經確定drbd是正常工作的了。也相信在這麼細緻的介紹下,你已經熟悉了它是怎麼工作了。我們現在有了“網路儲存”了。下一步就是讓一個東東幫我們排程資源了。簡單的幾步配置有請heartbeat出場
3.配置heartbeat
1)安裝heartbeat
apt-get install heartbeat
2)配置heartbeat
vi /etc/heartbeat/ha.cf logfacility local0 keepalive 2 deadtime 10 auto_failback off bcast eth0 node drbd1 drbd2 vi /etc/heartbeat/haresources drbd1 drbddisk::r0 Filesystem::/dev/drbd0::/mnt::ext3 vi authkeys auth 3 3 md5 abc chmod 600 authkeys |
3)相同的配置複製到drbd2
scp authkeys haresources ha.cf root@192.168.1.12:/etc/heartbeat/
4)確保服務都是正常執行的
/etc/init.d/drbd start
/etc/init.d/heartbeat start
5)切換測試
通過cat /proc/drbd檢視drbd的狀態或者mount檢視/mnt是不是已經掛載確定資源所在的機器。然後在那臺機器的/mnt新建立一些檔案並停掉那臺機器上的heartbeat。看另一臺機器上/mnt是不是被自動掛載了呢?裡面是不是有剛建立的檔案?good luck!
相關文章
- Keepalived - Keepalived 實現 tomcat雙機熱備Tomcat
- Keepalived雙機熱備實現高可用
- 什麼是雙機熱備?實現方式有哪些?
- 9、雙機熱備
- SQL Server雙機熱備之釋出、訂閱實現實時同步SQLServer
- linux下兩臺機器之間實現SSH認證Linux
- 恆訊科技推薦:Windows與Linux雙機熱備軟體WindowsLinux
- HCIE Security 雙機熱備 備考筆記(幕布)筆記
- MySQL 主從複製,雙機熱備MySql
- MySQL雙機互備熱備自動切換KVMySql
- 防火牆的雙機熱備1:主備、負載方式防火牆負載
- 使用Keepalived實現Nginx的雙機主備高可用Nginx
- 新雙機熱備軟體排名看這裡!
- SQL Server 2008 R2雙機熱備方案SQLServer
- 計算機網路之策略路由與雙機熱備計算機網路路由
- 企業實施伺服器雙機熱備方案存在重要意義伺服器
- 雙機熱備與資料備份的關係說明一二
- 伺服器雙機熱備軟體是什麼?伺服器
- SpringBoot實現熱部署兩種方式!Spring Boot熱部署
- 使用Keepalived實現Nginx的自動重啟及雙主熱備高可用Nginx
- 部分雙機熱備軟體詳細介紹-行雲管家
- 雙機熱備與叢集的區別分析-行雲管家
- 冗餘是什麼意思?與雙機熱備有什麼區別?
- Redis高可用方案:使用Keepalived實現主備雙活Redis
- 雙機熱備軟體原理簡單說明以及品牌重點推薦
- 詳解新支點雙機熱備如何保證業務的不中斷
- nginx實現兩臺服務負載均衡Nginx負載
- 你需要了解的高可用方案之使用keepalived搭建雙機熱備一覽
- 伺服器雙機熱備軟體是什麼?有什麼作用?有哪些?伺服器
- 兩臺伺服器實現免密登入伺服器
- 生產環境部署Nginx伺服器雙機熱備部署-keepalived(多種模式教程)Nginx伺服器模式
- 怎麼在linux完成MySQL主從熱備?LinuxMySql
- bootstrap完美實現5列布局boot
- efcore分表下"完美"實現
- Android 完美實現手機號344格式化效果Android
- 同一Linux下起兩臺Mysql ServerLinuxMySqlServer
- 兩臺linux的檔案傳輸Linux
- linux實現mysql資料庫每天自動備份定時備份LinuxMySql資料庫