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启动原理:

 

 

  PXERPL的升级品,它是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

出现如下界面:

 

选择Network configuration

 

 

 

选择编辑设备

 

选择eth0网卡

 

 

 

设置以上参数。

===========================================================================================

挂载REDHAT光盘:

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

===========================================================================================

配置YUM客户端:

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

 

 

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

[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

 

 

===========================================================================================

安装DHCP服务器:

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

 

===========================================================================================

安装TFTP服务器:

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

 

===========================================================================================

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

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

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

 

 

===========================================================================================

配置DHCP配置文件:

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

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

 

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

 

===========================================================================================

配置TFTP

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

 

 

===========================================================================================

创建目录

[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

 

 

 

===========================================================================================

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

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

 

 

 

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

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

 

 

===========================================================================================

 

安装kickstart:

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

 

===========================================================================================

 

配置kickstart:

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

 

 

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

 

 

 

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

 

 

 

磁盘分区信息。

 

 

 

配置网卡信息。

 

 

选择需要安装的安装包

 

 

 

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

 

 

 

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

 

===========================================================================================

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

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

 

 

 

在里面加入一行:  key  --skip

 

===========================================================================================

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

 

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

 

 

 

 

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

 

 

 

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

 

 

 

载入驱动。

 

 

 

eth0网卡发送请求IP信息。

 

 

 

决定主机名和域名。

 

 

 

开始安装系统文件。

 

 

 

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

===========================================================================================

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

 

你可能感兴趣的:(linux,linux系统,pxe,安装linux,无人值守)