目录
绪论:
高效:速度快
批量:多台同时安装
网络:没网不能用pxe
企业采购服务器是新的,用到pxe自动装机。网络的主要作用是分配IP地址,没有IP地址班实现通信
1、文件简介
· dhcp:实现地址自动分配
· ftp:把安装文件传输给客户机
· xinetd:新一代的网络守护进程服务程序,管理一些轻量级的Internet服务
· tftp:简单文件传输协议,根据udp协议,服务端和客户端之间进行简单文件传输,小文件传输,它依赖于xinetd的管理。端口号是69
pxe引导程序
linux内核文件
启动菜单数据
初始化镜像文件
2、实验
2.1 pxe自动化
搭建pxe远程安装服务器
实验前提:关防火墙、安全机制。新建的虚拟机运行内存不能小于4g
<1> 安装并启动tftp(简单文件传输协议)
· yum -y install tftp-server xinetd
(一次可安装多个服务,用空格隔开。以上命令是也同时安装tftp的守护程序xinetd)
· vim /etc/xinetd.d/tftp 进入编辑
修改:
· wait =yes这一行yes改成no
(yes表示客户机只能一台一台的连接,no表示客户机可以多台一起连接)
· disable =yes改成no (yes表示关闭,no表示开启)
(解释一下:server-args =-s /var/lib/tftpboot 为指定tftp服务的根目录,引导文件都会放在根目录)
· 保存退出
· systemctl restart tftp
· systemctl restart xinetd
<2> 安装dhcp服务,给客户机分配IP地址、子网掩码、网关等相关的网络信息数据
· yum -y install dhcp
· cd usr/share/doc/dhcp-4.2.5 这里面的dhcpd.conf.example 才是真正的dhcp配置文件
· cp dhcpd.conf.example /etc/dhcp/dhcpd.conf 回车yes覆盖
· cd /etc/dhcp
· vim dhcpd.conf 进入编辑
在最小和最大租约下面编辑。别忘记 ; 符号
· ddns-update-style none; 禁用dns更新
· next-server 20.0.0.30;(本机地址)
·filename "pxelinux.0"; 指定要下载的pxe引导程序文件
然后在这个
下面的subnet那一行进行修改:成为下面这样。20.0.0.0为网段,20.0.0.10-20为地址池范围,20.0.0.30为本机地址
· subnet 20.0.0.0 netmask 255.255.255.0 {
· range 20.0.0.10 20.0.0.20;
· option router 20.0.0.30;
}
· systemctl restart dhcpd
<3> 虚拟机设置光盘镜像打钩,选择对于的镜像文件
· mount /dev/cdrom /mnt
· cd /mnt/images/pxeboot
· ls
(ls出来的vmlinuz:linux系统的内核文件。 initrd.img:linux的初始化镜像文件)
· cp vmlinuz /var/lib/tftpboot
· cp initrd.img /var/lib/tftpboot
(/var/lib/tftpboot为默认传输目录)
<4> 安装pxe的引导程序
· yum -y install syslinux
· cd /usr/share/syslinux (pxelinux.0 为pxe的引导程序)
· cp pxelinux.0 /var/lib/tftpboot
· cd /var/lib/tftpboot
ls查看一下里面应该有三个文件
致辞简单文件传输结束
<5> 安装ftp进行大文件传输
· yum -y install vsftpd
· cd /var/ftp/
· mkdir centos7
· cp -rf /mnt/* /var/ftp/centos7/ (把整个光盘镜像都复制过来,方便一起传输给客户机)
· systemctl restart vsftpd
· systemctl enable vsftpd
<6> 配置启动菜单文件
默认路径tftp根目录中的pxelinux.cfg,文件名叫default
· cd /var/lib/tftpboot/
· mkdir pxelinux.cfg
· cd pxelinux.cfg/
· vim default
进入编辑:
第一段:
default auto //指定默认入口名称
prompt 0 设置是否等待用户选择,0为不等待自动化,1表示等待用户控制半自动化
第二段:
label auto 图形安装(默认)引导入口
kernel vmlinuz 用内核参数进行引导
append initrd=initrd.img method=ftp://20.0.0.30/centos7
(指定他的引导位置从ftp来,都在centos文件里)
第三段:
label linux text 文本安装引导入口
kernel vmlinuz 用内核参数进行引导
append text initrd=initrd.img method=ftp://20.0.0.30/centos7
第四段:
label linux rescue 救援模式引导入口
kernel vmlinuz 用内核参数进行引导
append rescue initrd=initrd.img method=ftp:/20.0.0.30/centos7
· 保存退出
此时新建虚拟机,选择镜像的时候选择稍后安装操作系统,内存必须大于等于4g,硬盘20g够用,然后开启此虚拟机完成
2.2 无人值守
安装无人值守的工具:kickstart
· yum -y install system-config-kickstart
方式1:系统窗口打开moba或者xshell。但是xshell需要付费
moba里面:system-config-kickstart
方式2:进入虚拟机里面
选择左上角的applications(应用程序)下面的systemctl tools(系统工具)里面的kickstart
点开
root密码通常不给
ftp服务器写自己机器地址
然后点击左下角添加:
再添加一个:
再添加一个:
显示为1是因为电脑显示问题,不用管
接下来:添加网络设备
防火墙配置里面的selinux和安全级别全选禁用
最后:
baseurl后面的写本机地址
完成之后先别关闭,点左上角save保存
选择root,上面自动显示ks.cfg
回到机器xshell:
· cd ~
· ls里面有ks.cfg
· vim ks.cfg
在最后添加:
%packages
@^minimal
%end 这个速度快
或者添加:
%packages
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@print-client
@x11
binutils
chrony
ftp
gcc
kernel-devel
kexec-tools
make
open-vm-tools
patch
python
%end
· 保存退出
· cp ks.cfg /var/ftp
· cd /var/ftp
· ls
接下来指定文件配置的路径,defaults就是引导菜单文件
· cd /var/lib/tftpboot/pxelinux.cfg
· vim default 进入编辑
编辑第二段图像化的这一段:
在段位centos7 后面空格加入
· ks=ftp://20.0.0.30/ks.cfg
· 保存退出
· 重新开启虚拟机
结束