感谢支持
我们一直在努力

PXE实现无人值守无盘安装Linux

什么是PXE:


PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000,linux等。


为什么使用PEX:


从CD-ROM安装Linux这种最便捷、最直接的操作方法,但是,如果一旦遭遇需要同时安装linux系统到多台计算机上,那么我们应该选择一种更高效的安装方式。PXE是其中的一种选择。


PEX—Pre-boot Execution Environment协议可以使计算机通过网络引导启动。把安装盘的内容复制到某台服务器,欲安装linux的计算机通过网络实现多机同时安装。


PEX启动原理:


PXE实现无人值守无盘安装Linux


PXE实现无人值守无盘安装Linux


  PXE是RPL的升级品,它是Preboot Execution Environment的缩写。它们的不同之处在于RPL是静态路由,而PXE是动态路由。其通信协议采用TCP/IP,与Internet连接高效而可靠,PXE无盘工作站的启动过程分析如下:


  ¨ 客户端个人电脑开机后, 在 TCP/IP Bootrom 获得控制权之前先做自我测试。


  ¨ Bootprom 送出 BOOTP/DHCP 要求以取得 IP。


  ¨ 如果服务器收到个人电脑所送出的要求, 就会送回 BOOTP/DHCP 回应,内容包括


  客户端的 IP 地址, 预设网关, 及开机影像文件。否则, 服务器会忽略这个要求。


  ¨ Bootprom 由 TFTP 通讯协议从服务器下载开机影像文件。


  ¨ 个人电脑通过这个开机影像文件开机, 这个开机文件可以只是单纯的开机程式也可


  以是操作系统。


  ¨ 开机影像文件将包含 kernel loader 及压缩过的 kernel, 此 kernel 将支持NTFS root


  系统。


¨ 远程客户端根据下载的文件启动机器。


在这里,我做一个用PXE安装LINUX的案例:


环境:VMWARE虚拟机


要求:用RedHat LINUX配置PXE服务器,实现无人值守无盘安装LINUX


配置静态IP地址:


输入命令:[root@localhost ~]# setup


出现如下界面:


PXE实现无人值守无盘安装Linux


选择Network configuration


PXE实现无人值守无盘安装Linux


选择编辑设备


PXE实现无人值守无盘安装Linux


选择eth0网卡


PXE实现无人值守无盘安装Linux


设置以上参数。


挂载REDHAT光盘:


[root@localhost ~]# mount /dev/cdrom /mnt/cdrom


配置YUM客户端:


[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo


PXE实现无人值守无盘安装Linux

配置命令如下:直接粘贴进去就行了


[rhel-Server]


name=Red Hat Enterprise Server $releasever – $basearch – Debug


baseurl=file:///mnt/cdrom/Server


enabled=1


gpgcheck=1


gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RedHat-release


[rhel-VT]


name=Red Hat Enterprise VT $releasever – $basearch – Debug


baseurl=file:///mnt/cdrom/VT


enabled=1


gpgcheck=1


gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


[rhel-Cluster]


name=Red Hat Enterprise Cluster $releasever – $basearch – Debug


baseurl=file:///mnt/cdrom/Cluster


enabled=1


gpgcheck=1


gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


[rhel-ClusterStorage]


name=Red Hat Enterprise ClusterStorage $releasever – $basearch – Debug


baseurl=file:///mnt/cdrom/ClusterStorage


enabled=1


gpgcheck=1


gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


然后保存,退出。


安装FTP服务器:


[root@localhost cdrom]# yum install -y vsftpd


PXE实现无人值守无盘安装Linux


安装DHCP服务器:


[root@localhost cdrom]# yum install -y dhcp


PXE实现无人值守无盘安装Linux


安装TFTP服务器:


[root@localhost cdrom]# yum install -y tftp


PXE实现无人值守无盘安装Linux


把安装文件放到FTP服务器上:


[root@localhost /]# cd /mnt/cdrom/


[root@localhost cdrom]# cp -r . /var/ftp/pub/


PXE实现无人值守无盘安装Linux


配置DHCP配置文件:


[root@localhost cdrom] # vim /etc/dhcpd.conf


进入底行模式输入:-r /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample


PXE实现无人值守无盘安装Linux


在VIM编辑器的插入模式做以上修改。


配置TFTP:


[root@localhost ~]# vim /etc/xinetd.d/tftp


PXE实现无人值守无盘安装Linux

创建目录


[root@localhost /]# mkdir -pv /tftpboot/pxelinux.cfg


复制文件:


[root@localhost /]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/


[root@localhost /]# cp /mnt/cdrom/images/pxeboot/vmlinuz /tftpboot/


[root@localhost /]# cp /mnt/cdrom/images/pxeboot/initrd.img /tftpboot/


[root@localhost /]# cp /mnt/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default


PXE实现无人值守无盘安装Linux


修改/tftpboot/pxelinux.cfg/default文件:


[root@localhost /]# vim /tftpboot/pxelinux.cfg/default


PXE实现无人值守无盘安装Linux


在插入模式做如上图修改:代码如下


Timeout的值改为6


12行修改为:append ks=ftp://192.168.10.1/pub/ks.cfg ksdevice=eth0 initrd=initrd.img


重启ftp dhcp xinetd服务:


[root@localhost ~]# service vsftpd restart


[root@localhost ~]# service dhcpd restart


[root@localhost ~]# service xinetd restart


PXE实现无人值守无盘安装Linux


安装kickstart:


[root@localhost ~]# yum install -y system-config-kickstart


PXE实现无人值守无盘安装Linux


配置kickstart:


[root@localhost cdrom]# system-config-kickstart


PXE实现无人值守无盘安装Linux


配置默认语言,键盘类型,root用户密码,安装后是否重新引导,在文本或图形模式安装。


PXE实现无人值守无盘安装Linux


选择新安装,从FTP安装,以及FTP地址和路径


PXE实现无人值守无盘安装Linux


磁盘分区信息。


PXE实现无人值守无盘安装Linux


配置网卡信息。


PXE实现无人值守无盘安装Linux


选择需要安装的安装包


PXE实现无人值守无盘安装Linux

写入安装后执行的脚本以及解释器。


PXE实现无人值守无盘安装Linux


保存ks.cfg 文件。保存路径为:/var/ftp/pub/


因为我们的目的是无人值守安装LINUX,我们在安装的时候,会提示输入KEY。在此,我们编辑ks.cfg文件跳过key的选择。


[root@localhost cdrom]# vim /var/ftp/pub/ks.cfg


PXE实现无人值守无盘安装Linux


在里面加入一行:  key  –skip


我们来新建一个虚拟机,测试一下:


PXE实现无人值守无盘安装Linux


设置虚拟机网络连接。(注意,新建的虚拟机一定要和做PXE服务器的虚拟机在同一个虚拟LAN里面)


PXE实现无人值守无盘安装Linux


PXE客户端从DHCP服务器获取IP地址。


PXE实现无人值守无盘安装Linux


获取地址成功,并加载安装信息。


PXE实现无人值守无盘安装Linux


载入驱动。


PXE实现无人值守无盘安装Linux


为eth0网卡发送请求IP信息。


PXE实现无人值守无盘安装Linux


决定主机名和域名。


PXE实现无人值守无盘安装Linux


开始安装系统文件。


PXE实现无人值守无盘安装Linux


安装完成,输入刚才在kickstart里面预设的root密码,登陆成功。


PS:江山烟若柳原创,转载请注明出处。因本人水平有限,不足之处在所难免,敬请批评指正,共同学习,共同提高。

赞(0) 打赏
转载请注明出处:服务器评测 » PXE实现无人值守无盘安装Linux
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏