什么是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:2147,2147483648 bytes
- 255,63/track,261,4194304 sectors
- Units=1*512=512 bytes
- Sector(logical/physical):512/512 bytes
- I/O size (minimum/optimal):512/512 bytes
- Disk:0x00000000
- Disk/dev/sdc:2147,2147483648 bytes
- 255,63/track,261,4194304 sectors
- Units=1*512=512 bytes
- Sector(logical/physical):512/512 bytes
- I/O size (minimum/optimal):512/512 bytes
- Disk:0x00000000
开始
为了演示,我在虚拟机里创建了2块2G的硬盘,可以看出分别是sdb和sdc,把这两块硬盘组建成一个软RAID1
,操作如下:
1. fdisk /dev/sdb
2.
3. Command(m for):#输入n,回车
4. Command action
5. e extended
6. (1-4)
7. p #输入p,回车
8. Partition(1-4):1#输入1,回车
9. First(1-261,default1):#回车
10. Usingdefault1
11. Last,+cylinders or+size{K,M,G}(1-261,default261):#回车
12. Usingdefault261
13.
14. Command(m for):#输入t,回车
15. Selected1
16. Hex(type L to list codes):#输入fd,回车
17. Changed1(Linux)
18.
19. Command(m for):#输入w,保存并推出
20. The!
21.
22. Calling()-read partition table.
23. Syncing.
现在sdb就变成raid类型的硬盘了,可以通过fdisk -cul查看,sdc的操作同上,不再重复演示。
1. fdisk -cul
2. DeviceBootStartEndBlocksIdSystem
3. /dev/sdb1 12612096451Linux raid autodetect
4. /dev/sdc1 12612096451Linux raid autodetect
5.
6. #如果你是在服务器上直接添加硬盘,还需要执行一条命令
7. partprobe -a
8. #这样就不需要重启服务器而让新硬盘加入到战斗当中去了
创建RAID
接下来要做的事情就简单了,只需要把这两块硬盘通过mdadm命令组建成raid1并格式化,再挂载到特定目录即可,操作如下:
1. #在操作之前先来看看这个命令的参数
2. -C #创建软件RAID
3. -l #指定RAID级别
4. -n #指定磁盘个数
5. -x #指定备用设备个数
6.
7. mdadm -C /dev/md1 -l 1-n 2/dev/sdb1 /dev/sdc1
8. mdadm:/dev/md1 started.#提示你创建成功
9.
10. #查看刚才创建的md1设备详情
11. mdadm --detail /dev/md1
12.
13. /dev/md1:
14. Version:1.2
15. CreationTime:WedNov1216:19:532014#创建时间
16. RaidLevel:#RAID级别
17. ArraySize:2095360(2046.59MiB2145.65)#RAID磁盘空间有多大
18. UsedDevSize:2095360(2046.59MiB2145.65)
19. RaidDevices:2#磁盘的个数
20. TotalDevices:2
21. Persistence:Superblockis persistent
22.
23. UpdateTime:WedNov1217:19:042014
24. State: clean
25. ActiveDevices:2#正在活动的磁盘个数
26. WorkingDevices:2#正在工作的磁盘个数
27. FailedDevices:0#有错误的磁盘个数
28. SpareDevices:0#备用的磁盘个数
29.
30. Name::1(local)
31. ::dc2917a7:de515e04:f82950a7
32. Events:21
33.
34. NumberMajorMinorRaidDeviceState
35. 08170/dev/sdb1
- 18331/dev/sdc1
格式化与挂载
1. mkfs.ext4 /dev/md1 #格式化为ext4格式
2. mkdir /raid1 #创建需要挂载的目录
3. mount /dev/md1 /raid1 #挂载
4.
5. #然后将磁盘阵列的设备设置为开机自动挂载
6. echo "DEVICE /dev/sdb1 /dev/sdc1">/etc/mdadm.conf
7. mdadm -Evs>>/etc/mdadm.conf
8. echo "/dev/md1 /raid1 ext4 defaults 0 0">>/etc/fstab