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
相关推荐
曾经的三心草3 小时前
最新版本组件的docker下载-Seata
运维·docker·容器
阿巴~阿巴~5 小时前
Linux同步机制:POSIX 信号量 与 SystemV信号量 的 对比
linux·服务器·线程·信号量·线程同步·posix·system v
梁正雄5 小时前
15、Docker swarm-2-安装与存储
运维·docker·容器
fyakm5 小时前
Linux文件搜索:grep、find命令实战应用(附案例)
linux·运维·服务器
巴渝小禹6 小时前
【Ubuntu】虚拟机 Ubuntu 挂载 宿主机 Windows文件夹
linux·ubuntu
wanhengidc7 小时前
云手机存在的意义是什么
运维·服务器·arm开发·安全·智能手机
洛克大航海8 小时前
解锁 PySpark SQL 的强大功能:有关 App Store 数据的端到端教程
linux·数据库·sql·pyspark sql
snow@li8 小时前
运维:部署Jenkins
运维·jenkins
大海绵啤酒肚10 小时前
OpenStack虚拟化平台之T版搭建部署
linux·运维·云计算·openstack
报错小能手10 小时前
计算机网络自顶向下方法25——运输层 TCP流量控制 连接管理 “四次挥手”的优化
服务器·网络·计算机网络