仙峰涯

自主博客,一个青年的成长之路!

使用PXE批量部署linux环境

pxe启动搭建


B站视频教程https://www.bilibili.com/video/av64249139/

菜鸡一件脚本https://gitee.com/xianfengya/pxe

#挂载光盘镜像

mount /dev/sr0 /mnt/cdrom

#此处可能出现没有cdrom目录,使用makdir创建然后在挂载

mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom

#配置yum源

vim /etc/yum.repos.d/cdrom.repo


#配置文件如下

[CDROM]
name=isofile
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

#清除yum缓存

yum clean all

#生成缓存加速安装

yum makecache


#安装dhcp服务

yum -y install dhcp
vim /etc/dhcp/dhcpd.conf


#DHCP配置文件



allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
        option subnet-mask      255.255.255.0;
        option domain-name-servers  192.168.10.10;
        range dynamic-bootp 192.168.10.100 192.168.10.200;
        default-lease-time      21600;
        max-lease-time          43200;
        next-server             192.168.10.10;
        filename                "pxelinux.0";
}

#重启dhcp服务、将dhcp加入开机启动,可以用systemctl status dhcpd查看是否开启

systemctl restart dhcpd
systemctl enable dhcpd


#安装tftp服务传输引导

yum install tftp-server
vim /etc/xinetd.d/tftp

#tftp配置文件将disable改为no

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
}

#到这里如果提示错误,需要安装xinetd服务,一般安装tftp会自己安装没安装就手动安装下

yum -y install xinetd
systemctl restart xinetd
systemctl enable xinetd

#关闭防火墙

#停止firewall
systemctl stop firewalld.service 
#禁止firewall开机启动
systemctl disable firewalld.service


#安装加载引导服务程序

yum install syslinux


#把SYSLinux提供的引导文件复制到TFTP服务程序的默认目录中,先把光盘镜像挂载到mnt/cdrom

cd /var/lib/tftpboot
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cp /mnt/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot
cp /mnt/cdrom/isolinux/{vesamenu.c32,boot.msg} /var/lib/tftpboot


#在TFTP服务程序的目录中新建pxelinux.cfg目录,将系统光盘中的开机选项菜单复制到该目录中,并命名为default

mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

#编辑default文件,注释default vesamenu.c32,添加default linux让他自己开机就安装

default linux
#default vesamenu.c32

#更改label linux下append为我们httpd下载地址inst.stage2是安装介质在什么地方ks是ks配置文件地址

label linux
  menu label ^Install Red Hat Enterprise Linux 7.2
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=http://192.168.10.10/cdrom ks=http://192.168.10.10/ks.cfg quiet
  #append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.2\x20Server.x86_64 quiet

  

  

#安装http服务用来传输镜像安装

yum install httpd
systemctl restart httpd
systemctl enable httpd


#将系统镜像挂载后复制到http服务的文件目录下/var/www/html/cdrom

cp -r /mnt/cdrom/* /var/www/html/cdrom



#复制ks文件到/var/www/html下

cp ~/anaconda-ks.cfg /var/www/html/ks.cfg

#将ks文件归属为Apache,这样就有权限使用这文件

chown apache:apache /var/www/html/ks.cfg


#编辑ks文件

vim /var/www/html/ks.cfg

#这里安装介质cdrom改为httpd

# Use CDROM installation media
#cdrom
url --url=http://192.168.10.10/cdrom



#清空磁盘内容并初始化磁盘,开始部署可以,后面有生产环境最好不要使用怕不小心pxe启动磁盘文件丢失

# Partition clearing information
#clearpart --none --initlabel
clearpart --all --initlabel

#到现在环境已经配置完成赶快尝试下吧!

一般到这个步骤都是成功了

使用PXE批量部署linux环境 教程 第1张使用PXE批量部署linux环境 教程 第2张使用PXE批量部署linux环境 教程 第3张




未经允许请勿转载:仙峰涯 » 使用PXE批量部署linux环境

赞一个 (11)
分享到: +More

评论 3

换个身份

取消评论
  1. #1
    访客
    访客 5年前 (2020-02-18)回复
    Xiaomi 5Xiaomi 5 UC Browser 12.8.5.1065UC Browser 12.8.5.1065
    呀屎啦你
  2. #2
    访客
    访客 3年前 (2021-11-20)回复
    Windows 10 x64Windows 10 x64 Google Chrome 96.0.4664.45Google Chrome 96.0.4664.45
    请问可以转载吗?会注明出处,谢谢
    • live
      live 1年前 (2023-09-17)回复
      Windows 10 x64Windows 10 x64 Google Chrome 116.0.0.0Google Chrome 116.0.0.0
      可以转载