大连金州网站建设百度推广技巧方法
pxe网络安装服务器的部署
pxe
预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。
实验环境
在rhel7中:配置yum源,并且设置好ip,安装好vsftpd与lftp
在rhel8中:
- 创建目录,并进行挂载
[root@rhel8_node1 ~]# mkdir /var/ftp/rhel8
[root@rhel8_node1 ~]# mount /dev/cdrom /var/ftp/rhel8
mount: /var/ftp/rhel8: WARNING: device write-protected, mounted read-only.
[root@rhel8_node1 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 406320 0 406320 0% /dev
tmpfs 420484 0 420484 0% /dev/shm
tmpfs 420484 6820 413664 2% /run
tmpfs 420484 0 420484 0% /sys/fs/cgroup
/dev/vda3 9757696 4033860 5723836 42% /
/dev/vda1 199328 141324 58004 71% /boot
tmpfs 84096 16 84080 1% /run/user/42
tmpfs 84096 28 84068 1% /run/user/0
/dev/sr0 6935944 6935944 0 100% /var/ftp/rhel8
[root@rhel8_node1 ~]#
- 设置selinux,下次开机就会生效
[root@rhel8_node1 ~]# setenforce 0
[root@rhel8_node1 ~]# cd /etc/selinux
[root@rhel8_node1 selinux]# ls
config semanage.conf targeted
[root@rhel8_node1 selinux]# vim config
- 关闭防火墙
[root@rhel8_node1 selinux]# systemctl stop firewalld
[root@rhel8_node1 selinux]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@rhel8_node1 selinux]#
- 开启vsftpd服务
[root@rhel8_node1 selinux]# systemctl start vsftpd
[root@rhel8_node1 selinux]# systemctl enable vsftpd
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.
[root@rhel8_node1 selinux]#
- 此时一定要注意修改匿名用户可以登陆(企业8默认不能登陆)
[root@rhel8_node1 ~]# vim /etc/vsftpd/vsftpd.conf
[root@rhel8_node1 ~]# systemctl restart vsftpd
[root@rhel8_node1 ~]# lftp 172.25.254.117
lftp 172.25.254.117:~> ls
drwxr-xr-x 2 0 0 6 Aug 12 2018 pub
dr-xr-xr-x 7 0 0 2048 Apr 04 2019 rhel8
lftp 172.25.254.117:/> cd rhel8/
lftp 172.25.254.117:/rhel8> ls
dr-xr-xr-x 4 0 0 2048 Apr 04 2019 AppStream
dr-xr-xr-x 4 0 0 2048 Apr 04 2019 BaseOS
dr-xr-xr-x 3 0 0 2048 Apr 04 2019 EFI
-r--r--r-- 1 0 0 8266 Mar 01 2019 EULA
-r--r--r-- 1 0 0 18092 Mar 01 2019 GPL
-r--r--r-- 1 0 0 1669 Mar 01 2019 RPM-GPG-KEY-redhat-beta
-r--r--r-- 1 0 0 5134 Mar 01 2019 RPM-GPG-KEY-redhat-release
-r--r--r-- 1 0 0 1796 Apr 04 2019 TRANS.TBL
-r--r--r-- 1 0 0 1455 Apr 04 2019 extra_files.json
dr-xr-xr-x 3 0 0 2048 Apr 04 2019 images
dr-xr-xr-x 2 0 0 2048 Apr 04 2019 isolinux
-r--r--r-- 1 0 0 103 Apr 04 2019 media.repo
lftp 172.25.254.117:/rhel8>
- 修改westos.repo的内容
[root@rhel8_node1 ~]# cd /etc/yum.repos.d
[root@rhel8_node1 yum.repos.d]# ls
redhat.repo westos.repo
[root@rhel8_node1 yum.repos.d]# vim westos.repo
[root@rhel8_node1 yum.repos.d]# cat westos.repo
[AppStream]
name=AppStream
baseurl=file:///var/ftp/rhel8/AppStream
gpgcheck=0[BaseOS]
name=BaseOS
baseurl=file:///var/ftp/rhel8/BaseOS
gpgcheck=0
- 此时修改rhel7中的westos.repo
[root@xixi_clone ~]# cd /etc/yum.repos.d
[root@xixi_clone yum.repos.d]# ls
redhat.repo westos.repo
[root@xixi_clone yum.repos.d]# vim westos.repo
[root@xixi_clone yum.repos.d]# cat westos.repo
[rhel7.6]
name=rhel7.6
baseurl=file:///var/ftp/rhel7.6
gpgcheck=0
enabled=1
[root@xixi_clone yum.repos.d]#
练习
- 建立一个虚拟机test,启动后会出现如下所时界面。
进行如下选择,优先cdrom
- < Tab >后,此时下面会出现
- vmlinuz里面包含了安装过程中的配置文件
我们现在要做的就是,通过网络将这个目录共享出来,让他读取到安装过程的配置文件
1.搭建dhcpd服务器,分配ip等信息到客户端
dnf install dhcp-server.x86_64 -y
,大家也可以通过dnf search进行查找- 此时其配置文件为空,复制下来
[root@rhel8_node1 ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp-server/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
[root@rhel8_node1 ~]# cp /usr/share/doc/dhcp-server//dhcpd.conf.example /etc/dhcp/dhcpd.conf
- 按照之前学习的方法,编辑主配置文件
2.部署vsftpd:
与kickstart自动安装脚本不同之处在于Installation Method安装资源
如果想直接配置好yum源的话,可以直接
部署pxe环境
- 获得pxelinux.0文件
[root@rhel8_node1 ~]# dnf whatprovides */pxelinux.0
[root@rhel8_node1 ~]#dnf install syslinux-nonlinux-6.04-1.el8.noarch -y ##获得pxelinux.0文件
- pxelinux.0共享服务器
[root@rhel8_node1 ~]#dnf install tftp-server.x86_64
[root@rhel8_node1 ~]#systemctl start tftp
[root@rhel8_node1 ~]# systemctl enable tftp
Created symlink /etc/systemd/system/sockets.target.wants/tftp.socket → /usr/lib/systemd/system/tftp.socket.
- 共享pxelinux.0和安装环境所要读取的文件
[root@rhel8_node1 ~]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ ##共享pxelinux.0
[root@rhel8_node1 ~]#cp /var/ftp/rhel8/isolinux/* /var/lib/tftpboot/ ##共享安装环境所要读取的文件
- 生成pxelinux.0默认读取文件
[root@rhel8_node1 ~]#mkdir /var/lib/tftpboot/pxelinux.cfg/
[root@rhel8_node1 ~]#cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default ##生成pxelinux.0默认读取文件
dhcpd服务配置分发pxelinux.0
在/etc/dhcp/dhcpd.conf中添加如下内容,添加的过程中,注意引号的中英文
30 subnet 172.25.254.0 netmask 255.255.255.0 {31 range 172.25.254.44 172.25.254.80;32 option routers 172.25.254.17;33 next-server 172.25.254.117; ##tftp服务器地址34 filename "pxelinux.0" ##需要读取的文件名称35 }
修改后要记得使用systemctl restart dhcpd
重启
设定pxelinux.cfg/default
- 可对安装等待时间和壁纸等进行修改
- 修改成指定安装源和ks文件
设定好后就可耐心的等待安装完成