前面我们已经对Hyper-v 2012 R2进行了全面分析。然而某些特性没有展开,比如安装虚拟机,如何优化等。这并非不重要,而是通过微软的System Center 2012 R2,我们可以更好的去管理Hyper-V。在微软私有云管理中,更多的操作是在System Center 2012 R2中进行的,Hyper-V和故障转移群集属于底层平台,在实际操作中,并不需要时时去接触。
System Center 2012 R2 Virtual Machine Manager(以下简称SCVMM2012 R2)是System Center 2012 R2家庭中集中管理虚拟机的一个组件,它是一套完整的虚拟化数据中心管理解决方案。
SCVMM2012 R2不仅是一个虚拟化解决方案,同时也是一个私有云解决方案,SCVMM2012 R2除了可以管理Hyper-V外,还可以管理VMware的ESXI和XenServer,实现低成本的异构管理,并不需要额外授权。同时可以和家族中的其他组件联动,如何SCOM结合,实现报警等。
SCVMM2012 R2结构
组成部分
一个完整的SCVMM2012 R2包含以下几个部分。
- VMM管理服务器:运行在Windows Server 2012/2012 R2上的一套程序,可以和VMM数据库,VMM库服务器,Hyper-v主机进行交互通信。
- VMM数据库:存储VMM配置信息的MsSQL Server数据库。
- VMM控制台:能够操作VMM管理服务器的图像界面程序,本身不承载数据。默认情况,VMM控制台与VMM管理服务器安装在同一台Windows Server上。可以根据需要,单独安装在非Server系统上。
- VMM库:包含虚拟机镜像,配置文件,软盘,存储的虚拟机,脚本模板等信息的共享文件。
- VMM库服务器:承载VMM库的文件共享服务器,一台VMM库服务器上可以存在多个VMM库。
- VMMCommand Shell:基于PowerShell的命令行解释器,对于习惯使用命令行或者希望编写自动化脚本的用户而言,有很强的吸引力。
- VMM自助门户:该功能仅存在于SCVMM2012中,新版已经删除,成为一个独立的产品(System Center App Controller)。
其他要求
硬件配置
SCVMM默认建议给8G内存,硬盘大一点因为需要有库模板在上面,个人分了300G,官方推荐150G,cpu给多核就可以。
操作系统和SQL
最低Windows Server 2008 R2 SP1,数据库SQL Server 2008 R2 SP2
我们环境全部用Windows Server 2012 R2,数据库全部用SQl Server 2012 SP1。(我查看了网上别人写的文章,不支持SQL Server 2014,我没有做测试,有条件的朋友可以测试下,估计等SCVMM 2016就能支持了。)
SCVMM2012 R2安装
创建虚拟机
我们创建2台服务器SCVMM和SQL服务器,配置如下:
SCVMM2012 R2 |
172.28.103.105 |
SQL2012 SP1 |
172.28.103.106 |
创建特定服务账户
在进入SCVMM2012 R2的安装过程中,会要求输入一个服务账户,对于该账户,有如下要求:
- 必须是本地管理员。
- 如果希望未来使用共享的ISO,则该账户必须同时是域账户。
- 如果在SCVMM安装完成后,希望更好该账户,则必须卸载SCVMM,再重新安装。
- 如果希望高可用的SCVMM,必须使用域账户。
- 建议不要使用域管理员来安装SCVMM2012 R2,可以为该服务在域中创建一个新的独立账户。
同时为了便于管理,也需要为接下来安装的SQL Server 2012 SP1指定一个独立的用户作为数据库管理员。因此,我们提供在域中创建新的账户vmmadmin和sqladmin,密码规则永不过期。并在安装SCVMM2012时,将vmmadmin加入到计算机的本地管理员组中。
安装Net framework3.5
System Center 2012 R2的很多组件都需要NF3.5.(我的模板原来就都装了。。。)
安装ADK8.1
ADK8.1全称为适用于Windows 8.1的Windows评估和部署工具包,这是安装SCVMM2012 R2的必要条件之一,需要注意的是ADK拥有多个版本,本例中的ADK仅适用于SCVMM2012R2.
Windows ADK主要可以实现两个功能:Windows部署和Windows评估。通过ADK,用户可以自定义一些自动化的脚本,方便大规模的Windows安装,Windows评估方面,主要用来界定物理机和虚拟机之间的性能差异,方便管理员对将物理机迁移到虚拟机上是否有性能损耗做出判断。
ADK体积巨大,需要提前下载,方便后期使用。下载地址: http://www.microsoft.com/zh-CN/download/details.aspx?id=39982
选择保存到其他位置
下载好的位置,我们保存好,等会用
安装SQL Server 2012 SP1
SQL Server 2012 SP1是SCVMM的数据承载平台,在生产环境中该角色一般都会单独安装。
安装SQL Server 2012 SP1需要.Net Framework 3.5,因此需要提前安装完成。
Key都不需要,下载好的自己带key
有个防火墙,我们要对SCVMM提供服务,打开下1433端口
选择安装的组件
实例位置改下到D盘
修改账户为sqladmin
自定义SQL 的数据库引擎排序规则,这一步在System center中也尤为重要,如果你的排序规则选择错误,后期就会出现一些莫名其妙的报表错误,安装错误。最好建议选择这个规则
SQL_Latin1_General_CP1_CI_AS
这个规则,是System center 2012R2,所有组件都兼容的数据库引擎规则
(微软方便的工程师告诉我现在不需要修改规则了,SC2012 R2已经能支持默认的规则了,实际的生产环境中我也没有修改排序规则。)
默认
安装完成
配置SCVMM2012 R2加密密钥存储环境
SCVMM2012 R2可以将加密密钥存储在AD中,这样做的好处是在有需要时,能够配置安装高可用的SCVMM
打开adsiedit.msc打开ADSI编辑器,在默认的OU下右键新建对象。
选择container
输入DKM
返回ADSI编辑器,在左侧列表中找到CN=DKM,右键单击,选择属性,切换到安全选项卡。此时选择Domain Admins,单击高级按钮。
在弹出的选项卡中,选中Domian Admins,并单击编辑按钮。
在弹出的选项卡中,选择应用于这个对象及全部后代和完全控制。
安装同样的方法,对SCVMM2012的服务账户vmmadmin进行相同的操作,设置相同的权限。
安装SCVMM2012 R2
本例中的几台机器
服务器名 |
功能 |
DC |
域控 |
Storage |
文件服务器 |
HV1 |
Hyper-V主机 |
HV2 |
Hyper-V主机 |
HVCluster |
Hyper-V群集 |
SCVMM |
SCVMM2012 R2 |
SQL2012 SP1 |
SCVMM 数据库 |
安装界面如下
没有key可以使用180天
安装补丁一定要注意,需要查看官方的手册,好麻烦!!!
这里需要安装ADK了,使用我们前面下载的ADK来安装
安装ADK
我们只勾选部署工具和Windows PE,其他选项并非SCVMM的必选项。
安装完成关闭
再次检查,由于SQL没有一起安装在这台机器上,所以需要到链接中的地址下载sql工具
安装SQL工具
输入SQL信息
输入vmmadmin和密码,在进行此操作之前,需要将该账户添加到SCVMM服务器的本地管理员组中。
已分发密钥管理,输入前面AD中配置的加密密钥存储环境地址。如未进行之前的配置,可以不勾选。
我们将库文件放到D盘,默认VMM服务器是第一台库服务器,但考虑到性能和管理因素,生产环节中不建议将两者合二为一。
检查配置无误可以单击安装。
安装过程耗时较长,等待安装结束后,可以单击关闭。默认情况下系统勾选了检查最新的VMM更新和当此向导关闭打开VMM控制台。
下面碰到了2个错误,因为VMMadmin账户权限不够
- 登陆DC运行下面的命令
“C:\Windows\system32\setspn.exe -S SCVMM/SCVMM.contoso.com CONTOSO\vmmadmin
- 注册SPN值
- 运行 “C:\Program Files\Microsoft System Center 2012 R2\Virtual Machine Manager\setup\ConfigureSCPTool.exe -install” 以配置 SCP。
如果未注册 SPN 和 SCP,则其他计算机上的 VMM 控制台将无法连接到此 VMM 管理服务器,并且将 Hyper-V 主机部署到裸机计算机将失效。
小结
VMM安装过程相对较为复杂,如果不看文档,首次安装会遇到多种报错提示。对于这些错误可以通过微软的建议,下载相应的组件安装予以解决。由于ADK8.1并没有广发发布的离线安装包,使用请预先下载。
SQL安装过程中,需要注意排序,应用了不同排序规则的例之间默认情况下便不能进行SQL的Union,Join,Like等equal操作。到头来可能只能重新安装SQl来解决。
排序错误带来另一灾难就是:SC2012 R2是支持多语言环境的,根据操作系统的语言不通,可以显示不同的界面语言,错误的排序可能导致在多语言切换出现问题,如企业管理员一个是中国人,一个是日本人。
为了防止以后出现问题请不要将SQL和SCVMM安装在同一台服务器。