在Windows Server 2016上扩展分区

在Windows Server 2016机器上,我们有多个分区用于网站的不同部分。 但是,其中一个分区需要更多的存储空间,所以我想将一些空间从默认的C:驱动器转移到另一个分区(G :)。 使用Windows中的内置磁盘pipe理程序,我无法将从C:获得的未分配空间转移到G:因为未分配的空间不在G:的右侧。 我将如何去扩展分区? 公司的政策是限制安装未知的第三方程序来pipe理基础设施,我无法find一个免费的分区pipe理器,在Windows Server 16上工作。 为了最大限度地减less停机时间,我无法使用可引导的分区pipe理器

天真地从Windows做这是不可能的。 无论使用什么程序,最终都会导致停机,因为移动/resize的分区最好是在没有活动进程访问磁盘的情况下完成,在我build议下面的时候记住这一点。

因为你有太多的限制,我build议你使用一个可引导的分区pipe理器,比如https://gparted.org ,我知道你不想停机,但是无论你做什么,你都会面对这个墙。

也许不完全是你问的,但也许只有一个本地Windows工具的解决scheme(甚至满足您的要求在最小的停机时间):

假设它是G上的一个目录,需要更多空间,比如说G:\ 2small

  1. 从未分配空间创build一个分区
  2. 将这个分区挂载到G上的一个目录,比如G:\ VeryBig
  3. 现在您可以将数据从G:\ 2small移动到G:\ VeryBig
  4. 删除G \ 2small,将G:\ VeryBig重命名为G:\ 2small

请记住,只有一个目录变大,而不是整个磁盘。 但是可以单独使用Windows磁盘pipe理器(或者命令行对应的DiskPart)来实现,并且不需要引导到外部工具,并且如果G:\ 2small中的数据未被使用,则可以使用此方法即使没有重新启动 – 这意味着没有停机时间。

如果您喜欢这个解决scheme,您可以考虑创build2个(甚至更多)的分区,将每个分区安装到驱动器G:上的目录。

这可能是一个限制,但对于以这种方式创build的每个目录都有一个容量限制也是一个优势。

Windows无法更改分区边界的另一个解决方法是在别处使用符号链接到文件夹。

如果G:正在填满,但有几个文件夹,如data1data2data3 ,可以将G:\data3移动到C:\relocated\data3 mklink /d G:\data3 C:\relocated\data3 C:\relocated\data3 mklink /d G:\data3 C:\relocated\data3mklink /d G:\data3 C:\relocated\data3 C:\relocated\data3 mklink /d G:\data3 C:\relocated\data3所以它重新显示为G:\data3

并不是所有的东西都可以这样工作,但大部分都是这样 如果这是共享文件夹,则必须将符号链接指向共享,并且需要指示您的客户端遵循符号链接: https ://technet.microsoft.com/en-us/library/cc754077( v=ws.10 ).aspx 。

当然,这是一个丑陋的黑客,但它可以是一个快速填写的解决scheme。