写在博客之前:
时间过得好快,有段时间没有更新博客了;感觉做一件事情很容易,或者将一件事情做几次也不难,所谓“贵在坚持”,很多东西成为习惯无外乎是你从内心中还是喜爱这件事情的本身的, 并不一定因为做这件事情能带给你什么好处,而是因为你乐在做这件事本身,不功利的说,就像我爱打羽毛球,也许球打的不怎样,但是我喜欢我就坚持下来了,并且附加的好处是这半年几乎没得过病,并且身体越来越好了;写博客这件事情我也希望坚持下来,如果这些博客能够对相关的从业的朋友有所帮助,哪怕是很小的一块,那也算是附加的宝贵财富了。
前言
对于一个简单的只有几台服务器组成的环境,部署一个基础环境,或者说部署几台带有Hyper-V虚拟化功能的操作系统恐怕真不是什么复杂的事情,但是一个复杂的数据中心或者几百台甚至上千台服务器组成的云数据中心,可能随时需要根据要求进行节点的扩充,基础架构环境的部署;在这种情况下,除了需要从模块化的金属架构本身入手,还需要一个有力的手段实现私有云环境就绪的基础环境(简单的说就是你把虚拟化的底层架构hypervisor给我自动化的部署到一个裸金属架构上去)。有了云基础架构(包含Hypervisor虚拟化层的Hyper-V系统),未来的Iaas入手就显的顺理成章了,我们可以再通过私有云管理组件结合服务模板实现上层可伸缩的基础架构,因此说这个零接触式的虚拟化层部署是实现私有云的基础环节,必不可少啊。
核心组件带外管理
这其实是本文一个非常核心的部分;对裸金属硬件的底层管理这是必不可少的组件,透过主板控制器(baseboard management controller (BMC))这个组件我们可以轻易实现对服务器的底层管理,如直接实现Console的显示输出和键盘鼠标输入,控制服务器的开关机,获得服务器电源状态,收集有关服务器硬件 (SMBIOS GUID、 制造商、 型号、 AssetTag、 序列号) 等信息;因此利用带外的管理不但我们可以实现底层的架构部署,将来还可以实现带外的电源管理如根据数据中心负载动态控制节点的启停等高级功能。言归正传,目前的带外管理主要由三个标准构成:
核心组件启动映像
一、手工在物理环境或Hyper-V中把操作系统安装到VHDX或VHD虚拟磁盘中,把这个文件拷贝出来将来放到VMM的库中进行部署时使用。
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,并且规划好分区大小)。需要插入哪些驱动?时区,序列号,自动部署加入域配置等等一些问题,都需要主机配置文件的介入。
<a href="http://3387405.blog.51cto.com/attachment/201212/10/3377405_13551299603Yjn.png"></a>
综上所述,裸机部署带外部署,主要需要三个环节:
1. 通过带外管理发现主机,并且自动进行PXE引导,在此环节确定在该主机部署使用的网络(网卡,IP地址等),用于部署的主机存储。
2. 通过主机配置文件选择相应的映像、驱动等进行自动化部署,并将该主机加入相应的VMM主机组中进行管理。
3. 客户化过程,这个过程将包括部署后的主机IP地址,是否加入域等定制化过程。
下面通过一个流程图,简述一下整个带外自动化部署的完整流程,我会在下篇博客里相对具体的把我的环境部署方式介绍出来。
<a href="http://3387405.blog.51cto.com/attachment/201212/10/3377405_13551299666uoo.png"></a>
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,如需转载请自行联系原作者