衆所周知,高可用體系在企業中發揮着中流砥柱的作用,因此,如何構建高可用體系,將關乎到企業網絡整體的性能穩定、正常運轉等。
本篇,系筆者傾力打造,謝絕轉載、摘抄等一切侵權行爲。筆者將使用詳實的例子,講述如何打造企業護衛艦——高可用體系的故事。
一、設備高可用性
1.多網卡技術
多網卡綁定,就是通過軟件將多網卡綁定爲一個ip地址,許多高檔服務器網卡都具有多網卡綁定功能,可以通過軟硬件設置將兩塊或者多塊網卡綁定在同一個ip地址上,使用起來就好象在使用一塊網卡。
多網卡綁定的優點不少,多網卡綁定,可以增大帶寬,可以形成網卡冗餘陣列、分擔負載,多網卡被綁定成“一塊網卡”之後,同步一起工作,對電腦的訪問流量被均衡分擔到兩塊網卡上,這樣每塊網卡的負載壓力就小多了,抗併發訪問的能力提高,保證了電腦訪問的穩定和暢快,當其中一塊發生故障的時候,另一塊立刻接管全部負載,過程是無縫的,數據傳輸不會中斷。
(以上簡介來自於互聯網,請注意保護版權。)
實驗環境:爲了確保服務器的正常運轉,企業擬將服務器使用雙網卡技術,這樣即使有一塊網卡損壞,服務器仍能正常運轉,提供服務。
實驗拓撲:
實驗設備:
Linux服務器(Linux 5.4 (2.6.18-164.el5)雙網卡)一臺
測試機一臺(Windows xp)
實驗步驟:
(1)、編輯網卡配置文件
(2)、安裝模塊,修改有關文件
(3)、查看雙網卡狀態
(4)、使用PC機測試
2.磁盤技術Raid5
RAID 5 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 RAID 5可以理解爲是RAID 0和RAID 1的折中方案。RAID 5可以爲系統提供數據安全保障,但保障程度要比Mirror低而磁盤空間利用率要比Mirror高。RAID 5具有和RAID 0相近似的數據讀取速度,只是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操作稍慢。同時由於多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較低。
(以上簡介來自於互聯網,請注意保護版權。)
實驗環境:公司爲了保證數據的安全性,特擬定使用Raid技術,但是考慮到成本問題,因此在服務器上採用軟Raid技術。
實驗拓撲:
實驗設備:
Linux服務器(Linux 5.4 (2.6.18-164.el5))一臺
獨立硬盤4塊
實驗步驟:
(1)、創建磁盤分區
[root@server ~]# fdisk -l 查看磁盤狀況
[root@server ~]# fdisk /dev/sdb 創建磁盤分區
其他的磁盤分區與此類似,不再介紹。
[root@server ~]# fdisk -l 再次查看磁盤狀況
(2)、創建Raid
[root@server ~]# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sd[bcde]1
mdadm: array /dev/md0 started.
-C 創建後面創建RAID塊設備名稱 -l 5 指明創建raid5 -n 3用於創建raid5磁盤的數量,即活動磁盤的數量,raid5最少3塊磁盤,-x 1備用磁盤的數量
查看RAID是否成功的創建是否運行的正常,有兩種方法
較爲簡單的查看:可以直接查看/proc/mdstat 的文件看到RAID運行的情況
[root@server ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd1[2] sde1[3](S) sdc1[1] sdb1[0]
3919616 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
查看詳細信息:mdadm --detail /dev/md0 命令查看RAID的詳細信息
[root@server ~]# mdadm --detail /dev/md0
[root@server ~]# mkfs.ext3 /dev/md0 //格式化 raid5磁盤爲 mkfs.exe
[root@server ~]# mkdir /mnt/raid5/ //在/mnt下創建/raid5 文件夾,用於掛載md0的
[root@server ~]# mount /dev/md0 /mnt/raid5/ //將md0 掛載到raid5上去
[root@server ~]# mount 查看一下掛載情況
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/md0 on /mnt/raid5 type ext3 (rw)
[root@server ~]#
試一下新加上的RAID是不是可以使用,向裏面寫入文件
[root@server ~]# cd /mnt/raid5/
[root@server raid5]# ll
total 16
drwx------ 2 root root 16384 Feb 8 03:12 lost+found
[root@server raid5]# touch testraid5
[root@server raid5]# mkdir test/
[root@server raid5]# ll
total 20
drwx------ 2 root root 16384 Feb 8 03:12 lost+found
drwxr-xr-x 2 root root 4096 Feb 8 03:20 test
-rw-r--r-- 1 root root 0 Feb 8 03:20 testraid5
[root@server raid5]#
(3)、設置開機自動啓動RAID以及自動掛載
讓RAID開機啓動, RIAD配置文件名字爲mdadm.conf , 這個文件默認是不存在的,要自己建立.該配置文件存在的主要作用是系統啓動的時候能夠自動加載軟RAID,同時也方便日後管理. 說明下,mdadm.conf文件主要由以下部分組成:
DEVICES選項制定組成RAID所有設備, ARRAY選項指定陣列的設備名、RAID級別、陣列中活動設備的數目以及設備的UUID號.
[root@server ~]# mdadm --detail --scan >/etc/mdadm.conf 建立配置文件
[root@server ~]# vim /etc/mdadm.conf 修改配置文件
設置RAID的自動掛載
[root@server ~]# vim /etc/fstab 修改文件
(4)、模擬磁盤損壞
[root@server ~]# mdadm /dev/md0 -f /dev/sdd1 //使用此命令設置sdd1成爲出錯的狀態
mdadm: set /dev/sdd1 faulty in /dev/md0
[root@server ~]# mdadm --detail /dev/md0 查看具體情況
[root@server ~]# mdadm /dev/md0 --remove /dev/sdd1 //移除損壞的磁盤
mdadm: hot removed /dev/sdd1
[root@server ~]# mdadm --detail /dev/md0 //再次查看情況
[root@server ~]# mdadm /dev/md0 -a /dev/sdd1 //將sdd1磁盤再次添加上
mdadm: added /dev/sdd1
[root@server ~]# mdadm --detail /dev/md0 //再次查看具體情況
[root@server ~]# mdadm -G /dev/md0 -n 4 //使新添加上的磁盤成爲active
mdadm: Need to backup 384K of critical section..
mdadm: ... critical section passed.
[root@server ~]# mdadm --detail /dev/md0 //查看具體情況
(5)、其它 (選作)
刪除RAID:
1.刪除所有raid對應的磁盤或分區
mdadm /dev/md0 --fail /dev/sd[b,c,d,e]1 --remove /dev/sd[b,c,d,e]1
2.停止raid
mdadm --stop /dev/md0
3.清空磁盤(分區)超級塊中的raid信息
mdadm --misc --zero-superblock /dev/sd[b,c,d,e]1
爲了便於您進行查找mdadm的參數,筆者特意在文章末尾,免費共享了一個小文檔,您可以參考。
2.網絡設備羣集技術
採用集羣的目的可以概括爲以下幾個方面:1.提高性能.2.降低成本.3.提高規模擴展性(Scalabilitry).4.增強可靠性.5.集羣系統在提高了系統的可靠性的同時,也大大減小了故障損失。
(以上簡介來自於互聯網,請注意保護版權。)
實驗環境:公司想要對網絡設備(如交換機)實行羣集技術,便於管理和實現高可用性。
實驗拓撲:
實驗設備:
華爲二層交換機s2000系列 3臺
TFTP服務器一臺
實驗步驟:
(1)、在交換機sw2上進行配置
(2)、在交換機sw3上進行配置
(3)、在交換機sw1上進行配置
(4)、指定TFTP服務器,並進行備份
(5)、模擬故障
(6)、對故障進行修復
二、局域網高可用性
1.生成樹協議
生成樹協議的主要功能有兩個:一是在利用生成樹算法、在以太網絡中,創建一個以某臺交換機的某個端口爲根的生成樹,避免環路。二是在以太網絡拓撲發生變化時,通過生成樹協議達到收斂保護的目的。
(以上簡介來自於互聯網,請注意保護版權。)
實驗環境:某企業爲了提高鏈路的高可用性,擬採用生成樹技術,但考慮到充分利用設備的情況,因此採用MSTP技術。
實驗拓撲:
實驗設備:
華爲二層交換機 s2000系列四臺
實驗步驟:
(1)、在交換機SW1上進行配置
(2)、在交換機SW2上進行配置
(3)、在交換機SW3上進行配置
(4)、在交換機SW4上進行配置
(5)、分析
從理論上講,先選舉各個實例的根交換機,但是由於筆者已經手工配置,所以交換機SW2是實例1的根交換機,交換機SW3是實例2的根交換機。接下來決定那個端口是DISCARDING狀態時依據以下順序:各自交換機COST值、各自交換機的bridge id、port id(其中包含端口優先級、端口號碼),最終以各自值最小者優先。
在實例1中SW2交換機上的所有端口都爲FORWARDING,交換機SW3的E1/0/7、E1/0/8和交換機SW1的E1/0/1都應該爲FORWARDING狀態。DISARDING端口只可能是SW1的E1/0/20端口或者SW3的E1/0/20端口。兩者第一步先去比較各自交換機cost值,但是SW3的COST值更小(因爲採用了鏈路聚合)。
在實例2中SW3交換機上的所有端口都爲FORWARDING,交換機SW1的E1/0/7、E1/0/8和交換機SW4的E1/0/24都應該爲FORWARDING狀態。DISARDING端口只可能是SW1的E1/0/12端口或者SW4的E1/0/12端口。兩者第一步先去比較各自交換機COST值,但是SW1的COST值更小(因爲採用了鏈路聚合)。
以上是理論上的探討,具體情況請見以下的實驗結果。
(6)、查看交換機SW1的狀況
(7)、查看交換機SW2的狀況
(8)、查看交換機SW3的狀況
(9)、查看交換機SW4的狀況
2.鏈路聚合
鏈路聚合是將兩個或更多數據信道結合成一個單個的信道,該信道以一個單個的更高帶寬的邏輯鏈路出現。鏈路聚合一般用來連接一個或多個帶寬需求大的設備,例如連接骨幹網絡的服務器或服務器羣。
鏈路聚合MSTP實驗和VRRP實驗中已經使用過,因此不再單獨將其實驗列舉出來。
3.虛擬路由冗餘協議VRRP
虛擬路由器冗餘協議(VRRP)是一種選擇協議,它可以把一個虛擬路由器的責任動態分配到局域網上的 VRRP 路由器中的一臺。
VRRP可以實現網絡設備的虛擬化,爲企業網絡的高可用性提供保證。筆者認爲VRRP也是企業網絡虛擬化的一部分,是組建企業網絡所必須的。爲了節約篇幅,筆者不再重複講述實驗,如果您對筆者的VRRP感興趣,您可以參考筆者的文章《安能辨我是雌雄?---VRRP企業應用探索》 (文章地址:http://pheonix.blog.51cto.com/4449015/805212)
很抱歉的告訴您,由於格式的問題,筆者的文章又要分爲兩部分,給帶來的不便,表示非常抱歉。未完,請參考《衆擎易舉,全力打造企業護衛艦——高可用性體系(下)》