pxe自动装机:
服务端和客户端
pxe c/s模式,允许客户端通过网络从远程服务器(服务端)下载引导镜像,加载安装文件,实现自动化安装操作系统。
无人值守 无人值守,就是安装选项不需要人为干预,可以自动化实现。
pxe的优点:
1、规模化 同时装配多台服务器 20多 30台
2、自动化
3、远程实现,不需要光盘,u盘。
c/s 客户端和服务端都可以是多台的。
pxe的安装条件:
硬件:网卡要支持pxe协议,主板要支持网络引导。
软件:服务端要有dhcp服务,可以在客户机启动时,自动分配ip地址。
TFTP 简单文件传输协议 传小文件,引导镜像文件很小,我们使用TFTP
VSFTP 文件传输协议,传送大文件,安装文件。
test1 作为服务端。
TFTP xinetd(网络守护进程服务程序,用来管理轻量级的网络服务。管理TFTP的文件传输)
TFTP是一个后台进程 使用的是udp协议,端口69
DHCP
VSFTP
准备pxe的引导文件,通过光盘镜像把文件复制出来
vmlinuz linux系统的内核文件
initrd.img 初始化镜像文件,引导加载的模块文件
pxelinux.0 引导程序文件
安装pxe的引导程序
配置启动菜单文件:
操作:
1、关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# setenforce 0
2、安装tftp和xinetd软件包
[root@localhost ~]# yum -y install tftp-server xinetd
3、设置tftp的开机自启
[root@localhost ~]# systemctl restart tftp [root@localhost ~]# systemctl enable tftp
4、设置xinetd开机自启
[root@localhost ~]# systemctl restart xinetd [root@localhost ~]# systemctl enable xinetd
5、更改配置文件
[root@localhost ~]# vim /etc/xinetd.d/tftp 10 wait = no #将串行改为并行 14 disable = no #改为后台启动 #将这两行的yes改为no
6、重启配置文件
[root@localhost ~]# systemctl restart tftp.socket [root@localhost ~]# systemctl restart xinetd.service
7、安装dhcp软件包
[root@localhost ~]# yum -y install dhcp
8、将dhcp的配置文件覆盖
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
9、更改dhcp配置文件
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf 14 ddns-update-style none; 15 next-server 192.169.60.20; 16 #指定tftp的服务器 17 filename "pxelinux.0"; 18 #指定下载pxe的引导文件名 35 subnet 192.168.60.0 netmask 255.255.255.0 { 36 range 192.168.60.100 192.168.60.110; 37 option routers 192.168.60.20; 38 }
10、重启dhcpd的配置文件
[root@localhost ~]# systemctl restart dhcpd
11、将光盘镜像挂载
[root@localhost ~]# mount /dev/cdrom /mnt
12、进入pxeboot目录下
[root@localhost /]# cd /mnt/images/pxeboot/ [root@localhost pxeboot]# ls initrd.img TRANS.TBL vmlinuz
13、将文件复制到tftpboot目录下
[root@localhost pxeboot]# cp vmlinuz /var/lib/tftpboot/ [root@localhost pxeboot]# cp initrd.img /var/lib/tftpboot/ [root@localhost pxeboot]# cd /var/lib/tftpboot/ [root@localhost tftpboot]# ls initrd.img vmlinuz
14、安装pxe的引导程序
[root@localhost tftpboot]# yum -y install syslinux
15、进入syslinux目录下将pxelinux.0复制到tftpboot目录下
[root@localhost tftpboot]# cd /usr/share/syslinux/ [root@localhost syslinux]# cp pxelinux.0 /var/lib/tftpboot/ [root@localhost syslinux]# cd /var/lib/tftpboot/ [root@localhost tftpboot]# ls initrd.img pxelinux.0 vmlinuz
16、安装vsftp
[root@localhost tftpboot]# yum -y install vsftpd
17、进入ftp目录下创建一个目录,将mnt目录下的所有复制到centos7目录下
[root@localhost tftpboot]# cd /var/ftp/ [root@localhost ftp]# ls pub [root@localhost ftp]# mkdir centos7 [root@localhost ftp]# cp -rf /mnt/* /var/ftp/centos7/
18、重启vsftpd服务
[root@localhost centos7]# systemctl restart vsftpd
19、在tftpboot目录下创建一个目录
[root@localhost centos7]# mkdir /var/lib/tftpboot/pxelinux.cfg
20、在新创的目录下创建一个新文件
[root@localhost centos7]# cd /var/lib/tftpboot/pxelinux.cfg/ [root@localhost pxelinux.cfg]# vim default 1 default auto 2 #指定安装程序的入口,使用这个文件作为安装程序的入口。自动选择 。 3 prompt 0 4 #是否等待用户选择,0不等待用户输入,自动完成。1就是需要手动完 成。 5 label auto 6 #图形化界面的安装入口 7 kernel vmlinuz 8 #加载内核文件,vmlinuz 9 append initrd=initrd.img method=ftp://192.168.60.20/centos7 10 11 label linux text 12 #字符界面,最小化安装 13 kernel vmlinuz 14 #加载内核 15 append initrd-inidrd.img method=ftp://192.168.60.20/centos7 16 17 label linux rescue 18 #救援模式的引导入口 19 kernel vmlinuz 20 append initrd=inidrd.img method=ftp://192.168.60.20/centos7
21、开启未装镜像的虚拟机
22、安装无人值守
[root@localhost ~]# yum -y install system-config-kickstart
23、更改配置文件
vim /root/ks.cfg 39 %post --interpreter=/bin/bash 40 rm -rf /etc/yum.repos.d/* 41 echo '[local] 42 name=local 43 baseurl=ftp://192.168.233.10/centos7 44 enabled=1 45 gpgcheck=0' > /etc/yum.repos.d/local.repoa 46 %end 47 48 %packages 49 @base 50 @core 51 @desktop-debugging 52 @dial-up 53 @directory-client 54 @fonts 55 @gnome-desktop 56 @guest-desktop-agents 57 @input-methods 58 @internet-browser 59 @java-platform 60 @multimedia 61 @network-file-system-client 62 @print-client 63 @x11 64 binutils
24、更改default配置文件
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 10 append initrd=initrd.img method=ftp://192.168.60.20/centos7 k s=ftp://192.168.60.20/ks.cfg
25、将ks.cfg文件复制到ftp目录下
[root@localhost ~]# cp ks.cfg /var/ftp/
26、重启,进入一键装机