分类: LINUX
2012-11-20 11:22:34
很久以前就听说过RAID(廉价磁盘冗余阵列),但是一直没机会测试,今天偶然看到
<<鸟哥私房菜>>一书中有一个小章节中有介绍使用RAID的,于是就用虚拟机来做个试
验来验证一下,也玩一玩如何将小磁盘变成一个大的磁盘使用。
(1). 什么是RAID?
RAID中文翻译为廉价磁盘冗余阵列,是通过一些技术将多个较小的磁盘整合为一个
大磁盘来使用,且整合后的大磁盘不仅具有存储作用还具有数据保护功能。RAID是分
级别的,不同级别具有不同的功能。
[1.1].RAID-0 (等量模式,stripe):效果最好
这种模式下,每次你往整合后的大设备中写入一个数据,他们都会被平均的分配到
组成磁盘阵列的小设备上,虽然数据是平均分配到每个小设备上,但是只要其中一个小
设备损坏了,则整个数据都损坏。因此这个级别数据最不安全
[1.2].RAID-1 (映像模式,mirror):完整备份
这种模式下,每次你往阵列设备中写入数据时,则会将要写的数据都完全写入
到每个小设备中。因此其中一个设备坏了,另一个设备还时保存完整的数据,这种
模式数据最安全,但是磁盘的容量则就好像少了一半(因为另一半拿来备份数据了)
[1.3].RAID-5:性能与数据备份的均衡考虑
创建这种模式的阵列至少需要3个磁盘设备。在这中模式下,每次往阵列中写
人数据时,有点类似RAID-0,但每个循环写入的过程中,在每个磁盘还加入一个同
位检查数据,这个数据会记录在其他磁盘的备份数据,当有磁盘损坏时可用该数据
进行救援。
2.使用VirtualBox虚拟机进行试验
[2.1].给虚拟机添加一个空白硬盘(这个会虚拟机的都会的,哈哈省略这步)
[2.2].这里假设新增的磁盘为sdb,使用Linux的fdisk进行分区
分5个大小为100M的分区,分别为/dev/sdb1到/dev/sdb5
[2.3].创建一个阵列设备
mdadm -C /dev/md0 -n 4 -x 1 -l 5 /dev/sdb{1..5}
参数说明:
-C:表示选择创建模式,所创建的阵列具有超级块
/dev/md0:表示创建的阵列设备名为/dev/md0,在Linux中软
RAID设备的设备文件名模拟为md。
-n 4:指定阵列设备中活动的磁盘数量为4
-x 1:指定阵列设备中空闲的磁盘数量为1
这里需要注意:活动的磁盘+空闲的磁盘数量必须等于后面
指定的组成该阵列的磁盘的数量
-l 5:表示创建的是RAID-5
/dev/sdb{1..5}:表示组成该阵列的磁盘为/dev/sdb1,
/dev/sdb2,/dev/sdb3,/dev/sdb4,/dev/sdb5
[2.4].在磁盘阵列中创建一个文件系统
mkfs.ext3 /dev/md0
[2.5].挂载磁盘阵列设备
mount /dev/md0 /mnt/raid
[2.6].设置开机启用RAID
(1).查找创建的阵列设备的UUID
mdadm -D /dev/md0 |grep UUID
这里假设为: d83d6b3d:ec502213:47f509c3:f280188c
(2).配置/etc/mdadm.conf配置文件
ARRAY /dev/md0 uuid=d83d6b3d:ec502213:47f509c3:f280188c
(3).在/etc/fstab中配置开机自动挂载md0
/dev/md0 /mnt/raid ext3 defaults 0 0
(3).mdadm命令参考
man mdadm
更多精彩文章尽在: