什么是RAID
独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称硬盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于电脑来说,看起来就像一个单独的硬盘或逻辑存储单元。分为RAID 0,RAID 1,RAID 1E,RAID 5,RAID 6,RAID 7,RAID 10,RAID 50,RAID 60。
简单来说,RAID把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与RAID功能更加有效地与主板集成,它也成为了玩家的一个选择,特别是需要大容量存储空间的工作,如:视频与音频制作。
最初的RAID分成了不同的等级,每种等级都有其理论上的优缺点,不同的等级在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器(群)读写性能。这些年来,出现了对于RAID观念不同的应用。
如何创建软RAID
想要创建RAID,肯定少不了磁盘阵列卡,现在绝大多数服务器都带有这种硬件,创建起来也很简单,傻瓜式操作,只是不同厂商之间肯定会有些不同,不过都是大同小异。但是今天我们要讨论的是在没有磁盘阵列卡的情况下,如何来创建软RAID,现在就来看看吧。
准备
yum install-y parted mdadm
查看磁盘使用情况
fdisk-cul
Disk/dev/sdb:2147MB,2147483648bytes
255heads,63sectors/track,261cylinders,total4194304sectors
Units=sectors of1*512=512bytes
Sectorsize(logical/physical):512bytes/512bytes
I/O size(minimum/optimal):512bytes/512bytes
Diskidentifier:0x00000000
Disk/dev/sdc:2147MB,2147483648bytes
255heads,63sectors/track,261cylinders,total4194304sectors
Units=sectors of1*512=512bytes
Sectorsize(logical/physical):512bytes/512bytes
I/O size(minimum/optimal):512bytes/512bytes
Diskidentifier:0x00000000
开始
为了演示,我在虚拟机里创建了2块2G的硬盘,可以看出分别是sdb和sdc,把这两块硬盘组建成一个软RAID1,操作如下:
fdisk/dev/sdb
Command(mforhelp):n#输入n,回车
Commandaction
e extended
p primary partition(1-4)
p#输入p,回车
Partitionnumber(1-4):1#输入1,回车
Firstcylinder(1-261,default1):#回车
Usingdefaultvalue1
Lastcylinder,+cylindersor+size{K,M,G}(1-261,default261):#回车
Usingdefaultvalue261
Command(mforhelp):t#输入t,回车
Selectedpartition1
Hexcode(type L to list codes):fd#输入fd,回车
Changedsystem type of partition1to fd(Linuxraid autodetect)
Command(mforhelp):w#输入w,保存并推出
Thepartition table has been altered!
Callingioctl()to re-read partition table.
Syncingdisks.
现在sdb就变成raid类型的硬盘了,可以通过fdisk -cul查看,sdc的操作同上,不再重复演示。
fdisk-cul
DeviceBootStartEndBlocksIdSystem
/dev/sdb112612096451fdLinuxraid autodetect
/dev/sdc112612096451fdLinuxraid autodetect
#如果你是在服务器上直接添加硬盘,还需要执行一条命令
partprobe-a
#这样就不需要重启服务器而让新硬盘加入到战斗当中去了
创建RAID
接下来要做的事情就简单了,只需要把这两块硬盘通过mdadm命令组建成raid1并格式化,再挂载到特定目录即可,操作如下:
#在操作之前先来看看这个命令的参数
-C#创建软件RAID
-l#指定RAID级别
-n#指定磁盘个数
-x#指定备用设备个数
mdadm-C/dev/md1-l1-n2/dev/sdb1/dev/sdc1
mdadm:array/dev/md1 started.#提示你创建成功
#查看刚才创建的md1设备详情
mdadm--detail/dev/md1
/dev/md1:
Version:1.2
CreationTime:WedNov1216:19:532014#创建时间
RaidLevel:raid1#RAID级别
ArraySize:2095360(2046.59MiB2145.65MB)#RAID磁盘空间有多大
UsedDevSize:2095360(2046.59MiB2145.65MB)
RaidDevices:2#磁盘的个数
TotalDevices:2
Persistence:Superblockispersistent
UpdateTime:WedNov1217:19:042014
State:clean
ActiveDevices:2#正在活动的磁盘个数
WorkingDevices:2#正在工作的磁盘个数
FailedDevices:0#有错误的磁盘个数
SpareDevices:0#备用的磁盘个数
Name:server1:1(localto host server1)
UUID:ae9a70dd:dc2917a7:de515e04:f82950a7
Events:21
NumberMajorMinorRaidDeviceState
08170active sync/dev/sdb1
18331active sync/dev/sdc1
格式化与挂载
mkfs.ext4/dev/md1#格式化为ext4格式
mkdir/raid1#创建需要挂载的目录
mount/dev/md1/raid1#挂载
#然后将磁盘阵列的设备设置为开机自动挂载
echo"DEVICE /dev/sdb1 /dev/sdc1">/etc/mdadm.conf
mdadm-Evs>>/etc/mdadm.conf
echo"/dev/md1 /raid1 ext4 defaults 0 0">>/etc/fstab
到此,全部工作就完成了,搞定,收工!