查看Windows磁盘分区块大小的若干种办法

查看Windows磁盘分区块大小的若干种办法

背景:在3A云服务器上扩容磁盘,随着业务增加不断扩容磁盘,后来发现扩容超过16T就报错,报的错莫名其妙。我在想,我是单机,不是群集啊,咋回事?

img

我切换到英文界面看到原话,原来微软中文版是把clusters当"群集"翻译了,实际上clusters还有"簇"的意思,在磁盘方面,cluster size其实就是unit size(簇大小,单元大小,块大小),磁盘分区时格式化环节有个地方可以指定它

img

img

关于磁盘块大小差异对分区的影响,参考微软官网文档

在腾讯云上最直接的影响就是,如果采用Windows系统默认的块大小,那么云盘后续不断扩容,文件系统大小最大只能到16T,即便你云盘硬件大小扩容空间到16T以上,文件系统层面最大只能支持到16T。如果要文件系统支持大于16T,建议设置块大小为8192。

img

新盘我们分区的时候,建议分区形式选GPT(默认是MBR),然后"分配单元大小"选8192,不要选默认值或小于8192的值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Vm78A7E-1661999170208)(https://pic.imgdb.cn/item/630c619c16f2c2beb1109f0d.png)]

img

假如已经分好区了,如何确定已分区的块大小?

以C分区为例

方法①

cmd命令行:

fsutil fsinfo ntfsInfo C:

img

方法②

cmd命令行按箭头顺序执行

diskpart → sel disk 0 → sel part 1 → filesystems

img

方法③

cmd命令行:

wmic volume where “driveletter=‘C:’” get driveletter,blocksize

img

方法④

powershell命令行:

(Get-Volume C).AllocationUnitSize

Get-Volume | Format-List AllocationUnitSize, FileSystemLabel

img

方法⑤

powershell命令行:(Get-WmiObject win32_volume | where { $_.driveletter -eq ‘C:’ }).BlockSize

img

方法⑥

chkdsk 盘符:

例如chkdsk c:

img