什么是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 MB, 2147483648 bytes
-
255 heads, 63 sectors/track, 261 cylinders, total 4194304 sectors
-
Units = sectors of 1 * 512 = 512 bytes
-
Sector size (logical/physical): 512 bytes / 512 bytes
-
I/O size (minimum/optimal): 512 bytes / 512 bytes
-
Disk identifier: 0x00000000
-
-
Disk /dev/sdc: 2147 MB, 2147483648 bytes
-
255 heads, 63 sectors/track, 261 cylinders, total 4194304 sectors
-
Units = sectors of 1 * 512 = 512 bytes
-
Sector size (logical/physical): 512 bytes / 512 bytes
-
I/O size (minimum/optimal): 512 bytes / 512 bytes
-
Disk identifier: 0x00000000
开始
为了演示,我在虚拟机里创建了2块2G的硬盘,可以看出分别是sdb和sdc,把这两块硬盘组建成一个软RAID1,操作如下:
-
fdisk /dev/sdb
-
-
Command (m for help): n #输入n,回车
-
Command action
-
e extended
-
p primary partition (1-4)
-
p #输入p,回车
-
Partition number (1-4): 1 #输入1,回车
-
First cylinder (1-261, default 1): #回车
-
Using default value 1
-
Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261): #回车
-
Using default value 261
-
-
Command (m for help): t #输入t,回车
-
Selected partition 1
-
Hex code (type L to list codes): fd #输入fd,回车
-
Changed system type of partition 1 to fd (Linux raid autodetect)
-
-
Command (m for help): w #输入w,保存并推出
-
The partition table has been altered!
-
-
Calling ioctl() to re-read partition table.
-
Syncing disks.
现在sdb就变成raid类型的硬盘了,可以通过fdisk -cul查看,sdc的操作同上,不再重复演示。
-
fdisk -cul
-
Device Boot Start End Blocks Id System
-
/dev/sdb1 1 261 2096451 fd Linux raid autodetect
-
/dev/sdc1 1 261 2096451 fd Linux raid autodetect
-
-
#如果你是在服务器上直接添加硬盘,还需要执行一条命令
-
partprobe -a
-
#这样就不需要重启服务器而让新硬盘加入到战斗当中去了
创建RAID
接下来要做的事情就简单了,只需要把这两块硬盘通过mdadm命令组建成raid1并格式化,再挂载到特定目录即可,操作如下:
-
#在操作之前先来看看这个命令的参数
-
-C #创建软件RAID
-
-l #指定RAID级别
-
-n #指定磁盘个数
-
-x #指定备用设备个数
-
-
mdadm -C /dev/md1 -l 1 -n 2 /dev/sdb1 /dev/sdc1
-
mdadm: array /dev/md1 started. #提示你创建成功
-
-
#查看刚才创建的md1设备详情
-
mdadm --detail /dev/md1
-
-
/dev/md1:
-
Version : 1.2
-
Creation Time : Wed Nov 12 16:19:53 2014 #创建时间
-
Raid Level : raid1 #RAID级别
-
Array Size : 2095360 (2046.59 MiB 2145.65 MB) #RAID磁盘空间有多大
-
Used Dev Size : 2095360 (2046.59 MiB 2145.65 MB)
-
Raid Devices : 2 #磁盘的个数
-
Total Devices : 2
-
Persistence : Superblock is persistent
-
-
Update Time : Wed Nov 12 17:19:04 2014
-
State : clean
-
Active Devices : 2 #正在活动的磁盘个数
-
Working Devices : 2 #正在工作的磁盘个数
-
Failed Devices : 0 #有错误的磁盘个数
-
Spare Devices : 0 #备用的磁盘个数
-
-
Name : server1:1 (local to host server1)
-
UUID : ae9a70dd:dc2917a7:de515e04:f82950a7
-
Events : 21
-
-
Number Major Minor RaidDevice State
-
0 8 17 0 active sync /dev/sdb1
-
1 8 33 1 active 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
到此,全部工作就完成了,搞定,收工!
(责任编辑:IT) |