前言
金融危机带来的经济萎缩促使企业经济进入一个新的时代,促使整个IT行业都进入了一个要求提高效率并控制成本的时期。 对于IT企业来说,预算没有增加甚至还会略减,但是支持24小时x7天全天候运营、满足数据量增长、数据保护和恢复的诉求从来也没有改变。
因此一种新型的灵活的,可池化的,可快速横向扩展的,零接触式的标准化“云数据中心”逐渐成为了各个企业和公司所关注的焦点,过去计算负载均衡的HPC计算模式随着虚拟化技术的推波助澜也逐步被企业广泛的采纳和接受,当无状态的虚拟化层向HPC的MPI一样可以被灵活调用的时候,企业数据中心的“去UNIX化”,“X86结构化“,”虚拟化”甚至“云化”等进程也相继开始有序的进入优雅的节奏。
为传统数据中心所熟知的基于光纤通道构造的SAN环境一直服务于运行UNIX小型机系统中,而随着iSCSI存储协议的出现,利用通用的TCP/IP的通用性,随着万兆以太网络的推波助澜,DCB无损融合汇聚网络,iSCSI协议卸载卡的相继出现,越来越多的Windows应用程序被视为任务关键型应用程序,iSCSI已经成为大型企业和中小型企业中的一个流行的集中存储并不损失高可用性的SAN解决方案。
从Windows Server 2012开始不再像Windows Server 2008 R2需要存储服务器,自身就可以提供iSCSI 目标服务Ver. 3.3和iSCSI的初始化程序,关于Windows Server 2012的iSCSI目标服务内容也很多,有时间我会在博客里介绍。
另外虽然Windows Server 2012可以支持VHDX虚拟磁盘格式,但在iSCSI ver3.3中还是只支持VHD, 当然对于本文来说,一个自动化部署或无盘引导的环境VHD格式的虚拟磁盘已经够用了。
采用iSCSI SAN网络无盘引导的好处
简单来说,基于iSCSI SAN的无盘引导方式是把数据中心的服务器视为计算节点,将操作系统从本地转移到了集中管理的iSCSI存储端(当然这个存储端可以是由Windows Server 2012或2008 R2 Storage服务器构建的,也可以是由iSCSI存储硬件或第三方iSCSI存储软件例如IPStor,StarWind等提供的)的虚拟磁盘映像文件上,像从本地引导一个操作系统或安装介质一样从iSCSI连接的存储映像上启动系统,要知道首先利用虚拟磁盘格式封装的操作系统可以包含应用,预配置的角色如Hyper-V服务相关驱动等,这样的结构让每一个节点变成了“无状态”的虚拟节点,你可以简单的在系统层平移你的计算资源只要你可以在其他网络可达的节点上启动,如此以来数据中心部署变得异常的灵活,因此也是SAN 无盘引导结合虚拟化或HPC解决方案的魅力所在,iSCSI SAN引导的其他好处还有很多,如:
快速部署:
因为黄金映像是系统准备的操作系统映像,所以当计算机启动黄金映像时,它们会跳过文件复制和安装阶段,直接进入自定义阶段。 测试中,我们在 34 分钟可以部署256 个系统,或者可以在5分钟左右引导250个系统节点。
快速恢复:
因为操作系统镜像位于 iSCSI Software Target 服务器上,所以如果需要替换无盘客户端,新机器可以指向操作系统映像,并立即启动。
在操作系统存储方面能节省成本:
通过使用差异虚拟磁盘,您可以使用单个操作系统镜像来启动多个无盘计算机。 当启动镜像使用差异虚拟磁盘时,这种功能有很多好处,包括减少了管理开销和节省了存储成本。
使操作系统映像更安全、更易于管理:
某些业务会要求通过物理锁定存储在某个中心位置来保证数据的安全。 在这种情况下,运行工作负载的服务器会远程访问数据,包括操作系统映像数据。 借助于 iSCSI Software Target 启动,IT 管理员可以集中管理操作系统启动映像,并控制放入黄金映像的应用程序。
实现iSCSI无盘引导部署流程
部署阶段主要包括了:
在计算节点上启用裸金属引导功能,包括:
准备Windows Server 2012黄金映像VHD文件(封装了特定应用,驱动,角色和服务的WS2012的VHD系统映像)
你有两种方式可以选择:
1. 标准方式
? 在配置好iSCSI连接的第一台主机上安装系统,安装相应驱动和组件及应用 (参考本文后面关于设置软硬件iSCSI 预启动环境引导的部分)
? 通过sysprep回到开箱即用的状态:Sysprep /oobe /generalize
2. 快速方式 这种方式适合测试或POC提供一个简单的
1. 通过Powershell 创建VHD (为了创建iSCSI引导的系统启动盘映像,必须创建非动态的VHD文件,既不能通过-dynamic参数创建精简部署格式)
new-vhd –path ws2012boot.vhd –sizebyte 40GB
2. Imagex检查需要部署的Windows Server2012 映像的编号 (需要在系统上安装WAIK 8.0 for windows Server 2012)
imagex /info install.wim
3. 挂载 vhd映像分区格式化后激活分区
4. 通过Imagex封装Windows Server 2012的WIM文件
imagex /apply install.wim 4 {vhdx mount point}
5. 通过Dism 添加驱动等 commit {省略}
6. 用bcdboot封装bootmgr启动信息
Bcdboot {vhd mount point}\Windows /s {vhdx mount point} /v
接下来可以通过new-vhd通过基础映像VHD针对不同系统创建相应的差分VHD磁盘。
new-vhd -ParentPath ws2012boot.vhd -Path ws2012boot_diff1.vhd -Differencing
将该差异系统磁盘映像分配iSCSI目标给相应的客户端。
当然如果你针对大型数据中心的不同系统制作了多个差异磁盘这里要统一进行分配,照方抓药即可。
引导阶段有两种方式:
1. 通过设置支持软硬件iSCSI SAN引导的选项引导。
针对于物理硬件需要通过支持iSCSI引导的网卡或HBA卡,在BIOS中设置 iSCSI 目标的 IQN, iSCSI 目标的 IP 地址和验证(如果在目标端设置)
2. 通过设置支持 iSCSI引导的软件实现,该软件包含了启动iSCSI所需的bootstrap程序,例如常见的gPXE或iPXE软件等。