局域网内批量安装Linux系统

2023年 8月 16日 61.7k 0

通过网络将计算机的启动文件传输到目标计算机。在局域网中,一台计算机作为服务器,另一台或多台计算机作为客户端,通过网络启动服务器上的操作系统安装程序,实现批量安装操作系统。

一、安装PXE服务端环境

yum install vsftpd dhcp tftp xinetd  syslinux tftp-server -y

二、拷贝镜像文件到ftp服务器根目录

#切换到ftp默认目录
cd /var/ftp/pub
mkdir dvd   #创建一个存放镜像的目录
chown ftp:ftp dvd
cp -rf /mnt/cdrom/* dvd/

三、配置dhcp服务器

vim /etc/dhcp/dhcpd.conf
subnet 10.10.10.0 netmask 255.255.255.0 {       #指定网段
        range 10.10.10.100 10.10.10.200;        #指定地址分配范围
        option routers 10.10.10.11;             #网关地址
        next-server 10.10.10.11;                #指定tftp服务器地址
        filename "pxelinux.0";                  #连接tftp服务器后要下载的文件
}
​

四、配置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 /tftpboot          #tftp目录
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
​

五、创建相关目录并拷贝所需文件

配置启动菜单文件

mkdir -p /tftpboot/pxelinux.cfg
# vim /var/lib/tftpboot/pxelinux.cfg/default   # 在pxelinux.cfg目录下创建default并编辑配置文件
default auto
prompt 1
​
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://10.10.10.11/pub/dvd     # 为ftp服务器地址
​
label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://10.10.10.11/pub/dvd 
​
label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://10.10.10.11/pub/dvd 

将内核文件和镜像文件拷贝至tftp目录和ftp目录下

cp /usr/share/syslinux/pxelinux.0 /tftpboot/
chmod 444 /tftpboot/pxelinux.cfg/default
cp /var/ftp/pub/dvd/isolinux/* /tftpboot/

六、开启相关服务并设置为开机自启

systemctl restart dhcpd
systemctl enable dhcpd
systemctl restart xinetd
systemctl enable xinetd
systemctl restart tftp
systemctl enable tftp
systemctl restart vsftpd
systemctl enable vsftpd

七、创建虚拟机测试

在使用vmware虚拟机进行测试时,内存不得小于2G否则会报错。

当出现boot字样时,直接回车客户端就会从服务器下载安装文件并进入默认的图形安装界面。

若执行“linux text”命令,则进入文本安装入口;

若执行 “linux rescue”命令,则进入救援模式。

PXE装机.png

由于这里还没有配置自动化安装,所以后续操作都需要手动

八、全自动安装系统

1)安装kiskstart生成自动化安装脚本

yum install -y system-config-kickstart    # 需要在一台支持图形化的虚拟机内安装,否则无法设置自动化安装脚本

2)安装完后,我们打开图形界面启动kickstart

system-config-kickstart   #终端输入此命令回车即可启动

基本配置中选择你想要的默认语言、键盘、时区、目标架构以及设置root用户的登录密码。

启动Kicskstart.png

安装方法处选择执行全新安装

这里采用ftp服务器来共享镜像文件。如果你的ftp不允许匿名用户登录,设置了用户名和密码则需要手动指定一下用户名和密码。

ftp.png

勾选安装引导程序

引导.png

添加分区信息,设置根目录、swap、boot大小

boot:600MB swap:4GB 其余容量全部划分给根目录

boot.png

swap.png

根目录.png

网络信息留空,待进入系统后再手动配置。

network.png

验证根据实际情况需要来配置

验证.png

防火墙配置:禁用selinux。使用防火墙放行ssh端口即可【如果你有其他端口需要放行,也可以自己添加进去】

iptables.png

显示配置,默认即可。

显示.png

3)软件包选择,这里如果报错如下图这样:

软件包选择.png

则需要修改yum源配置文件,然后卸载重新安装system-config-kickstart 软件

yum.png

#卸载
yum remove -y system-config-kickstart
#清除缓存
yum clean all && yum makecache
#再重新执行安装命令
yum install -y system-config-kickstart

这时,我们再重新打开system-config-kickstart软件,切换到软件包选择时就可以看到软件包了

根据自己的需要选择需要安装的软件包即可。

packpage.png

4)添加安装后需要执行的脚本。根据自己的需要来,如果不需要则留空即可

bash.png

5)保存文件后,修改tftp目录下的default文件。让其启动安装时从ftp目录下载该脚本并执行

default install     #选择默认安装方式为install
prompt 0            #修改为0执行自动安装
​
label install
        kernel vmlinuz
        append initrd=initrd.img method=ftp://10.10.10.11/pub/dvd ks=ftp://10.10.10.11/ks.cfg
​
label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://10.10.10.11/pub/dvd
​
label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://10.10.10.11/pub/dvd

6)新建虚拟机开机测试,显示正在加载则表示已经开始执行自动安装脚本了,我们稍等片刻即可

vm.png

install_1.png

7)待安装完成后,检查root目录下是否有我们写入的文件

write_file.png

至此,PXE装机服务就搭建完成了。

推荐阅读

批量安装Linux系统之Cobbler的构建

Docker安装和镜像加速器配置

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论