我有一个包含2个3TB磁盘的存储空间池。 从此池中创build一个具有固定大小(不是精简置备)的单个镜像卷,并将其设置为在创build时使用池中的所有空间。
现在,我想添加2个4TB磁盘到同一个池并扩展相同的音量。 我似乎无法挖掘涵盖此场景的文档。
我的整个可用空间是多less? 如果我将它们成对添加,在同一池中使用混合尺寸驱动器会损失空间吗?
我的理解是,因为这是一个一列,两个副本的设置,所以只要相同大小的磁盘成对添加,即使新对的大小不同,我也不应该“在桌面上留下任何空间”从目前的磁盘,但我似乎无法find任何文件证实这一点。
这些是您正在寻找的文档 : 什么是列,以及存储空间如何决定使用多less个? 和存储空间 – devise性能和存储空间:了解存储池扩展
我将从所提供的文章中引用两点:
“ 注意默认情况下,Windows Server 2012 R2及更低版本中的存储空间使用最大的列数,因为您拥有的磁盘数量和所选的弹性types可能不同。 一个
“要扩展[存储池],需要适当数量的列来容纳磁盘的布局。” b
换句话说:如果将物理磁盘添加到存储池,则Windows将保留所述池中的列数。 您添加的每一行磁盘必须为每列提供一个磁盘。
因此,如果使用2x3TB驱动器创build镜像,则最大列数为1. 列与磁盘的相关性为1:2。 这使得一个3TB的虚拟磁盘。
现在,如果将其他两个物理4TB磁盘添加到存储池并将其添加到虚拟驱动器,则Windows将添加它们而不更改列计数。 一个磁盘将被添加到列,另一个磁盘将被添加到镜像。 从而通过另一个4TB扩展虚拟磁盘。 您的磁盘布局将如下所示:
所以不,如果您将它们成对添加,则在同一个池中使用混合大小的驱动器将不会损失空间。 甚至相反! 因为如果你一下子把它们全部加进去,会发生两件事情:
你的布局看起来像这样只提供6TB,而不是7TB:
[*]现在,我不确定限制是如何工作的,以及如何计算新的大小。 我认为这与条纹如何写入磁盘有关。 因为如果您在虚拟磁盘上写入512 KB的数据,每列将并行接收一个256 KB的条带。 如果其中一列已满,则不可能。 这就是为什么我猜测存储池中的所有列必须具有相同的大小。 至less在磁盘3TB + 3TB + 4TB + 4TB这实际上是真实的,我检查 。
如果你反向工作 – 你有一个3TB的虚拟磁盘,数据是单向镜像的,你有两个相同大小的底层块。 按照你说的定义为一列2副本。 假设的其余部分是完全正确的 – 为了利用最大空间,您将需要以等于2的体积的因子添加块,您可以以不等于2的因子添加磁盘,但虚拟卷可以消耗的最大值将是最大的成对的最小卷 – 您可以使用其他选项创build第二个虚拟磁盘,但不能使用原始虚拟磁盘中的剩余部分。 所以边界度量是虚拟磁盘跨越的物理磁盘的数量+ 1或2路镜像等选项。
因此,使用单向镜像的3TB块上的9TB虚拟磁盘将需要3 x 3的虚拟磁盘+ 3 x 3的镜像,但由于这是单列,因此更容易将底层块视为单列3行(对于单向镜面,具有相同行的第二列)。
所以总之,如果您想要在单个虚拟磁盘中使用单向镜像中的所有可用空间,则必须以相同的大小添加到每个列 – 如果您使用多个虚拟磁盘,则可以添加不同大小的磁盘并仍然使用所有可用的空间。
有这个https://stebet.net/microsoft-finally-adds-rebalancing-to-storage-spaces/在PowerShell中使用Optimize-StoragePool来扩展音量。 这是在Windows 10和服务器2016年,所以不知道你是否可以安装在Server 2012上。
我相信它只会使用磁盘上4TB的3个。