概念解释
PXE(prebootexecuteenvironment)是Intel公司开发的最新技术,它工作在客户机/服务器的网络模式下。它支持工作站通过网络从远程服务器下载镜像,从而支持 *** 作系统通过网络启动。在启动过程中,终端要求服务器分配一个IP地址。然后使用TFTP(小文件传输协议)或MTFTP(组播小文件传输协议)协议下载一个启动软件包到本地内存执行,启动软件包完成终端(客户?)基本软件设置,从而引导服务器中预装的终端 *** 作系统。
其实简单来说,不需要光驱、u盘、软盘,直接通过网络安装 *** 作系统即可。
Pxe服务器由三种服务组成:DHCP、TFTP、HTTP/FTP/NFS等。
DHCP:负责为将要安装 *** 作系统的客户端分配IP地址,并指定TFTP服务器;
TFTP:负责将引导程序、内核、驱动等小文件传输到客户端;
HTTP/FTP/NFS:负责向客户端传输安装 *** 作系统所需的大文件,如软件包。
这三个服务可以同时构建在同一个服务器上,也可以构建在不同的服务器上。也可以部署在不同的平台上,比如Windows系统提供的DHCP服务,Linux平台上搭建的TFTP,Unix系统提供的HTTP。它们甚至可以由不同的设备提供,如路由器提供的DHCP服务、手机提供的TFTP服务和服务器提供的HTTP服务。
部署环境
Pxe服务器:CentOS6.7x86_64系统,三个服务同时建立在这个主机上,IP地址为192.168.150.20;
要安装的客户端:CentOS6.7x86_64系统。
部署流程
首先从国内阿里云开源镜像网站下载CentOS6.7x86_64的ISO镜像,手动安装一台服务器作为pxe服务器平台。
下载地址:http://mirrors.aliyun.com/centos/6.7/isos/x86_64/centos-6.7-x86_64-bin-DVD1.iso
如果链接失败,请到http://archive.kernel.org/centos-vault/去找镜子。
这里不再描述系统的手动安装过程。系统安装完成后,为服务器配置一个静态IP地址(注意这里必须配置为静态IP地址,不能使用通过dhcp获取的动态IP地址。)使用DNS服务器,在测试网络连接之后,使用SecureCRT远程登录并配置系统yum源。删除/etc/yum.repos.d/目录下的所有文件RM-F/etc/yum.repos.d/*,添加/etc/yum.repos.d/centos6.7-x86_64.repo文件,内容如下:
[基本]
name=CentOS-6.7-x86_64
baseURL=http://mirrors.aliyun.com/centos/$releasever/OS/$basearch/
启用=1
gpgcheck=1
gpgKEY=file:///etc/PKI/RPM-gpg/RPM-GPG-KEY-CentOS-6
这里baseurl参数,百胜的地址最重要,还是用阿里云开源镜像提供的百胜地址。如果http://mirrors.aliyun.com/centos/链接失败,请转移到http://vault.centos.org。
执行yumcleanall后,安装以下四个软件包。
yum安装dhcptftp-serverhttpdsyslinux-y
安装完成后,开始pxe服务器的配置。
DHCP服务的配置:
将以下内容添加到配置文件/etc/dhcp/dhcpd.conf中:
选项空间PXE;
optionPXE.mtFTP-IPcode1=IP-address;
optionPXE.mtftp-cportcode2=无符号整数16;
optionPXE.mtftp-sportcode3=无符号整数16;
optionPXE.mtftp-tmoutcode4=无符号整数8;
optionPXE.mtftp-delaycode5=无符号整数8;
期权拱码93=无符号整数16;#RFC4578
子网192.168.150.0网络掩码255.255.255.0{
范围192.168.150.180192.168.150.240;
可选路由器192.168.150.1;
选项域名服务器202.96.134.33,202.96.128.86;
默认租赁时间600;
最大租赁时间1800;
类别"pxeclients"{
匹配if子串(选项vendor-class-identifier,0,9)="PXEclient";
下一个-服务器192.168.150.20;
如果选项arch=00:06{
文件名“bootia32.EFI”;
}elseifoptionarch=00:07{
文件名“bootx64.EFI”;
}否则{
文件名“pxelinux.0”;
}
}
主办波恩{
文件名“yaboot”;
下一个-服务器192.168.150.20;
硬件以太网00:0e:91:51:6a:26;
固定地址192.168.150.241;
}
}
这里的网段必须是服务器配置的IP地址,同一个网段或子网,掩码要一致。(重要配置在绿色方框中)
Range是可分配的IP地址范围,optiondomain-name-servers是dns服务器地址,optionrouters是网关地址,optionbroadcast-address是广播地址,default-lease-time600是IP地址。租期最短10分钟。Max-lease-time1800租用IP地址长达30分钟,next-server指定dhcp服务器地址,这里是本地计算机。文件名是一个引导程序文件。
更详细的pxe配置参数见红帽官方安装文档https://access.redhat.com/documentation/en-us/red_帽子_企业_Linux/6/html/installation_guide/S1-netboot-PXE-config.html#S1-netboot-PXE-config-BIOS。
要配置TFTP服务:
编辑配置文件/etc/xinetd.d/tftp,将disable参数处的yes改为no,即启用tftp服务。/var/lib/tftpboot是tftp的默认主目录。
添加引导文件,安装软件包:
将CentOS6.7系统映像ISO文件从开源映像下载到服务器。请参考上述下载地址。
curl-Ohttp://mirrors.aliyun.com/CentOS/6.7/isos/x86_64/CentOS-6.7-x86_64-bin-DVD1.iso
下载完成后,创建/var/www/html/OS/centos6.7-x86_64目录,将ISO镜像挂载到/media目录,并将目录中的所有文件复制到CentOS6.7-x86_64目录。
mkdir-p/var/www/html/OS/centos6.7-x86_64
mount-oloopCentOS-6.7-x86_64-bin-DVD1.iso/media/
CP-r/media/*/var/www/html/OS/centos6.7-x86_64/
创建/var/lib/tftpboot/pxelinux目录,并复制引导程序文件。
CP/media/EFI/BOOT/bootx64.EFI/var/lib/tftpboot/bootx64.EFI
CP/usr/share/sysLinux/pxelinux.0/var/lib/tftpboot/
mkdir-p/var/lib/tftpboot/kernel
mkdir-p/var/lib/tftpboot/image
CP/media/images/pxeboot/vmlinuz/var/lib/tftpboot/kernel/vmlinuz.centos6.7-x86_64
cp/media/images/pxeboot/initrd.img/var/lib/tftpboot/image/initrd.centos6.7-x86_64.imgCP/media/images/pxeboot/initrd.img/var/lib/tftpboot/image/initrd.centos6.7-x86_64.img
从本章下载附带的msg文件包,并将msgs文件夹解压缩到/var/lib/tftpboot/目录。
解压缩msgs.zip-d/var/lib/tftpboot/
编辑boot.msg文件,添加菜单1,用于安装CentOS6.7系统。
使用以下内容创建一个新目录/var/lib/tftpboot/pxelinux.cfg和/var/lib/tftpboot/pxelinux.CFG/default文件:
默认为0
提示1
超时600
显示msgs/boot.msg
########从本地驱动程序启动###########
标签0
本地启动0xffff
######安装CentOS6.7x86_64######
标签1
内核kernel/vmlinuz.centos6.7-x86_64
ipappend2
appendinitrd=image/initrd.centos6.7-x86_64.imgks=http://192.168.150.20/os/centos6.7-x86_64/ks.cfgip=dhcpksdevice=bootifappendinitrd=image/initrd.centos6.7-x86_64.imgks=http://192.168.150.20/OS/centos6.7-x86_64/ks.CFGIP=DHCPksdevice=bootif
0默认从标签0启动,其中标签0设置为从本地磁盘启动,并且可以修改。
超时600秒超时600秒。如果10分钟内没有手动 *** 作,会自动从默认默认启动。如果设置为0s,它将直接从缺省值启动,而不需要等待。
屏幕上显示的信息可以是文本、图片等。
获取kickstart文件:
有三种方法可以获得kickstart文件。
通过system-config-kickstart工具的标准配置获得。
如果此服务器上没有安装图形环境,请使用yum安装yumgroupinstall“Desktop”-y,然后安装system-config-kick软件包。
yum安装系统-配置-kickstart-y
在控制台(本地)登录命令行直接键入startx,立即进入桌面环境;如果想远程访问桌面环境,需要vnc或xmanager之类的工具。有关配置,请参考网络搜索。
进入桌面环境后,点击左上角的应用-系统工具-终端,打开虚拟终端命令行工具。
在命令行中,键入system-config-kickstart打开kickstart图形语言配置工具。
在基本配置中,配置默认语言、键盘类型、时区(是否使用UTC时钟)、root用户密码、安装系统后自动重启选项。
安装介质配置有新安装、http安装源、http服务器地址和http目录。
分区信息中的配置
清除主引导记录,删除所有分区,初始化所有磁盘标签,最后点击手动添加分区。
在点根分区中,文件系统类型默认为ext4,可以指定磁盘创建一个容量为24GB的分区。这里,默认单位是MB,即24GB*1024=24576MB。该选项被强制为主分区并格式化该分区。
确认后,再次添加交换分区,文件系统类型swap,构建在默认的第一个磁盘sda上,大小为8GB,即8192MB。
最终的分区概述如下
网络配置,在右边添加添加网络设备。
默认情况下,第一个网卡命名为eth0。
开发和测试环境的防火墙配置。可以禁用selinux和防火墙服务。
选择软件包,可以查basic-basic,兼容库,调试工具等。
语言,建议查中文支持。
勾选系统管理框,此处不限。您也可以在安装系统配置yum源之后再次安装所需的软件包。
安装后脚本,可以添加到这里,在系统安装完成后运行一些脚本。Interpreger是运行环境,默认是bash环境。在下面键入脚本内容。
最后点击软件左上角的文件-保存。
保存位置可以是/根目录,文件名是ks.cfg
最后,ctrl+q退出系统-配置-kickstart软件。检查ks.cfg文件的内容,主要分为三部分:安装时的系统配置,安装后要执行的脚本,要安装的软件包。
也可以根据需要直接修改ks.cfg文件。
使用anaconda-ks.cfg文件生成kickstart文件:
无论如何安装CentOS系统,在/根目录下都会有anaconda-ks.cfg文件。其实和我们需要的ks.cfg文件内容是一样的。该文件是本系统根据安装时的配置参数生成的文件,适当修改后保存为ks.cfg文件。
直接下载本章末尾附带的ks.cfg文件,根据需要进行修改。
将ks.cfg文件复制到目录/var/www/html/OS/centos6.7-x86_64/
CP/root/ks.CFG/var/www/html/OS/centos6.7-x86_64/
最后,启动dhdp、tftp和http服务,关闭防火墙和selinux。
/etc/init.d/dhcpdstart
/etc/init.d/xinetd重新启动
/etc/init.d/httpd启动
/etc/init.d/iptablesstop
setenforce0
将所有要安装pxe服务器的客户端的网络连接到同一个交换机上,交换机端口必须处于接入模式;在复杂的网络环境下,交换机端口可能配置为trunk模式,所以需要在网关上配置dhcpultimateagent,指向dhcp服务,否则无法获取ip地址。
当客户端从网卡启动时,通常默认按F12。建议参考服务器的用户手册。当检测到有线网卡并正常获取ip地址后,会出现安装菜单。
这里直接输入数字1,回车,客户端加载引导程序开始自动安装系统。
几分钟后,您可以看到自动安装过程。安装完成后,系统会自动重启,无需手动 *** 作。
rhel系统的安装配置与CentOS相同,此处不再赘述。
CentOS5.11版的安装配置与此类似。网络引导内核仍然是从CD-ROMmedia/images/pxeboot/目录中复制的,这里粘贴的是CentOS7.2的默认文件配置。
#####安装centos7.2######
标签4
内核kernel/vmlinuz.centos7.2-x86_64
ipappend2
appendinitrd=image/initrd.centos7.2-x86_64.imgip=dhcpksdevice=bootifinst.repo=http://192.168.150.20/os/centos7.2-x86_64/inst.ks=http://192.168.150.20/os/centos7.2-x86_64/ks.cfgappendinitrd=image/initrd.centos7.2-x86_64.imgIP=DHCPksdevice=bootifinst.repo=http://192.168.150.20/OS/centos7.2-x86_64/inst.ks=http://192.168.150.20/OS/centos7.2-x86_64/ks.CFG
当然也可以按照6.7来写,只是在官方文件里有提到。实际上,版本7支持多种安装方式。有关详细信息,请参考官方安装文档。
kickstart文件ks.cfg直接从我的附件下载修改即可使用!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)