单机虚拟环境下磁盘阵列的实现

时间:2022-10-07 01:37:42

单机虚拟环境下磁盘阵列的实现

摘要:该文通过对操作系统中磁盘阵列的分析,提出了如何在普通实验室微机上进行磁盘阵列实验的方法,并结合具体的操作系统设计了可行的方案。

关键词:磁盘阵列;虚拟环境

中图分类号:TP333文献标识码:A文章编号:1009-3044(2008)33-1292-02

Put RAID into Practice with a Single PC Virtual Environment

ZHU Qi-jia

(Wuxi Institute of Arts and Crafts, Wuxi 214200, China)

Abstract: Based on the disk array in the operating system, this paper puts forward the experiment method of how to realize disk array in ordinary laboratory, combining with the specific operating system design a feasible scheme.

Key words: RAID; virtual environment

1 引言

磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起动作,大幅降低数据的存取时间,同时有更佳的空间利用率。一般高性能的磁盘阵列都是以硬件的形式来达成,进一步地把磁盘存取控制及磁盘阵列结合在一个控制器(RAID controller) 或控制卡上,针对不同的用户解决人们对磁盘输出入系统的四大要求:1)增加存取速度;2)提高容错(fault tolerance)能力,即安全性;3)有效的利用磁盘空间;4)尽量的平衡CPU,内存及磁盘的性能差异,提高电脑的整体工作性能。

磁盘阵列有两种方式可以实现,那就是“软件阵列”与“硬件阵列”。软件阵列是指通过网络操作系统自身提供的磁盘管理功能将连接在SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。硬件阵列是使用专门的磁盘阵列卡来实现的。这两种方式要在微机上实现,则必须有SCSI卡或磁盘阵列卡且使用多个相同的硬盘,这在现实中可以实现,但对学校实验室来说具备这样条件却不多,且价格较高。为解决这个问题笔者通过多次探索与实践,找到了在实验室普通微机上做RAID实验的方法。

2 磁盘阵列原理

磁盘阵列中针对不同的应用使用的不同技术,称为RAID level,而每一level代表一种技术,RAID技术是一种工业标准,目前业界公认的标准是RAID-0、RAID-1、RAID-3、RAID-5。

RAID 0是无数据冗余的存储空间条带化,具有成本低、读写性能极高、存储空间利用率高等特点,适用于音、视频信号存储等对速度要求极其严格的特殊场合。这种方式其实没有冗余功能,没有安全保护,只是提高了磁盘读写性能和整个服务器的磁盘容量。

RAID 1是两块硬盘数据完全镜像,安全性好,技术简单,管理方便,读写性能均好。因为它是一一对应的,所以它无法单块硬盘扩展,要扩展,必须同时对镜像的双方进行同容量的扩展。因为这种冗余方式为了安全起见,实际上只利用了一半的磁盘容量,数据空间浪费大。

RAID 3在安全方面以奇偶校验(parity check)取代海明码做错误校正及检测,所以只需要一个额外的校检磁盘(parity disk)。如某一磁盘发生故障,换上新的磁盘后,整个磁盘阵列(包括奇偶校验磁盘)需重新计算一次,将故障磁盘的数据恢复并写入新磁盘中。磁盘阵列的第一个磁盘分段是校验值,第二个磁盘至后一个磁盘再折回第一个磁盘的分段是数据,然后第二个磁盘的分段是校验值,从第三个磁盘再折回第二个磁盘的分段是数据,以此类推,直到放完为止。

RAID5(如图1)不用校验磁盘而将校验数据以循环的方式放在每一个磁盘中。RAID 5是目前应用最广泛的RAID技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验,校验数据平均分布在每块硬盘上。以n块硬盘构建的RAID 5阵列可以有n-1块硬盘的容量,存储空间利用率非常高。任何一块硬盘上的数据丢失,均可以通过校验数据推算出来。它和RAID 3最大的区别在于校验数据是否平均分布到各块硬盘上。RAID 5具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛,但不足之处是如果1块硬盘出现故障以后,整个系统的性能将大大降低。

3 建立虚拟机与添加硬盘

安装好虚拟机后开始创建和配置虚拟机。建立虚拟机步骤如下:1)按 CTRL+N创建一个新的虚拟机;2)新建虚拟机向导,单击 Next;3)虚拟机配置选择 Custom;4)选择客户操作系统windows 2003 server;5)命名虚拟机并输入位置;6)访问权限选择“Make this virtual machine private”;7)虚拟机帐户选择 “User that powers on the virtual machine”;8)选择一个处理器;9)内存选择700MB;10)网络类型选择 “Use bridged networking”;11)I/O 适配器类型选择“ LSI Logic”;12)磁盘选择“Create a new virtual disk”;13)虚拟磁盘类型选择 SCSI;14)磁盘容量输入“10GB”,取消选择 “Allocate all disk space now”,为了节省空间,不必分配所有磁盘空间;15)磁盘文件输入“localdisk.vmdk”,单击“Finish”完成虚拟机的创建。

图1 RAID5示意图

要在windows 2003 server中做RAID实验,需要向虚拟机中添加多个容量相同的硬盘。添加虚拟硬件设备磁盘步骤如下:1)在虚拟机主界面中选中windows 2003 server,单击 “Edit virtual machine settings”按钮打开硬件配置窗口;2)虚拟机设置界面中单击 “Add”;3)新增硬件向导界面中单击 “Next”;4)硬件类型选择 “Hard Disk”;5)磁盘选择“ Create a new virtual disk”;6)虚拟磁盘类型选择 “SCSI”;7)指定磁盘容量输入“1.0GB”,并复选“Allocate all disk space now”,如果希望节省空间,则不必分配所有磁盘空间。出于性能方面的考虑,需要为每个虚拟共享磁盘预先分配所有磁盘空间。特别是在 Oracle 数据库创建期间或者当数据库的 DML 活动较频繁时,如果共享磁盘的大小增长快速,虚拟机可能会间歇挂起一段较短的时间甚至崩溃;8)输入磁盘文件并复选“ Advanced”;9)虚拟设备节点选择 “SCSI 1:0”,模式选择 “Independent”,所有共享磁盘选择 “Persistent”,最后单击 “Finish”完成第一个虚拟SCSI硬盘的添加。

重复以上建立添加虚拟硬盘步骤1至9以创建四个虚拟SCSI硬盘,完成后在虚拟机的配置页面就可以看到4个硬盘。有了新添加的虚拟硬盘,在Windows 2003 Server虚拟机中使用管理工具就可以进行RAID实验。下面以RAID-5为例介绍实验的设计过程。

4 创建与修复RAID-5卷

启动虚拟机进入Windows 2003 Server桌面,在安装Windows 2003 Server时,硬盘将自动初始化为基本磁盘。在基本磁盘分区中不能创建RAID-5卷,而只能在动态磁盘上创建类似的磁盘配置。在将一个磁盘从基本磁盘转换为动态磁盘后,磁盘上包含的将是卷,而不再是磁盘分区。其中的每个卷是硬盘驱动器上的一个逻辑部分,还可以为每个卷指定一个驱动器字母或者挂接点。

转换动态磁盘步骤如下:1)依次单击“开始”-->“所有程序”-->“管理工具”-->“计算机管理”选项,显示“计算机管理”窗口;2)在左侧控制台中依次展开“存储”-->“磁盘管理”选项,以显示计算机中安装的所有磁盘;3)右击要设置为动态磁盘的硬盘,并在弹出的快捷菜单中选择“升级到动态磁盘”选项,将显示“升级到动态磁盘”对话框;4)选中要升级的磁盘,然后单击“确定”按钮,将显示“要升级的磁盘”对话框,在这里要求用户对要升级为动态磁盘的硬盘进行确认。5)单击“升级”按钮,将显示“磁盘管理”提示框,系统再次要求用户对磁盘升级予以确认;6)单击“是”按钮,将显示“升级磁盘”警告框。在这里提示要升级磁盘上的文件系统将被强制卸下,并要求用户对该操作进一步予以确认;7)单击“是”按钮,系统将开始磁盘的升级过程。

实现RAID-5过程如下:1)在“磁盘管理”中,右击要设置RAID-5的硬盘,并在快捷菜单中选择“创建卷”选项,将显示“创建卷向导”窗口;2)单击“下一步”按钮,将显示“选择卷类型”页面,在这里选择要创建的卷类型。通常情况下,为了保障数据的安全,应当选择采用RAID-5卷;3)单击“下一步”按钮,将显示“选择磁盘”页面。在左侧“所有可用的动态磁盘”列表框中选择要添加的磁盘,并单击“添加”按钮,即可将其添加至该RAID-5卷并显示在“选定的动态磁盘”列表框中;4)动态磁盘添加安毕后,单击“下一步”按钮,将显示“指派驱动器号和路径”页面。选中“指派驱动器号”选项,并为该RAID-5卷指派驱动器号,以便于管理和访问;5)单击“下一步”按钮,显示“卷区格式化”页面。选择“按下面提供的信息格式化这个卷”选项,并采用默认的NTFS文件系统和分配单位大小。可以为该RAID-5卷指定一个卷标,以用于与其他卷相区别;6)单击“下一步”按钮,将显示“完成创建卷向导”页面,此时卷的创建完成;7、单击“完成”按钮,系统将自动格式化新创建的卷(如图2)。至此,RAID-5卷已创建完成。

图2 完成创建向导

磁盘冗余的目的就在于当磁盘出现故障时,系统能够保存数据的完整性。如果在RAID-5中某个磁盘成员失败必须及时加以恢复。替换磁盘和重新生成RAID-5卷步骤如下:1)更换故障磁盘,并将它设置为动态磁盘;2)在“磁盘管理”中,右击失败磁盘的RAID-5卷,在弹出的快捷菜单中选择“恢复卷”选项,将显示“修复RAID-5卷对话框”;3)选择要在RAID-5卷中替换失败磁盘的磁盘,并单击“确定”按钮。此时RAID-5卷开始自动修复;4)右击失败的磁盘,并在弹出的快捷菜单中选择“删除磁盘”选项,并从系统中删除该磁盘。

5 实验效果或小结

本实验基于Windows XP环境下进行,在虚拟机中能很好地完成虚拟机创建、虚拟硬盘的增加、升级动态磁盘、创建与修复RAID-5卷等实验,针对现实中实际RAID实验,它无需增加硬盘与阵列卡等硬件,实验也可以多次进行而对微机无额外要求。实验结果表明它与实际通过硬件实验达到了相同的效果,虚拟实验环境对于RAID实验是一个理想的选择。

参考文献:

[1] 二代龙震工作室.Windows 2003 Server实用教程[M].北京:电子工业出版社,2003.

[2] 蒋理.计算机网络实验操作教程[M].西安:西安电子科技大学出版社,2003.

[3] 易倍思工作室. 虚拟机全接触[M].上海:科学技术出版社,2004.

上一篇:嵌入式Web Server技术在工业控制领域的应用 下一篇:基于B/S结构的“校园一卡通”消费系统设计