使用PXE实现自动化安装rockylinux8.10

嚴華  论坛元老 | 2024-9-12 13:15:05 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1736|帖子 1736|积分 5208

PXE

一、简介



  • 实现多台服务器自动化安装系统。
二、摆设



  • 这里宿主机是 centos7,PXE 摆设的是 rockylinux8.10。
  • 宿主机需提前关闭 selinux 和防火墙。
2.1 摆设 dhcp


  • 安装 dhcp
  1. [root@test-server ~]# yum install -y dhcp
复制代码

  • 修改配置文件
  1. # 复制默认的配置文件
  2. [root@test-server ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
  3. cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
  4. # 修改配置文件,修改几行即可,其他不用动,测试下来这里面的指定地址池没生效
  5. [root@test-server ~]# vim /etc/dhcp/dhcpd.conf
  6. 14 ddns-update-style none;  # 取消这行的注释
  7. 32 subnet 192.168.88.0 netmask 255.255.255.0 {  # 指定网段
  8. 33   range dynamic-bootp 192.168.88.160 192.168.88.210;  # 指定地址池
  9. 34   option routers 192.168.88.1;  # 指定网关
  10. 35   option domain-name-servers 8.8.8.8;  # 指定DNS
  11. 36   next-server 192.168.88.1;  # 指定tftp服务器地址
  12. 37   filename "pxelinux.0";  # 指定pxe引导程序的文件名
  13. 38 }
复制代码

  • 启动 dhcp
  1. # 根据自己情况是否设置开机自启
  2. [root@test-server ~]# systemctl start dhcpd
  3. [root@test-server ~]# systemctl status dhcpd
复制代码
2.2 摆设 tftp


  • 安装 tftp
  1. # 这里tftp依赖于xinetd,所以这里也安装一下xinetd
  2. [root@test-server ~]# yum -y install tftp-server xinetd
复制代码

  • 修改配置文件
  1. # 修改wait disable后面的即可
  2. [root@test-server ~]# vim /etc/xinetd.d/tftp
  3. service tftp
  4. {
  5.     socket_type     = dgram
  6.     protocol        = udp
  7.     wait            = no  # yes:一台一台的连接; no:允许多台一起连接
  8.     user            = root
  9.     server          = /usr/sbin/in.tftpd
  10.     server_args     = -s /var/lib/tftpboot
  11.     disable         = no  # yes:关闭tftp; no:开启tftp
  12.     per_source      = 11
  13.     cps         = 100 2
  14.     flags           = IPv4
  15. }
复制代码

  • 启动 tftp
  1. # 根据自己情况设置开机自启
  2. [root@test-server ~]# systemctl start xinetd
  3. [root@test-server ~]# systemctl start tftp
  4. [root@test-server ~]# systemctl status xinetd
  5. [root@test-server ~]# systemctl status tftp
复制代码
2.3 摆设 http

   这里也可以安装 nginx 、ftp
  1. # 安装
  2. [root@test-server ~]# yum install -y httpd
  3. # 启动
  4. [root@test-server ~]# systemctl start httpd
  5. # 确保启动成功
  6. [root@test-server ~]# systemctl status httpd
  7. # 挂载光盘镜像
  8. [root@test-server ~]# mkdir /var/www/html/rockylinux8.10
  9. [root@test-server ~]# mount -t iso9660 /data/iso/Rocky-8.10-x86_64-dvd1.iso /var/www/html/rockylinux8.10
  10. # 准备安装源,可选
  11. [root@test-server ~]# vim /var/www/html/local.repo
  12. [BaseOS]
  13. name = BaseOS
  14. baseurl = http://192.168.88.1/rockylinux8.10/BaseOS
  15. enabled = 1
  16. gpgcheck = 0
  17. [AppStream]
  18. name = AppStream
  19. baseurl = http://192.168.88.1/rockylinux8.10/AppStream
  20. enabled = 1
  21. gpgcheck = 0
复制代码
2.4 准备引导程序

  1. [root@test-server ~]# yum install -y syslinux
  2. # 复制几个文件到/var/lib/ftpboot下
  3. [root@test-server ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
  4. [root@test-server ~]# cp /var/www/html/rockylinux8.10/isolinux/initrd.img /var/lib/tftpboot/
  5. [root@test-server ~]# cp /var/www/html/rockylinux8.10/isolinux/vmlinuz /var/lib/tftpboot/
复制代码
2.5 配置启动菜单文件

  1. # 注释不用写入
  2. [root@test-server ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
  3. [root@test-server ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
  4. default linux  # 指定入口名称
  5. prompt 0  # 0自动执行ks文件,1代表手动
  6. label linux  # 安装模式,地址根据自己的情况修改,inst.ks指定的文件名要与后面编写的文件名一致
  7.     kernel vmlinuz
  8.     append initrd=initrd.img inst.repo=http://192.168.88.1/rockylinux8.10 root=live:http://192.168.88.1/rockylinux8.10/images/install.img inst.ks=http://192.168.88.1/rockylinux.cfg net.ifnames=0 biosdevname=0
复制代码
2.6 编写 ks 文件



  • 这里 ks 文件可以用 system-config-kickstart 工具生成,我这里就直接编写了,可以自行搜刮 system-config-kickstart 使用方法
  1. # 生成密码
  2. [root@test-server ~]# openssl passwd -1 "123456"
  3. $1$NAAAcDvm$9aYMh4fRsFKjr1jPsjWXH.
  4. [root@test-server ~]# vim /var/www/html/rockylinux.cfg
  5. # 安装系统,而不是升级系统
  6. install
  7. # 键盘设置
  8. keyboard 'us'
  9. # root密码
  10. rootpw --iscrypted $1$NAAAcDvm$9aYMh4fRsFKjr1jPsjWXH.
  11. # 系统语言
  12. lang en_US
  13. # 时区设置
  14. timezone Asia/Shanghai
  15. # 配置系统中用户密码的加密算法和存储位置
  16. auth  --useshadow  --passalgo=sha512
  17. # 配置安装方式,graphical图形化,text文本
  18. # graphical
  19. text
  20. # 禁用系统首次启动设置向导
  21. firstboot --disable
  22. # 关闭selinux
  23. selinux --disabled
  24. # 关闭firewalld
  25. firewall --disabled
  26. # 网络配置,这里的device名称好像也可以成功
  27. network  --bootproto=dhcp --device=eth0 --onboot=yes
  28. # 安装完之后重启
  29. reboot
  30. # 网络源,根据自己实际情况填
  31. url --url="http://192.168.88.1/rockylinux8.10"
  32. # 系统引导加载配置
  33. bootloader --location=mbr
  34. # 擦除磁盘上的分区并初始化
  35. zerombr
  36. clearpart --all --initlabel
  37. # 磁盘分区,默认单位是M,--grow --size=1代表剩余的都分给它
  38. part /boot --fstype="xfs" --size=1024
  39. part swap --fstype="swap" --size=4096
  40. part / --fstype="xfs" --grow --size=1
  41. # 安装软件包和相关组
  42. %packages
  43. @^minimal-environment
  44. bash-completion
  45. net-tools
  46. vim
  47. %end
  48. # 安装完毕运行的命令,这里写的是更新安装源
  49. %post --interpreter=/bin/bash
  50. rm -rf /etc/yum.repos.d/*
  51. curl -o /etc/yum.repos.d/local.repo http://192.168.88.1/local.repo
  52. %end
复制代码
三、使用

3.1 创建虚拟机



  • 根本上都是默认安装即可





  • 选择虚拟机存放目录

  • 配置 cpu

  • 配置内存,尽量给 2G 或 2G 以上,否则会卡在那边,背面有图







  • 修改虚拟机的网络,根据自身实际情况修改


3.2 启动虚拟机




  • 如果卡在这边,将内存加到 2G 或以上即可。

  • 安装成功,用户名 root,暗码 123456

四、总结

4.1 出现的题目


  • default 文件中的第一行 default 指定的入口名称,差别版本都不太一样,一开始填的是 auto 不行。
  • 内存题目,rockylinux8.10 要求的内存不能太低。
  • 虚拟机安装的时候,有概率会出现 cpu 的题目,给这 cpu 配置中的 Virtualization Engine 下面的三个勾上就行了。
  • 如果开机之后一开始就提示有什么找不到,请检查/var/lib/tftpboot/pxelinux.cfg/default 中的 append 那一行的 url 是否配置精确。
  • 如果 /var/www/html/rockylinux.cfg 文件中的 packages 标注的组大概安装包,不存在,必要在安装过程中手动输入 yes 忽略。
  • 如果安装 centos7 ,必要手动修改 default 和 ks 文件。
4.2 个人理解



  • 其实 pxe 中最紧张的就是 default 文件和 ks 文件,default 文件指定安装源,ks 配置自动化安装。
  • 这里我使用的是在 ks 文件中指定文本安装,应该也可以在 default 中指定文本安装。
  • 这里我在 default 中就指定了一个 label,如果想添加多个系统的 pxe,可以添加多个 label。

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

嚴華

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表