RAID的实现实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三RAID的实现
一、实验目的
1、了解与掌握RAID0、RAID1、RAID5的原理与实现
2、了解与掌握RAID1、与RAID5数据的恢复
第一部分在VMware虚拟机中添加SCSI硬盘
一、在VMware虚拟机中添加4块SCSI硬盘
1、打开虚拟机,但不要运行
2、选择“Commands”栏内的“Edit virtual machine settings”选项
3、在“Virtual Machine Settings”对话框中选择”Add”按钮→出现“Add Hardware Wizard”对话框→“Hard
Disk”Hard Disk→Next按钮
4、在Select a Disk对话框中选择Create a new virtual disk选项→”next”按钮
5、在select a Disk Type对话框中选择虚拟机磁盘类型时选择SCSI磁盘类型→“Next”按钮
6、在Specify Disk Capacity对话框中将硬盘的大小设置为1GB→Next按钮,注意实际磁盘是由一个文
件模拟的,文件名为“Other Linux2.6.x kernel.vmdk0-x”-→选择finish按钮
7、重复第3步-第6步,直至生成4块1G SCSI硬盘后→”OK”按钮
8、再“Commands”栏内选择→Power on this virtual machine,启动虚拟机
二、检查计算机系统
虚拟机启动后计算机系统外部存储器参数
1、检查硬盘
输入指令:more /proc/partitions
作用:显示外存储器的设备信息,其中主设备号是指使用同一个驱动程序的设备编号,次设备号是指驱动程序的实例,blocks是指该设备拥有的块数目,name是指该设备的逻辑名称
2、检查向内核注册的md设备
输入指令dmesg |grep md
作用:检查本台计算机系统支持的RAID级别
3 检查此计算机的RAID子系统信息
输入:more /proc/mdstat
显示:Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
unused devices:
说明没有RAID被激活
第二部分生成RAID0、RAID1、RAID5
三、生成RAID0---striping
条带是一种将数据分散于多个磁盘的方法,固定数量(chunk-size)的数据被写入每一个磁盘,磁盘不要求统一的大小。
1、生成RAID0
命令:mdadm –Cv –l0 –n4 /dev/md0 /dev/sdb /dev/sdc /dev/sdd /dev/sde
或:mdadm –Cv –l0 –n4 /dev/md0 /dev/sd{b,c,d,e}
其中:-C --create 生成一个新阵列
-v --verbose 显示详细信息
-l --raid-level 选择RAID的级别:linear, 0, 1, 4, 5
-n --raid-disks 设置在阵列中的磁盘数量
/dev/md0 在Linux中,阵列的驱动器是md,第一个磁盘阵列称为/dev/md0,第二个
磁盘阵列称为/dev/md1
/dev/md0 磁盘阵列(array)由磁盘/dev/sdb, /dev/sdc, /dev/sdd, /dev/sde 4块磁盘组成1、检查:
指令:more /proc/mdstat
结果:
ersonalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
md0 : active raid0 sde[3] sdd[2] sdc[1] sdb[0]
__4190208__ blocks super 1.2 __512____k chunks
unused devices:
2、停止/dev/md0
指令:mdadm --stop /dev/md0
检查:无active磁盘阵列存在
四、生成RAID1---磁盘镜像:RAID1在每次写入数据时,都会将数据复制到多个磁盘上
1、生成磁盘镜像
指令:mdadm -Cv -l1 -n3 -x1 /dev/md0 /dev/sd{b,c,d,e}
其中:-n3 指阵列/dev/md0的磁盘数据为3块
-x1 定义热备份盘的数量为1块
2、检查/dev/md0
指令: more /proc/mdstat
结果:Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
md0 : active raid1 sde[3](S) sdd[2] sdc[1] sdb[0]
1048564 blocks super 1.2 [3/3] [UUU]
注意:sde[3](s) s是指热备份盘
3、检查热备份盘的作用---将/dev/md0阵列中的sdb盘标志为Fail
指令mdadm --fail /dev/md0 /dev/sdb
结果:mdadm: set /dev/sdb faulty in /dev/md0
检查:more /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
md0 : active raid1 sde[3] sdd[2] sdc[1] sdb[0](F)
1048564 blocks super 1.2 [3/3] [UUU]
注意:sdb[0](f) f是指在/dev/md0磁盘阵列中,sdb为错误,但同时注意到sde盘中没有了(s) 说明:_________________________________________________________________________ __________________________________________________________________________
__________________________________________________________________________ 3、停止/dev/md0
指令:mdadm --stop /dev/md0
检查:无active磁盘阵列存在
五、生成RAID5---块级分布式奇偶校验
RAID5采用数据条带,其条带以chunk-size为单位分配,在RAID5中,通过每个数据盘上的相应条带逐位计算奇偶校验位(异或操作),奇偶校验位存储在奇偶校验条带上,并且RAID5在所有磁盘上分布了奇偶校验条带
1.生成RAID5
指令:mdadm -Cv -l5 -c64 -n3 /dev/md0 /dev/sd{b,c,d}
其中:-c64 指chunk-size为64bytes