最近文章更新
- 1966年生产的广州 珠江 SB6-2型 ..
- HD6870/6850全面评测,让你大饱眼..
- 百万现金刚入门 中国7大奢华私人..
- 罕见4G希捷酷鱼系类万转SCSI服务..
- IBM 6x86MX PR333 CPU
- 采用MC68000 CPU的进口老计算机主..
- 1989年IBM-XT机软驱
- BC3型饱和标准电池拆解
- JUKO ST
- Kingston 品牌的CPU
- YAMAHA 719
- intel 30线 内存条
- intel mmx cpu和主板
- 首款xHCI 1.0正式版标准USB 3.0控..
- 《极品飞车:地下狂飙》纹理MOD视..
- USB接口加扩展子卡:影驰神秘GTX..
- 阿里巴巴将发布浏览器 核心不是W..
- 黄仁勋大秀NVIDIA LOGO纹身
- Google Earth上的奇特卫星图片
- 开火!讯景限量版HD 5970详细测试..
相关文章链接
本类文章排行
最新新闻资讯
本周下载排行
- ArcSoft TotalMedia Theatre 3 P..
- Windows 7 Build 7600 16385 RTM..
- 《姗姗来迟软件光盘+飞扬PE工具箱..
- MSDN Windows 7 RTL 7600 Ultima..
- Windows 7 Home Premium (x86) -..
- Windows Virtual PC (x86) - (Mu..
- MSDN Windows 7 Language Pack X..
- Windows 7 Language Pack (x64) ..
- Windows 7 Starter (x86) - DVD ..
- Windows 7 Professional (x86) -..
- Windows 7 Language Pack (x86) ..
- Windows 7 Home Premium (x64) -..
- Windows XP Mode (x86, x64) - (..
- 7127.0.090507-1820_x86fre_clie..
- DMG2ISO
本月下载排行
- ArcSoft TotalMedia Theatre 3 P..
- Windows 7 Build 7600 16385 RTM..
- 《姗姗来迟软件光盘+飞扬PE工具箱..
- MSDN Windows 7 RTL 7600 Ultima..
- MSDN Windows 7 Language Pack X..
- Windows 7 Home Premium (x86) -..
- Windows 7 Language Pack (x64) ..
- Windows 7 Professional (x86) -..
- 7127.0.090507-1820_x86fre_clie..
- Windows 7 Professional (x64) -..
- Windows 7 Starter (x86) - DVD ..
- Windows Virtual PC (x86) - (Mu..
- Windows 7 Ultimate (x64) - DVD..
- Lenovo Windows 7 Ultimate OEM ..
- Windows 7 Home Premium (x64) -..
- 阅览次数: 文章来源: 原文作者: 整理日期: 2010-07-13
使用Active Directory标识和跟踪虚拟机
使用Active Directory标识和跟踪虚拟机
随着很多企业部署越来越多的虚拟化平台,如何区分物理服务器和虚拟服务器也变得越来越难。有些管理员在每台虚拟机的主机名后加上“_vm”以示区别。然而,很多企业不喜欢这种方法,因为任何名字的变化都会影响到用户和应用程序访问虚拟机数据信息的方式。在服务器转变为虚拟机之后,改变服务器的名字可能也会影响到服务器本地安装的应用程序和服务。如果管理员对一台遵循从物理平台到虚拟平台(P2V)迁移的服务器重新命名,他们通常使用DNS中的CNAME记录,以此来保证名字解析的透明性。但是,这种方法增加了对服务器资源管理的额外复杂度。另外一种标识服务器对象(无论是虚拟环境还是物理环境)的方法是使用每一台计算机对象Active Directory中的Description属性。已经有一些企业使用Description属性来标识一台计算机的位置、部门或者角色。考虑到这一点,使用Description属性可能要求用户能够简洁地标识出是物理平台还是虚拟平台。例如,可以使用如下的命名规范:
Ps – Physical server
Vesx – VMware ESX VM
Vms – Microsoft Virtual Server VM
Vxen – Xen VM
Vvi – Virtual Iron VM
Vvz – SWsoft Virtuozzo virtual private server
Vscon – Solaris Container
在所有Description属性中,我比较喜欢使用“P”作为物理平台的前缀,“V”作为虚拟平台的前缀。这样做的话可以使用户使用脚本语句对所有的虚拟机做查询操作,例如,仅通过脚本查询每一台计算对象的Description属性的第一个字母。
图1和图2给出了通过计算机对象的Description属性标识虚拟机的两种方法:
图1:使用Description属性标识一台Xen虚拟机
图2:使用Description属性标识一台物理服务器,以及其位置、部门和角色
有了这些合适的命名规范,通过使用Active Directory Users and Computers和给这些对象排序(使用Description属性),就可以很快地在任何一个Active Directory容器中定位到虚拟机对象。点击Active Directory Users and Computers中的Description列就可以做到这些,双击的话就可以按照降序排序。如图3是一个通过Description排序计算机对象的例子:
图3:在Active Directory Users and Computers中排序虚拟机计算机对象
图3:在Active Directory Users and Computers中排序虚拟机计算机对象
在大型企业中,很多管理员发现Active Directory查询属性非常有用。例如,为了定位所用域中的成员计算机(这些计算机都是ESX虚拟机),以下几个步骤就非常必要:
1.在Active Directory Users and Computers窗口,右键点击“Domain Object”,选择“Find”
2.在“Find”对话框,点击“Find Drop-down”菜单,选择“Computers”
3.接下来,点击“Advanced”属性页。在“Advanced”属性页下,点击“Field”按钮,在复合的drop-down菜单中选择“Description”
4.在“Condition Drop-down”菜单中,选择“Starts With”
5.在“Value”属性中输入“Vesx”,注意如果需要搜索所有虚拟机,只需输入“V”
6.接下来,点击“Add”按钮
7.现在可以点击“Start”开始查询(如图4),就可以显示出那些Description属性以“Vesx开头”的计算机对象
图4:ESX虚拟机Active Directory查询
当然,使用Active Directory Users and Computers GUI只能完成这些工作。在大型环境中,用户可能希望使用脚本语言来填充每一台计算机对象的Description属性。下面的SetDescription.vbs脚本就可以从一个文本文件中读取一个计算机列表,也可以修改这些已有的Description属性,确保其有一个物理或者虚拟的标识符作为前缀。
'SetDescription.vbs
'Adds virtual or physical descriptor to
'computer description attribute.
'set variables
'strPrefix -- physical or virtual identifier prefix
' Prefix values:
' Ps – Physical server
' Vesx – VMware ESX VM
' Vms – Microsoft Virtual Server VM
' Vxen – Xen VM
' Vvi – Virtual Iron VM
' Vvz – SWsoft Virtuozzo virtual private server
' Vscon – Solaris Container
strPrefix = "Vesx"
'strDomainTarget -- this is the AD container
' where the target computer accounts are located
strDomainTarget = "cn=computers,dc=virtual,dc=net"
'strSourceFile -- file that contains computer
' account list
strSourceFile = "c:\computers.txt"
' Constants
Const ForReading = 1
'Open Source File
Set objFSO = CreateObject("Scripting.FileSystemObject")
set objSourceFile = objFSO.OpenTextFile(strSourceFile,_
ForReading, True)
'Connect to Directory Service
'Modify computer description for each computer in
' source file list
Do Until objSourceFile.AtEndOfStream
strcomputer = objSourceFile.Readline
strADSpath = "LDAP://cn=" & strcomputer & _
"," & strDomainTarget
Set objComputer = GetObject(strADSpath)
strOldDes = objcomputer.description
If strOldDes = "" then
strNewDes = strPrefix
Else
strNewDes = strPrefix & " - " & strOldDes
End If
objcomputer.Put "Description", strNewDes
objcomputer.SetInfo
Loop
注意:在上述脚本中,需要修改如下的三个变量:
●strPrefix
●strDomainTarget
●strSourceFile
strPrefix标识虚拟机的前缀,用来给每台计算机Description属性赋值。例如,对于ESX虚拟机,就可以把strPrefix赋值为“Vesx”;对于物理服务器,可以给strPrefix赋值为“Ps”。strDomainTarget必须用来给容器设置不同的名字,在这些容器中包含有目标计算机。例如,如果计算机对象在TechTarget.com域的Computers容器中,这个strDomainTarget变量就应该设置为“cn=computers,dc=techtarget,dc=com”;如果计算机对象在TechTarget.com域的Development OU中,这个strDomainTarget变量的值就应该设置为“ou=development,dc=techtarget,dc=com”。需要注意的是脚本一次只能在一个Active Directory容器中运行,因此,如果需要修改多个容器中计算机对象的话,用户就需要在每一个Active Directory目标容器中运行一次脚本程序。
strSourceFile用来标识文本文件,在这些文本文件中是一个需要修改的计算机名列表。文件中的每一行都需要列出一个计算机主机名字。如下的链接中是一个样例:computers.txt。
在每一台计算对象的Description属性设定之后,用户就可以使用在本文中前面部分提到的Active Directory Users and Computers查询技术来定位虚拟机对象。另外,用户也可以使用一个脚本程序查询Active Directory或者输出一个计算机列表,这个列表包含有一个描述前缀符号,如“Vesx”或者“V”。在本系列文章的第二篇文章中,我们将讨论如何使用脚本进行Active Directory计算机对象Description查询;在第三部分中,我在Active Directory范式的基础上做了进一步扩展,其中包括用一个自定义属性来标识计算机是物理平台还是虚拟平台。