pxe批量部署linux介绍

1、PXE批量部署的作用及必要性:

xml 复制代码
	1)智能实现操作系统的批量安装(无人值守安装)
	2)减少管理员工作,提高工作效率
	3)可以定制操作系统的安装流程
	   a.标准流程定制(ks.cfg)
	   b.自定义流程定制(ks.cfg(%post))

2、通过dhcp+tftp+nfs/http/ftp+kickstart(ks.cfg)+DNS

xml 复制代码
1、客户机可以通过服务端dhcp在获取IP地址,并且dhcpd服务器会告诉客户端tftp服务器IP地址。
2、pxe客户端会从tftp服务器上下载pxelinux.0操作系统和这个操作系统对应的配置文件(default)至本机,在本机上运行pxelinux.0这个操作系统,这个操作系统会加载自己的配置文件:default.
   default加载后会弹出一个安装系统选择界面,让用户去选择要安装哪个操作系统
   tftp的作用是实现安装文件UDP快速传输
3、启动第三个临时系统(vmlinuz/initrd.img),构造安装之前一个临时系统环境,在这里会重新获取IP地址,并且会读取ks.cfg这个配置文件
4、nfs/http/ftp用来导出红帽系统安装目录树
5、根据ks.cfg来自动完成操作系统的安装

1.配置dhcp|tftp|http|vsftp服务器

(1) dhcp配置

bash 复制代码
yum -y install dhcp
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
bash 复制代码
vim /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option domain-name-servers 192.168.0.252;
option domain-name "uplooking.com";


subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.10 192.168.0.200;
        option routers 192.168.0.254;
        next-server 192.168.0.252;      <----------   找到tftp服务器地址
        filename "pxelinux.0";
}
bash 复制代码
service dhcpd start
chkconfig dhcpd on

(2)vsftp、httpd配置

bash 复制代码
yum -y install vsftpd httpd
mkdir /var/ftp/pub/rhel6.10
service vsftpd start
chkconfig vsftpd on

挂载镜像

bash 复制代码
vim /etc/fstab
/var/ftp/pub/rhel6.3-dvd.iso    /var/ftp/pub/rhel6.3      iso9660     loop     0    0

httpd配置

bash 复制代码
yum -y install httpd 
service httpd start
chkconfig httpd on

(3)tftp服务器配置

bash 复制代码
yum -y install tftp-server

vim /etc/xinetd.d/tftp

修改 server_args       = -s /pxe/tftpboot
bash 复制代码
chkconfig tftp on
service xinetd restart
netstat -unlp |grep :69
udp        0      0 0.0.0.0:69                  0.0.0.0:*                   11007/xinetd  

2.新建并拷贝tftp所需发布的文件

bash 复制代码
mkdir -p /pxe/tftpboot
mkdir /pxe/tftpboot/pxelinux.cfg
mkdir /pxe/tftpboot/rhel6.3
yum -y install syslinux
bash 复制代码
cd   /var/ftp/pub/rhel6.3/isolinux/
cp vmlinuz initrd.img   /pxe/tftpboot/rhel6.3  <-------- 复制临时操作系统到tftp共享目录
cp isolinux.cfg    /pxe/tftpboot/pxelinux.cfg/default	<--------从光盘中复制pxe操作系统的配置文件及相关文件
cp boot.msg splash.jpg    /pxe/tftpboot/
cp /usr/share/syslinux/pxelinux.0   /pxe/tftpboot/		<------把PXE的操作系统存放至tftp共享目录
cp  /usr/share/syslinux/vesamenu.c32   /pxe/tftpboot

3.生成ks.cfg和pxelinux的配置文件(default)

bash 复制代码
yum -y install  system-config-kickstart	

#在图形界面下使用system-config-kickstart并保存为ks.cfg到/var/ftp/pub/ks/里

配置default

bash 复制代码
vim /var/lib/tftpboot/pxelinux.cfg/default

default local
prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to Red Hat Enterprise Linux 6.4!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label manual
  menu label ^Install or upgrade an existing system
  menu default
  kernel rhel6.4/vmlinuz
  append initrd=rhel6.4/initrd.img

label auto
  menu label ^Install or upgrade an existing system
  menu default
  kernel rhel6.4/vmlinuz
  append initrd=rhel6.4/initrd.img ks=ftp://192.168.0.252/pub/ks/ks.cfg

label local
  menu label Boot from ^local drive
  localboot 0xffff
相关推荐
正经教主16 分钟前
【docker基础】第九周:Docker安全与镜像优化
运维·docker·容器
tianyuanwo25 分钟前
深入解析 RISC-V 虚拟化中的 UEFI 固件配置:从 XML 到 NVRAM 的生命周期管理
xml·linux·risc-v
難釋懷34 分钟前
Nginx获取客户端真实IP
服务器·前端·nginx
道川贤林1 小时前
OrangePi 系统启动优先级修改
linux·linux驱动·orangepi·u-boot
时佃鹏1 小时前
银河麒麟 V10 重装打印服务 (CUPS)+ 打印机驱动完整教程
运维·银河麒麟系统
xsc-xyc1 小时前
用 Tailscale + Syncthing 实现手机、电脑与 NAS 的跨网络文件同步
linux·网络·网络安全·智能手机·电脑
Shepherd06191 小时前
【IT 运维】Apache 使用 mod_remoteip 恢复 Cloudflare 后的真实访客 IP
运维·tcp/ip·apache
IsJunJianXin2 小时前
pdd小程序 cdp 保存响应体
linux·服务器·小程序·pdd小程序·拼多多响应体解密·小程序cdp·拼多多rpc取响应体
王二端茶倒水2 小时前
智慧园区网络运营:认证、分权、运维和安全闭环
运维·物联网·架构
爱就是恒久忍耐2 小时前
现代CMake的build方式
linux·运维·服务器