在windows nt/2000下实现“软”raid的方法 . M. L; m q+ j h4 ^8 ]# l6 o
(中国计算机报-于文波 2001年11月06日 17:33)
& R9 O, e8 _ d. n, g. @$ V) ?/ T( braid(redundant array of inexpensive disks)意思是廉价磁盘冗余阵列,它是一种容错方法,通过将大量磁盘在逻辑上串联起来提供高水平的可用性和冗余度。众所周知,硬件raid解决方案是有效的方法,但其成本却非常高…… windows nt/2000提供了内嵌的软件raid,实现了raid0、raid1、raid5。由于可以节省可观的资金,因而众多中小企业大多可以采用软件的方法来实现。
' m& V5 w9 z( D; H9 x1 Int server支持raid1(磁盘镜像)和raid5(带校验的stripe set),nt也支持raid0(不带校验的stripe set),这种方式不提供数据冗余,但提供了性能的增益。nt workstation 不支持容错的raid(raid1、raid5),但支持raid0。
3 n& M% v6 ~/ O9 P& c在nt上管理raid5 " r; o0 }6 K% w( x
创建raid5 stripe set with parity的目的是为了考虑磁盘在失败时不丢失数据,创建步骤如下:
1 K2 ~) y1 B, ?+ d* _运行“disk administrator”(start→programs →administrative tools→disk administrator); ) }& r% J E/ f" z
在三个不同的物理磁盘上,至少选择三个自由空间区域;
. B: t7 j0 Q& U5 p' U- J5 E从fault tolerance选单中选择create stripe set with parity; 4 M# \( [) a6 D' z& d( }: S
输入希望的大小,然后单击ok。
( a( x2 ~9 O3 A% R- o6 V! V: m【注意】当“stripe set with parity”的一个成员失败时,用户得不到任何警告,系统继续运行。作为指示,当用户运行“disk administrator”时,将产生一个系统事件日志,在事件日志中记录分区所在的位置空间。可以执行以下步骤重新创建stripe set:
; `7 N1 l9 h: N- ], P0 B替换容错磁盘并启动nt;
6 q; g5 q- D5 p& o: d运行disk administrator;
! L5 V4 S; E9 E, n选择需要的stripe set,然后选择新物理磁盘上未分区的一个空间区域;
1 \4 W; ~8 L( L" k从fault tolerance选单中选择regenerate。 9 @! f+ g+ m- b+ C( m2 ]+ a
通过以上步骤就可以重新创建一个损坏的stripe set。 ( k2 @; \8 h9 Z2 G
要想删除一个stripe组,执行如下步骤(注意,这将丢失stripe组上所有的数据信息): 7 {/ _4 R, M/ ]+ l% D
运行disk administrator; , ?& i0 S# T# }9 a
选择希望删除的stripe组;
% t9 {& U) M0 L% y- Z* n" }4 {$ s从partition下拉选单中选择delete
4 n+ V% G: Z3 _- G6 d! Z, G确认该删除操作。 - O7 u) S" O$ ?
在nt上管理raid1
% q- s5 J! S9 s+ N要创建一个镜像分区(raid1),首先要创建一个主分区,然后可以创建其镜像分区。 $ M4 u( N2 I3 L' z4 N3 w
运行“disk administrator”; 9 o. L3 q W! U/ j7 X, i
单击构成主分区的现有分区,并按下ctrl键;
* E% u( _8 `5 b3 ]' x: u* M* r单击磁盘空间的未分区区域(必须选择一个未分区的空间区域,而不选现有的分区); 8 Y- {8 r& c# Y& v
从“fault tolerance”选单中选择“establish mirror”;
# _, a/ _ \: F从partition选单中选择“commit changes now”,复制开始; 6 a( g( B( j( e
完成后需要重新引导机器。如果有一个镜像分区被损坏,可以采用以下步骤进行修复:
- k' Z( b: E& V& ~1 V3 Q- {首先须保证有一个未分区的空间,大小至少和主分区相同; ( e2 W, d" x H2 A6 N
运行“disk administrator”;
% |2 }. F/ t4 o3 n单击执行分区的工作区,按下ctrl键,然后选择未分区的空间; : U8 d9 ~' y/ a7 n) {
从fault tolerance选单中选择“establish mirror”。 * J2 T7 G6 M9 Z/ {7 ?
这样,就将损坏的morror组进行了修复。 : F+ ~6 f3 r: @; V0 v; M7 ^. p
如果丢失了容错集的成分(例如:硬件失败引起的丢失),将显示一条消息“a disk that is part of a fault-tolerant volume can no longer be accessed”(磁盘容错卷部分不再可以访问),这个驱动器仍然是可用的,但镜像被挂起,因为没有副盘可用。这时,应该先将mirror组断开,然后进行修理。断开的步骤如下:
B: s% O* F) Z7 C7 l% A5 d运行disk administrator; : U) y) l% i, }) o
当显示一条消息说明磁盘丢失时,单击mirror;
3 _9 \4 y$ {, R: w从fault tolerance 选单中选择break mirror; % q, O- j( d. }; L4 `0 a: b! O
确认该操作。
3 l# n+ u, A* E7 y2 Q在windows 2000中管理raid5 5 y$ B7 h& }7 k7 q! t' G
windows 2000引进了动态磁盘机制,raid卷集中的所有成员都必须在一个动态磁盘上。因此,要在2000上安装raid,必须首先将一个磁盘转换为动态的,执行以下步骤,将一个基本磁盘转换为动态磁盘: : @7 e6 E( U3 h( E! L7 g
启动“computer manager mmc snap_in”(start →programs→administrative tools→computer manager);
/ y$ W7 @1 y4 D) X选择expand storage→disk management;
# \- W6 @/ w+ [3 k; t# D右击磁盘,选择upgrade to dynamic disk;
2 n3 B( Q# a/ V. s3 x" K% l3 V选择要升级的磁盘,单击ok;
2 u1 w( `; `& ^1 i当显示概要时,单击upgrade。
) L$ _2 c0 Y2 g【注意】转换一个基本磁盘到动态磁盘不需要重新启动,但磁盘上的任何卷在转换后将弹出一段信息说明可以使用这些卷之前需要重新启动,笔者个人通过实验后认为没有必要,可以直到标识完所有的卷,并且弹出所有对话框后,再执行一次重新引导就可以了。
- O6 H% I# B9 ~* I* P假设在三个分开的磁盘中需要有用来创建raid5组的磁盘空间,执行以下步骤来创建raid5组:
9 K8 q1 I2 W/ o运行“computer management mmc”(start→programs→administrative tools→computer manager); % j7 t$ L6 G* P1 x7 m9 k; _
将storage分支展开,选择disk manage- ment; 5 W, P$ T7 Z7 [/ _- n$ O* `' {: z
在unallocated space(未分配磁盘空间)区域上单击鼠标右键,从弹出的选单中选择create volume; 5 B/ U! s6 Y; k! m& E* a! r6 B
在volume creation wizard中单击next; 2 A9 l9 I7 Q0 h
选择弹出窗口中的“raid5 volume”项,单击next; J1 }, o* E" u& @% \, d
在屏幕右侧,选择希望使用的磁盘(至少3个),单击add;
0 |+ }5 B* }/ L5 q. S. K选择每个磁盘要使用的空间大小,每个磁盘上使用的空间必须是相同的,所以可以使用的最大空间就是这些磁盘中具有最少空间的盘上的自由空间数; % } P9 v" Q9 Y i# c7 ]6 z
当选择了磁盘空间大小以后,单击next; ( I* F0 n3 [" K. P: w: \
【注意】如果从每个磁盘上选择的磁盘空间为1000mb,那么总共只有2000mb,第三个磁盘的空间用于保存校验信息。 / `3 C/ N! w/ ?* d3 Z, L
选择要使用的驱动器标识符,单击next; 3 a7 r0 ^% Z& C. Q
选择要使用的文件系统和标记(也可以选择是否使用文件和文件夹压缩),单击next; 3 h! O$ ?, k6 S$ H# r1 A Y
当summary屏幕出现时,单击finish; + m% U/ A& N% M P5 o3 U
现在磁盘区域应显示为raid5,并且处于regenerating mode。
9 A1 m+ g- g3 [9 ? D! ]3 y1 H0 r【注意】使用时可能看到来自logical manager的一条消息:“the operating did not complete because the partition/volume is not enabled. please reboot the computer to enable the partition/volume”由于partition/volume没有激活,所以操作没有完成,重新引导机器激活partition/volume 。对于这条消息,单击ok,不要重新引导机器,等到重建完成,并且卷显示工作正常后再重新引导。否则,必须在重新引导以后执行重新格式化。
1 f9 X0 P% A) p/ q. p另外,如果raid5组的一部分硬件被损坏,那么这个卷将丢失所有数据,要想修复,必须替换坏盘以重新启用raid5的容错功能,替换坏盘以后,执行以下步骤的操作:运行computer management mmc;
, U2 a9 |+ y+ D4 A; Q. y将storage分支展开,选择disk management(注意,这时去除的磁盘仍显示为missing);
( O' \% f2 @( U3 U4 N [右击raid5卷的一个成员,然后从弹出选单中选择repair volume;
6 i: k2 m& I# @1 U6 _. b从列表中选择一个要使用的盘作为替换盘,然后单击ok。系统中可以作为该组成员但已不是该组成员(动态的或具有足够未分区空间)的盘会显示为disk1、disk2等; 0 }" [6 D0 i4 a/ z4 x7 }
raid 5组作为 regenerating显示。 3 ` w! K+ q1 Q: e7 ~& {
现在,又具有容错能力了,raid5分组已经从“missing”盘中去除。单击鼠标右键选中missing text ,然后从弹出选单中选择remove disk。
1 D* D: A7 h6 e* M7 [在实际工作中,可能要进行raid5组的删除操作,这将导致其上所包含的所有数据信息的丢失,因此,在raid 5组删除以前一定要先执行数据备份操作。执行以下步骤删除raid5组: 3 V6 Y0 |, ?0 c5 S1 L3 z
运行computer management mmc; & S3 E7 ~/ `( W% ]
将storage分支展开,选择disk manage- ment;
: a9 C( a* X- b) H& I3 F3 m7 k! ?右击raid5卷的一个成员,然后从弹出选单中选择delete volume; 2 C& p, R3 M: P9 C
单击yes确认。 Z5 G, |: }* G8 R8 I
现在,raid5卷使用的所有空间都将作为unpartitioned显示。
: n! r5 L8 t5 {7 D" M在windows 2000中管理raid1
& e& H) @* n) u7 @+ x0 w" N同raid5组一样,raid1卷集的所有成员都必须位于动态磁盘上。创建raid1步骤如下:
3 y& _: p* K) o( M# C4 d运行“computer management mmc”; . s+ x2 Y. t4 f% |4 S
将storage分支展开,选择“disk management”;
3 T: n3 P$ G( O5 D右击希望执行镜像的分区,然后从弹出选单中选择“add mirror”;
1 y" f% `* @9 v2 M' }- |选择镜像的主盘,然后单击“add mirror”; 6 J+ \ V1 m! |% l
如果要镜像引导分区,则出现一个对话框,其中列出了激活镜像引导需要执行的修改细节,单击ok。 / T4 F) b9 H ]- Y" @. c
mirror组将显示为regenerating。 # o! |! z1 x% Q ~0 `
要删除镜像,会导致数据丢失,因此应保留两个单独的卷作为数据备份。删除raid1的步骤如下:
3 V& [8 @$ Q. ?( K) l8 f5 i8 G运行“computer management mmc”; : {3 @: S9 W* z
将storage分支展开,选择disk management; 0 k0 K) {5 O) Q7 x6 l x% C. \
右击要删除的镜像卷,然后从弹出选单中选择break mirror;
+ `& z8 h. |6 d0 T& C% I单击yes确认;
! d) T, l! s- {2 ~3 Q3 r) h; D' A$ f单击警告对话框中的yes。 ( g6 K. p8 p B3 q' `- e( h
【注意】在保留两个卷时,可能希望删除以前保留的不需要的镜像,保留新的数据卷,在第3步中的弹出选单中,有一个delete mirror选项,单击该选项可以删除构成镜像的两个卷,但卷上的数据将全部丢失。
1 M0 p0 ]+ B: |2 J# k ~3 T& H------------------------------------------------------------- . j1 Z( K3 z3 \: {# X
已安装了raid的电脑能重新安装nt吗?
, X2 U7 g0 H; J0 uwindows nt在注册表的键:hkey—local—machine\system\ disk registry中保存了有关“卷/镜像/stripe set”的信息,如果重新安装nt,将丢失这些信息,而不再将这些卷识别为容错sets。要想避免出现这个问题,在重装nt前执行如下操作: Z* }8 i* S/ L& ?3 Z/ m
运行“disk administrator”;
0 F9 x$ q. E/ N3 J, X+ h从partition选单中选择configuration→save;
+ j% V" d6 n6 a插入格式化的空白软盘,单击ok;
7 l. W# @8 M$ m. p4 }# j5 G4 Z" m单击success消息上的ok。
2 K& ~5 |8 R, Q8 l8 Q这样将在软盘上创建一个单独的文件system。保存这张软盘,将其标记上系统的名字以及创建的日期。重新安装nt后,首先运行“disk administrator”,从partition选单中选择configuration→restore。插入所创建的软盘,那么原先的卷/raid组将恢复,同时恢复驱动器标识符的分配。如果只是简单地在机器上增加安装另一个nt系统,并希望保留前一个版本的设置,则可以从partition选单中选择configuration→search,它会查找nt的其他版本,然后给出覆盖其配置的选择。 a' i- g% d9 o: E& L- p+ v
|