FSMO是Flexible single master operation的缩写,意思就是灵活单主机操作。营运主机(Operation Masters,又称为Flexible Single Master Operation,即FSMO)是被设置为担任提供特定角色信息的网域控制站,在每一个活动目录网域中,至少会存在三种营运主机的角色。但对于大型的网络,整个域森林中,存在5种重要的FSMO角色.而且这些角色都是唯一的。
五大角色:
1、 森林级别(一个森林只存在一台DC有这个角色):
(1)、Schema Master(也叫Schema Owner):架构主控
(2)、Domain Naming Master:域命名主控
2、 域级别(一个域里面只存一台DC有这个角色):
(1)、PDC Emulator :PDC仿真器
(2)、RID Master :RID主控
(3)、Infrastructure Master :结构主控
对于查询FSMO主机的方式有很多,本人一般在命令行下,用netdom query fsmo命令查询.要注意的是本命令需要安装windows 的Support Tools.
五种角色主控有什么作用?
1、 Schema Master(架构主控)
作用是修改活动目录的源数据。我们知道在活动目录里存在着各种各样的对像,比如用户、计算机、打印机等,这些对像有一系列的属性,活动目录本身就是一个数据库,对象和属性之间就好像表格一样存在着对应关系,那么这些对像和属性之间的关系是由谁来定义的,就是Schema Master,如果大家部署过Exchange的话,就会知道Schema是可以被扩展的,但需要大家注意的是,扩展Schema一定是在Schema Master进行扩展的,在其它域控制器上或成员服务器上执行扩展程序,实际上是通过网络把数据传送到Schema上然后再在Schema Master上进行扩展的,要扩展Schema就必须具有Schema Admins组的权限才可以。
建议:在占有Schema Master的域控制器上不需要高性能,因为我们不是经常对Schema进行操作的,除非是经常会对Schema进行扩展,不过这种情况非常的少,但我们必须保证可用性,否则在安装Exchange或LCS之类的软件时会出错。
2、 Domain Naming Master (域命名主控)
这也是一个森林级别的角色,它的主要作用是管理森林中域的添加或者删除。如果你要在你现有森林中添加一个域或者删除一个域的话,那么就必须要和Domain Naming Master进行联系,如果Domain Naming Master处于Down机状态的话,你的添加和删除操作那上肯定会失败的。
建议:对占有Domain Naming Master的域控制器同样不需要高性能,我想没有一个网络管理员会经常在森林里添加或者删除域吧?当然高可用性是有必要的,否则就没有办法添加删除森里的域了。
3、 PDC Emulator (PDC仿真器)
在前面已经提过了,Windows 2000域开始,不再区分PDC还是BDC,但实际上有些操作则必须要由PDC来完成,那么这些操作在Windows 2000域里面怎么办呢?那就由PDC Emulator来完成,主要是以下操作:
⑴、处理密码验证要求;
在默认情况下,Windows 2000域里的所有DC会每5分钟复制一次,但有一些情况是例外的,比如密码的修改,一般情况下,一旦密码被修改,会先被复制到PDC Emulator,然后由PDC Emulator触发一个即时更新,以保证密码的实时性,当然,实际上由于网络复制也是需要时间的,所以还是会存在一定的时间差,至于这个时间差是多少,则取决于你的网络规模和线路情况。
⑵、统一域内的时间;
微软活动目录是用Kerberos协议来进行身份认证的,在默认情况下,验证方与被验证方之间的时间差不能超过5分钟,否则会被拒绝通过,微软这种设计主要是用来防止回放式攻击。所以在域内的时间必须是统一的,这个统一时间的工作就是由PDC Emulator来完成的。
⑶、向域内的NT4 BDC提供复制数据源;
对于一些新建的网络,不大会存在Windows 2000域里包含NT4的BDC的现象,但是对于一些从NT4升级而来的Windows 2000域却很可能存有这种情况,这种情况下要向NT4 BDC复制,就需要PDC Emulator。
⑷、统一修改组策略的模板;
⑸、对Windows 2000以前的操作系统,如WIN98之类的计算机提供支持;
对于Windows 2000之前的操作系统,它们会认为自己加入的是NT4域,所以当这些机器加入到Windows 2000域时,它们会尝试联系PDC,而实际上PDC已经不存在了,所以PDC Emulator就会成为它们的联系对象!
建议:从上面的介绍里大家应该看出来了,PDC Emulator是FSMO五种角色里任务最重的,所以对于占用PDC Emulator的域控制器要保证高性能和高可用性。
4、RID Master (RID主控)
在Windows 2000的安全子系统中,用户的标识不取决于用户名,虽然我们在一些权限设置时用的是用户名,但实际上取决于安全主体SID,所以当两个用户的SID一样的时候,尽管他们的用户名可能不一样,但Windows的安全子系统中会把他们认为是同一个用户,这样就会产生安全问题。而在域内的用户安全SID=Domain SID+RID,那么如何避免这种情况?这就需要用到RID Master,RID Master的作用是:分配可用RID池给域内的DC和防止安全主体的SID重复。
建议:对于占有RID Master的域控制器,其实也没有必要一定要求高性能,因为我们很少会经常性的利用批处理或脚本向活动目录添加大量的用户。这个请大家视实际情况而定了,当然高可用性是必不可少的,否则就没有办法添加用户了。
5、 Infrastructure Master (结构主控)
FSMO的五种角色中最无关紧要的可能就是这个角色了,它的主要作用就是用来更新组的成员列表,因为在活动目录中很有可能有一些用户从一个OU转移到另外一个OU,那么用户的DN名就发生变化,这时其它域对于这个用户引用也要发生变化。这种变化就是由Infrastructure Master来完成的。
建议:其实在活动目录森林里仅仅只有一个域或者森林里所有的域控制器都是GC(全局编录)的情况下,Infrastructure Master根本不起作用,所以一般情况下对于占有Infrastructure Master的域控制器往忽略性能和可能性。
在FSMO的规划时,请大家按以下原则进行:
1、占有Domain Naming Master角色的域控制器必须同时也是GC;
2、不能把Infrastructure Master和GC放在同一台DC上;
3、建议将Schema Master和Domain Naming Master放在森林根域的GC服务器上;
4、建议将Schema Master和Domain Naming Master放在同一台域控制器上;
5、建议将PDC Emulator、RID Master及Infrastructure Master放在同一台性能较好的域控制器上;
6、尽量不要把PDC Emulator、RID Master及Infrastructure Master放置在GC服务器上;
--以上内容参考自百度百科:
http://baike.baidu.com/view/1623435.htm
——————————————————————————————————————————————————
对FSMO角色的操作,即更改角色的操作主机(传送或抓取,抓取也叫占用)
我们在安装完第一台主DC后,一定会再安装第二台DC做为额外DC,以保持其域的安全可靠。从额外DC角色转换为主DC角色可以有二种方法——通用FSMO的传送或抓取来实现。
1、传送:当主DC工作正常,但出于某些原因要将其上的FSMO角色主机传到其它额外DC上时可以使用“传送”方式。
2、抓取:当主DC工作出现严重故障,AD工作不正常时,如:操作系统故障且AD无法修复,亦或是硬件问题不能开机等原因,这时我们可以用“抓取”方式。
一、传送(使用图形化界面操作)
1、除Schema Master(也叫Schema Owner):架构主控 外,其它四个角色主控都可以通过下面这个方式进行操作:
1)打开服务器管理器,找到 [角色] --> [Active Directory 域服务] ,然后右建点击 [Active Directory 用户和计算机]
在 [所有任务] 中,先选择 [更改域控制器] (此步骤是让此DC计算机直接连接到另一台额外DC计算机上的主控)
2)选择要传送的DC(联机的即为当前是主控角色)
3)之后再回到第一步,重新找到 [角色] --> [Active Directory 域服务] ,然后右建点击 [Active Directory 用户和计算机]
在 [所有任务] 中,先选择 [操作主机] 。然后单击 [更改] 就可以将此角色主控传送到刚才选择的额外DC上去。
注:在这里,域级别的三个角色主控RID、PDC、Infrastructure Master都在这里操作。 另一个域林级别的Domain Naming Master:域命名主控则需要在[角色] --> [Active Directory 站点和服务] 中右键单击进行操作,操作方式与这里一样。
2、架构主控的传送操作有一点点麻烦,因为微软为了安全考虑并没有默认安装架构主控的管理单元。所以我们要自己手动安装并在MMC中添加一下。方法如下:
1)用管理员身份运行CMD(一定要管理员身份哦!不然下面注册时会报错)
2)在命令行中输入:regsvr32 schmmgmt.dll
然后回车!
3)在命令窗口输入:mmc
回车后会弹出 [控制台] 窗口
4)在管理台中,点击 [文件] --> [添加/删除管理单元]
5)在添加或删除管理单元中找到刚才注册的 [Active Directory 架构] 单元,然后点 [添加],之后确定
6)还是和前面一样,在架构单元上点右键,先要选择 [更改Active Directory 域控制器] ,将管理的单元直接切换到另一个将要传送角色的额外DC上,之后再点击 [操作主机]
7)在弹出的窗口中点击更改,就可以将架构主控从DC传送到DC2上。
到此,主控上的五大主控都传送到另一台额外DC上去了。这时额外DC就成了真正意义上的主控DC,而原主控DC刚成了额外了。(注意,windows2003开始,已经没有主和副的概念了,只有主DC和额外DC,所有DC都是平等的,谁担任了这五大FSMO主控角色谁就是主DC)。之后,可以把用户的DNS指向新的这台DC(已有DNS服务)。或将原主控DC下线,把新的DC改IP为原主DC(不推荐改新DC主机的IP方式,这样做存在一些可可见的风险)
二、抓取,也叫占用(抓取只能使用命令行工具,传送也可以用命令行方式)
1 ntdsutil 进入ntds工具提示符
2 roles 调整操作主机角色
3 connections 进入连接模式
4 connect to server "DC名" 连接到可用DC上
5 quit 返回上层菜单
6 transfer pdc (或其他) 进行转移或抓取
7 quit 退出
第6步的命令可以改为以下:
-抓取角色命令-
占用 RID 主机角色
seize RID master
占用 PDC 模拟器角色
seize PDC
占用结构主机角色
seize infrastructure master
占用域命名主机角色
seize domain naming master
占用架构主机角色
seize schema master
-传送角色命令-
转移 RID 主机角色
transfer RID master
转移 PDC 模拟器角色
transfer PDC
转移结构主机角色
transfer infrastructure master
转移域命名主机角色
transfer domain naming master
转移架构主机角色
transfer schema master
以上内容参考微软官方网站:
http://technet.microsoft.com/zh-cn/library/cc776474(WS.10).aspx