Windows Server 2008的一个特性在于,操作系统的许多方面的功能都可以通过命令行方式进行管理。如果我们在一台带GUI界面的电脑上正好需要定义一个RAID阵列,通常是比较容易实现,在磁盘管理控制台程序重点击几下鼠标即可完成安装操作。
如果需要对多台机器进行同样的RAID操作,采用脚本的方式效率会更高一些。同样,如果我们正在进行Server Core的安装,那就没有其它选择,只能从命令提示符下管理自己的磁盘子系统。本文中,将介绍如何采用命令行方式实现上面提到的功能。
1、Diskpart命令
Windows Server 2008包含一个名为Diskpart.exe的命令行实用程序,用来管理服务器的磁盘子系统。要使用此命令,只需打开命令提示符窗口,并输入DISKPART.EXE命令,Windows将进入Diskpart Shell界面。在Diskpart Shell界面中,可以使用各种命令来管理磁盘子系统。
2、Diskpart命令的语法
Diskpart命令格式,按照动词-名词的语法。动词告诉Windows要执行什么动作,名词告诉Windows要执行动作的对象。
举个简单的例子:“List Disk”命令。其中List是动词,Disk是名词。当输入这个命令时, 操作系统会显示列出服务器上安装的所有的物理磁盘。
List Disk命令会显示安装在服务器上的所有的磁盘。但Diskpart好像存在Bug:上图的数值中,Diskpart返回结果显示Disk 0上可用空间为0字节 。但实际上,该磁盘有42 GB的可用空间。
注意上面的数值,每个磁盘都分配了一个磁盘号。当我们需要对某一特定的磁盘执行特定操作时,可以输入“select”命令来指定磁盘。比如想针对Disk 0 进行操作,输入“select Disk 0”即可选中Disk 0 。
在许多情况下,磁盘管理都会涉及到创建容错卷,使用Diskpart可以很容易做到这一点。举例来说,有个操作系统有四个硬盘驱动器安装,硬盘编号分别为0,1,2,3。假定Disk 0是系统驱动器,Disk 1,2, 3是空白的硬盘驱动器,我们要转换成一个RAID 5格式的磁盘卷。
在创建RAID 5磁盘卷之前,我们必须确保每个磁盘都作为一个动态磁盘。List Disk命令能够提示磁盘是否是动态的,这点我们可以回过头看一下图1。假设没有动态的磁盘,可以输入“Convert Dynamic”命令进行转换,如下所示:
Select Disk 1
Convert Dynamic
Select Disk 2
Convert Dynamic
Select Disk 3
Convert Dynamic
磁盘都已经转换成动态磁盘了,现在可以使用“Create Volume”命令创建RAID 5磁盘卷了,如下所示:
Select Disk 1
Create Volume RAID Disk 1, 2, 3
如果输入“List Volume”命令, Diskpart将确认是否已经创建了RAID卷。“List Volume”命令执行后的界面,请注意,每个卷都指定了一个卷号。
最后一个操作是对新创建的卷进行格式化,并指定一个盘符。假设空的RAID卷为 Volume 2,现在我们需要将G:盘挂接(mount)给volume 2。为了实现这一目的,我们可以输入以下的命令:
Select volume 2
Format FS=NTFS Label=MyNewVolume
Assign Letter=F
上面的命令执行后,可以用List Volume命令来确认一下操作是否成功。
输入exit命令可以离开Diskpart Shell界面,回到命令行界面。
3、小结
本文通过实例,介绍了如何使用Diskpart命令来管理磁盘。Diskpart命令还有很多功能,一篇文章中无法全部列举。如果需要,要使用Diskpart命令,可以在命令提示符输入Diskpart.exe。当Windows打开Diskpart Shell后,如果需要输入额外的帮助,可以输入“?”则操作系统将会列出所有可用的Diskpart命令。