一、林功能级别以及域功能级别

     大家都知道存在林和域功能级别这个概念,当客户升级Active Directory时,他们不可避免的会有一些困惑和疑虑。功能级别为什么要提升?为什么有这个必要?提升会引起活动目录发生什么变化呢?
     在这些问题能够得到妥善解决之前,首先必须理解林和域功能级别在活动���录服务中到底有什么用。每一个新版本的Windows Server上的Active Directory服务中都有新的功能和特性的引进,但是只有当域或者林中的所有的域控制器都升级到同一版本的服务器系统时,这些新的特性才可以被启用。例如,Windows Server2008 R2介绍了AD回收站功能,允许管理员从Active Directory中恢复已删除的对象。为了支持这一新功能,只有让所有的域控制器都运行在Windows Server2008 R2系统中。在混合环境中,也就是在Windows Server2008 R2的域控制器与运行在早期版本的Windows系统中域控制器共存的时候,如果根据删除的动作是发生在什么样的域控制器上的, 来规定删除的对象是否可以存放在AD回收站,是否可以从回收站中被恢复。这很明显会造成活动目录数据库的不一致性,为了防止这种情况,需要一种机制,使得混合环境中这些新特性保持禁用状态,直到所有域或森林的DC已经升级到支持它们所需的操作系统最低水平。这个机制就是林和域的功能级别。
 在活动目录环境中,林功能级别和域功能级别提供了一个启用林范围和域范围的新功能新特性的功能。通过提升林和域功能级别,我们可以启用那些暂时受到限制的新特性。根据活动目录的环境,我们可以获得不同的最高的功能级别。如果在林中或者域中, 所有的域控都是运行在最新的服务器版本上面,然后林功能级别和域功能级别都已经升到最高的可升级的级别,那么所有的林范围和域范围的新特性都是可用的。 相反的,如果存在运行在先前版本服务器系统的域控,那么这个AD DS 的特性的使用是受到限制的。
 另外还有两个重要的关于域或目录林功能级别的限制。如果功能级别被提升了,运行在低级版本的Windows Server上的域控制器就不能被添加到域或目录林中。如果非要安装的话,就会产生一些问题,例如改变对象的复制方式(链接值复制)。为了防止这些问题的出现,一个新的DC必须是运行在同一水平,或者是比域或目录林功能级别更高的服务器系统上。
     第二个限制,当我们提升了功能级别之后,是不可以回滚的到原来的级别或者说是更低的级别的, 只有下面两个特例: 当我们升级域功能级别到Windows Server 2008 R2 或者 Windows Server 2012 时, 如果林功能级别是 Windows Server 2008或者更低, 域功能级别可以回滚到Windows Server 2008 或者 Windows Server 2008 R2。只有在这种情况下,才有回滚可以发生,只能将域功能级别从 Windows Server 2012 降到 Windows Server 2008 或者 Windows Server 2008 R2, 从Windows Server 2008 R2 降到Windows Server 2008;当我们升级林功能级别到Windows Server 2012 时, 林功能级别可以回滚到Windows Server 2008 R2。如果AD回收站没有被启用的话,林功能级别还可以从 Windows Server 2012 降到 Windows Server 2008 或者 Windows Server 2008 R2,或者是从Windows Server 2008 R2 降到Windows Server 2008。

下面这个表列出了域功能级别所对应支持的域控,也就是说在相应的域功能级别下可以存在的域控的服务器系统:

 

域功能级别

域控可以存在的服务器系统

Windows Server 2003

Windows Server 2012

Windows Server 2008 R2

Windows Server 2008

Windows Server 2003

Windows Server 2008

Windows Server 2012

Windows Server 2008 R2

Windows Server 2008

Windows Server 2008 R2

Windows Server 2012

Windows Server 2008 R2

Windows Server 2012

Windows Server 2012

下面这个 表列出了林功能级别所对应支持的域控 :

 

林功能级别

域控可以存在的服务器系统

Windows Server 2003

Windows Server 2012

Windows Server 2008 R2

Windows Server 2008

Windows Server 2003

Windows Server 2008

Windows Server 2012

Windows Server 2008 R2

Windows Server 2008

Windows Server 2008 R2 (default)

Windows Server 2012

Windows Server 2008 R2

Windows Server 2012

Windows Server 2012

 

    域或森林中所有的域控制器升级后,管理员能够提升功能级别,这个级别作为一个标志,通知所有的域控制器,以及其他组件,现在可以启用某些功能。下面链接列出了依赖于域或目录林功能级别的Active Directory功能的完整列表:
Understanding Domain and Forest Functional Levels
http://technet.microsoft.com/en-us/library/cc771294.aspx

二、域功能级别升级

    当我们安装了AD CS后,一系列的基本的活动目录的特性就被自动的启用了。除了那些存在在独立的域控上面的基本的特性, 还有一些域范围和林范围的活动目录特性, 它们只有在域中或者林中的所有域控都运行在最新版本的服务器时候,才可以被启用。例如, 如果要启用Windows Server 2008 R2 域功能级别的域范围的新特性,所有的域控必须是运行在Windows Server 2008 R2 或者更新的服务器系统上,并且域功能级别必须被提升到Windows 2008 R2。
    另外不是所有域成员都有权限去提升域功能级别的,只有属于Domain Admins 或者Enterprise Admins 组的成员才可以提升。
如何进行提升域功能级别。

1. 打开Active Directory Domains and Trusts。
2. 右击你要提升的域的名字, 然后单击 Raise Domain Functional Level.

3. Select an available domain functional level, 选择你要提升到的级别,然后单击Raise.



• 我们可以通过Active Directory Users and Computers提升域功能级别,右键单击域名,然后单击Raise Domain Functional Level.

• 当前的域功能级别显示在Raise domain functional level 对话框中, 是Current domain functional level。
• 提升域功能级别,必须是Domain Admins 组或者 Enterprise Admins 组的成员,或者你被赋予了适当的权限。
• 我们也可以通过PowerShell里面的Active Directory 模块来提升功能级别。

三、林功能级别升级

    如果要启用Windows Server 2008 R2 林功能级别的域范围的新特性,所有林中的域控必须是运行在Windows Server 2008 R2 或者更新的服务器系统上,并且林功能级别必须被提升到Windows 2008 R2。
    只有Enterprise Admins 组的成员才有权限提升林功能级别。
如何进行提升林功能级别
1. 打开 Active Directory Domains and Trusts。
2. 右击 Active Directory Domains and Trusts, 然后单击Raise Forest Functional Level。

3. 在Select an available forest functional level下面,选择林功能级别然后单击Raise.

• 只有Enterprise Admins 组的成员才可以提升林功能级别,或者被赋予了足够的权限。.

• 如果提升的时候出现问题,比方说或不能提升,你可以在Raise Forest Functional Level对话框中单击Save As ,保存一个日志文件,通过日志文件查找哪个林中的域控仍需要升级到更高的系统版本。
• 现在的林功能级别显示在Raise Forest Functional Level 对话框中,Current forest functional level。
• 我们也可以通过PowerShell里面的Active Directory 模块来提升功能级别。

四、最佳实践以及注意事项

    在提升之前,有什么我们需要考虑,使这一变化有尽可能少的问题。有一些最佳实践,我们可以遵循:

    1. 验证域内所有的DC,确保他们都运行在你将要提升到的功能级别一样或者更高的操作系统上。这个可能让大家觉得这个是理所当然的,应该不用特意再去查看。但是有一种情况,我们是需要考虑到的,比如你降级了一个运行在低版本服务器上的域控制器,但你没有执行元数据清除,这种情况下提升功能级别的时候会出现问题的。
另一个比较不容易发现的问题是,在配置容器下面的Lost and Found 容器中, 如果存在关于低版本系统的DC的NTDS设置对象,这将阻止提升域功能级别,所以我们最好清理一下。
    2. 确保Active Directory可以复制到所有的DC。域和目录林功能级别本质上只是在Active Directory中的一个属性。所以它的更改是通过AD的复制去传播给所有的DC的。所以提高森林的功能级别之前,所有域的域功能级别必须已经正确复制。从这个问题我们想到另外一个问题,就是提升完所有林中域的域功能级别后,应该等待多久,才能提高森林的功能级别?这个问题的答案是依赖于你的环境的终端到终端的复制延迟,需要多久,更改可以复制到所有的森林中的域控制器?

    更多的信息请参考下面这篇文档:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;322692

    有一个常见的问题:提升域或者林功能级别对企业应用程序,如Exchange或Lync,或第三方应用程序,具有什么样的影响?
    首先,这些依赖于功能级别的新特性一般是仅用于活动目录本身。 例如,对象的复制可能会使用一种新的和不同的方式进行复制,这些都是为了提高复制的效率,或者增加域控制��的性能。也有新特性是与活动目录关系不大的,比方说用DFSR复制替换NTFRS来复制SYSVOL,但是这个依赖于操作系统的版本。总的来说,提升域或目录林功能级别对依赖于活动目录的应用程序是应该没有什么影响的。例如Exchange使用Active Directory来存储它的对象,或执行各种操作时,如果域或目录林功能级别变化了,是没有功能受到影响的。但是事实上,如果您的应用程序的一些功能需要利用Active Directory中引入的新功能,当提升了功能级别的时候,您可能会发现您的应用程序的性能也提高了。如果您仍然对有关任何第三方应用程序存在疑问的话,那么应该与供应商联系。
    另外因为这种变化是不可逆的,因此,我们必须有一个回滚计划,以防万一活动目录发生不可预见的和灾难性的东西到。这是另一个常见的问题,恢复域或目录林功能级别这种回滚是有支持的机制的。您需要备份林中每个域的一台域控制器的系统状态。要恢复以前的功能级别,移除森林中所有的DC,用各个域的备份去还原域,然后回各自的域的进行DCPROMO,添加上别的域控制器。这是一个回滚恢复森林功能级别的方法,下面这个连接详细叙述了步骤:

http://technet.microsoft.com/en-us/library/planning-active-directory-forest-recovery(WS.10).aspx

    一般来说提升了功能级别对域和林的功能只有增强,很少有人会遇到提升后出现问题,并要求恢复到之前的功能级别的情况。

五、总结

    域或目录林功能级别是一种标志,告诉Active Directory和其他Windows组件,域或目录林中所有DC是在一定的级别的。当功能级别被提升之后,一些依赖于一定的服务器系统上的新的功能就被启用了。之前的功能仍然受到支持,以便使用那些功能的任何应用程序或服务将继续像以前那样工作。域或目录林中的信任仍然是有效的,都保持与以前一样。通过11年的对客户问题的调查,几乎没有案例是因为提升了功能级别而造成的问题。事实上,存在的问题基本上都是,由于先决条件没有得到满足而造成一个域或目录林功能级别提升失败。

 

本文引用自:http://social.technet.microsoft.com/Forums/zh-CN/UpgradeMigration/thread/23f734cb-184b-4cca-a691-146c99088d65

更多详情请访问 多产品结合与应用场景论坛:http://social.technet.microsoft.com/Forums/zh-CN/category/productsinformation