吴惠, 刘江涛, 陈建兵
(云南师范大学 信息管理处,云南 昆明 650500)
RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)实验是数据存储类实验中最基础、最重要的组成部分.通过对磁盘阵列服务器的配置与测试,可以帮助学生加深理解各种RAID的工作原理、特点,熟练掌握常规的数据修复技术等维护工作,为下一步学习高级数据存储知识打下坚实基础.在传统实验教学中,RAID实验对实验设备的要求很高,部分学校由于经费投入不足、硬件设施不完善和管理等因素无法开设该实验,只能通过教学课件对RAID做理论层次上的介绍,理论与实践相脱节,学生在该课程的技术层面收获甚少.
针对上述问题,采用云南师范大学已建成的VMware vSphere云计算平台构建虚拟实验环境,完成RAID实验,实现了只有在专用的服务器上才能完成的RAID的配置、测试与数据修复操作.
vSphere是当今最流行的虚拟化平台,是VMware公司推出的一套服务器虚拟化解决方案,目前的最新版本为5.5.vSphere 5中的核心组件为VMware ESXi.ESXi与Citrix的XenServer相似,它是一款可以独立安装和运行在祼机上的系统.与早期的VMware Workstation软件不同,最新版vSpher不再依存于宿主操作系统.在ESXi安装好以后,可以通过vSphere Client远程连接控制,在ESXi服务器上创建多个VM(Virtual Machine,虚拟机),为这些VM安装好Linux/Windows Server系统使之成为能提供各种网络应用服务的虚拟服务器,ESXi从内核级支持硬件虚拟化,运行于其中的虚拟服务器在性能与稳定性上不亚于普通的硬件服务器,而且更易于管理维护[1].
目前,构建vSphere云计算平台是解决高校服务器管理最为便捷的方法之一.云南师范大学采用4台四路服务器、6台八路服务器、120 T主存储、80 T备份、20 T同城异地容灾构建了一个规模较大的vSphere云计算平台,为学校相关部门提供各种应用服务.现在已经迁移和新部署了学校主网站、一卡通、各学院网站、档案管理系统、选课系统、科研系统等.经过使用测试,服务器占有率平常仅为7%~8%,高峰时均超过60%.为了充分使用云计算平台,使资源利用最大化,本文利用该云计算平台构建了RAID虚拟实验平台应用于教学.
RAID是为了获得更加安全的数据使用效果,更快的I/O速度,更大的存储容量而产生的解决方案.RAID构建包括两种方案:由RAID控制器实现的硬RAID方案和由应用程序创建的软RAID方案.在用软件实现RAID时,可由操作系统提供数据冗余机制,利用Windows Server 2008操作系统内嵌的软RAID 0、RAID 1、RAID 5来完成RAID实验[2].下面对这3种RAID的工作原理进行介绍.
(1)RAID 0工作原理:系统向2个磁盘组成的逻辑硬盘发出的I/O数据请求被转化为2项操作,其中的每一项操作都对应于1块物理硬盘.通过建立RAID 0,原先顺序的数据请求被分散到所有的2块硬盘中同时执行.从理论上讲,2块硬盘的并行操作使同一时间内磁盘读写速度提升了2倍.
RAID 0的缺点是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复,其中任一块硬盘出现问题都会导致整个数据的故障.
(2)RAID 1工作原理:系统向2个磁盘组成的逻辑硬盘发出的I/O数据请求被转化为2项操作,其中的每一项操作都对应于1块物理硬盘.通过建立RAID 1,原先顺序的数据请求被分散到所有的2块硬盘中同时执行.从理论上讲,2块硬盘的并行写操作并没有提高写入数据的速度,而读取数据时由于同时从2块硬盘中搜索并输出结果,读操作速度提升了2倍.
RAID 1的优点是有冗余备份盘,数据安全性高,读操作性能表现优异.其缺点是物理硬盘容量的有效使用率低,写性能表现一般.
(3)RAID 5工作原理:至少使用3块硬盘组建RAID5磁盘阵列,当有数据写入硬盘的时候,数据写入会根据算法分成3部分,然后写入这3块硬盘,写入的同时还会在这3块硬盘上写入校验信息.当读取写入的数据的时候会分别从3块硬盘上读取数据内容,再通过检验信息进行校验.当其中有1块硬盘出现损坏的时候,通过另外2块硬盘上存储的数据可以计算出第3块硬盘的数据内容.也就是说RAID 5存储方式只允许有1块硬盘出现故障,出现故障时需要尽快更换.当更换故障硬盘后,在故障期间写入的数据会进行重新校验.
RAID 5的优点是可以在各磁盘并行执行不同的读写操作,读写性能高.具有数据冗余容错能力,数据安全性高.其缺点是写入数据时因需要进行校验数据生成的逻辑运算,增加了写数据时间消耗.
RAID 作为现代数据中心的重要组成部分,在部署、生产和维护等实际工作中,如何根据实际应用系统的要求,合理配置RAID阵列是服务器能否提供优质服务的重要前提.因此,在VMware vSphere云计算平台中进行RAID配置、测试和数据修复等重要技能的实践,对全面掌握RAID技术有现实意义.
(1)掌握在Windows Server 2008操作系统下RAID 0、1、5的配置;
(2)完成RAID读写性能及容错能力测试,理解RAID 0、1、5的工作特点;
(3)掌握RAID 0、1、5的数据修复技术.
硬件:兼容VMware ESXi 5.1服务器1台;LAN(Local Area Network,局域网)网络环境;PC(Personal Computer,个人计算机)终端1台.
软件:全套VMware vSphere 5.1安装程序;服务器端Windows Server 2008操作系统;终端机Windows 7操作系统;硬盘读写性能测试工具DiskMark 1.0.
在构建好的实验环境中,远程连接到Windows Server 2008实验VM配置RAID 0、1、5,完成RAID相关实验环节.
3.3.1 RAID 0、1、5配置
(1)添加虚拟硬盘
根据前面RAID工作原理,完成RAID 0实验至少需2块硬盘,完成RAID 1实验至少需2块硬盘,完成RAID 5实验至少需3块硬盘.这样,在同一台VM中完成RAID 0、1、5配置实验,需要在实验VM中添加3块SCSI(Small Computer System Interface,小型计算机系统接口)硬盘,每块容量设置10 GB.
(2)动态磁盘转换
选择“开始|管理工具|计算机管理”命令,打开“计算机管理”窗口,单击左侧窗格中的“磁盘管理”,在右侧窗格中显示计算机的磁盘信息.用鼠标右键单击待转换的“基本磁盘1”,在弹出的快捷菜单中选择“转换到动态磁盘”命令.弹出“转换为动态磁盘”对话框,选中欲转换的“基本磁盘2”和“基本磁盘3”,然后单击“确定”按钮,完成转换[3].
(3)RAID 0配置
RAID 0在Windows Server 2008操作系统中称为带区卷.在“磁盘管理器”中,右击“动态磁盘1”打开“新建带区卷”向导.单击“下一步”,打开“选择磁盘”对话框,选择创建带区卷的“动态磁盘2”和“动态磁盘3”,并指定“选择空间量”大小为1 024 MB,然后按照向导提示操作完成带区卷的创建.
(4)RAID 1配置
RAID 1配置,在Windows Server 2008操作系统中称为镜像卷.在“磁盘管理器”中,右击“动态磁盘1”打开“新建镜像卷”向导.单击“下一步”,打开“选择磁盘”对话框,选择创建镜像卷的“动态磁盘2”,并指定“选择空间量”大小为1 024 MB,然后按照向导提示操作完成镜像卷的创建.
(5)RAID 5配置
在“磁盘管理器”中,右击“动态磁盘1”打开“新建RAID-5卷”向导.单击“下一步”,打开“选择磁盘”对话框,选择创建RAID-5卷的“动态磁盘2”和“动态磁盘3”,并指定“选择空间量”大小为1 024 MB,然后按照向导提示操作完成RAID-5卷的创建.
3种RAID模式配置完成后,结果如图1所示.
图1 RAID 0、1、5配置完成结果
3.3.2 性能与容错能力测试
(1)基本读写测试
分别在带区卷、镜像卷和RAID-5卷中存入数据(文件),测试能不能写入和读取,可以成功进行文件读写操作.
(2)读写性能对比测试
启动DiskMark,分别设置Set Size、Rounds、Run参数为:1 024*16、1 280、400,Disk Drive参数分别选择待测的硬盘驱动器.这样,相当于有1个800 MB大小的文件对所选择硬盘进行写入和读取操作.点击“Start”按钮开始进行测试,直到完成.记录带区卷、镜像卷和RAID-5卷模式读写性能数据,形成表1.
表1 带区卷、镜像卷和RAID-5卷读写性能对比
从表1可以看出,读性能,RAID 0最高,其次是RAID 1,RAID 5最慢;而写性能,RAID 0最高,其次是RAID 1,RAID 5因要进行校验数据生成的逻辑运算,也是最慢.测试结果和工作原理一致,但在实际工作中,选择RAID级别要考虑3个主要因素:可用性(数据冗余)、性能和成本,应根据具体的使用情况选择合适的RAID模式.[4]
(3)容错能力测试
如图1,磁盘2承担了3种RAID模式,将其在VM中禁用,相当于磁盘2损坏了,查看带区卷、镜像卷和RAID-5卷中的数据是否还能使用.带区卷不能访问,连盘符都看不到,而镜像卷和RAID-5因有容错能力,测试文件能正确读写,测试结果和原理相符.
3.3.3 RAID数据修复
(1)RAID 0数据修复
RAID 0不存在数据冗余和校验功能,在RAID 0阵列中,任意1块成员硬盘的损坏,都可能造成所有数据全部丢失.数据修复只能重建RAID 0,并从备份盘或磁带上恢复数据[5].
(2)RAID 1数据修复
RAID 1的数据是镜像存储,被存储的数据同时写入相应的镜像磁盘,一个磁盘损坏,另一个磁盘的数据依然完整.
RAID 1数据修复,在“磁盘管理器”中,选择“RAID 1”,右击打开“删除镜像”向导,选择标有“丢失”标记的磁盘,完成后“关机”.添加“新磁盘”,“开机”完成新磁盘的“动态磁盘”.再次右击“动态磁盘 1”,选择“添加镜像”,选择新添加的磁盘,重新同步结束后完成RAID 1的修复.
(3)RAID 5数据修复
RAID 5在写入数据的同时也写入了奇偶校验信息,当RAID 5中任意1块磁盘损坏,系统能根据其它盘中的校验信息计算出丢失的数据.
RAID 5数据修复,添加“新磁盘”,“开机”完成新磁盘的“RAID 5”.右击“动态磁盘 1”,选择“修复卷”,选择新添加的磁盘,重新同步结束后完成RAID 5的修复[6].
在成功构建基于VMware vSphere云计算平台的RAID虚拟实验环境基础上,完成了RAID实验中要求的RAID 0、1、5的配置,使用硬盘读写性能测试工具DiskMark对RAID 0、1、5的读写性能进行了测试比较,验证了RAID 0、1、5在单磁盘故障时的容错能力,并对RAID 1、5进行了数据修复操作,实验结果和工作原理相符.为数据存储类实验提供了一种确实可行的有效方法,它不但可以降低实验成本、节省实验设备投资,还极大地激发了学生的学习兴趣和实验积极性,提升了学生的实践技能.
参 考 文 献:
[1] 周翔鹰.基于VMware构建虚拟计算机网络实验[J].实验室研究与探索,2006,25(7):809-212.
[2] JIMMY PERSSON,GUSTAV EVERTSSON.RAID SYSTEMS[EB/OL].http://www.guzzzt.com/files/coding/raid.pdf.
[3] 李馥娟.虚拟机技术在复杂网络实验中的应用[J].实验技术与管理,2009.35(6):46-48.
[4] 孙丽丽,王伟峰,丁鹏,等.网络存储与虚拟化技术[M].北京:北京航空航天大学出版社,2013.
[5] 蔡平.磁盘阵列的数据安全隐患与数据修复[J].信息网络安全,2008,9(2):43-46.
[6] 褚建立.企业级网络服务器的容错技术及实现方法[J].微型机与应用,2009,19(7):11-13.