富阳教研  

返回   富阳教研 > 电脑技术 > 虚拟化技术VM

虚拟化技术VM: VMware, ESX, Vsphere, XEN, VirsualPC...所有关于虚拟化技术的讨论和经验分享。

回复
 
主题工具 对主题评分 显示模式
旧的 2018-01-19, 11:44 PM   第 1 楼
jacky
管理员
 
jacky的头像
 
帖子: 3,121
声望: 10 jacky is on a distinguished road
来自: 天上人间
注册日期: Feb 2003
使用Yahoo!给 jacky 发送一个信息
通过PXE快速部署VMware ESXi 6.5

http://www.azurew.com/4966.html

通过PXE快速部署VMware ESXi 6.5







说明


我们一般默认安装ESXi 都是通过cd或者u盘之类的介质进行安装ESXi系统,不过如果我们的环境新到一大批服务器并且需要在规定的时间内完成系统的部署,那么一台台部署显然是不可能的,所以我们就使用PXE来进行快速的部署,

部署PXE可以使用Windows或者Linux,我这里就使用Windows来部署。我们分为几部,先安装一台Windows系统,然后再Windows系统上安装一个IIS服务,里面配置好ks.cfg的安装配置文件,然后再下载个tftp32的软件,网上一大批,由tftp来提供dhcp和pxe的文件进行安装。

PXE引导安装过程




ESXi 主机与其他服务器之间的交互按如下所示进行:
◦用户引导目标 ESXi 主机。
◦目标 ESXi 主机生成 DHCP 请求。
◦DHCP 服务器以 TFTP 服务器的 IP 信息和位置作为响应。
◦ESXi 主机联系 TFTP 服务器,并请求 DHCP 服务器指定的文件。
◦TFTP 服务器发送网络引导加载程序,然后 ESXi 主机执行该程序。初始引导加载程序可能从 TFTP 服务器加载更多引导加载程序组件。
◦引导加载程序在 TFTP 服务器上搜索配置文件,从 HTTP 服务器或 TFTP 服务器下载内核和其他 ESXi 组件,并在 ESXi 主机上引导内核。
◦安装程序以交互方式或者使用 kickstart 脚本运行,如配置文件中所指定。

准备工作


软件准备


1.下载TFTP server

windows下绿色免安装非常好用的TFTP服务器,网上搜一大堆

2.下载ESXI6.5的ISO文件

注:如果百度会看到有药syslinux文件,那个是给老BIOS使用的,我们这个是UEFI实验,所以不需要。

系统准备


因为测试环境,所以单独搞了个只要主机的VMnet2即可,和PXE同一个网段



用于PXE的VMware选择UEFI BIOS。



配置PXE

◦在C盘创建tftpboot目录


将ESXi 6.5 安装文件 efi/boot/bootx64.efi 从 ESXi 安装程序 ISO 映像复制到 TFTP 服务器的 /tftpboot/目录下并重命名为mboot.efi。






注:新版本的 mboot.efi 通常可以引导旧版本的 ESXi,但旧版本的 mboot.efi 可能无法引导新版本的 ESXi。如果您计划配置不同的主机以引导不同版本的 ESXi 安装程序,请使用最新版本中的 mboot.efi。

创建 TFTP 服务器顶级 /tftpboot 目录的子目录,并以其将保存的 ESXi 版本命名,例如 /tftpboot/ESXi-6.x.x-xxxxx。




将 ESXi 安装程序映像的内容复制到刚创建的目录中。




修改 ESXi这个目录安装程序中的boot.cfg 文件

添加以下行:

prefix=ESXi-6.x.x-xxxxxx

其中,ESXi-6.x.x-xxxxxx 是安装程序文件相对于 TFTP 服务器 root 目录的路径名称。


对于脚本式安装,在 boot.cfg 文件中内核命令后的一行添加 kernelopt 选项以指定安装脚本的位置。

将以下代码用作模型,其中 XXX.XXX.XXX.XXX 是安装脚本所在的服务器的 IP 地址,esxi_ksFiles 是包含 ks.cfg 文件的目录。


kernelopt=ks=http://XXX.XXX.XXX.XXX/esxi_ksFiles/ks.cfg
◦如果 kernel= 和 modules= 行中的文件名以正斜杠 (/) 字符开头,请删除该字符。




请按照我的次序来写配置文件,否则可能出错,我试了好久

◦(仅限 UEFI)指定是否希望所有 UEFI 主机都引导同一安装程序。(我这里就同一程序了)
1.
同一安装程序 将 boot.cfg 文件复制或链接到 /tftpboot/boot.cfg



2.
不同安装程序
1.创建 /tftpboot 的子目录,并以目标主机的 MAC 地址 (01-mac_address_of_target_ESXi_host) 命名,例如 01-23-45-67-89-0a-bc。
2.将主机 boot.cfg 文件的副本(或链接)置于此目录中,例如 /tftpboot/01-23-45-67-89-0a-bc/boot.cfg。


添加防火墙端口


UDP 69

netsh advfirewall firewall add rule name=”TFTP” protocol=UDP dir=in localport=69 action=allow



配置安装脚本


安装IIS




安装完成能打开127.0.0.1代表安装完成



配置安装脚本


在C:\inetpub\wwwroot目录下新建esxi_ksFiles文件夹



在esxi_ksFiles中创建一个初始的ks.cfg文件





我们修改下脚本,修改成自己要的,请去掉中文的注释,否则安装会报错,并且字母都是小写





配置IIS


这时我们打开浏览器会发现有报错




我们需要打开IIS管理器,点击MIME类型





添加cfg扩展名





添加完成





这时我们在打开网页,可以看到已经可以下载此文件了





启动Tftp32


配置TFTP



我们打开后配置下DHCP





开始安装ESXi


全部都好了,我们开始安装测试吧。



这时我们查看Tftp会发现下面在进行传输



开始安装了



安装完成重启,重启会自动进行不需要干预



安装完成


重启后系统全部安装完成



登陆主机,可以看到许可都在,至此PXE安装全部完成。
jacky不在线   引用回复
旧的 2018-01-19, 11:48 PM   第 2 楼
jacky
管理员
 
jacky的头像
 
帖子: 3,121
声望: 10 jacky is on a distinguished road
来自: 天上人间
注册日期: Feb 2003
使用Yahoo!给 jacky 发送一个信息
http://chuansong.me/n/1983436951030

PXE部署无人值守ESXi 6.5 UEFI启动安装

原创 2017-07-18 吴秋林 虚拟人 ​

可以使用TFTP Server启动加载ESXi安装动作,这个过程中有一个区别是需要注意的一点就是:ESXi 6.x支持两种BIOS类型,分别是传统的BIOS和UEFI这两种。之前已经写过了一篇(图文)gPXE部署无人值守ESXi 6.5详细安装教程针对的是传统BIOS的gPXE部署。由于现在的ESXi 6.5标准推荐是UEFI,因此,猫猫就决定编写一篇关于利用gPXE启动加载安装介质实现UEFI BIOS的快速安装部署;




这样做有一些前提条件,包括:

◦ESXi 6.5安装介质;


◦满足ESXi 6.5要求的环境配置;


◦网路需要支持PXE启动ESXi 6.5;


◦DHCP for PXE Booting;


◦TFTP Server;


◦Web Server;


◦TFTP需要UDP 69端口支持;


◦UEFI PXE Boot支持IPv4/IPv6,传统BIOS仅支持IPv4;


◦如有必要,使用Kickstart文件来加载安装脚本;


◦建议使用Native VLAN,如有VLAN需求,则需要指派VLAN ID;




其它的前期准备工作,请参考(图文)gPXE部署无人值守ESXi 6.5详细安装教程这篇文章,本就直接切入正题:




传统BIOS机器,支持使用同一个pxelinux.0或gpxelinux.0来初始化Boot Loader为所有机器去加载启动ESXi 6.5安装进程。不过不同PXELINUX配置文件基于目标机器的MAC地址;




UEFI机器,支持使用同一个mboot.efi来初始化Boot Loader加载不同版本的ESXi安装进程。但是不同的Boot.cfg文件会基于不同的目标机器MAC地址;




部署进程如下:




1、首先依然是准备TFTP环境,唯一的区别要注意一下就是关于TFTP Server的设定里的下图所示参数,将Boot File更名为mboot.efi:






2、接着呢,就是将下载到的ISO文件里/EFI/Boot/BOOTX64.EFI文件拷贝到TFTP设定的服务器根目录下,更名为mboot.efi,如下图所示:




备注:新版本的mboot.efi可以启动旧版本的ESXi,但是旧版本的mboot.efi文件无法启动新版本的ESXi,因此,如果有多个不同主机要加载不同的ESXi安装介质,则需要使用最新的mboot.efi版本;




3、在TFTP服务器根目录下创建一个子目录,目录格式为/TFTPBoot/ESXi-6.x.x-xxxx,本例中的就是/PXEBoot/ESXi-6.5.0-XXXX,入下图所示:






然后,将下载到的VMvisor安装ISO里面的全部内容,拷贝到我们刚刚创建的这个目录里;




4、接着呢,就是修改BOOT.CFG文件,在里面增加一行参数:prefix=ESXi-6.5.X-XXXX,同时,还有一点很重要,就是把Kernel和Modules后面那些加载讯息里的反斜线“/”全部干掉,否则会失败。如下图所示:






5、因为我们要考虑用Kickstart做自助式无人值守安装,所以呢,我们还需要做点事情,那就是修改BOOT.CFG文件,在里面的“kernelopt”选项后面增加一个配置,这个配置就是自动加载配置讯息时的那些预设ESXi配置讯息,我们可以将这些讯息放在一个新建的文件夹里,例如:新增一个名为“Kickstart”的文件件,然后在里面放进去以ksXX.cfg为名的文件,有多少台待装机器,就编多少个号,具体格式为:kernelopt=ks=ftp://vmware:vmware@x.x.x.x/Kickstart/ks02.cfg,如下图所示:






PS:

◦这里也可以用http来做,格式为ks=http://x.x.x.x/Kickstart/ks02.cfg;





6、如果所有机器都加载相同的配置讯息呢,我们就不需要做其他配置了,将BOOT.CFG文件拷贝到/PXEBoot/下面即可不需要做其他事情了。但是,如果有很多台机器并且每台机器都有各自个性化的设定,那么,就需要接着做一件事情:在PXEBoot这个根目录下面以每台待部署机器的MAC地址为参考创建一个个文件夹,文件夹格式为:01-XX-XX-XX-XX-XX-XX,然后呢,将BOOT.CFG文件分别拷贝到不同的目录下。如下图所示:






PS:注意一点的是,如果有多台待装服务器,而且各自要加载不同的ksXX.cfg配置讯息,那么,我们需要在Kickstart文件夹里创建对应的ksXX.cfg文件,并且在BOOT.CFG文件里面,将kernelopt=ks=ftp://vmware:vmware@x.x.x.x/Kickstart/ksXX.cfg这里的ksXX.cfg文件对应好我们在不同文件夹里准备好的那个ksXX.cfg文件;




之后,启动要安装的ESXi 6.x,就可以自动安装加载了……
jacky不在线   引用回复
回复

主题工具
显示模式 评价此主题
评价此主题:

论坛规则  发贴规则
不可以发表主师
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛开启 vB 代码
[IMG]代码 开启
HTML代码 关闭


所有时间均为GMT北京时间. 现在时间是 03:50 AM

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
富阳教研网 版权所有