有哪些手机网站,杭州最便宜的网站建设,北京今天新闻最新消息新闻,电商推广方法PXE的概念#xff1a;
PXE#xff08;Pre-boot Execution Environment#xff0c;预启动执行环境#xff09;是由Intel公司开发的最新技术#xff0c;工作于C/S的网络模式#xff0c;支持工作站通过网络从远端服务器下载映像#xff0c;并由此支持通过网络启动操作系统…
PXE的概念
PXEPre-boot Execution Environment预启动执行环境是由Intel公司开发的最新技术工作于C/S的网络模式支持工作站通过网络从远端服务器下载映像并由此支持通过网络启动操作系统在启动的过程中终端要求服务器分配IP地址再用TFTP或者MTFTP协议下载一个启动软件包到本机内存中执行由这个启动软件包完成终端基本软件的设置从而引导预先安装在服务器中的终端操作系统。
严格来说PXE并不是一种安装方式而是一种引导方式。进行PXE安装的必要条件是在要安装的计算机中必须包含一个PXE支持的网卡NIC即网卡中必须要有PXE Client。PXE协议可以通使计算机通过网络启动。此协议分为Client端和Server端而PXE Client则在网卡的ROM中。当计算机引导时BIOS把PXE Client调入内存中执行然后由PXE Client将放置在远端的文件通过网络下载到本地运行。运行PXE协议需要设置DHCP服务器和TFTP服务器。DHCP服务器会给PXE Client分配一个IP地址由于是给PXE Client分配IP地址所以在配置DHCP服务器时需要增加相应的PXE设置。此外在PXE Client的ROM中已经存在了TFTP Client那么它就可以通过TFTP协议到TFTP Server上下载所需要的文件了。 PXE的工作流程
1、PXE Client从自己的PXE网卡启动向本网络的DHCP服务器索取IP
2、DHCP服务器返回分配给客户端IP以及PXE文件的放置位置该文件一般是放在一台TFTP服务器上。
3、PXE Client向本网络中的TFTP服务器索取pxelinux.0文件。
4、PXE Client取得pxelinux.0文件后执行该文件。
5、根据pxelinux.0的执行结果通过TFTP服务器加载内核和文件系统。
6、进入安装画面此时可以通过选择HTTP、FTP和NFS方式之一进行安装。 什么是Kickstart
Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数并生成一个名为ks.cfg文件。如果在安装的过程中出现要填写的数据的情况安装程序首先会去查找Kickstart生成的文件如果找到合适的参数就采用所找到的参数如果没有找到合适的参数便需要安装者手工干预了。所以如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数那么安装者完全可以只告诉安装程序从何处取得ks.cfg文件然后就去忙自己的事情。等安装完毕安装程序就根据ks.cfg的设置重启系统并结束安装。 PXEKickstart无人值守安装操作系统完整过程如下 PXE Client 开机启动-DHCP(pxelinux.0; next-server: tftp-server) TFTP
syslinux: 引导linux启动的安装程序
vmlinuz内核的启动镜像
initrd.img加载系统时的驱动程序
ks.cfg: kickstart配置文件 系统环境
1、关闭防火墙和SELinux
systemctl stop firewalld
systemctl disable firewalldsed -i s#SELINUXenforcing#SELINUXdisabled#g /etc/selinux/config 2、环境准备
需要配置双网卡一个作用是dhcp一个使用网络源安装环境包。
dhcp自动分配IP的网卡得是net1仅主机模式。 然后我们检查网卡信息
cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens36[rootvm1 network-scripts]# cat ifcfg-ens36
TYPEEthernet
PROXY_METHODnone
BROWSER_ONLYno
BOOTPROTOstatic
DEFROUTEyes
IPV4_FAILURE_FATALno
IPV6INITyes
IPV6_AUTOCONFyes
IPV6_DEFROUTEyes
IPV6_FAILURE_FATALno
IPV6_ADDR_GEN_MODEstable-privacy
NAMEens36
DEVICEens36
ONBOOTyes
IPADDR192.168.182.100
NETMASK255.255.255.0
DNS1114.114.114.114说明
1特别要注意的一点是不要配置GATEWAY网络配置文件在一台服务器上只能有一个网络接口的配置文件有GATEWAY如果有多个网络就无法访问外网。
2UUID要删除不然相同的UUID会发生冲突
3当然配置文件中的NAME和DEVICE的名称都是要进行修改的。 在改之前我们需要查看一下net1网卡得网段。 说明“在使用本地DHCP服务器IP地址分配给虚拟机”这项不要勾选。
配置完后重新启动网卡。
systemctl restart network 3、安装和配置DHCP服务器
yum install -y dhcp
然后进入到主配置文件
cat /etc/dhcp/dhcpd.conf
根据文件里的信息我们可以复制一个模板文件。
cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcp.conf
-p: 连带文件属性一起拷贝 然后我们编辑dhcpd.conf主配置文件。 说明禁止动态更新。 说明
range地址池
option routers网关
dnsdns地址
next-server: 指定tftp服务器地址
filename指定pxe引导程序的文件名 配置完毕重新启动dhcp服务并设置开机自启动。
systemctl start dhcp
systemctl enable dhcp 另外我们也可以参考下这段配置 4、安装和配置TFTP服务程序
tftp是一个小而且容易实现的文件传输协议tftp是基于UDP数据报需要有自己的差错纠正机制。
tftp只支持文件传输不支持交互没有庞大的命令集。安全性低不支持身份验证。
yum install -y tftp-server xinetd
tftp的运行和关闭是由xinet网络守护进程服务来管理的。xinet服务程序会同时监听系统的多个端口然后根据用户请求的端口号调取相应的服务程序来相应用户的请求。
vim /etc/xinetd.d/tftp 说明需要将disable的yes改成no。表示开启tftp服务。
另外我们也要注意下目录/var/lib/tftpboot。指定tftp的根目录引导文件的存储路径-c是允许上传。 然后是挂载镜像文件 [rootvm1 mnt]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[rootvm1 mnt]#
[rootvm1 mnt]#
[rootvm1 mnt]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 900M 0 900M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.7M 900M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda5 16G 4.9G 11G 32% /
/dev/sda2 497M 254M 243M 52% /boot
tmpfs 182M 0 182M 0% /run/user/0
/dev/sr0 973M 973M 0 100% /mnt
[rootvm1 mnt]#然后进入到内核文件将内核初始化镜像文件复制到/var/lib/tftpboot
cd /mnt/images/pxeboot
cp initrd.img vmlinuz /var/lib/tftpboot # 复制内核初始化文件
vmlinuz是可引导的压缩的内核
initrd.img : 系统初始化文件
systemctl restart xinetd
systemctl enable xinetd
systemctl start tftp
systemctl enable tftp
以上就是为了将镜像中的内核文件系统的初始化文件丢到tftp的默认共享目录中以便客户端来下载使用。 准备PXE引导镜像文件pxelinux.0
SYSLinux是一个用于 提供引导加载的服务程序。不如说它是一个包含了很多引导文件的文件夹。
yum install -y syslinux
yum provides /pxelinux.0yum install -y syslinuxrpm -ql syslinux | grep pxelinux.0
查找pxe引导程序的位置。
然后拷贝系统引导文件pxelinux.0到tftp的根目录下面。
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
注只有安装了syslinux软件包才会有/usr/share/syslinux/目录及目录中的文 然后在tftp服务程序的目录中新建pxelinux.cfg目录。虽然这个目录的名字带有后缀但是依然是个目录不是文件。将系统光盘中的开机选项菜单复制到该目中并命名为default。这个default文件就是开机时的选项菜单。
mkdir pexlinux.cfg
cp /mnt/isolinux/isolinux.cfg pxelinux.cfg/default
然后我们编辑这个default文件 说明只要修改者两个地方。
1default linux是选择下面label linux的这个位置。
2prompt 0表示没有不等待用户控制1表示等待用户控制设置是否等待用户选择。如果按回车则选择linux模式。 安装ftp服务准备centos安装源
yum install -y vsftpd
mount /dev/cdrom /mntcp -r /mnt/* /var/ftp 然后再开启ftp服务
systemctl start vsftpd
systemctl enable vsftpd
下面是配置kickstart无人值守安装
yum install -y system-config-kickstart
然后打开这个软件 我这边也没使用这个工具来生成ks.cfg文件。
我是直接从网上找到一个centos7最小化安装的ks.cfg文件。
内容如下
[rootvm1 pub]# cat ks.cfg
#platformx86, AMD64, or Intel EM64T
#versionDEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard us
# Root password
rootpw --plaintext 123456
# System language
lang en_US
# System authorization information
auth --useshadow --passalgosha512
# Use text mode install
text
firstboot --disable
# SELinux configuration
selinux --disabled# Firewall configuration
firewall --disabled
# Network information
network --bootprotodhcp --deviceens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Use network installation
url --urlftp://192.168.182.100
# System bootloader configuration
bootloader --appendnet.ifnames0 --locationmbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part biosboot --fstypebiosboot --ondisksda --size2
part swap --fstypeswap --ondisksda --size4096
part /boot --fstypexfs --ondisksda --size500
part / --fstypexfs --ondisksda --size15880%packages
^minimal
core
kexec-tools%end%addon com_redhat_kdump --enable --reserve-mbauto%end%anaconda
pwpolicy root --minlen6 --minquality1 --notstrict --nochanges --notempty
pwpolicy user --minlen6 --minquality1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen6 --minquality1 --notstrict --nochanges --notempty
%end注意这个文件是放到/var/ftp/pub中。 然后我们再看下这个default文件里的内容 那我们知道这个pub路径的由来了吧。 那到这里就配置完成了。 然后我们在vmware中新创建一台机器然后就可以实现自动安装。
操作步骤可以参考《linuxprobe.pdf》这本书。 我们看到其中的IP是182.151。确实是地址池中的一个IP地址。
另外这台机器还不能上网。因为我们使用的是仅主机模式。 我们可以试着解决下上网的问题。
另外我们还可以在ks.cfg文件中增加一些需要预先安装软件的事情另外还有解决ssh的问题。
这些都可以解决的。
我们还要注意ks.cfg等文件的权限。切记