近几年来一直给客户解决一些问题,其中有一个问题比较有共性:服务器C盘空间满了怎么办?这几年我解决了多例这样的事情,服务器操作系统主要是Windows Server 2003(或Windows Server 2003 R2)、Windows Server 2008 R2,服务器C盘空间不够,怎样扩充C盘的空间。下面我们分多种情况进行介绍。


1 C盘能否扩容的条件


服务器C盘空间满了能否扩容,与受下列因素影响:

(1)物理服务器无RAID可以扩容。硬盘没有配置RAID,而是进入操作系统之后划分的分区(C、D、E等),这种情况下C盘可以扩展。

(2)物理服务器划分一个卷可以扩容。如果物理服务器配置了RAID,那么要看C分区所在的卷是否还有空间。通常情况下服务器用RAID划分逻辑卷,一般有两种情况,一种情况是将多个磁盘划分为多个卷,例如2块盘做RAID-1,或3块盘做RAID-5,这些磁盘划分成一个卷(如图1-1所示,这是3个1TB磁盘使用RAID-5划分为1个卷的截图)。在安装操作系统的时候,将1.818TB划分了多个分区,例如将C分配了100GB,剩余的分配为D、E等盘符,在这种情况下,如果C盘空间满了,但D、E有剩余空间是,是可以压缩D、E的空间,为C扩容的。

图1-1 3块1TB盘做RAID-5,划分成1.8TB的一个逻辑卷

(3)物理服务器划分多个卷不一定能扩容。还有另一种情况,在配置RAID的时候,划分了两个卷,第1个卷划分的较小用于安装操作系统(操作系统中划分给C分区),剩下的空间划分为第2个卷用来保存数据,如图1-2所示,图中10个磁盘使用RAID-10划分为两个卷,第1个卷100GB,剩余的空间划分为第2个卷(4.448TB)。如果在安装操作系统的时候,这100GB都划分为C盘,C盘空间满了,那么这个C盘是不能扩容的。

图1-2 10块盘划分为2个卷

如果C盘所在的分区是图1-2中100GB的一部分,例如划分了30GB,剩余的空间划分为D,而D有空间,则C也是可以扩容的。但这种情况很少。

(4)所有的虚拟机的C盘都能扩容。

在了解了扩容的条件之后,接下来介绍扩容的方法,这些方法受C盘所安装的操作系统限制。通常来说,Windows Server 2000、Windows Server 2003是一种方法,Windows Server 2008及其以后的操作系统是另一种方法。


2 使用DiskGenius调整C、D磁盘空间


在C盘空间不足的情况下,如果D分区还有较大容量,可以使用DiskGenius工具软件压缩D盘空间,扩充C盘空间,调整前示意图如图1-3所示。

图1-3  磁盘管理

对于图1-3这种情况,无论操作系统是Windows Server 2003还是Windows Server 2008、Windows 7、Windows 10,都可以使用DiskGenius、在DOS模式下调整。调整前后C、D磁盘的数据不会丢失。下面介绍调整的方法与主要步骤。

(1)使用"电脑店U盘启动工具"制作启动U盘,用U盘启动服务器,选择"运行最新版DiskGenius分区工具",如图1-4所示。

图1-4 运行DiskGenius

(2)进入DiskGenius的DOS界面,此时看到"硬盘0"有两个分区,其中第2个分区有较多空间,用鼠标右键在第2个分区单击,在弹出的快捷菜单中选择"调整分区大小",如图1-5所示。

图1-5 调整分区大小

(3)在"调整分区容量"对话框中,用鼠标拖动左侧的滑动条向各移动,让分区"前面"调整出空间,或者在"分区前部的空间"输入要在分区前剩余的空间,例如19.05(GB),然后单击"开始"按钮,此时DiskGenius会移动分区前面的数据,并在分区前压缩出指定大小的剩余空间,如图1-6所示。

图1-6 调整分区大小

(4)此时DiskGenius会弹出提示,是否要立即调整此分区,单击"是"按钮继续,如图1-7所示。

图1-7 确认调整

(5)之后DiskGenius开始调整分区,调整时间视磁盘大小、需要移动的数据多少来定。在此期间不要断电、强制关机,有的时候系统会和"死机"一样,请耐心多等一段时间,如图1-8所示。调整完成之后,单击"完成"按钮。

图1-8 调整完成

(6)调整之后,在C、D之间多出一段"空闲"分区,这是压缩D分区获得的,用鼠标右击第1个分区(C盘),在快捷菜单中选择"调整分区大小",如图1-9所示。

图1-9 调整C分区大小

(7)在"调整分区容量"对话框中,移动C分区右侧的滑动条向右侧空白的位置拖动,或者在"分区后部的空间"输入剩余的空间,如果输入为0,则使用所有可用的空间,如图1-10所示,然后单击"开始"按钮,开始调整。

图1-10 调整空间

(8)之后DiskGenius开始调整分区大小,如图1-11所示。调整完成之后单击"完成"按钮。

图1-11 调整分区

(9)调整之后可以看到,C分区已经"增加",如图1-12所示。C、D之间的"空闲"分区已经没有。单击右上角的"重新启动"按钮,退出DiskGenius并重新启动计算机,拔下U盘。

图1-12 分区调整完成

(10)再次进入Windows操作系统,打开"计算机管理",可以看到C盘增加,D盘减小,如图1-13所示。

图1-13 磁盘管理

(11)打开"资源管理器",可以看到D盘上的数据仍在,如图1-14所示。至此C盘扩容完成。

图1-14 D盘数据仍在


3 直接为Windows 2008 扩容


如果需要扩容的操作系统是虚拟机,当C盘空间不足时,可以先修改虚拟机的配置,增加虚拟磁盘的大小,然后再进入虚拟机中,为C盘扩容。如果磁盘结构和图1-3类似(有C、D),则在为虚拟机扩容后,在C、D分区的"后面"会有"空闲"分区,此时的扩容方法可以采用上一节,用启动U盘进入DOS执行DiskGenius,调整D盘到"空闲分区"位置,然后扩充C盘的大小。如果磁盘结构和图1-3不同,即C分区所在磁盘只有一个分区时,除了使用DiskGenius进行扩容外,如果操作系统是Windows Server 2008及其以后的系统,则可以在Windows中直接进行"扩容"。下面我们介绍主要的步骤。

(1)修改虚拟机的配置,调整硬盘的大小,如图1-15所示(以VMware ESXi虚拟机为例)。

图1-15 增加磁盘的大小

(2)然后进入虚拟机系统,在"计算机管理→磁盘管理"中,刷新磁盘,可以看到C盘后面新增加的"未分配"空间,右击C盘,选择"扩展卷",如图1-16所示。

图1-16 扩展卷

(3)在"扩展卷向导"中,选择磁盘,在"选择空间量"中,输入要扩展的大小,一般选择默认值即可,如图1-17所示。

图1-17 扩展卷

(4)在"完成扩展卷向导"对话框中单击"完成"按钮,完成磁盘扩展,如图1-18所示。

图1-18 磁盘扩展

(5)返回到"计算机管理→存储→磁盘管理",可以看到C盘空间已扩,如图1-19所示。在扩展卷的过程中,系统不受影响,数据不丢,磁盘可用空间增加。

图1-19 磁盘扩展完成

【注意】无论是使用DiskGenius还是使用Windows的"动态卷"扩展,在操作的过程中不要断电、死机,该操作可能有一定的风险,在操作之前请备份系统数据。如果是在虚拟机中操作,请在调整前:

(1)关闭虚拟机,创建快照。

(2)修改总的磁盘大小,例如从200G改到500G。

(3)使用Diskgen或动态卷扩展系统。

(4)扩展完成后,进入系统检查无误之后,关闭虚拟机然后删除快照。