Active Directory 低可用存储空间 - Amazon Directory Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Active Directory 低可用存储空间

当 Amazon Managed Microsoft AD 由于 Active Directory 的可用存储空间不足而受损时,需要立即采取措施才能将目录恢复到活动状态。这种损伤的两个最常见原因在以下章节中介绍:

有关 Amazon Managed Microsoft AD 存储的更多信息,请参阅 Amazon Directory Service 定价

SYSVOL 文件夹存储多个基本组策略对象

此损伤的一个常见原因是由于存储在 SYSVOL 文件夹中进行组策略处理的非必要文件。这些非必要文件可以是 EXE、MSI 或进行组策略处理时不必要的任何其他文件。要处理的组策略的基本对象是组策略对象、登录/注销脚本和组策略对象的中央存储。任何非必要文件都应存储在 Amazon Managed Microsoft AD 域控制器以外的文件服务器上。

如果需要文件进行组策略软件安装,则应使用文件服务器来存储这些安装文件。如果您不希望自行管理文件服务器,Amazon 会提供托管文件服务器选项 Amazon FSx

要删除任何不必要的文件,您可以通过通用命名约定 (UNC) 路径访问 SYSVOL 共享。例如,如果您的域的完全限定域名 (FQDN) 是 example.com,则 SYSVOL 的 UNC 路径将为“\\example.local\SYSVOL\example.local\”。一旦找到并删除组策略处理目录时不必要的对象,该目录应该在 30 分钟内恢复到活动状态。如果 30 分钟后该目录未处于活动状态,请联系 Amazon Support。

仅在 SYSVOL 共享中存储基本的组策略文件的作法可确保您不会因 SYSVOL 膨胀而损害您的目录。

Active Directory 数据库已填充卷

此损害的一个常见原因是由于 Active Directory 数据库填充卷。要验证是否属于这种情况,您可以查看目录中对象的总计数量。我们将总计文字加粗,以确保您了解已删除的对象仍然计入目录中的对象总数。

默认情况下,Amazon Managed Microsoft AD 将项目保留在 AD 回收站中 180 天,然后项目才会成为回收对象。一旦一个对象成为回收对象(逻辑删除),它会再保留 180 天,然后才最终从目录中清除。因此,当一个对象被删除时,它会在目录数据库中存在 360 天,然后再清除。这就是需要评估对象总数的原因。

有关 Amazon Managed Microsoft AD 支持的对象计数的更多详细信息,请参阅 Amazon Directory Service 定价

要获取包含已删除对象的目录中的对象总数,可以从加入 Windows 实例的域运行以下 PowerShell 命令。有关如何设置管理实例的步骤,请参阅在 Amazon Managed Microsoft AD 中管理用户和组

Get-ADObject -Filter * -IncludeDeletedObjects | Measure-Object -Property 'Count' | Select-Object -Property 'Count'

下面是运行上述命令的示例输出:

Count 10000

如果总计数高于上述注释中列出的目录大小支持的对象计数,则表示您已超出目录的容量。

以下选项用于解决此损害:

  1. 清理 AD

    1. 删除任何不需要的 AD 对象。

    2. 从 AD 回收站中删除任何不需要的对象。请注意,此操作是破坏性的,恢复这些已删除对象的唯一方法是执行目录的还原。

    3. 以下命令将从 AD 回收站中删除所有已删除的对象。

      重要

      请谨慎使用此命令,因为这是一个破坏性命令,恢复这些已删除对象的唯一方法是执行目录的还原。

      $DomainInfo = Get-ADDomain $BaseDn = $DomainInfo.DistinguishedName $NetBios = $DomainInfo.NetBIOSName $ObjectsToRemove = Get-ADObject -Filter { isDeleted -eq $true } -IncludeDeletedObjects -SearchBase "CN=Deleted Objects,$BaseDn" -Properties 'LastKnownParent','DistinguishedName','msDS-LastKnownRDN' | Where-Object { ($_.LastKnownParent -Like "*OU=$NetBios,$BaseDn") -or ($_.LastKnownParent -Like '*\0ADEL:*') } ForEach ($ObjectToRemove in $ObjectsToRemove) { Remove-ADObject -Identity $ObjectToRemove.DistinguishedName -IncludeDeletedObjects }
    4. 向 Amazon Support 创建一个案例,请求 Amazon Directory Service 回收可用空间。

  2. 如果您的目录类型为标准版,向 Amazon Support 创建一个案例,请求将目录升级到企业版。这也会增加您目录的成本。有关定价信息,请参阅 Amazon Directory Service 定价

在 Amazon Managed Microsoft AD 中,Amazon 删除对象生命周期委托管理员组的成员能够修改 msDS-DeletedObjectLifetime 属性,该属性可设置已删除对象在成为回收对象之前保留在 AD 回收站中的天数。

注意

这是一个高级主题。如果配置不当,则可能导致数据丢失。我们强烈建议您首先查看 AD 回收站:了解、实施、最佳实践和故障排除,以更好地了解这些过程。

msDS-DeletedObjectLifetime 属性值更改为较低的数值的能力有助于确保您的对象计数不会超过支持的级别。此属性可设置为的最低有效值为 2 天。超过该值后,您将无法再使用 AD 回收站恢复已删除的对象。需要从快照还原目录才能恢复这样的对象。有关更多信息,请参阅 为目录拍摄快照或还原目录任何快照还原都会导致数据丢失,因为它们是一些时间点。

要更改目录的已删除对象生命周期,请运行以下命令:

注意

如果按原样运行命令,它会将“Deleted Object Lifetime (删除对象生命周期)”属性值设置为 30 天。如果您想使生命周期更长或更短,请用您希望的任何数字替换“30”。但是,我们建议您不要高于默认数字 180。

$DeletedObjectLifetime = 30 $DomainInfo = Get-ADDomain $BaseDn = $DomainInfo.DistinguishedName Set-ADObject -Identity "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,$BaseDn" -Partition "CN=Configuration,$BaseDn" -Replace:@{"msDS-DeletedObjectLifetime" = $DeletedObjectLifetime}