搭建PXE网络实现远程装机服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建PXE网络实现远程装机服务相关的知识,希望对你有一定的参考价值。
PXE(Pre-boot Execution Environment,预启动执行环境)是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统
PXE远程装机的好处:
规模化:同时装配多台服务器
自动化:安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质
搭建PXE网络环境的前提条件
既然是通过网络传输,那么计算机在启动时,它的IP地址有谁来分配;又是怎样下载到Linux内核和给文件系统的呢?
网卡:客户机的网卡支持PXE协议,且主板主持网络引导,并设置Bios中允许从Network或LAN启动
DHCP:网络中有一台DHCP服务器为客户机分配地址、指定引导文件,并添加相应的PXE特有配置
TFTP:通过TFTP服务器提供引导镜像文件的下载
搭建PXE远程装机服务器
本案例PXE远程装机服务器集成了RHEL安装源、TFTP、DHCP服务
案例:随着公司业务不断发展,服务器数量也迅速增长,需要重新安装RHEL6操作系统。为了提高服务器装机效率,要求基于PXE网络实现全自动无人值守批量安装
需求描述:
1. 服务器的IP地址为192.168.1.10,所在网段为192.168.1.0/24
2. 搭建PXE网络装机服务器,为新采购的10台服务器裸机安装RHEL操作系统
3. 新装的系统必须包括基本组件、开发工具、LAMP平台,默认语言为中文
4. 为新装的系统自动配置好YUM仓库,root设置密码为password
实验步骤:
1. 准备RHEL6安装源
RHEL安装源一般通过HTTP、FTP协议发布,也支持NFS协议。本例采用FTP发布安装源,并配置YUM软件仓库,YUM软件仓库的配置方法请参阅我的上一篇博客,这里不在赘述
[[email protected] ~]# yum -y install vsftpd //安装vsftpd服务 [[email protected] ~]# mount /dev/cdrom /media/ //挂载系统光盘 mount: block device /dev/sr0 is write-protected, mounting read-only [[email protected] ~]# cp -rf /media/* /var/ftp/rhel //准备安装源 [[email protected] ~]# service vsftpd restart //开启vsftpd服务
2. 安装并启用TFTP服务
TFTP服务默认由超级服务xinetd超级服务器进行管理
[[email protected] ~]# yum -y install tftp-server //安装tftp服务 [[email protected] ~]# vim /etc/xinetd.d/tftp //修改以下配置项,将yes改为no disable = no [[email protected] ~]# service xinetd start //开启xinetd服务
3. 准备Linux内核、初始化镜像文件
[[email protected] media]# cd /media/images/pxeboot/ //将这两个文件复制到tftp服务的根目录下 [[email protected] pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/
4. 准备PXE引导程序、启动菜单文件
[[email protected] ~]# yum -y install syslinux //安装PXE引导程序,并复制到tftp根目录下 [[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ [[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg [[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default default auto //指定默认入口名称 prompt 1 //1表示等待用户控制,0表示不等待用户控制 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
5. 安装并启用DHCP服务
[[email protected] ~]# yum -y install dhcp //安装dhcp服务 [[email protected] ~]# vim /etc/dhcp/dhcpd.conf //修改配置文件分配地址,并指定引导文件位置 # A slightly different configuration for an internal subnet. subnet 192.168.1.0 netmask 255.255.255.0 { //定义网段 range 192.160.1.100 192.168.1.200; //分配地址池 option domain-name-servers 192.168.1.10; //DNS服务器地址 option domain-name "yangshufan.com"; //域名 option routers 192.168.1.10; //路由地址 option broadcast-address 192.168.1.255; //广播地址 default-lease-time 600; //默认租约时间 max-lease-time 7200; //最大租约时间 next-server 192.168.1.10; //PXE服务器IP地址 filename "pxelinux.0"; //PXE引导程序的文件名 } [[email protected] ~]# service dhcpd start //开启dhcpd服务,需要配置静态IP地址
现在就可以在客户机上进行安装测试了,然而安装期间仍需手动选择语言、键盘类型、指定安装源等一系列交互操作,十分不方便,通过Kickstart工具配置安装应答文件,自动完成安装中的各种设置,从而无需手动干预,提高网络装机效率
6. 实现Kickstart无人值守安装
(1)安装system-config-kickstart工具
[[email protected] ~]# yum -y install system-config-kickstart
(2)准备安装应答文件
通过桌面菜单“应用程序”\“系统工具”\“Kickstart”即可打开“Kickstart配置窗口”,对各种安装设置进行指定
1)基本配置
2)安装方法
3)分区信息
4)网络配置
5)防火墙设置
6)软件包选择
根据需要选择需要安装的软件包分组,本例选择“基本”、“万维网服务”、“X窗口系统”、“字体”、“桌面”、“开发工具”、“中文支持”等
7)安装脚本
(3)保存自动应答文件
(4)启动自动应答文件
[[email protected] ~]# vim ks.cfg [[email protected] ~]# cp ks.cfg /var/ftp/rhel/ks.cfg [[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default default auto prompt 0 //修改为0,表示不等待用户控制 label auto kernel vmlinuz //添加引导参数,指定ks.cfg文件的URL路径 append ks=ftp://192.168.1.10/rhel/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192
7. 验证无人值守安装
以上是关于搭建PXE网络实现远程装机服务的主要内容,如果未能解决你的问题,请参考以下文章