PEX全自动安装操纵系统

张裕  高级会员 | 2024-7-27 14:31:24 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 213|帖子 213|积分 639

什么是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初始化磁盘影像文件


图中的vmlinux应该为vmliuz
PXE工作原理表示图说明

  1. 1. Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client。
  2. 2. Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0。
  3. 3. Client执行接收到的pxelinux.0文件。
  4. 4. Client向TFTP发送针对本机的配置信息(记录在TFTP的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。
  5. 5. Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发 送给Client。
  6. 6. Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件 系统。
  7. 7. Client启动Linux内核(启动参数已经在4中的配置文件中设置好了)。
  8. 8. Client通过NFS下载镜像文件,读取autoyast自动化安装脚本。 至此,Client正式进入自动化安装模式开始安装系统直到完成
复制代码
一、情况

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

  1. # 关闭防火墙、selinux
复制代码
  1. [root@localhost ~]# systemctl stop firewalld
  2. [root@localhost ~]# systemctl disable firewalld
  3. [root@localhost ~]# setenforce 0
  4. [root@localhost ~]# sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
复制代码
  1. # 配置ip地址
复制代码
  1. [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
  2. TYPE="Ethernet"
  3. PROXY_METHOD="none"
  4. BROWSER_ONLY="no"
  5. BOOTPROTO="static"
  6. DEFROUTE="yes"
  7. IPADDR=10.20.157.100
  8. PREFIX=24
  9. GATEWAY=10.20.157.1
  10. DNS1=114.114.114.114
  11. DNS2=8.8.8.8
  12. DEVICE="ens33"
  13. ONBOOT="yes"
  14. [root@localhost ~]# systemctl restart network
复制代码
  1. # 配置yum源并按章软件包
复制代码
  1. [root@localhost ~]# rm -rf /etc/yum.repos.d/*
  2. [root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  3. [root@localhost ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  4. [root@localhost ~]# yum clean all
  5. [root@localhost ~]# yum makecache fast
  6. [root@localhost ~]# yum install -y dhcp tftp tftp-server syslinux wget vsftpd pykickstart
复制代码
三、dhcp服务器配置

  1. [root@localhost ~]# vim /etc/dhcp/dhcpd.conf
  2. #确保配置文件内容如下
  3. ddns-update-style interim;
  4. ignore client-updates;
  5. authoritative;
  6. allow booting;
  7. allow bootp;
  8. allow unknown-clients;
  9. # A slightly different configuration for an internal subnet.
  10. subnet 10.20.157.0 netmask 255.255.255.0
  11. {
  12.   range 10.20.157.110 10.20.157.200;
  13.   option domain-name-servers 10.20.157.1;
  14.   option domain-name "server1.example.com";
  15.   option routers 10.20.157.1;
  16.   option broadcast-address 10.20.157.255;
  17.   default-lease-time 600;
  18.   max-lease-time 7200;
  19.   # PXE SERVER IP
  20.   next-server 10.20.157.100;     # DHCP server ip
  21.   filename "pxelinux.0";
  22. }
复制代码
  1. [root@localhost ~]# vim /etc/dhcp/dhcpd.conf
  2. #确保配置文件内容如下
  3. ddns-update-style interim;
  4. ignore client-updates;
  5. authoritative;
  6. allow booting;
  7. allow bootp;
  8. allow unknown-clients;
  9. # A slightly different configuration for an internal subnet.
  10. subnet 10.20.157.0 netmask 255.255.255.0
  11. {
  12.    range 10.20.157.110 10.20.157.200;
  13.    option domain-name-servers 10.20.157.1;
  14.    option domain-name "server1.example.com";
  15.    option routers 10.20.157.1;
  16.    option broadcast-address 10.20.157.255;
  17.    default-lease-time 600;
  18.    max-lease-time 7200;
  19.    # PXE SERVER IP
  20.    next-server 10.20.157.100;     # DHCP server ip
  21.    filename "pxelinux.0";
  22. }
复制代码
四、TFTP服务准备

  1. [root@localhost ~]# vim /etc/xinetd.d/tftp
  2. #修改内容如下
  3. service tftp
  4. {
  5.      socket_type          = dgram
  6.      protocol                = udp
  7.      wait                      = yes
  8.      user                    = root
  9.      server                  = /usr/sbin/in.tftpd
  10.      server_args             = -s /var/lib/tftpboot
  11.      disable                 = no
  12.      per_source              = 11
  13.      cps                     = 100 2
  14.      flags                   = IPv4
  15. }
  16. [root@localhost ~]# cp /usr/share/syslinux/{pxelinux.0,menu.c32,memdisk,mboot.c32,chain.c32} /var/lib/tftpboot/
  17. [root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
  18. [root@localhost ~]# mkdir /var/lib/tftpboot/netboot
复制代码
五、VSftpd服务准备

在VMware中将cd驱动器链接

  1. [root@localhost ~]# mount /dev/cdrom /mnt
  2. [root@localhost ~]# cp -rf /mnt/* /var/ftp/pub/
  3. # 拷贝系统启动时需要的镜像文件
  4. [root@localhost ~]# cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot/netboot/
  5. [root@localhost ~]# cp /var/ftp/pub/images/pxeboot/initrd.img /var/lib/tftpboot/netboot/
  6. # 创建ks.cfg 文件
  7. [root@localhost ~]# vim /var/ftp/pub/ks.cfg
  8. #platform=x86, AMD64, or Intel EM64T
  9. #version=DEVEL
  10. # Firewall configuration
  11. firewall --disabled
  12. # Install OS instead of upgrade
  13. install
  14. # Use NFS installation media
  15. url --url="ftp://10.20.157.100/pub/"
  16. rootpw --plaintext 123456
  17. #root的密码设为123456
  18. # Use graphical install
  19. graphical
  20. firstboot disable
  21. # System keyboard
  22. keyboard us
  23. # System language
  24. lang en_US
  25. # SELinux configuration
  26. selinux disabled
  27. # Installation logging level
  28. logging level=info
  29. # System timezone
  30. timezone Asia/Shanghai
  31. # System bootloader configuration
  32. bootloader location=mbr
  33. clearpart --all --initlabel
  34. part swap --asprimary --fstype="swap" --size=1024
  35. part /boot --fstype xfs --size=200
  36. part pv.01 --size=1 --grow
  37. volgroup rootvg01 pv.01
  38. logvol / --fstype xfs --name=lv01 --vgname=rootvg01 --size=1 --grow
  39. reboot
  40. %packages
  41. @core
  42. wget
  43. %end
  44. %post
  45. %end
  46. # 检查语法是否有错误
  47. [root@localhost ~]# ksvalidator /var/ftp/pub/ks.cfg
复制代码
六、PXE菜单

  1. [root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
  2. default menu.c32
  3. prompt 0
  4. timeout 30
  5. MENU TITLE Togogo.net Linux Training
  6. LABEL centos7_x64
  7. MENU LABEL CentOS 7 X64 for newrain
  8. KERNEL /netboot/vmlinuz
  9. APPEND  initrd=/netboot/initrd.img inst.repo=ftp://10.20.157.100/pub ks=ftp://10.20.157.100/pub/ks.cfg
复制代码
七、重启服务

  1. [root@localhost ~]# systemctl enable dhcpd vsftpd tftp
  2. [root@localhost ~]# systemctl restart dhcpd vsftpd tftp
复制代码
八、创建虚拟机-自动安装系统

   注意:内存必须大于2G
  


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

高级会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表