在工作中时常会碰到这样的情况:想要安装Linux并且计算机不带硬盘或光驱,或则是电脑配置的非标准的软盘和硬盘,如1394插口,USB插口等,在Linux安装时所引导的Linux内核通常都不会带这种插口的驱动,所以也未能通过本地安装Linux,再者,在一些场合,如机房,IT实验室,鞋厂生产线,有大量的计算机须要同时安装Linux鸟哥的linux私房菜,假若通过硬盘的形式一个个安装,除了效率低,也不利于维护。这是时侯你就须要PXE的强悍功能了。本文凑合PXE的基本原理和工作方法进行简略介绍。具体的实践过程须要比较丰富的网路知识。
1.操作系统安装的流程
通用流程:首先,bios启动,选择操作系统的启动(安装)模式(此时,显存是空白的),之后按照相关的安装模式,找寻操作系统的引导程序(不同的模式,对应不同的引导程序其实也对应着不同的引导程序存在的位置),引导程序加载文件系统初始化(initrd)程序和内核初始镜像(vmlinuz),完成操作系统安装前的初始化;接着,操作系统开始安装相关的系统和应用程序。
硬碟安装的流程:bios启动——MBR找寻grub——grub程序读取menu.list等配置文件,找到内核启动镜像和相关初始化程序,安装(或则启动)。
PXE(Pre-bootExecutionEnvironment)是由Intel设计,可以使计算机通过网路启动的合同。合同分为client和server两端,PXEclient在网卡的ROM中,当计算机启动时,BIOS把PXEclient调入显存执行,并显示出命令菜单,经用户选择后,PXEclient将放置在远端的操作系统通过网路下载到本地运行。
pxe网路安装的流程:bios启动——pxeclient中的程序步入显存,显示命令菜单——此程序开始找寻网路引导程序(bootstrap文件,这个文件的名子随着发行版的不同而不同,在centos中,它是pxelinux.0)——引导程序读取配置文件pxelinux.cfg,获得系统初始化的相关文件信息——系统启动,开始进行安装。
2.pxe模式安装操作系统的原理2.1安装流程
顾客机从自己的PXE网卡启动,向本网路中的DHCP服务器索要IP,并搜救引导文件的位置
DHCP服务器返回分给顾客机IP以及bootstrap文件的放置位置(该文件通常是置于一台TFTP服务器上)
顾客机向本网路中的TFTP服务器索要bootstrap文件
顾客机取得bootstrap文件后之执行该文件
按照bootstrap的执行结果,通过TFTP服务器加载内核和文件系统
步入安装画面,此时可以通过选择FTP,HTTP,NFS方法之一进行安装
2.2流程小结总结就是:1)网卡的client网卡rom找寻dhcp服务器,由/etc/dhcp.conf得到ip和引导程序所在地点
2)有dhcp.conf(引导程序文件名)和tftp的配置(tftp跟路径,上面有引导程序和系统初始化程序),得到引导程序pxelinux启动文件的绝对路径,运行引导程序,读取启动配置文件pxelinux.cfg/default,得到操作系统初始化的两个相关文件
3)选择安装方法
顾客端广播dhcp恳求——服务器相应恳求,构建链接——由dhcp和tftp配置得到ip还有引导程序所在地点——客户端下载引导程序并开始运行——引导程序读取
2.3.相关文件位置与内容:
dhcp配置文件/etc/dhcpd/dhcp.conf——ip管理与引导程序名称
tftp配置文件/etc/xinetd.d/tftp——tftp根目录,和前面的引导程序名称组成完整路径
引导程序读取的配置文件/tftpboot/pxelinux.cfg/default——启动内核其他
3.实战过程
实战环境;centos6.3,kernel2.6.32
3.1安装前的打算:
软硬件配置:网卡要支持pxe启动linux视频,操作系统也要支持pxe启动pxe 网络化安装linux系统方法介绍,另外有ftp服务器用于储存操作系统的安装文件,dhcp服务器用于分配ip
3.2服务器配置
1)配置dhcp服务器
因为PXE顾客机一般是仍未装系统的裸机,因而为了如服务器取得联系并正确下载相关引导文件,须要预先配置好DHCP服务来手动分配地址并告知引导文件的位置。
标明:filename这一个选项很重要,它的作用是指明bootstrap所在的位置,通常是指向一个TFTP服务器的某个目录下。这儿是相对路径,其中路径的上半部份在的一个配置文件之中。
2)配置tftp服务器
TFTP服务的配置文件是/etc/xinetd.d/tftp,RedHat9默认安装早已生成了该文件
标明:这个文件基本上不用改动,并且须要注意的的是server_args=-s/tftpboot这一行,它的涵义是将/tftpboot作为root目录,这样在dhcpd.conf中的filename一行就应当写bootstrap的相对路径:filename“pxelinux.0”,这是出于安全方面考虑的.假如你去除了-s这个参数,那幺就要在filename一行强调bootstrap的绝对路径:filename“/tftpboot/pxelinux.0”.注意pxe 网络化安装linux系统方法介绍,这儿-s的内容会由于发行版的内容不同而不同,通常不用改动。
3.3添加引导程序
Bootstrap对于支持网路安装的操作系统,Bootstrap基本上都可以从安装源文件上找到,对于本例来说,centos的bootstrap就是cdrom:/isolinux/pxelinux.0我们把它们都拷贝到tftpboot下.
3.4编辑引导配置文件
把centos第一张安装光碟上images/pxeboot目录下的initr.img和vmlinux也考到tftpboot/目录下。在/tftpboot创建pxelinux.cfg目录,用于放isolinux的配制文件。光碟isolinux/下有一个isolinux.cfg文件,把它拷贝到/tftpboot/pxelinux.cfg/目录下并更名为default.下边为更改后的default文件:
defaultlinux
prompt1
timeout30
labellinux
kernelvmlinuz
appendinitrd=initrd.img
这个Default文件很容易读懂,就是告诉启动后使用哪个内核引导
3.5开始安装1)确保:服务器端刚刚配置的几个服务都处于开启状态;关掉防火墙;bios中选择从网路启动
2)剩下的步骤和从硬碟安装相同
本文由社区会员“赵海川@新浪云估算”分享
地址:
也可以直接搜索公众号名称“AIX专家俱乐部”或微讯号“AIXChina”关注