Windows Server 2022 上的 NTFS/MFT 保留大小较大

Windows Server 2022 上的 NTFS/MFT 保留大小较大

一个多月前,我开始遇到 C 盘可用空间的问题,因为它的可用空间突然开始每天减少。

TreeSize 或 Dirstat 等外部工具无法显示什么正在“占用”空间。

最后,事实证明,由于某种原因,NTFS/MFT 分配了巨大的空间,并且只有在服务器重启后(到 0 但增长很快)或在某人通过 RDP 会话登录到服务器后几分钟内才会释放它(这将减少保留空间显着)。

保留空间可通过 cmd 行和属性“总保留群集”查看。有人登录时的总保留大小约为 44gb,但如果我注销并等待几个小时,保留占用的空间将再增加几 GB。

我通过运行 chkdsk 检查了 c: 卷,但一切正常。驱动器上没有配额设置,也没有设置卷影副本。

在另一个 Win2022 服务器上,这个 NTFS 仅占用大约 1Gb,那么问题出在哪里?

你能给出建议吗?

此问题涉及:Windows Server 2022 Standard + Exchange 2019(本地)。

PS C:\Windows\system32> fsutil fsinfo ntfsinfo c:
NTFS Volume Serial Number : 0x0edc1ca0dc1c83dd
NTFS Version : 3.1
LFS Version : 2.0
Total Sectors : 429,705,215 (204.9 GB)
Total Clusters : 53,713,151 (204.9 GB)
Free Clusters : 27,462,030 (104.8 GB)
Total Reserved Clusters : 11,536,195 ( 44.0 GB)
Reserved For Storage Reserve : 0 ( 0.0 KB)
Bytes Per Sector : 512
Bytes Per Physical Sector : 512
Bytes Per Cluster : 4096 (4 KB)
Bytes Per FileRecord Segment : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length : 552.75 MB
Mft Start Lcn : 0x00000000000c0000
Mft2 Start Lcn : 0x0000000000000002
Mft Zone Start : 0x0000000002d20240
Mft Zone End : 0x0000000002d25180
MFT Zone Size : 79.25 MB
Max Device Trim Extent Count : 64
Max Device Trim Byte Count : 0x2000000
Max Volume Trim Extent Count : 62
Max Volume Trim Byte Count : 0x2000000
Resource Manager Identifier : 393C6EFA-7A42-11ED-BF42-AD3018B76F78

答案1

首先,我认为你是在制造一个问题,因为你所谓的自由空间问题与 MFT 保留空间无关。

运行 chkdsk,它会告诉你分配单元的大小和可用的分配块数量。这就是文件系统认为已用空间与可用空间的大小。

其次,MFT 保留或 MFT 区域实际上不占用任何磁盘空间。它是系统将尝试维护的区域,以便在需要时扩展 MFT。这纯粹是一种缓解 MFT 碎片的措施。

但是,如果由于您填满了 NTFS 卷而需要保留空间,则它将用于存储“普通”文件。MFT 保留空间 =/= 实际 MFT 的大小。

如果由于某种原因,文件被保存到保留区域,系统将简单地寻找另一个连续的可用空间块并将其保留以供将来的 MFT 增长。

第三,您可以设置用于MFT保留区域的空间量。

Run Registry Editor (Regedt32.exe), and go to the following subkey:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem

From the Edit menu, click Add Value.

Type the following information in the dialog box:

Value Name: NtfsMftZoneReservation
Data Type: REG_DWORD
Data: (valid range is 1-4)
Quit Registry Editor and restart your computer.

Setting 1, the default, reserves approximately 12.5 percent of the volume.

Setting 2 reserves approximately 25 percent.

Setting 3 reserves approximately 37.5 percent.

Setting 4 reserves approximately 50 percent.

答案2

您的“总保留集群”为 44 GB。

似乎某个程序创建了大量文件并导致 MFT 膨胀。这些文件可能是临时文件并且从未关闭,因此在程序终止后它们被丢弃,MFT 中没有留下任何痕迹。删除文件条目时 MFT 永远不会缩小。

除了格式化分区外,我不知道还有什么方法可以减少 MFT。

答案3

所以,我想我或多或少知道发生了什么,因为我最终设法将保留空间减少到只有 5.5 GB。我通过关闭几个文件夹的压缩来实现这一点。正如我提到的,服务器安装了 Exchange 角色,因此 c:\ 驱动器上存储了大量日志。我通过 powershell 脚本自动删除了一些日志,但仍然有很多日志启用了压缩。一旦我禁用压缩,占用的空间就会显著减少。

PS C:\Windows\system32> fsutil fsinfo ntfsinfo c:
NTFS Volume Serial Number :        0x0edc1ca0dc1c83dd
NTFS Version      :                3.1
LFS Version       :                2.0
Total Sectors     :                429,705,215  (204.9 GB)
Total Clusters    :                 53,713,151  (204.9 GB)
Free Clusters     :                 28,127,049  (107.3 GB)
**Total Reserved Clusters :            1,449,010  (  5.5 GB)**
Reserved For Storage Reserve :               0  (  0.0 KB)
Bytes Per Sector  :                512
Bytes Per Physical Sector :        512
Bytes Per Cluster :                4096  (4 KB)
Bytes Per FileRecord Segment    :  1024
Clusters Per FileRecord Segment :  0
Mft Valid Data Length :            552.75 MB  

相关内容