现在的位置: 首页 > 系统 > 正文

Linux中PXE 服务器搭建,PXE安装

2019年12月16日 系统 ⁄ 共 4888字 ⁄ 字号 暂无评论

PXE无盘服务器搭建,安装,启动及pxe协议详解 , Kickstart (PXE+DHCP+TFTP+HTTP)。Redhat系通主要有两种方式:Kickstart和Cobbler。

Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在自动安装过程中出现要填写参数的情况,安装程序首先会去查找ks.cfg文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便会弹出对话框让安装者手工填写。所以,如果ks.cfg文件涵盖了安装过程中所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处下载ks.cfg文件。等安装完毕,安装程序会根据ks.cfg中的设置重启/关闭系统,并结束安装。

Cobbler集中和简化了通过网络安装操作系统需要使用到的DHCP、TFTP和DNS服务的配置。Cobbler不仅有一个命令行界面,还提供了一个Web界面,大大降低了使用者的入门水平。Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成。
PXE(preboot execute environment预启动执行环境)

PXE是intel公司推出的一款通过网络来引导操作系统的协议。广泛应用于网吧无盘系统。只需要将无盘服务器维护好,就能保证网络中的无盘工作站(客户机)的系统能正常运行。

PXE服务器需要的支撑软件:DHCP、TFTP、syslinux(提供pxe引导程序文件pxelinux.0)、文件共享(nfs、ftp、http、samba)等。

PXE服务器和客户机的工作过程:

1.PXE客户机发出DHCP请求,向服务器申请IP地址。
2.DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP(简单文件传输协议)服务器的IP地址和PXE引导程序文件pxelinux.0。
3.PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。
4.TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机。
5.PXE客户机通过网络来启动到系统安装主界面。
6.PXE客户机向文件共享服务器发起获取centos或windows系统安装文件的请求。
7.文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机。
8.PXE客户机进入到安装提示向导界面,用户需要手动来完成系统的操作

最后安装系统时可以采用kickstart或者vim工具创建一个系统自动安装的应答文件,并用文件共享服务来共享ks.cfg文件(ks.cfg自动应答文件是记录系统安装的操作步骤,客户机在进行安装时会自动根据ks.cfg文件中的内容来完成安装操作)实现自动安装操作。

PXE中各服务器软件的功能:

DHCP:用来给PXE客户机自动分配TCP/IP设置(包括IP地址、子网掩码、网关、DNS等)。告知PXE客户机“TFTP服务器的IP地址和PXE启动文件名”。
TFTP:是一个迷你的FTP共享协议软件,用来给PXE客户机提供网络启动的引导程序文件pxelinux.0。
syslinux:用来提供pxelinux.0网络引导程序文件。
文件共享:可以是vsftpd、nfs、samba、http等软件来实现文件共享。用来给PXE客户机提供系统安装文件。

部署过程详解:以下是在centos7.6系统里进行的操作,且centos系统IP为192.168.11.11

部署前提检查Linux防火墙是否关闭和是否关闭selinux功能:

systemctl stop firewalld && systemctl status firewalld 关闭防火墙功能和查看防火墙的状态

setenforce 0 && getenforce 关闭Linux安全功能即设置为宽容模式Permissive和查看selinux状态

第一步:部署DHCP服务器:

1.查软件是否已安装:rpm -q dhcp
2.安装dhcp服务器软件:yum install -y dhcp
3.查配置文件列表:rpm -qc dhcp
4.编辑dhcpd.conf配置文件
rpm -qc dhcp
cat /etc/dhcp/dhcpd.conf
cat /usr/share/doc/dhcp*/dhcpd.conf.example

复制其中的一段内容即:

subnet 10.5.5.0 netmask 255.255.255.224 {
range 10.5.5.26 10.5.5.30;
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 10.5.5.1;
option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;
}

定义网络地址和子网掩码
指定IP地址池的范围(起始和截止IP)
域名解析服务器的IP地址
域名
网关IP地址
广播地址
默认租约时间
最大租约时间
粘贴进DHCP的配置文件内,用vim打开并进行如下修改

vim /etc/dhcp/dhcpd.conf

subnet 192.168.11.0 netmask 255.255.255.0 {
range 192.168.11.21 192.168.11.30;
option domain-name-servers 8.8.8.8;
option domain-name "hj.com";
option routers 192.168.11.2;
option broadcast-address 192.168.11.255;
default-lease-time 6000;
max-lease-time 72000;
next-server 192.168.11.11;
filename "pxelinux.0";
}

TFTP服务器的IP地址
PXE引导程序文件名
5.启动dhcpd服务,允许服务开机自动启动
systemctl restart dhcpd
systemctl enable dhcpd
systemctl status dhcpd
netstat -atunlp | grep :67 查67号端口的网络进程序

第二步:部署tftp-server服务器

1.查软件是否已安装:rpm -q tftp-server
2.安装tftp-server服务器软件:yum install -y tftp-server
3.查配置文件列表:rpm -qc tftp-server
/etc/xinetd.d/tftp
4.编辑tftp配置文件
vim /etc/xinetd.d/tftp
将disable的yes改为no
5.启动tftp服务,允许服务开机自动启动
systemctl restart tftp
systemctl enable tftp
systemctl status tftp
netstat -atulp | grep tftp
netstat -atunlp | grep :69
6.安装提供pxelinux.0的syslinux软件,共享pxe引导程序文件
rpm -q syslinux mlocate
yum install -y syslinux mlocate 安装指定的软件
updatedb 更新locate文件查找数据库
locate pxelinux.0 查找pxelinux.0文件
7.共享指定的文件到/var/lib/tftpboot目录中
cd /var/lib/tftpboot 切换到tftp-server的默认共享目录
cp -v /usr/share/syslinux/pxelinux.0 ./ 复制指定的文件到当前目录中
df -hT 查看磁盘空间使用状态
cp -v /dvd/isolinux/* ./ 复制光盘挂载点目录中指定的文件到当前目录中
mkdir -v pxelinux.cfg 在当前目录中创建pxelinux.cfg目录
cp -v isolinux.cfg pxelinux.cfg/default 复制指定的文件到指定目录中并改名为default

第三步:部署文件共享服务器(以vsftp为例)(可用的有vsftpd、nfs、samba、httpd)

1.查软件是否已安装:rpm -q vsftpd
2.安装tftp-server服务器软件:yum install -y vsftpd
3.查配置文件列表:rpm -qc vsftpd
4.启动vsftpd服务,允许开机自动启动服务
systemctl restart vsftpd
systemctl enable vsftpd
systemctl status vsftpd
netstat -atunlp | grep :21 或 lsof -i :21
5.共享centos7的系统镜像到/var/ftp/dvd目录
mkdir -v /var/ftp/dvd
mount /dev/sr0 /var/ftp/dvd

第四步:kickstart自动安装部署

采用kickstart自动应答程序来实现系统的自动化安装(即静默安装)
方法:使用kickstart程序或vim来创建ks.cfg自动应答文件。用文件共享服务来共享ks.cfg自动应答文件。
技巧:linux系统在安装时会自动生成一个anaconda-ks.cfg配置文件,文件位于/root目录中,anaconda-ks.cfg里面记录的就是用户在安装系统时所做的操作(选择语言环境、硬盘分区、安装的软件包、网卡IP设置、主机名、root用户密码、新建普通用户等)。

具体实施:
1.修改/root/anaconda-ks.cfg权限为644,复制/root/anaconda-ks.cfg到/var/ftp/ks目录中。
cd /root
chmod -v 644 anaconda-ks.cfg
mkdir -v /var/ftp/ks
cp -v anaconda-ks.cfg /var/ftp/ks/ks.cfg

2.修改/var/lib/tftpboot/pxelinux.cfg/default启动菜单文件
vim /var/lib/tftpboot/pxelinux.cfg/default :set nu 显示行号
修改63行内容为append initrd=initrd.img method=ftp://192.168.11.11/dvd ks=ftp://192.168.11.11/ks/ks.cfg
说明:ks=是指定ks.cfg自动安装应答文件的功能选项
3.修改/var/ftp/ks/ks.cfg文件内容
cat /var/ftp/ks/ks.cfg 查看ks.cfg自动应答文件
注释cdrom
改ip=192.168.11.12
改hostname=han

4.采用kickstart软件来生成ks.cfg自动应答文件。

yum search kickstart 搜索kickstart关键字的软件
yum install -y system-config-kickstart 安装kickstart软件包
system-config-kickstart 启动kickstart配置程序

注意:yum源的repo文件中的“仓库标识”必须用[development]才能出现软件包信息
修改yum源配置文件:
vim /etc/yum.repos.d/local.repo 文件内容如下
[development]
name=centos 7.5 linux
baseurl=file:///dvd
enabled=1
gpgcheck=0

第五步:PXE客户机的测试

1.在VMware虚拟机软件中新建一台名称为PXE0的centos7_64位系统的虚拟机。
2.给PXE0虚拟机的内存设置成1324M,硬盘20G。(内存设置大小时需注意不能小于应答文件中 size 大小)
3.给PXE0虚拟机创建一个名称为“NOS”的快照。(设置快照是便于多次测试)
4.启动PXE0虚拟机,会自动进行系统安装

给我留言

留言无头像?