通过微软System Center 2012 VMM实现私有云环境裸金属部署的"最高境界"

简介:

写在博客之前:

时间过得好快,有段时间没有更新博客了;感觉做一件事情很容易,或者将一件事情做几次也不难,所谓“贵在坚持”,很多东西成为习惯无外乎是你从内心中还是喜爱这件事情的本身的, 并不一定因为做这件事情能带给你什么好处,而是因为你乐在做这件事本身,不功利的说,就像我爱打羽毛球,也许球打的不怎样,但是我喜欢我就坚持下来了,并且附加的好处是这半年几乎没得过病,并且身体越来越好了;写博客这件事情我也希望坚持下来,如果这些博客能够对相关的从业的朋友有所帮助,哪怕是很小的一块,那也算是附加的宝贵财富了。

 

前言

对于一个简单的只有几台服务器组成的环境,部署一个基础环境,或者说部署几台带有Hyper-V虚拟化功能的操作系统恐怕真不是什么复杂的事情,但是一个复杂的数据中心或者几百台甚至上千台服务器组成的云数据中心,可能随时需要根据要求进行节点的扩充,基础架构环境的部署;在这种情况下,除了需要从模块化的金属架构本身入手,还需要一个有力的手段实现私有云环境就绪的基础环境(简单的说就是你把虚拟化的底层架构hypervisor给我自动化的部署到一个裸金属架构上去)。有了云基础架构(包含Hypervisor虚拟化层的Hyper-V系统),未来的Iaas入手就显的顺理成章了,我们可以再通过私有云管理组件结合服务模板实现上层可伸缩的基础架构,因此说这个零接触式的虚拟化层部署是实现私有云的基础环节,必不可少啊。

 

过去在微软的环境下,我们曾经结合PXE(preboot execute environment是由Intel公司开发的技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统如:Windows server/client),使用过MDT(Microsoft Deployment Toolkit,http://technet.microsoft.com/en-us/solutionaccelerators/dd407791.aspx),(WDSWindows Deployment Services,http://technet.microsoft.com/en-us/library/cc731439%28v=WS.10%29.aspx)等很多方式进行自动化的部署,这些部署方式通常为利用PXE启动一个最小的WINPE环境,然后通过这个环境部署安装映像文件,但是这些方式已经有了长足的进步,今天利用这个机会给大家分享一下为了构建我们活动的环境,特地实践的私有云裸金属部署的“最高境界”,即通过微软的System Center私有云环境组件虚拟机管理器VMM 2012实现通过带外管理OOB(Out of band)技术实现的零接触式自动部署,我的体验是这种方式简单而且容易上手非常适合大规模的数据中心使用。这里给大家介绍的是通过最新的System Center 2012 SP1 RC版本自动化部署Windows Server 2012 RTM的场景,当然我也实践了部署2008 R2的环境,其过程是基本一致的。

 

核心组件带外管理

这其实是本文一个非常核心的部分;对裸金属硬件的底层管理这是必不可少的组件,透过主板控制器(baseboard management controller (BMC))这个组件我们可以轻易实现对服务器的底层管理,如直接实现Console的显示输出和键盘鼠标输入,控制服务器的开关机,获得服务器电源状态,收集有关服务器硬件 (SMBIOS GUID、 制造商、 型号、 AssetTag、 序列号) 等信息;因此利用带外的管理不但我们可以实现底层的架构部署,将来还可以实现带外的电源管理如根据数据中心负载动态控制节点的启停等高级功能。言归正传,目前的带外管理主要由三个标准构成:

 

核心组件启动映像

启动映像就是用于自动启动的包含Hyper-V角色的Windows Server 2008 R2或本文使用的Windows Server 2012的映像,该映像用于VHD自动启动。关于VHD的自动启动,technet有很好的说明http://technet.microsoft.com/zh-cn/library/dd799282(v=ws.10).aspx,当然关于我用过的如何制作这个映像和启动过程这里可以简单归纳如下,第一种方式较为简单,第二种方式会比较直接也是我比较喜欢使用的:

一、手工在物理环境或Hyper-V中把操作系统安装到VHDX或VHD虚拟磁盘中,把这个文件拷贝出来将来放到VMM的库中进行部署时使用。

二、在本机安装WAIK工具(如果需要制作Windows 8 或 Windows Server 2012需要最新的WAIK 8.0 http://www.microsoft.com/en-us/download/details.aspx?id=30652

1. 在Windows 8 或Windows Server 2012中(包含了Hyper-V角色)通过Powershell创建用于启动的VHDX文件

new-vhd –dynamic –path ws2012.vhdx –sizebyte 20GB

2. 在资源管理器通过双击挂载ws2012.vhdx到自动分配的一个文件系统盘符,例如F:

3. 通过WAIK中的imageX 工具把Server 2012或Server 2008 R2安装映像或安装盘中的Sources目录中的Install.wim安装映像挂载,可以先查询一下wim文件中的目录列表以确认需要用于启动的VHD系统环境如是否包含GUI界面,是否为Server Core模式,还是一个完整界面的环境,是数据中心版本的还是标准版本的等。

例如我的环境示例,我会选择目录4用于完整GUI版本的数据中心环境安装。

Imagex imagex /info install.wim

ImageX Tool for Windows 
Copyright (C) Microsoft Corp. All rights reserved. 
Version: 6.2.8400.0

WIM Information: 
---------------- 
Path:        e:\sources\install.wim 
GUID:        {3c48ea4b-59e0-4e4d-a298-f96c49c16158} 
Image Count: 4 
Compression: LZX 
Part Number: 1/1 
Attributes:  0xc 
             Integrity info 
             Relative path junction


Available Image Choices: 
------------------------ 
<WIM> 
  …

挂载指定目录的wim映像到VHD虚拟磁盘中,例如我的环境挂载目录4到挂载的VHDX文件系统F盘,

Imagex imagex /apply install.wim 4 F:\

这样VHDX就制作完成了,你可能会问驱动怎么办?配置启动项怎么办,是否还需要BCDBoot?如果是传统部署方式我们当然还需要DISM工具去封装驱动了,但是别忘了我们是要用VMM这个私有云工具去自动化完成,所以忘记那些复杂的DISM apply,BCDboot命令吧,VMM会帮你做这些事情的,我们再后面介绍。

核心组件WDS

WDS服务器还是需要的,当然已经简化到,你只需要在一个Windows Server 2012的环境中装好这个组件就可以了,VMM会OSD Provider安装代理到WDS服务器中接管并控制启动和VHD映像部署。

 

核心组件VMM资源添加

这个是实现带外管理的必经之路,一个裸金属服务器上线,配置好了带外管理就处于自动化部署就绪状态了, 之后就可以通过VMM的资源添加实现资源动态发现和自动化VHD虚拟化架构自动部署了。

 

核心组件之VMM主机配置文件

一个被自动发现的裸金属服务器,该如何完成对它的初始化,选择怎样的VHD映像进行部署,部署时候需要怎样分区?需要执行那些自动化的脚本?例如挂载动态非固定大小的VHD磁盘时通过非扩展的方式挂载(一个动态大小的VHD文件在首次挂载时会自动扩展其大小,算上页面文件可能占用的空间往往可能超过了实际分区大小,所以为了防止意外分区大小不合适可能会临时采用不扩充的脚本进行控制;当然从官方来说始终建议始终采用固定大小的VHD,并且规划好分区大小)。需要插入哪些驱动?时区,序列号,自动部署加入域配置等等一些问题,都需要主机配置文件的介入。

 

image

 

综上所述,裸机部署带外部署,主要需要三个环节:

1. 通过带外管理发现主机,并且自动进行PXE引导,在此环节确定在该主机部署使用的网络(网卡,IP地址等),用于部署的主机存储。

2. 通过主机配置文件选择相应的映像、驱动等进行自动化部署,并将该主机加入相应的VMM主机组中进行管理。

3. 客户化过程,这个过程将包括部署后的主机IP地址,是否加入域等定制化过程。

 

下面通过一个流程图,简述一下整个带外自动化部署的完整流程,我会在下篇博客里相对具体的把我的环境部署方式介绍出来。

 

image

1. VMM主机通过带外管理OOB引导发现的裸金属服务器。

2. 裸金属服务器询问WDS服务器是否可以进行PXE启动。

3. WDS服务器的请求会由VMM服务器代理发现并确定授权PXE启动。

4. 授权通过后,裸金属服务器可以通过VMM下载WinPE映像用于启动。

5. 裸金属服务器会根据主机配置文件设置运行GCE命令配置配置分区格式化等工作。

6. 裸金属根据主机配置文件从库服务器(可以为VMM服务器)下载Windows Server 2012或2008 R2的VHD文件。

7. 自动完成自定义的驱动插入工作(一般为IO设备),例如裸金属服务器中的RAID卡或网卡驱动需要额外添加等。

8. 裸金属服务器自动启动并完成客户化过程,启用Hyper-V角色,修改主机名,IP地址自动加入域环境等。

9. VMM的代理会被安装到服务器中用于私有云环境的管理。

至此,一个裸金属环境的自动化部署和配置完成了;下一篇博客将把我的环境和整个具体实现方法做一个介绍。










本文转自 翟老猫 51CTO博客,原文链接:http://blog.51cto.com/3387405/1084894,如需转载请自行联系原作者
目录
相关文章
|
存储 安全 网络协议
虚拟化服务(服务器虚拟化、存储虚拟化)|学习笔记
快速学习虚拟化服务(服务器虚拟化、存储虚拟化)
1062 0
虚拟化服务(服务器虚拟化、存储虚拟化)|学习笔记
|
Cloud Native Linux 虚拟化
【云原生 | 03】裸金属架构之服务器安装VMWare ESXI虚拟化平台详细流程
虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。...............
604 0
【云原生 | 03】裸金属架构之服务器安装VMWare ESXI虚拟化平台详细流程
|
数据安全/隐私保护 虚拟化 Windows
|
虚拟化 Windows 数据安全/隐私保护
|
虚拟化 云计算
《VMware、Citrix和Microsoft虚拟化技术详解与应用实践》一1.3 云计算与虚拟化的关系
本节书摘来自华章出版社《VMware、Citrix和Microsoft虚拟化技术详解与应用实践》一 书中的第1章,第1.3节,作者:马博峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
947 0
|
Linux 数据中心 虚拟化