Chinaunix首页 | 论坛 | 博客
  • 博客访问: 362901
  • 博文数量: 36
  • 博客积分: 570
  • 博客等级: 中士
  • 技术积分: 1042
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-08 20:53
文章分类
文章存档

2015年(1)

2014年(1)

2013年(14)

2012年(10)

2011年(10)

分类: 虚拟化

2011-09-08 21:29:08

介绍
Windows Server 2008 R2提供的WDS(Windows Deploy Service)很方便的帮助企业用户去部署windows 操作系统,而且可以和 MDT(Microsoft Deployment Toolkit)去结合使用,MDT对网络部署windows操作系统进行了很大的扩展,几乎可以做到ZTI(Zero Touch Installation),但是如果企业内部署Linux,还要另外部署基于Linux的PXE网络部署,要维护两套系统是不是很烦人。WDS提供了和syslinux的相结合的接口,利用syslinux可以部署非windows的系统,这样是不是就很方便了,O(∩_∩)O~
 
环境拓扑:
 
PS:这里的拓扑是在一个子网内,如果你的客户端和dhcp、wds不在一个子网内,那么还需要在交换机里配置ip-helper,用于将dhcp报文同时直接传送给dhcp和wds,或者是配置dhcp的66和67选项。
 
安装 Windows Deploy Service(WDS)
   在服务器管理器的角色里选择安装Windows部署服务
 
安装完毕后,打开wds管理控制台,进行配置wds
 
安装路径选择非系统盘
 
Pxe选择响应所有客户端
 
配置完毕后,wds就处于激活状态了,打开wds属性
 
在启动选项卡里,你可以选择按F12键进行网络启动,或者是不需要提示直接PXE启动,或者直接PXE启动,除非按ESC取消启动。
 
WDS与Syslinux相结合
把syslinux与wds结合,还需要下载SysLinux组件
下载syslinux:
这个使用syslinux4.0做演示
 
wds和syslinux结合
提取syslinux中:
core\pxelinux.0 
com32\menu\vesamenu.c32 
com32\menu\menu.c32 
com32\modules\chain.c32
memdisk\memdisk
将以上的文件拷贝到 WDS的远程文件夹(刚才配置wds时放在非系统盘的文件夹)下地boot中的x86和x64文件夹下。
更改x86和x64中的pxelinux.0的文件名为pxelinux.com
更改x86和x64中的pxeboot.n12的名称为pxeboot.0
更改x86和x64中的abortpxe.com的名称为abortpxe.0
 
在x86和x64文件夹下创建名为 pxelinux.cfg的文件夹,并在此文件夹下创建名为default的配置文件
default的配置格式如下:
 
DEFAULT vesamenu.c32
PROMPT        0
MENU BACKGROUND wds.jpg
MENU INCLUDE pxelinux.cfg/graphics.conf
MENU AUTOBOOT Starting Local System in # seconds
TIMEOUT 180
 
LABEL Abort
MENU LABEL ^0----Abort PXE
Kernel       abortpxe.0
 
LABEL hdd
MENU DEFAULT
MENU LABEL ^1----BOOT FROM HARDDISK
loaclboot 0x80
 
LABEL WINDOWS MENU
MENU LABEL ^2----WINDOWS INSTALLATION
KERNEL pxeboot.0
 
LABEL LINUX MENU
MENU LABEL ^3----LINUX INSTALLATION
KERNEL vesamenu.c32
APPEND pxelinux.cfg/graphics.conf pxelinux.cfg/linux.menu
 
LABEL VMWARE MENU
MENU LABEL ^4----VMWARE INSTALLATION
KERNEL vesamenu.c32
APPEND pxelinux.cfg/graphics.conf pxelinux.cfg/vmware.menu
 
以上是default的配置
其中wds.jpg是背景图,大小为 640*480,以下是 pxelinux.cfg中graphics.conf的配置,graphics.conf定义的时菜单颜色:
MENU COLOR sel 7;37;44 #ff0030a5 #ff94c3f7 none
MENU COLOR unsel 34;47 #ff0030a5 #ffffffff none
MENU COLOR border 37;47 #ffd3d6e7 #ffd3d6e7 none
MENU COLOR title 37;47 #ff0030a5 #ffd3d6e7 none
MENU COLOR timeout 1;37;44 #ffffffff #00000000 none
MENU TABMSG
MENU AUTOBOOT #
MENU WIDTH 50
MENU MARGIN 1
MENU ROWS 10
MENU TABMSGROW 23
MENU CMDLINEROW 23
MENU ENDROW 24
MENU TIMEOUTROW 16
MENU HSHIFT 16
MENU VSHIFT 8
ONTIMEOUT hdd
ALLOWOPTIONS 1
 
前期的配置就好了,接下来我们需要做的就是将wds与syslinux相结合
在wds服务器中,以管理员身份打开cmd:
使用wdsutil命令,更改如下配置:
 
 
 
 
ok,重启一下wds服务,然后设置客户端从网络启动试一下吧
 
syslinux与wds结合就完成了,接下来需要在wds上安装MDT 2010
 
安装配置MDT2010
在安装MDT2010之前,需要先安装Windows AIK工具包,然后在安装MDT2010
下载AIK工具包:
下载MDT 2010 update1:
安装步骤省略。。。
 
配置MDT 2010
打开mdt控制台,创建部署共享
 
创建部署共享
 
部署共享目录建议放在非系统盘
 
 
部署共享里的内容:
Applications:存放要安装应用程序的目录
operation systems:存放windows 操作系统镜像的目录
Out-of-Box Dreivers:存放硬件驱动的目录
Packages:存放补丁包的目录
Task Sequences:存放任务序列的目录
Advanced Configuration:这里面的配置是需要与sql server结合使用,以实现一些高级应用(进阶)
 
导入windows操作系统镜像
 
导入镜像的三种方式:从光盘导入(ISO文件)、从自定义的WIM文件导入、从WDS存在的镜像导入
在这里使用ISO导入
 
指定光驱的位置
接下来的步骤保持默认即可完成镜像的导入
 
完成导入镜像
 
 
创建任务序列:
 
填写任务序列号及名称
 
选择对应的系统镜像:
往下的步骤保持默认即可完成任务序列的创建
 
配置MDT部署共享的属性
 
勾选Windows PE X86 和 X64 Components选项卡的 语言选项,防止在应用WinPE是出现乱码
 
配置rule:
 
rule可以实现一些自动化的过程,如果感觉在应用WinPE有些步骤不需要,可以再这儿进行默认设置来不显示这些不必要的过程。
 
[Default]
OSInstall=Y
SkipAppsOnUpgrade=YES
SkipSummary=YES(忽略部署环境中最后的摘要)
SkipCapture=YES
SkipAdminPassword=YES
SkipProductKey=YES(忽略产品密钥的输入)
SkipLocaleSelection=YES
SkipDomainMembership=YES(忽略加入域的步骤,即默认为工作组)
KeyboardLocale=0804:00000409(指定键盘区域为中文简体)
InputLocale=0804:00000409(指定输入法为中文简体)
UserLocale=0804:00000409(指定用户默认语言为中文简体)
SkipTimeZone=YES(忽略时区设置)
TimeZone=210(指定时区代码)
TimeZoneName=China Standard Time(指定时区的名称)
DoCapture=NO (指定是否跳过捕获提示,我一般留着)
SkipUserData=YES
UserDataLocation=NONE
SkipFinalSummary=YES(忽略部署的最后结果摘要,可根据需要选择,如果之前已经进行过完整的测试,那么可以忽略该摘要。)
SkipComputerName=YES(忽略计算机名)
 
配置全局的配置文件:
跳过欢迎界面,MDT的计算机名字改为ip地址:
 
在做完这些操作后,要去更新部署共享,以使配置生效。
 
更新过程,第一次时间会很长
 
接下来我们需要把生成的 WinPE引导镜像添加到WDS中
 
把适用于x86和x64的引导镜像都添加到wds中
 
用客户端试一下
刚才添加的两个引导镜像
 
我们在MDT添加的时64位的操作系统,所以选择从x64引导
正在downloadWinPE到客户端
 
填入凭据:
 
选择任务序列:
 
往下就可以给这个客户端部署这个操作系统了
到这儿MDT 和 WDS的配置就完成了,如果想要部署别的windows操作系统,首先要导入这个操作系统,然后做成任务序列。在做完操做后需要去更新一下部署共享,如果更新的过程中发现winpe的内容有了变化,需要在wds中重新加载它们。
当然mdt能做的可不止这一点儿,mdt可以在部署操作系统的过程中同时安装硬件驱动,以及在装完操作系统后自动安装应用软件。你也可以现在一台客户端上装好一个操作系统,然后装好各种应用程序,再在mdt上创建一个捕获的任务序列让客户端去执行,将客户端的操作系统捕获到mdt中,然后在mdt上创建这个捕获镜像的任务序列,这样以后就用这一个统一的模板去发放操作系统,是不是很省事。这些就不在这儿介绍了。
 
 
配置Linux操作系统的安装
前面配置了syslinux的启动画面,并且在里面添加了windows linux vmware安装的Entry,而且配置了MDT与windows的Entry相对应,接下来我们配置linux安装的Entry.
首先我们在wds上配置一个FTP,通过ks文件和ftp实现Linux操作系统的自动安装
使用iis搭建FTP(省略),大家应该都会哈
 
在FTP根目录下创建个版本的Linux目录,比如创建CentOS32目录,并将CentOS5.6 32bit镜像的内容都解压到此目录下。
将centos的ks脚本(在centos中使用kickstart工具产生)放到CentOS目录下
在D:\RemoteInstall\Boot\x86\目录下创建linux目录,并在linux目录下创建各版本的目录,这里创建centos32目录,并将ftp根目录下centos32中image目录下的pxeboot中的内容全部拷贝到该目录下。
在x64目录下也按照如此操作。
在x86和x64目录下的pxelinux.cfg目录中创建linux.menu配置文件:
内容如下:
MENU TITLE Setup Menu
LABEL Main Menu
MENU LABEL ^0----Return to Main Menu
KERNEL vesamenu.c32
MENU BACKGROUND wds.jpg
APPEND pxelinux.cfg/default

LABEL CentOS5.6
MENU LABEL ^1----CentOS5.6_i386
kernel linux/centos32/vmlinuz
append ks=ftp://10.10.1.3/centos32/ks.cfg initrd=linux/centos32/initrd.img ramdisk_size=8192
 
从客户端启动看一下效果吧
从 Linux Installation Entry进去可以看到二级菜单
 
开始加载x86或x64\linux\centos32中的启动文件
 
 
开始安装:
 
 
 
配置VMWare的安装

现在是esxi 5的时代了,esx 4和esxi4 就不演示了,有些许差异,详情参考vmware手册
在D:\RemoteInstall\Boot\x86\目录下创建vmware目录,并在vmware目录下创建esxi5目录,将esxi 5镜像里的内容都复制到这里,
在x64目录下也按照如此操作。
将esxi5中的isolinux.cfg拷贝到x86和x64目录下的pxelinux.cfg目录中,并重命名为vmware.menu,还需要修改kernel 后面的字段为vmware/esxi5/mboot.c32。

就这样简单,试一下吧
从vmware installation进去是不是看到以下的菜单。
不过这样是需要人工去参与安装的,所幸的是esxi 5支持ks脚本方式的安装,这样需要在boot\x86和x64\vmware\esxi5下的boot.cfg中添加一句
kernelopt=ks=http(ftp)://ip/ks.cfg
ks如何设置可以参考vmware的手册

阅读(7155) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

qqdsq12342013-06-26 17:28:35

非常好的文章,很有指导价值,给作者发E-MAIL也得到了回复,谢谢