PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系统等。今天我们演示linux rhel6.5下的PXE网络装机 PXE最直接的表现是,在网络环境下工作站可以省去硬盘,但又不是通常所说的无盘站的概念,因为使用该 PXE网卡-WY574T PXE网卡-WY574T 技术的PC在网络方式下的运行速度要比有盘PC快3倍以上。当然使用PXE的PC也不是传统意义上的TERMINAL终端,因为使用了PXE的PC并不消耗服务器的CPU,RAM等资源,故服务器的硬件要求极低。 PXE启动原理 当计算机引导时,BIOS把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。 Linux YUM仓库服务于PXE网络装机 一、 实验环境: 2台Linux系统(RHEL6.5版本),1台作为:PXE远程安装服务器,另1台作为:客户端(未装RHEL6.5系统) 二、 实验步骤: 1.搭建PXE远程安装服务器: 执行: Iptables -F 或 service iptables stop (清空iptables防火墙默认策略,或停止iptables服务) (1)配置服务器IP地址: Ifconfig eth1 192.168.100.1
挂载RHEL6.5光盘,执行: mount /dev/sr0 /mnt
建立服务器的YUM仓库文件rhel6.repo(服务器自己的YUM为:本地源) rm -f /etc/yum.repo.d/*.repo vim /etc/yum.repo.d/rhel6.repo 文件内容如下: [base] name=Red Hat Enterprise Linux baseurl=file:///mnt (本地源,系统光盘的挂载目录) enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
安装vsftpd服务(使用YUM方式安装,验证本地源YUM仓库),执行: yum -y install vsftpd(本次实验由于很多次软件已经安装过所以显示nothing to do 正常状态显示Complete!即为安装成功) 重启vsftpd服务 service vsftpd restart 查看端口 netstat -anpt | grep vsftpd 看到有服务 复制光盘文件到ftp服务器的共享目录rhel6中,执行: mkdir /var/ftp/rhel6.5 cp -rf /mnt/* /var/ftp/rhel6.5
验证ftp服务是否正常: 打开服务器的火狐浏览器,输入:ftp://192.168.113.100,如果能看到rhel6.5共享目录,则说明服务器的ftp服务运行正常 这步成功后再进行下一步
安装并启用tftp服务 a) 安装tftp服务 yum -y install tftp-server vim /etc/xinetd.d/tftp
修改:“disable = yes”为“disable = no” b) 重新启动tftp服务: service xinetd restart 6) 准备客户端主机无盘启动时所需的Linux内核、初始化镜像文件: cd /mnt/images/pxeboot cp vmlinuz initrd.img /var/lib/tftpboot 7) 准备客户端主机无盘启动时所需的PXE引导程序、启动菜单文件 a) 安装syslinux软件包(支持PXE功能) yum -y install syslinux b) 复制PXE引导程序 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
c) 建立启动菜单文件 mkdir /var/lib/tftpboot/pxelinux.cfg vim /var/lib/tftpboot/pxelinux.cfg/default
内容如下: default auto prompt 1 label auto kernel vmlinuz append initrd=initrd.img devfs=nomount ramdisk_size=8192 label linux text kernel vmlinuz append text initrd=initrd.img devfs=nomount ramdisk_size=8192 label linux rescue kernel vmlinuz append rescue initrd=initrd.img devfs=nomount ramdisk_size=8192
安装并启用DHCP服务: a) 安装dhcp服务 yum -y install dhcp b) 复制dhcp配置例子文件 cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf(版本不同,dhcp*代表的目录名也不同,使用tab键补全即可) c) 首先删除dhcpd.conf文件中的subnet 语句后的所有内容 d) 再添加dhcpd.conf文件中所需要的内容:(DHCP不懂得可以看我的DHCP配置博客)
e) 启动dhcp服务: service dhcpd start 注意:dhcp服务的配置文件应根据实际情况而写:
subnet后的网段地址(主机号为0)、子网掩码;rangge后的起始与结束IP地址,都应根据dhcp服务器本机的IP地址而定也就是说:pxe无盘客户端的IP地址应与dhcp服务器本机的IP地址在同一地址段,如果不在同一网段,则网络中还需要配置路由器、配置dhcp中继代理方能实现IP地址的分配next-server后面的IP地址为:tftp服务器的IP地址本实验环境:dhcp服务器、tftp服务器都是同一服务器即:192.168.100.1如果dhcp服务不能启动成功,则查看系统日志中关于dhcp服务的错误信息,根据提示再次修改dhcpd.conf文件,再尝试启动。 查看日志操作如下: cat /var/log/message | grep dhcp | more 验证PXE网络装机:(客户机上操作)(这个不演示,请看下一个无人值守演示) a) 如果客户端是一台物理机,只需网卡支持pxe无盘引 导,并在BIOS中开启网卡的pxe功能 b) 虚拟机环境:新建一台RHEL6.0虚拟机(客户端) 内存1G内存 硬盘:默认即可 网卡连接方式:与服务器相同(如:vmnet1) c) 禁用vmware的dhcp功能(此步很重要) d) 启动虚拟机,看到boot: 提示符,说明服务器端配置 成功! e) 安装方式应选择:URL方式 URL信息应填写为:ftp://192.168.100.1/rhel6.5 填写完成后,可执行后续的安装,直到系统安装完成实现客户端的Kickstart无人值守安装:(在服务器上操作) c) 安装system-config-kickstart软件包 yum -y install system-config-kickstart b) 打开kisckstart配置程序: 应用程序-----系统工具-----kickstart 进行相应的配置:(除必须其他可以自行选择配置,) 必须设置root口令 必须指定安装方法:FTP ftp服务器:ftp://192.168.100.1 ftp目录:rhel6.5 必须设置分区: 清除主引导记录 删除所有现存分区 添加磁盘分区: /boot ext4 500M swap 2048M / ext4 未使用的全部磁盘空间c) 保存自动应答文件:/root/ks.cfg d) 启用自动应答文件 cp /root/ks.cfg /var/ftp/rhel6.5 e) 修改启动菜单文件default vim /var/lib/tftpboot/pxelinux.cfg/default 修改内容:红色字体部分 default auto prompt 0 label auto kernel vmlinuz append ks=ftp://192.168.100.1/rhel6/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192
其它内容保持不动f) 启动客户端验证无人值守安装,如果能看到软件包复制过程,则说明无人值守配置成功,可继续等待自动安装,直到安装完毕
打开客户端就是这个界面接下来就安装成功了,OK继续就行 最后给一个YUM网络源配置实验教程 一、 实验环境: 2台Linux系统(RHEL6.0版本),1台作为:网络源YUM仓库服务器,另1台作为:YUM仓库客户端,验证网络源YUM仓库是否正常 二、 实验步骤: 1、 配置网络源YUM仓库(服务器)
修改selinux防火墙配置文件,禁止SELINUX服务,并重启Linux系统重启完成后,执行: Iptables -F 或 service iptables stop (清空iptables防火墙默认策略,或停止iptables服务)配置服务器IP地址: Ifconfig eth0 192.168.113.110/24 (注意:RHEL6.0系统网卡设备名可能会改变,请先执行ifconfig查看网卡设备名是否为eth0,)挂载RHEL6.0光盘,执行: mount /dev/sr0 /mnt建立服务器的YUM仓库文件rhel6.repo(服务器自己的YUM为:本地源) rm -f /etc/yum.repo.d/*.repo vim /etc/yum.repo.d/rhel6.repo 文件内容如下: [base] name=Red Hat Enterprise Linux baseurl=file:///mnt (本地源,系统光盘的挂载目录) enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release安装vsftpd服务(使用YUM方式安装,验证本地源YUM仓库),执行: yum -y install vsftpd service vsftpd start netstat -anpt | grep vsftpd复制光盘文件到ftp服务器的共享目录rhel6中,执行: mkdir /var/ftp/rhel6 cp -rf /mnt/* /var/ftp/rhel6 2、 配置YUM仓库客户端:修改selinux防火墙配置文件,禁止SELINUX服务,并重启Linux系统重启完成后,执行: Iptables -F 或 service iptables stop (清空iptables防火墙默认策略,或停止iptables服务)配置客户端IP地址: Ifconfig eth0 192.168.113.10/24测试与服务器的连通性: ping 192.168.113.100 ftp 192.168.113.100 用户名:ftp(匿名用户) 密码:回车 ftp>ls 如果可看到rhel6目录,则说明网络连通性良好,并且服务器端的ftp服务运行正常 (注意:如果RHEL6.0系统未安装ftp客户端软件,可在Linux桌面中打开火狐浏览器,输入:ftp://192.168.113.100访问即可)建立客户端的YUM仓库文件rhel6.repo(客户端YUM为:网络源) rm -f /etc/yum.repo.d/*.repo vim /etc/yum.repo.d/rhel6.repo 文件内容如下: [base] name=Red Hat Enterprise Linux baseurl=ftp://192.168.113.100/rhel6 (网络源,ftp服务器的共享目录) enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release安装ftp客户端软件(使用YUM方式安装,验证本地源YUM仓库),执行: yum -y install ftp如有问题,欢迎大家指正