基于Windows Server 2003下的软件RAID(磁盘阵列)
今天给大家介绍RAID的相关实验,主要是让大家对RAID 0,RAID 1,RAID 5和相关的磁盘操作有个感性的认识。
1、创建实验环境,这里我克隆一台刚装Windows Server 2003系统的虚拟机,并在此虚拟机的基础上添加5个4G的虚拟硬盘用于RAID实验:
2、硬盘添加完成后,启动虚拟机进入系统,打开“计算机管理”→“磁盘管理”开始对新添加的硬盘进行初始化操作:
3、新添加的硬盘经过初始化便可以对其进行操作,但目前的硬盘是处于“未指派”状态,这时是不能访问的,需要我们都“未指派”的硬盘进行分区和格式化操作后才能开始使用。新添加的硬盘自动转换为动态磁盘,而我的系统硬盘是基本磁盘,基本磁盘可以转换为动态磁盘而不损失数据,而动态磁盘转换为基本磁盘会丢失原有数据,有关知识不在这介绍了,大家看下:
4、下面开始在“未指派”的硬盘上开始进行RAID的相关实验,我们首先做的是RAID1(镜像),在做RAID1实验时要求至少具备两个硬盘,一个硬盘为另一个硬盘的完全副本(一个是另一个在镜子里的影像一样,所以叫做镜像),在存放数据时,两个硬盘上存放的是一样的,即要求在存放一个数据时同时向两个硬盘存放。做好RAID1后实际可用的硬盘容量大小为两个硬盘的实际容量大小中一个硬盘的容量大小。
RAID1的好处是支持容错,当两个硬盘中的任何一个硬盘发生故障不能访问时,此时并不影响系统对RAID1硬盘的数据访问,因为另一个硬盘是好的,并且上面存放的数据是一样的,此时我们只需要将坏的硬盘取出,再添加一块新的硬盘,将其添加到RAID1硬盘组里替换另一个坏掉的硬盘即可(在支持热插拔的硬盘功能的服务器上,可以实时替换,完全不用关机),不需要其他操作,新添加的硬盘会自动从另一个好的硬盘上将数据复制过来。
RAID1的缺点就是处理速度要慢点,因为在存放一个数据时,要向两个硬盘分别存放,即一式两份,但访问速度是很快的,同时访问两个硬盘。
(1)RAID1(镜像)创建,大家看图就会明白:
(2)这里我们选择“镜像”,单击“下一步”:
大家可以看到我们还可以创建其他的类型,这里后面介绍其他。
(3)因为RIAD1至少需要2块硬盘,所以我再添加一块。我在这里做的实验是对一个硬盘做同时做几个RAID的实验,就是想让大家多看些,但是在实际生产和应用中,一个硬盘上的全部容量都会只拿来做一个类型的RAID,不会同时做几种类型的,大家一定明白。
这里我将为RAID1添加两块硬盘,大小分配1024M,然后单击“下一步”:
(4)后面的操作大家看就明白的,不多介绍了:
(5)RAID1创建完成,大家自己可对比差别,后面再验证它的容错功能,因为我还要继续创建其他RAID:
5、下面开始创建RAID5,RAID5要求至少3块硬盘,也支持容错功能,任何一个硬盘坏掉都不影响数据的访问。
RAID5在存放数据时,将一个数据分成多份,以每两份为一个单位在三个硬盘中的两个硬盘当中存放,而另一个硬盘存放的是有关对这两份数据的一个校验,,通过这个校验和另两块硬盘中的其中一块,能将另一块硬盘上的信息识别出来,因此支持容错,在实际应用中非常广泛,因为它的硬盘开销要小,33%左右的开销(未用),而RAID1要50%的开销(未用)。
这种支持容错功能的RAID,只要你的真机服务器支持硬盘的热插拔,你便可以在真机突然一块硬盘坏掉后,在不关机的情况下,直接取出,换上另一块一样的硬盘便可,非常有用。
下面大家也是看图就是了,不过多介绍:
6、下面开始RAID0(带区)的创建,RAID0是不支持容错的,也是至少两块硬盘,在存放数据时,它是将数据分成多份,同时存放多个硬盘上的,如ABCDEF这个数据,两个硬盘的RAID0,在存放时,硬盘1存放A,硬盘2存放B,同时进行,然后硬盘1存放C,硬盘2存放D依次存放,最后是硬盘1存放ACE,硬盘2存放BDF。
RAID0的优点是存和取速度快,没有开销浪费(RAID0最后硬盘容量大小为所有RAID里硬盘大小的总和),缺点就是无法提供容错,只要RAID0硬盘组里的任何一个硬盘坏掉,整个RAID0就无法访问。在现实当中往往是使用多种RAID的组合进行组织硬盘的,如RAID0+1等,这点大家了解下。大家看图创建RAID0:
7、下面再给大家介绍下如何创建“简单卷”:
所谓“简单卷”,就是我们使用的最基本的动态磁盘的剩余容量创建的,只在一个硬盘上(如果“简单卷”上的硬盘空间大小不够使用时,我们一般是使用另一个有容量的“简单卷”来存放,但要是想在原有的“简单卷”里继续存放,那就要使用扩展卷,将“简单卷”的容量扩大,这里我先创建一个“简单卷”,后面再演示如何进行扩展)。
大家看图创建“简单卷”:
8、下面介绍下如何扩展前面刚创建的简单卷,目前这个简单卷的大小为2.5G,大家看我扩展后的大小的变化:
9、下面是我最后实验创建后的结果图,大家应当明白些了:
10、前面说过基本磁盘可以转换为动态磁盘,下面给大家看下转换过程截图。
我上面的操作都是在动态磁盘上进行的,大家要明白哟:
11、下面我们在创建完成后的RAID0、RAID1、RAID5、简单卷(扩展卷)里存放一定的数据,后面模拟系统里一块硬盘突然坏掉的情况下,数据是否还能访问,体验一下本次实验是否有用:
12、下面我模拟硬盘坏掉:
这里我把第三和第六个硬盘移除,由于我这次实验是在一个硬盘上做了几种类型的RAID,导致我后面我不能用一块新的硬盘来替换坏掉的那块硬盘,但在实际中这种情况一般不会,这里大家会看到我把第三块硬盘移除(系统里的磁盘2),第六个硬盘(系统里的磁盘5),然后再添加了一块10G的硬盘,如果我事先多规划下,还是能够演示替换坏掉硬盘的实验的,既然已经是这样,就让大家多看点错误的操作,从反面给大家一些经验吧,只要大家明白相关原理(理论),这些问题就都不在话下,所以下面大家别奇怪。
13、下面是我将两块硬盘移除后的结果,因为RAID1和RAID5支持容错,所以它们所在硬盘组中,如果只是一个硬盘坏掉,那是不影响数据访问的,而其他的因为不支持容错,所以便不能访问了,数据因此丢失了。大家看下:
14、实验到上面一步,基本表述的也是介绍完了。这里给大家说明下,因为磁盘坏掉了,我们将坏掉的磁盘换成新的硬盘,需要对新的硬盘进行初始化操作,并且我们还要在系统里将坏掉的硬盘给删除掉,然后将新的硬盘添加到RAID1或RAID5等支持容错的RAID组里,然后让硬盘自动进行数据的复制或恢复操作,这样如果以后那天又有一块硬盘坏掉,那它还是能访问的。这样才算完成。
因为事先的规划问题,所以这里不能介绍全了,大家只是看下图,明白个思路,因为在现实中是不会像我这样在一块硬盘上做几种类型的RAID的,大家明白:
15、RAID和磁盘操作相关的实验就到此告一段落了。大家的感性认识到达一定的境界是否是想要提升自己的理论水平,达到理论的高度呀。如果是的话,那就得要多学习,多看些相关书籍,多练些基本功:
转载于:https://blog.51cto.com/chinaitly/716931