张裕 发表于 2024-7-27 14:31:24

PEX全自动安装操纵系统

什么是PXE?

PXE,全名Pre-boot Execution Environment,预启动实行情况; 通过网络接口启动盘算机,不依赖本地存储装备(如硬盘)或本地已安装的操纵系统; 由Intel和Systemsoft公司于1999年9月20日公布的技能; Client/Server的工作模式; PXE客户端会调用网际协议(IP)、用户数据报协议(UDP)、动态主机设定协议(DHCP)、小型文件传输协议(TFTP)等网络协议; PXE客户端(client)这个术语是指机器在PXE启动过程中的脚色。一个PXE客户端可以是一台服务器、条记本电脑或者其他装有PXE启动代码的机器(我们电脑的网卡)
pxe+kickstart 全自动安装操纵系统,(不包罗win) pxe是网卡上的芯片 kickstart软件   pylickstart  用来配置操纵系统安装过程的配置文件ks.cfg
initrd初始化磁盘影像文件

https://i-blog.csdnimg.cn/blog_migrate/a5d7899061ecaf70fd581277498526de.png
图中的vmlinux应该为vmliuz
PXE工作原理表示图说明

1. Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client。

2. Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0。

3. Client执行接收到的pxelinux.0文件。

4. Client向TFTP发送针对本机的配置信息(记录在TFTP的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。

5. Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发 送给Client。

6. Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件 系统。

7. Client启动Linux内核(启动参数已经在4中的配置文件中设置好了)。

8. Client通过NFS下载镜像文件,读取autoyast自动化安装脚本。 至此,Client正式进入自动化安装模式开始安装系统直到完成 一、情况

名称值软件vmware系统centos7.5网络桥接ip地点10.20.157.100 二、安装前准备

# 关闭防火墙、selinux

# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config ​
# 配置ip地址

# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPADDR=10.20.157.100
PREFIX=24
GATEWAY=10.20.157.1
DNS1=114.114.114.114
DNS2=8.8.8.8
DEVICE="ens33"
ONBOOT="yes"

# systemctl restart network
​ # 配置yum源并按章软件包
# rm -rf /etc/yum.repos.d/*
# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# yum clean all
# yum makecache fast
# yum install -y dhcp tftp tftp-server syslinux wget vsftpd pykickstart 三、dhcp服务器配置

# vim /etc/dhcp/dhcpd.conf
#确保配置文件内容如下
ddns-update-style interim;
ignore client-updates;
authoritative;
allow booting;
allow bootp;
allow unknown-clients;

# A slightly different configuration for an internal subnet.
subnet 10.20.157.0 netmask 255.255.255.0
{
  range 10.20.157.110 10.20.157.200;
  option domain-name-servers 10.20.157.1;
  option domain-name "server1.example.com";
  option routers 10.20.157.1;
  option broadcast-address 10.20.157.255;
  default-lease-time 600;
  max-lease-time 7200;

  # PXE SERVER IP
  next-server 10.20.157.100;     # DHCP server ip
  filename "pxelinux.0";
} # vim /etc/dhcp/dhcpd.conf
#确保配置文件内容如下
ddns-update-style interim;
ignore client-updates;
authoritative;
allow booting;
allow bootp;
allow unknown-clients;

# A slightly different configuration for an internal subnet.
subnet 10.20.157.0 netmask 255.255.255.0
{
   range 10.20.157.110 10.20.157.200;
   option domain-name-servers 10.20.157.1;
   option domain-name "server1.example.com";
   option routers 10.20.157.1;
   option broadcast-address 10.20.157.255;
   default-lease-time 600;
   max-lease-time 7200;

   # PXE SERVER IP
   next-server 10.20.157.100;   # DHCP server ip
   filename "pxelinux.0";
} 四、TFTP服务准备

# vim /etc/xinetd.d/tftp
#修改内容如下
service tftp
{
   socket_type          = dgram
   protocol                = udp
   wait                      = yes
   user                  = root
   server                  = /usr/sbin/in.tftpd
   server_args             = -s /var/lib/tftpboot
   disable               = no
   per_source            = 11
   cps                     = 100 2
   flags                   = IPv4
}

# cp /usr/share/syslinux/{pxelinux.0,menu.c32,memdisk,mboot.c32,chain.c32} /var/lib/tftpboot/
# mkdir /var/lib/tftpboot/pxelinux.cfg
# mkdir /var/lib/tftpboot/netboot 五、VSftpd服务准备

在VMware中将cd驱动器链接
https://i-blog.csdnimg.cn/blog_migrate/04f8cd51e0224c067596449c39021066.png
# mount /dev/cdrom /mnt
# cp -rf /mnt/* /var/ftp/pub/

# 拷贝系统启动时需要的镜像文件
# cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot/netboot/
# cp /var/ftp/pub/images/pxeboot/initrd.img /var/lib/tftpboot/netboot/

# 创建ks.cfg 文件
# vim /var/ftp/pub/ks.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use NFS installation media
url --url="ftp://10.20.157.100/pub/"
rootpw --plaintext 123456
#root的密码设为123456
# Use graphical install
graphical
firstboot disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux disabled
# Installation logging level
logging level=info
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader location=mbr
clearpart --all --initlabel
part swap --asprimary --fstype="swap" --size=1024
part /boot --fstype xfs --size=200
part pv.01 --size=1 --grow
volgroup rootvg01 pv.01
logvol / --fstype xfs --name=lv01 --vgname=rootvg01 --size=1 --grow
reboot

%packages
@core
wget
%end

%post
%end

# 检查语法是否有错误
# ksvalidator /var/ftp/pub/ks.cfg 六、PXE菜单

# vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
prompt 0
timeout 30
MENU TITLE Togogo.net Linux Training

LABEL centos7_x64
MENU LABEL CentOS 7 X64 for newrain
KERNEL /netboot/vmlinuz
APPENDinitrd=/netboot/initrd.img inst.repo=ftp://10.20.157.100/pub ks=ftp://10.20.157.100/pub/ks.cfg 七、重启服务

# systemctl enable dhcpd vsftpd tftp
# systemctl restart dhcpd vsftpd tftp 八、创建虚拟机-自动安装系统

   注意:内存必须大于2G
https://i-blog.csdnimg.cn/blog_migrate/c4021f69b90d597dab1fef1d621abf14.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: PEX全自动安装操纵系统