內容提要:
Linux軟件RAID技術是Linux操作系統提供的能夠在軟件層實現RAID1、RAID5、RAID6、 RAID10等RAID磁盤陣列的有效技術手段,通過該技術我們可以建立起一個大容量的、具有很強數據冗余能力以及很高數據安全性的數據存儲應用設備,可以通過該存儲應用設備在網絡中建立起初級的儲存區域網(Storage Area Network, 簡稱 SAN),本文通過在Linux中使用6塊廉價IDE硬盤盒組建一個RAID1+0設備,配合Linux中的VSFtp服務器為客戶端提供了安全、穩定、高效數據存儲方案,實現Linux軟件RAID的關鍵技術包括雙網卡負載均衡實現網絡連接的高可用性及數據流量的大吞吐量,RAID10設備的有效創建方法和管理,RAID設備Shell統一服務啟動和終止腳本的創建。
1 引言
該應用方案通過使用一臺普通的P4級的計算機以及6塊移動硬盤,通過LINUX提供的軟件RAID方法實現了一個大容量的、具有很強數據冗余能力以及很高數據安全性的數據存儲案例,該應用案例在建設完成后,目前已經平穩使用兩年,對入門級的數據存儲具有很強的現實意義。
2 案例關鍵技術具體實現方法
2.1雙網卡綁定實現負載均衡
采用雙網卡綁定技術實現服務器網絡連接的高可用性及吞吐量。
1)效果:網卡eth0和eth1虛擬成設備bond0,并且向外公布一個虛擬IP地址(拓撲圖如圖1),并提供兩倍的網絡帶寬。其中一條鏈路或網卡出現故障時,系統應用不受故障影響。
2)配置方法:使用VI編輯器將標有//的內容添加到/etc/init.d/network中的相應位置。(//不用輸入,修改完后需要重啟服務器操作系統)mode為網卡工作方式,“1”為互援式工作方式(熱備份工作方式,當前工作鏈路或網卡出現故障時,備份網卡會自動接管網絡鏈路),“0”為集群式工作方式(同時在線提供兩倍帶寬,一條鏈路或網卡故障時,網絡帶寬為工作網卡帶寬,不需切換)。示例如下:
//modprobe bonding mode=0 miimon=100 primary=eth0
//ifconfig bond0 inet 10.109.1.59 netmask 255.255.255.0
//route add default gw 10.109.1.1
//ifenslave bond0 eth0
//ifenslave bond0 eth1
//ifconfig bond0 up
;;
stop)
echo Shutting down network interfaces:
echo Shutting down network interfaces:
//ifenslave -d bond0 eth0
//ifenslave -d bond0 eth1
//ifconfig bond0 down
- Linux創建軟Raid的配置過程(RAID1+0)
在Linux中使用6塊廉價IDE硬盤盒組建一個RAID1+0設備,從而實現數據的良好安全性。操作系統啟動正常后,分別依次開啟6塊廉價IDE硬盤盒電源開關,操作系統會依次加載這些設備,在系統提示符下輸入sfdisk –s命令,系統返回如下信息:
/dev/sda: 78156288
/dev/sdb: 78150744
/dev/sdc: 78150744
/dev/sdd: 78150744
/dev/sde: 78150744
/dev/sdf: 78150744
/dev/sdg: 78150744
total: 547060752 blocks
其中/dev/sdb到/dev/sdg是系統為6塊IDE硬盤創建的設備名稱。我們將通過這些設備名稱來使用該6塊IDE硬盤創建RAID1+0設備。