目录
一、理论
1.PXE批量网络装机概述
2.搭建 PXE 远程安装服务器
3.实现Kickstart无人值守安装
二、实验
1.搭建PXE远程安装服务器
2.安装Kickstart无人值守安装
3.安装图形化界面
三、问题
1.please complete all spokes before continuing 提示
(1)PXE 概述
PXE指预启动执行环境(Preboot eXecution Environment),也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。
PXE是由Inter 公司开发的网络引导技术,工作在Client / Server 模式。允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统
(2)PXE 优点
规模化:同时装配多台服务器
自动化:安装系统,配置各种服务都可以交给机器进行
远程实现:不需要光盘,U盘等安装介质
(3)前提条件
① 客户端和服务端处于同一个局域网
② 客户端:
客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置允许从Network或LAN 启动即可。
③ 服务端:
网络中有一台DHCP服务器,以便位客户机自动分配地址,指定引导文件位置。
服务器要通过 TFTP 服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载
(4)PEX需要的四大文件
grub引导程序:pxelinux.0
内核映像:vmlinuxz
精简的linux系统的文件系统驱动:initrd.img
启动菜单的配置文件:pxelinux.cfg
PXE 远程安装服务器集成了 Centos 7 安装源、TFTP 服务、DHCP 服务、FTP 服务, 能够向客户机裸机发送 PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。
(1)PXE使用服务
TFTP:UDP协议,通过此协议将需要的文件下载到网卡,网卡自带功能。网卡不支持ftp。
FTP:装软件包时数据过大,tftp不能保证传输。
SYSLINUX-EXTLINUX.X86_64:小型的grub引导程序。
SYSTEM-CONFIG-KICKSTART:KICKSTART无人值守安装
(2)TFTP (简单文件传输协议)
TFTP是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。 TFTP服务默认由xinetd服务进行管理,使用UDP 端口 69
(3)xinted
① xinted简介
xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。经常用来管理多种轻量级Internet服务。xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。 xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。
守护进程也称精灵进程 (Daemon), 是运行在后台的一种特殊进程。守护进程独立于控制终端,它们常常跟随系统启动时启动,在系统关闭时才结束。守护进程周期性的执行某些任务或者等待处理某些事件,Linux上的大多数服务器都是用守护进程实现的。
在系统启动中默认的守护进程的父进程ID全都是init,守护进程特征就是在程序运行名后加了一个d,但不是所有的尾字母是d的进程都是守护进程。
② xinetd的特色
1) 强大的存取控制功能
— 内置对恶意用户和善意用户的差别待遇设定。
— 使用libwrap支持,其效能更甚于tcpd。
— 可以限制连接的等级,基于主机的连接数和基于服务的连接数。
— 设置特定的连接时间。
— 将某个服务设置到特定的主机以提供服务。
2) 有效防止DoS攻击
— 可以限制连接的等级。
— 可以限制一个主机的最大连接数,从而防止某个主机独占某个服务。
— 可以限制日志文件的大小,防止磁盘空间被填满。
3) 强大的日志功能
— 可以为每一个服务就syslog设定日志等级。
— 如果不使用syslog,也可以为每个服务建立日志文件。
— 可以记录请求的起止时间以决定对方的访问时间。
— 可以记录试图非法访问的请求。
4) 转向功能
可以将客户端的请求转发到另一台主机去处理。
5) 支持IPv6
xinetd自xinetd 2.1.8.8pre*起的版本就支持IPv6,可以通过在./configure脚本中使用with-inet6 capability选项来完成。注意,要使这个生效,核心和网络必须支持IPv6。当然IPv4仍然被支持。
6) 与客户端的交互功能
无论客户端请求是否成功,xinetd都会有提示告知连接状态。
③ Xinetd的缺点
当前,它最大的缺点是对RPC支持的不稳定性,但是可以启动protmap,使它与xinetd共存来解决这个问题。
④ 使用xinetd启动守护进程
原则上任何系统服务都可以使用xinetd,然而最适合的应该是那些常用的网络服务,同时,这个服务的请求数目和频繁程度不会太高。像DNS和Apache就不适合采用这种方式,而像FTP、Telnet、SSH等就适合使用xinetd模式,系统默认使用xinetd的服务可以分为如下几类。
1) 标准Internet服务:telnet、ftp。
2)信息服务:finger、netstat、systat。
3) 邮件服务:imap、imaps、pop2、pop3、pops。
4)RPC服务:rquotad、rstatd、rusersd、sprayd、walld。
5)BSD服务:comsat、exec、login、ntalk、shell、talk。
6) 内部服务:chargen、daytime、echo、servers、services、time。
7)安全服务:irc。
8)其他服务:name、tftp、uucp。
(1)Kickstart原理
Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数;比如:我们安装系统的时候需要分区、设置时区、设置root密码、安装后执行的脚本等等,这些操作都记录下来并生成一个名为ks.cfg的文件
(1)搭建环境
主机服务器地址:192.168.204.150
一台主机:1)配置双网卡 一个作用是dhcp,一个是使用网络源安装环境包
2)DHCP部署
3)tftp-server 服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。
4)syslinux //用来提供pxe的引导程序
5)xinetd //用来托管tftp
6)vsftpd //用来放置安装镜像,通过ftp访问镜像安装
7)kickstart //用来无人值守安装
(2)安装并启动DHCP服务
下载dhcp
将dhcp配置模板复制到dhcp配置文件中
修改DHCP服务的配置文件
启用DHCP服务,并设置开机自启
(3)安装并启动TFTP服务
下载tftp-serverr软件包
下载xinted软件包
修改TFTP服务的配置文件
开启tftp服务和xinetd服务,并设置开机自启
(4)准备Linux内核,初始化镜像文件
挂载
查看
复制 Linux系统的内核文件 到TFTP根目录下
复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下
(5)准备PXE引导程序
(6)安装FTP服务,准备CentOS 7 安装源
安装vsftpd服务
在ftp根目录下创建目录centos7
将镜像文件强制复制到centos7目录中,可加&让它自己后台运行
开启vsftpd服务
(7)配置启动菜单文件
(8)关闭系统防火墙和安全机制
(1)准备安装应答文件
安装system-config-kickstart 工具
(2)打开“Kickstart 配置程序”窗口
通过桌面菜单“应用程序”-->“系统工具”-->“Kickstart” 打开或执行 “system-config-kickstart” 命令打开
(3)配置kickstart选项
基本配置:
默认语言设为“中文(简体)”
时区设为“Asia/Shanghai”
设置root密码
高级配置中勾选“安装后重启”。
安装方法:
选FTP
FTP服务器:ftp://192.168.204.150
FTP目录:centos7
引导装载程序选项:
“安装类型”:安装新引导装载程序
“安装选项”:在主引导记录(MBR)中安装引导装载程序
分区信息:
主引导记录:清除主引导记录
分区:删除所有现存分区
磁盘标签:初始化磁盘标签
布局:添加分区
挂载点:/boot,文件系统类型:xfs,固定大小:500M
文件系统类型:swap,固定大小:4096M
挂载点:/home,文件系统类型:xfs,固定大小:4096M
挂载点:/,文件系统类型:xfs,使用磁盘上全部未使用空间
网络配置:
添加网络设备“ens33”
网络类型设为“DHCP”
安装后脚本:
勾选“使用解释程序”:/bin/bash
rm -rf /etc/yum.repos.d/*
echo '[local]
name=local
baseurl=ftp://192.168.204.150/centos7
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo
(4)保存自动应答文件
选择“Kickstart 配置程序”窗口的“文件”-->“保存”命令,选择指定保存位置,文件名为ks.cfg
默认保存在/root/ks.cfg
(5)配置需要安装的软件包
可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg文件中,
只需要复制%packages 到%end 部分即可。
如要求最小化安装,可复制下面内容:
vim ks.cfg
%packages
@^minimal
%end
(6)编辑引导菜单文件 default,添加 ks 引导参数
添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径
Linux默认情况下是不会安装图形界面的,所以需要自己手动安装,步骤如下:
(1)开启系统,以root身份进入
(2)安装X(X Window System),命令如下:
yum groupinstall "X Window System"
(3)然后安装图形界面软件,GNOME(GNOME Desktop),命令如下:
yum groupinstall "GNOME Desktop"
(4)安装完成后我们可以通过命令 startx 进入图形界面
(5)开机启动图形化界面
① 使用ctrl+alt+f2切换到命令行模式,如果本身就是命令行模式就直接看下面的步骤
② 查看当前开机启动模式:systemctl get-default
运行结果:
graphical.target代表开机时启动图形化界面
multi-user.target代表开机时启动dos界面
③ 输入如下命令设置开机启动图形界面
systemctl set-default graphical.target
如果想开机启动dos界面,就输入如下命令:
systemctl set-default multi-user.target
解决方法:
输入“1”,按Enter键
输入“2”,按Enter键
输入“q",按Enter键
输入“yes”,按Enter键