目录
一、部署PXE远程安装服务
1.1PXE定义
1.2PXE服务优点
1.3搭建网络体系前提条件
1.4PXE实现过程讲解
1.5搭建PXE远程安装服务器
1.5.1安装并启动DHCP服务
1.5.2安装TFTP服务
1.5.3安装syslinux
1.5.4安装 vsftp
1.5.5创建虚拟机测试
二、实现Kickstart无人值守安装
2.1kickstart文件主要包括三个部分
2.1.1命令段
2.1.2程序包段
2.1.3脚本段
2.2kickstart无人值守设置过程
2.2.1安装图形化界面
2.2.2配置kickstart
2.2.3回到shell配置文件
2.2.4重启测试
一、部署PXE远程安装服务
1.1PXE定义
PXE是有Intel公司开发的网络引导技术,工作在Client/Server模式(也简称CS模式),允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整改操作系统。
1.2PXE服务优点
规模化:同时装配多台服务器,无需每一台单独安装操作系统;
自动化:实现服务器的自动安装及自动配置各种服务;
远程实现:不需要光盘、U盘等安装介质,方便快捷的同时又可以保障服务器安全。
1.3搭建网络体系前提条件
① 客户机
客户机的网卡要支持PXE协议(集成BOOTROM芯片)
主板支持网络引导。有一些需在BIOS设置中允许从 Network 或 LAN 启动即可。
② 服务端
DHCP 服务器 :为客户机自动分配地址、指定引导文件位置。
服务器要开启 TFTP服务(简单文件传输协议):用来提供系统内核和引导镜像文件的下载。
服务器中使用FTP服务(或http/nfs)font> :提供yum安装源
安装软件包syslinux :提供PXE引导程序
1.4PXE实现过程讲解
1.网卡需要查找相关的dhcp服务器(获取地址时间)
2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)
3.网卡使用tftp客户端吧引导程序加载到内存中来
4.bios执行引导程序
5.引导程序会去TFTP去查找配置文件
6.根据配置文件去引导安装系统
1.5搭建PXE远程安装服务器
1.5.1安装并启动DHCP服务
1.添加一块网卡,并设置成仅主机模式
2.配置网卡信息
[root@localhost ~]#ip a #查看自己添加的网卡,是什么,我这里添加的是ens38[root@localhost ~]#cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens38[root@localhost network-scripts]#vim ifcfg-ens38TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens38DEVICE=ens38ONBOOT=yesIPADDR=192.168.100.100NETMASK=255.255.255.0GATEWAY=192.168.100.1DNS1=8.8.8.8~ [root@localhost network-scripts]#systemctl restart network[root@localhost network-scripts]#ping 192.168.100.1
3.安装DHCP服务
[root@localhost network-scripts]#yum install dhcp -y[root@localhost network-scripts]#cp /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]#vim dhcpd.conf #subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.20 192.168.100.70; option routers 192.168.100.1;next-server 192.168.100.100;filename "pxelinux.0";}
1.5.2安装TFTP服务
TFTP(简单文件传输协议):内核和引导文件
是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。
[root@localhost dhcp]#yum install -y tftp-server[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 disable = no
1.5.3安装syslinux
syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。
[root@localhost dhcp]#yum install -y syslinux[root@localhost dhcp]#rpm -ql tftp-server /var/lib/tftpboot #记住这个站点,所有的配置文件都在此站点下[root@localhost dhcp]#rpm -ql syslinux |grep 0/usr/share/syslinux/pxelinux.0 #在最后一行,复制此文件[root@localhost dhcp]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/#将复制的文件拷贝到刚刚说的站点下[root@localhost dhcp]#ls /var/lib/tftpboot/pxelinux.0
1.5.4安装 vsftp
安装系统镜像文件获取方式
[root@localhost dhcp]#yum install -y vsftpd[root@localhost dhcp]#rpm -ql vsftpd /var/ftp #此站点为vsftpd的站点,一会挂载在此站点下[root@localhost dhcp]#cd /var/ftp/[root@localhost ftp]#lspub[root@localhost ftp]#mkdir centos7 #创建目录,作为光盘挂载点[root@localhost ftp]#mount /dev/sr0 centos7/ #将光盘挂载到当前目录的centos7/下mount: /dev/sr0 写保护,将以只读方式挂载[root@localhost centos7]#cd images/[root@localhost images]#lsefiboot.img pxeboot TRANS.TBL[root@localhost images]#cd pxeboot/[root@localhost pxeboot]#lsinitrd.img TRANS.TBL vmlinuz[root@localhost pxeboot]#cp initrd.img vmlinuz /var/lib/tftpboot/ #将两个文件拷贝到站点/var/lib/tftpboot下。所有的配置文件都在此站点哦!!![root@localhost pxeboot]#cd /var/lib/tftpboot/ #切换至站点目录[root@localhost tftpboot]#lsinitrd.img pxelinux.0 vmlinuz[root@localhost tftpboot]#mkdir pxelinux.cfg #创建文件夹 pxelinux.cfg[root@localhost tftpboot]#cd pxelinux.cfg/[root@localhost pxelinux.cfg]#vim default #在 pxelinux.cfg目录下创建文件default#这个文件不会写,没关系,可以再开一个会话,可以在isolinux.cfg文件去复制#默认选项default auto#开机不等待,也可以设置timeout 600,默认等到60秒prompt 1label autokernel vmlinuzappend initrd=initrd.img method=ftp://192.168.100.100/centos7label testkernel vmlinuzappend test=initrd.img method=ftp://192.168.100.100/centos7label rescuekernel vmlinuzappend rescue=initrd.img method=ftp://192.168.100.100/centos7##再开一个终端会话,查看isolinux.cfg 的配置文件[root@localhost isolinux]#cd /var/ftp/centos7/[root@localhost centos7]#cd isolinux/[root@localhost isolinux]#lsboot.cat grub.conf isolinux.bin memtestTRANS.TBLvmlinuzboot.msg initrd.img isolinux.cfg splash.png vesamenu.c32[root@localhost isolinux]#vim isolinux.cfg #将以下内容复制到刚刚那个终端的default文件下去,并修改label linuxmenu label ^Install CentOS 7kernel vmlinuzappend initrd=initrd.img#开启以下服务,关闭防火墙,pxe就装完成了[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
1.5.5创建虚拟机测试
下一步,开启试一下
二、实现Kickstart无人值守安装
2.1kickstart文件主要包括三个部分
命令段
程序包段
脚本段
其实centos7已经有ks的文件了
[root@localhost pxelinux.cfg]#cd[root@localhost ~]#lsanaconda-ks.cfg 公共 视频 文档 音乐initial-setup-ks.cfg 模板 图片 下载 桌面[root@localhost ~]#vim anaconda-ks.cfg
2.1.1命令段
命令段中的常见命令:
keyboard: 设定键盘类型
lang: 语言类型
zerombr:清除mbr
clearpart:清除分区
part: 创建分区
rootpw: 指明root的密码
timezone: 时区
text: 文本安装界面
network:指定网络设置
firewall:设置防火墙设置
selinux:设置selinux设置
reboot:安装完自动重启
user:安装完成后为系统创建新用户
url: 指明安装源
2.1.2程序包段
指明要安装的程序包组或程序包,不安装的程序包等
%packages
@^environment group: 指定环境包组,如:@^minimal-environment
@group_name
package
-package
%end
2.1.3脚本段
%pre: 安装前脚本
%post: 安装后脚本
2.2kickstart无人值守设置过程
2.2.1安装图形化界面
[root@localhost ~]#yum install system-config-kickstart -y
2.2.2配置kickstart
1.回到终端,点应用程序—>系统工具—>kickstart
2.基本配置
3.安装方法
4.引导装在程序选项
5.分区信息
6.网络配置
7.验证
8.防火墙配置
9.显示配置
10.软件包选择
11.预安装脚本
12.安装后脚本
13.保存配置
2.2.3回到shell配置文件
[root@localhost ~]#cd /var/ftp/[root@localhost ftp]#lscentos7 ks.cfg pub[root@localhost ftp]#vim ks.cfg #可以在[root@localhost ~]#vim anaconda-ks.cfg 文件下复制%packages@^gnome-desktop-environment@base@core@desktop-debugging@development@dial-up@directory-client@fonts@gnome-desktop@guest-agents@guest-desktop-agents@input-methods@internet-browser@java-platform@multimedia@network-file-system-client@networkmanager-submodules@print-client@x11chronykexec-tools%end[root@localhost ftp]#cd /var/lib/tftpboot/[root@localhost tftpboot]#lsinitrd.img pxelinux.0 pxelinux.cfg vmlinuz[root@localhost tftpboot]#cd pxelinux.cfg/[root@localhost pxelinux.cfg]#vim defaultlabel autokernel vmlinuzappend initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg #在后面添加ks
2.2.4重启测试
重启刚刚做的pxe的系统,之后所有的安装都是自动,这时候就成功了