内容提要:
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设备。