Linux—PXE批量网络装机
文章目录
简介
预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统
现在我们来搭建一个PXE
首先,我们来安装一下dhcp服务
[root@test02 ~]# yum -y install dhcp
然后我们查看dhcp配置文件存放的位置:/etc/dhcp/dhcpd.conf中,但是打开会发现让你去另一个目录中找配置文件模板,所以要复制一份过来
[root@test02 ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@test02 ~]# vi /etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.224 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.100;
option domain-name-servers 192.168.10.100;
next-server 192.168.10.100;
filename "pxelinux.0";
}
接下来,我们安装一下tftp和引导程序
[root@test02 ~]# yum -y install tftp-server
[root@test02 ~]# yum -y install syslinux
然后我们进行配置
[root@test02 ~]# vi /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no ###这边将yes改成no###
per_source = 11
cps = 100 2
flags = IPv4
}
然后我们将引导程序拷贝的TFTP站点目录下
[root@test02 etc]# cd xinetd.d/
[root@test02 xinetd.d]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
接着我们安装vsftp服务
[root@test02 xinetd.d]# yum -y install vsftpd
再接着,我们挂载一下磁盘
[root@test02 xinetd.d]# cd /var/ftp/
[root@test02 ftp]# mkdir centos7
[root@test02 ftp]# mount /dev/cdrom /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
然后,我们进入tftp站点目录
新建一个引导配置文件存放目录,进入该目录并新建一个名为default的配置文件,编辑该文件
[root@test02 ftp]# cd /var/lib/tftpboot/
[root@test02 tftpboot]# mkdir pxelinux.cfg
[root@test02 tftpboot]# cd pxelinux.cfg
[root@test02 pxelinux.cfg]# vi default
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.10.100/centos7
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.10.100/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.10.100/centos7
然后我们启动一下服务
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl start tftp
[root@localhost ~]# systemctl start vsftpd
启动完成,我们将一个裸金属服务器启动
我们还是要手动选择,我们可以在服务器上安装Kickstart服务软件,自动安装
在图形化界面左上角点击“应用程序”按钮,选择“系统工具”中的Kickstart打开软件
我们开始进行相关配置选择
配置完成
我们需要编辑服务器系统家目录下的配置文件:vi anaconda-ks.cfg ,将其中安装的所有软件包列表复制,粘贴到刚才生成的ks.cfg配置文件中
%packages
@^gnome-desktop-environment
@backup-client
@base
@compat-libraries
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-apps
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-applications
@internet-browser
@java-platform
@legacy-x
@multimedia
@network-file-system-client
@networkmanager-submodules
@office-suite
@print-client
@security-tools
@smart-card
@system-admin-tools
@x11
chrony
kexec-tools
%end
然后,我们要修改default配置文件让其识别到ks.cfg文件
[root@localhost pxelinux.cfg]# vi /var/lib/tftpboot/pxelinux.cfg/default
append initrd=initrd.img method=ftp://192.168.10.100/centos7 ks=ftp://192.168.10.100/ks.cfg
///保存退出后//
[root@localhost ~]# cd 桌面/ && mv ks.cfg /var/ftp/
然后重启