目录
一.PXE概述
1.PXE
2.PXE批量部署的优点
3.搭建网络体系前提条件
二.搭建详情
1.配置网卡信息
3.安装并启动TFTP服务
4.准备PXE引导程序
5.安装FTP服务
新建虚拟机
三.kickstart 无人值守安装
1.准备安装应答文件
2.打开“Kickstart 配置程序”窗口
3.配置kickstart选项
4.配置需要安装的软件包
5.编辑引导菜单文件 default,添加 ks 引导参数
一.PXE概述 1.PXE
PXE 的全称是 preboot execute environment
PXE是用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加
载安装文件或者整个 *** 作系统。
2.PXE批量部署的优点- 规模化:同时装配多台服务器
- 自动化:安装系统,配置各种服务
- 远程实现:不需要光盘,U盘等安装介质
- 客户机
- 客户机的网卡要支持PXE协议(集成BOOTROM芯片)。大多数服务器都支持。
- 主板支持网络引导。有一些需在BIOS设置中允许从 Network 或 LAN 启动即可。
- 服务端
- 要DHCP 服务器 :为客户机自动分配地址、指定引导文件位置。
- 服务器要开启 TFTP服务(简单文件传输协议)用来提供系统内核和引导镜像文件的下载。
PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能 够向客户机裸机发
送 PXE 引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。
1.配置网卡信息[root@localhost network-scripts]# vim ifcfg-ens37
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# ls ifcfg-ens33 ifdown-ib ifdown-ppp ifdown-tunnel ifup-ib ifup-plusb ifup-Team network-functions ifcfg-lo ifdown-ippp ifdown-routes ifup ifup-ippp ifup-post ifup-TeamPort network-functions-ipv6 ifdown ifdown-ipv6 ifdown-sit ifup-aliases ifup-ipv6 ifup-ppp ifup-tunnel ifdown-bnep ifdown-isdn ifdown-Team ifup-bnep ifup-isdn ifup-routes ifup-wireless ifdown-eth ifdown-post ifdown-TeamPort ifup-eth ifup-plip ifup-sit init.ipv6-global [root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens37 [root@localhost network-scripts]# vim ifcfg-ens37 TYPE=Ethernet PROXY_METHOD=none BROWSER_onLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens37 DEVICE=ens37 onBOOT=yes IPADDR=192.168.100.100 NETMASK=255.255.255.0 GATEWAY=192.168.100.1 DNS1=8.8.8.8 [root@localhost network-scripts]# systemctl restart network [root@localhost network-scripts]# ping 192.168.100.1 PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data. 64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.282 ms 64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.206 ms2.安装并启用DHCP服务
[root@localhost dhcp]# vim dhcpd.conf
[root@localhost network-scripts]# yum install -y dhcp* [root@localhost network-scripts]# rpm -qc dhcp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd6.conf /etc/openldap/schema/dhcp.schema /etc/sysconfig/dhcpd /var/lib/dhcpd/dhcpd.leases /var/lib/dhcpd/dhcpd6.leases [root@localhost network-scripts]# cat /etc/dhcp/dhcpd.conf # # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example # see dhcpd.conf(5) man page # [root@localhost network-scripts]# cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y [root@localhost network-scripts]# cd /etc/dhcp/ [root@localhost dhcp]# ls dhclient.d dhcpd6.conf scripts dhclient-exit-hooks.d dhcpd.conf [root@localhost dhcp]# vim dhcpd.conf 27 subnet 192.168.100.0 netmask 255.255.255.0 { 28 range 192.168.100.10 192.168.100.20; 29 option routers 192.168.100.1; 30 next-server 192.168.100.100; 31 filename "pxelinux.0"; 32 }3.安装并启动TFTP服务
[root@localhost dhcp]# vim /etc/xinetd.d/tftp
[root@localhost dhcp]# yum install -y tftp-server.x86_64 [root@localhost dhcp]# rpm -ql tftp-server /etc/xinetd.d/tftp /usr/lib/systemd/system/tftp.service /usr/lib/systemd/system/tftp.socket /usr/sbin/in.tftpd /usr/share/doc/tftp-server-5.2 /usr/share/doc/tftp-server-5.2/CHANGES /usr/share/doc/tftp-server-5.2/README /usr/share/doc/tftp-server-5.2/README.security /usr/share/man/man8/in.tftpd.8.gz /usr/share/man/man8/tftpd.8.gz /var/lib/tftpboot [root@localhost dhcp]# vim /etc/xinetd.d/tftp 6 service tftp 7 { 8 socket_type = dgram 9 protocol = udp 10 wait = yes 11 user = root 12 server = /usr/sbin/in.tftpd 13 server_args = -s /var/lib/tftpboot 14 disable = no 15 per_source = 114.准备PXE引导程序
[root@localhost dhcp]# rpm -ql syslinux |grep 0
[root@localhost dhcp]# yum install -y syslinux [root@localhost dhcp]# rpm -ql syslinux |grep 0 ... /usr/share/syslinux/pxelinux.0 [root@localhost dhcp]# rpm -ql tftp-server /etc/xinetd.d/tftp ... /var/lib/tftpboot ##所有的配置文件所在的站点 [root@localhost dhcp]# cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ [root@localhost dhcp]# cd /var/lib/tftpboot/ [root@localhost tftpboot]# ls pxelinux.05.安装FTP服务
[root@localhost pxelinux.cfg]# vim default
[root@localhost dhcp]# yum install -y vsftpd [root@localhost dhcp]# cd /var/ftp/ [root@localhost ftp]# ls pub [root@localhost ftp]# mkdir centos7 [root@localhost ftp]# mount /dev/sr0 centos7/ mount: /dev/sr0 写保护,将以只读方式挂载 [root@localhost ftp]# cd centos7/ [root@localhost centos7]# ls CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7 EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL [root@localhost centos7]# cd images/ [root@localhost images]# ls efiboot.img pxeboot TRANS.TBL [root@localhost images]# cd pxeboot/ [root@localhost pxeboot]# ls initrd.img TRANS.TBL vmlinuz [root@localhost pxeboot]# cp -p initrd.img vmlinuz /var/lib/tftpboot/ [root@localhost pxeboot]# cd /var/lib/tftpboot/ [root@localhost tftpboot]# ls initrd.img pxelinux.0 vmlinuz [root@localhost tftpboot]# mkdir pxelinux.cfg [root@localhost tftpboot]# cd pxelinux.cfg/ [root@localhost pxelinux.cfg]# vim default 1 default auto 2 3 prompt 1 4 5 label auto 6 kernel vmlinuz 7 append initrd=initrd.img method=ftp://192.168.100.100/centos7 8 9 label text 10 kernel vmlinuz 11 append text initrd=initrd.img method=ftp://192.168.100.100/centos7 12 13 label rescue 14 kernel vmlinuz 15 append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7 [root@localhost pxelinux.cfg]# systemctl start dhcpd [root@localhost pxelinux.cfg]# systemctl start vsftpd [root@localhost pxelinux.cfg]# systemctl start tftp [root@localhost pxelinux.cfg]# systemctl stop firewalld.service [root@localhost pxelinux.cfg]# setenforce 0新建虚拟机
半自动化安装系统
三.kickstart 无人值守安装 1.准备安装应答文件[root@localhost tftpboot]# yum install system-config-kickstart.noarch2.打开“Kickstart 配置程序”窗口 3.配置kickstart选项 4.配置需要安装的软件包
[root@localhost ~]# vim anaconda-ks.cfg
5.编辑引导菜单文件 default,添加 ks 引导参数[root@localhost ftp]# vim ks.cfg
实现桌面安装
[root@localhost pxelinux.cfg]# vim default
此时就可以全自动化安装系统了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)