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
相关推荐
穷人小水滴12 小时前
使用 WebRTC 实现局域网投屏: PC (GNOME ArchLinux) -> 平板 (Android)
android·linux·webrtc·浏览器·js·gnome·投屏
恋红尘12 小时前
K8S 控制器-资源调度-叩丁狼
linux·docker·kubernetes
weixin_5375904512 小时前
《C程序设计语言》练习答案(练习1-7)
linux·c语言·算法
123过去14 小时前
ike-scan使用教程
linux·测试工具
疯狂吧小飞牛20 小时前
GPG基础指令
linux·服务器·网络
C++ 老炮儿的技术栈21 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hjxu201621 小时前
【OpenClaw 龙虾养成笔记一】在远程服务器,使用Docker安装OpenClaw
服务器·笔记·docker
todoitbo1 天前
用虚拟局域网打通 Win/Mac/Linux 三端:跨设备协作的实用方案
linux·运维·macos
源远流长jerry1 天前
RDMA 基本操作类型详解:从双端通信到单端直访
linux·网络·tcp/ip·ip
Sylvia-girl1 天前
Linux下的基本指令1
linux·运维·服务器