PXE批量高效网络装机

发布时间:2024年01月17日

总结

1实验流程只能抄老师,记忆浅

2排错能力几乎无

3 指令用的太死,

一 系统装机的三种引导方式

启动 操作 系统

1.硬盘

2.光驱(u盘)

3.网络启动 pxe

重装系统?

在已有操作系统

新到货了一台服务器,

装操作系统

系统镜像? ? u盘? ? 光盘

一? ?安装操作系统必备的四个文件:
  • 内核

  • 驱动

  • grub配置文件(需手动配置):

  • 网络引导:grub程序——syslinux(软件集合)

  • 文件名:pxelinux.0、vmlinuz、initrd.img、pxelinux.cfg

PXE:预安装操作系统的环境,通过网络来引导安装操作系统

PE:小型操作系统(在操作系统上安装操作系统)

initramfs:小型的linux操作系统

系统安装过程
  1. 加载boot loader

  2. 加载启动安装菜单

  3. 加载内核及initrd系统

  4. 加载根系统

  5. 运行anacondad的安装向导

Linux安装光盘的安装相关文件

boot.cat
isolinux.bin

什么是 pxe

允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。

?pxe通过? ?网卡引导启动

实现的硬件条件

1.BIOS支持

2.网卡支持(现在基本都已支持)

3.需要在bios中开启开关,服务器一般没打开(bmc界面里打开)

4.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置 网卡自带DHCP功能 dhcp 指明分配的ip地址

系统安装过程

  • 加载boot loader ?
  • 加载启动安装菜单

  • 加载内核和initrd系统(文件才能使用文件)

  • 加载根系统

  • 运行anaconda的安装向导

PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能 够向客户机裸机发送 PXE 引导程序、Linux 内核、启动菜单等数据,以及提供安装文件

TFTP(简单文件传输协议):内核和引导文件

是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。

?pxe优点

1.规模化:同时装配多台服务器

2.自动化:安装系统、配置各种服务

3.远程实现:不需要光盘、U盘等安装介质

操作过程

  1. 分配给同一局域网内新加机器的地址(配置文件) dhcp 分配地址 指明tftp 服务器的地址

  2. tftp服务端开启 udp 配置 默认关闭

  3. 安装syslinux 取得 pxelinux.0 文件

  4. 安装vsftpd服务挂载软件安装源(mount /dev/sr0 /var/ftp/centos7)

  5. 将四大文件拷入 (/var/lib/tftpboot )

  • initrd.img?

  • pxelinux.0??

  • pxelinux.cfg/default ?

  • vmlinuz

二搭建 pxe远程安装服务器

服务器安装 dhcp tftp-server vsftpd syslinux dhcp

[root@localhost ~]#yum install tftp-server vsftpd syslinux dhcp -y   安装三款软件
[root@localhost ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y    将配置文件模板复制到DHCP目录下
[root@localhost ~]#vim /etc/dhcp/dhcpd.conf
[root@localhost ~]#vim /etc/xinetd.d/tftp
[root@localhost ~]#cd /var/lib/tftpboot
[root@localhost tftpboot]#mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost tftpboot]#ls /mnt/isolinux/
boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL     vmlinuz
boot.msg  initrd.img  isolinux.cfg  splash.png  vesamenu.c32 
[root@localhost tftpboot]#cp /mnt/isolinux/initrd.img /mnt/isolinux/vmlinuz   .  注意点
[root@localhost tftpboot]#rpm -ql syslinux | grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@localhost tftpboot]#cp /usr/share/syslinux/pxelinux.0  .
[root@localhost tftpboot]#mkdir pxelinux.cfg
[root@localhost tftpboot]#cd pxelinux.cfg
[root@localhost pxelinux.cfg]#vim default
[root@localhost pxelinux.cfg]#cat default 
default linux
timeout 600


label linux
  kernel vmlinuz     
  append initrd=initrd.img   method=ftp://192.168.11.9/centos7

[root@localhost pxelinux.cfg]#cd ..
[root@localhost tftpboot]#ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz
[root@localhost tftpboot]#mkdir /var/ftp/centos7
[root@localhost tftpboot]#mount /dev/sr0 /var/ftp/centos7
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost tftpboot]#setenforce 0
setenforce: SELinux is disabled
[root@localhost tftpboot]#systemctl stop firewalld
[root@localhost tftpboot]#systemctl start tftp
[root@localhost tftpboot]#systemctl start vsftpd
[root@localhost tftpboot]#systemctl start dhcp.d


[root@localhost ~]#vim /etc/dhcp/dhcpd.conf

?[root@localhost ~]#vim /etc/xinetd.d/tftp

??配置文件重启之后进入另一台虚拟机进入BIOS菜单,内存大于2G

进入页面即为成功

三 kickstart 无人值守安装

[root@localhost ~]#yum install tftp-server ? vsftpd ? syslinux ?dhcp ? -y?

?

?

?

?

?

?

?

?

?在配置文件添加? ks =..cfg? ?[root@localhost pxelinux.cfg]#vim default?

重启敲指令虚拟机

登录界面测试是否成功

文章来源:https://blog.csdn.net/MCB134/article/details/135645635
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。