CentOS6.5创建软RAID

分类:CentOS教程 阅读:13045 次

什么是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,现在就来看看吧。

准备

  1. yum install -y parted mdadm

查看磁盘使用情况

  1. fdisk -cul
  2. Disk /dev/sdb: 2147 MB, 2147483648 bytes
  3. 255 heads, 63 sectors/track, 261 cylinders, total 4194304 sectors
  4. Units = sectors of 1 * 512 = 512 bytes
  5. Sector size (logical/physical): 512 bytes / 512 bytes
  6. I/O size (minimum/optimal): 512 bytes / 512 bytes
  7. Disk identifier: 0x00000000
  8. Disk /dev/sdc: 2147 MB, 2147483648 bytes
  9. 255 heads, 63 sectors/track, 261 cylinders, total 4194304 sectors
  10. Units = sectors of 1 * 512 = 512 bytes
  11. Sector size (logical/physical): 512 bytes / 512 bytes
  12. I/O size (minimum/optimal): 512 bytes / 512 bytes
  13. Disk identifier: 0x00000000

开始

为了演示,我在虚拟机里创建了2块2G的硬盘,可以看出分别是sdb和sdc,把这两块硬盘组建成一个软RAID1,操作如下:

  1. fdisk /dev/sdb
  2. Command (m for help): n #输入n,回车
  3. Command action
  4. e extended
  5. p primary partition (1-4)
  6. p #输入p,回车
  7. Partition number (1-4): 1 #输入1,回车
  8. First cylinder (1-261, default 1): #回车
  9. Using default value 1
  10. Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261): #回车
  11. Using default value 261
  12. Command (m for help): t #输入t,回车
  13. Selected partition 1
  14. Hex code (type L to list codes): fd #输入fd,回车
  15. Changed system type of partition 1 to fd (Linux raid autodetect)
  16. Command (m for help): w #输入w,保存并推出
  17. The partition table has been altered!
  18. Calling ioctl() to re-read partition table.
  19. Syncing disks.

现在sdb就变成raid类型的硬盘了,可以通过fdisk -cul查看,sdc的操作同上,不再重复演示。

  1. fdisk -cul
  2. Device Boot Start End Blocks Id System
  3. /dev/sdb1 1 261 2096451 fd Linux raid autodetect
  4. /dev/sdc1 1 261 2096451 fd Linux raid autodetect
  5. #如果你是在服务器上直接添加硬盘,还需要执行一条命令
  6. partprobe -a
  7. #这样就不需要重启服务器而让新硬盘加入到战斗当中去了

创建RAID

接下来要做的事情就简单了,只需要把这两块硬盘通过mdadm命令组建成raid1并格式化,再挂载到特定目录即可,操作如下:

  1. #在操作之前先来看看这个命令的参数
  2. -C #创建软件RAID
  3. -l #指定RAID级别
  4. -n #指定磁盘个数
  5. -x #指定备用设备个数
  6. mdadm -C /dev/md1 -l 1 -n 2 /dev/sdb1 /dev/sdc1
  7. mdadm: array /dev/md1 started. #提示你创建成功
  8. #查看刚才创建的md1设备详情
  9. mdadm --detail /dev/md1
  10. /dev/md1:
  11. Version : 1.2
  12. Creation Time : Wed Nov 12 16:19:53 2014 #创建时间
  13. Raid Level : raid1 #RAID级别
  14. Array Size : 2095360 (2046.59 MiB 2145.65 MB) #RAID磁盘空间有多大
  15. Used Dev Size : 2095360 (2046.59 MiB 2145.65 MB)
  16. Raid Devices : 2 #磁盘的个数
  17. Total Devices : 2
  18. Persistence : Superblock is persistent
  19. Update Time : Wed Nov 12 17:19:04 2014
  20. State : clean
  21. Active Devices : 2 #正在活动的磁盘个数
  22. Working Devices : 2 #正在工作的磁盘个数
  23. Failed Devices : 0 #有错误的磁盘个数
  24. Spare Devices : 0 #备用的磁盘个数
  25. Name : server1:1 (local to host server1)
  26. UUID : ae9a70dd:dc2917a7:de515e04:f82950a7
  27. Events : 21
  28. Number Major Minor RaidDevice State
  29. 0 8 17 0 active sync /dev/sdb1
  30. 1 8 33 1 active sync /dev/sdc1

格式化与挂载

  1. mkfs.ext4 /dev/md1 #格式化为ext4格式
  2. mkdir /raid1 #创建需要挂载的目录
  3. mount /dev/md1 /raid1 #挂载
  4. #然后将磁盘阵列的设备设置为开机自动挂载
  5. echo "DEVICE /dev/sdb1 /dev/sdc1" > /etc/mdadm.conf
  6. mdadm -Evs >> /etc/mdadm.conf
  7. echo "/dev/md1 /raid1 ext4 defaults 0 0" >> /etc/fstab

到此,全部工作就完成了,搞定,收工!