栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux——轻松学会PXE高效网络装机

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux——轻松学会PXE高效网络装机

PXW高效装机和Kickstart无人值守装机
  • 一、PXE
    • 1.1 PXE的优势
    • 1.2 搭建网络体系前提条件
    • 1.3 PXE工作过程
    • 1.4 安装包
  • 二、部署PXE远程安装服务
    • 2.1 前期准备
      • 2.1.1 添加一张网卡,并设置成仅主机模式
      • 2.1.2 配置网卡信息
    • 2.2 安装DHCP服务
    • 2.3 安装TFTP
    • 2.4 安装syslinux
    • 2.5 安装 vsftp
  • 三、Kickstart无人值守安装的实现(使用桌面环境)
    • 3.1 准备安装应答文件
    • 3.2 打开 "Kickstart配置程序"窗口
    • 3.3 配置kickstart 选项
    • 3.4 编辑需要引导的菜单default,添加ks参数
  • 五、装机测试

一、PXE

PXE是由Inter公司开发的网络引导技术,工作在Client/Server模式;允许客户机通过网络从远程服务机下载引导镜像,并加载安装文件或整改操作系统。

1.1 PXE的优势
  • 规模化: 同时装配多台服务器,无需每一台单独安装操作系统;
  • 自动化: 实现服务器的自动安装及自动配置各种服务;
  • 远程实现: 不需要光盘、U盘等安装介质,方便快捷的同时又可以保障服务器的安全。
1.2 搭建网络体系前提条件

-客户机:

  • 客户机的网卡要支持PXE协议(集成BOOTROM芯片)
  • 主板支持网络引导。有一些需要在BIOS设置中允许Network或LAN启动即可

服务端:

  • DHCP服务器:以便为客户机自动分配地址,指定引导文件
  • 服务器要开启TFTP服务(简单文件传输协议):用来提供系统内核和引导镜像文件的下载
1.3 PXE工作过程

1.网卡需要查找相关的dhcp服务器(获取地址时间)
2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)
3.网卡使用tftp客户端吧引导程序加载到内存中来
4.bios执行引导程序
5.引导程序会去TFTP去查找配置文件
6.根据配置文件去引导安装系统

1.4 安装包

二、部署PXE远程安装服务 2.1 前期准备

dhcp(Dynamic Host Configuration Protocal,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。

2.1.1 添加一张网卡,并设置成仅主机模式


然后进入虚拟机修改网络编辑模式

2.1.2 配置网卡信息
[root@pxw /]# ifconfig ens37 192.168.100.10/24
[root@pxw /]#cp ens33 ens37
[root@pxw /]# vim /etc/sysconfig/network-scripts/ifcfg-ens37
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="fe7580c6-dd13-4fbe-afcf-cf3a164375dc"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.100.10
PREFIX=24
GATEWAY=192.168.100.2
DNS1=8.8.8.8

[root@pxw /]# systemctl start network  ##重启网卡
[root@pxw /]# ping 192.168.100.1   ##ping以下本机1地址

2.2 安装DHCP服务
[root@pxw ~]# yum install dhcp -y
[root@pxw ~]# cp //usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@pxw ~]# cd /etc/dhcp/
[root@pxw dhcp]# #vim dhcpd.conf 
14 ddns-update-style none;    ##将这段注释掉

subnet 192.168.100.0 netmask 255.255.255.0 {    ##网段和子网掩码
  range 192.168.100.30 192.168.100.40;    ##地址池
  option routers 192.168.100.2;  ##VMnet 网关
  next-server 192.168.100.10;       ##指定TFTP服务器位置
  filename "pxelinux.0";
}

[root@pxw ~]# systemctl start dhcpd
[root@pxw ~]# systemctl enable dhcpd


2.3 安装TFTP
[root@pxw dhcp]# yum install -y tftp-server
[root@pxw dhcp]# rpm -ql tftp-server
/etc/xinetd.d/tftp
[root@pxw dhcp]# vim /etc/xinetd.d/tftp   ##修改TFTP服务的配置文件
protocol                = udp       ##TFTP采用UDP传输协议
wait                    = no        ##no表示可以多台客户机同时连接,yes表示客户机只能一台一台连
server_args             = -s /var/lib/tftpboot   ##指定TFTP根目录
disable                 = no     ##no表示开启TFTP服务

2.4 安装syslinux
[root@pxw dhcp]# yum install -y syslinux

[root@pxw dhcp]# rpm -ql tftp-server
/var/lib/tftpboot   #有很多配置文件,记住这个,所有的配置文件都在它之下

[root@pxw dhcp]# rpm -ql syslinux | grep 0
/usr/share/syslinux/pxelinux.0 #在最后一行,复制此文件

[root@pxw dhcp]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@pxw dhcp]# ls /var/lib/tftpboot
pxelinux.0 



2.5 安装 vsftp

安装系统镜像文件获取方式

[root@pxw dhcp]# yum install -y vsftpd
[root@pxw dhcp]#rpm -ql vsftpd 
/var/ftp #找到最后一个;此站点为vsftpd的站点,一会挂载在此站点下
 
[root@pxw dhcp]# cd /var/ftp
[root@pxw ftp]# ls
pub
[root@pxw ftp]#mkdir centos7 #创建目录,作为光盘挂载点
[root@pxw ftp]#mount /dev/sr0 centos7/  #将光盘挂载到当前目录的centos7/下
mount: /dev/sr0 写保护,将以只读方式挂载
 
[root@pxw centos7]#cd images/
[root@pxw images]#ls
efiboot.img  pxeboot  TRANS.TBL
[root@pxw images]#cd pxeboot/
[root@pxw pxeboot]#ls
initrd.img  TRANS.TBL  vmlinuz
[root@pxw pxeboot]#cp initrd.img vmlinuz /var/lib/tftpboot/  #将两个文件拷贝到站点/var/lib/tftpboot下。所有的配置文件都在此站点哦!!!
 
[root@pxw pxeboot]#cd /var/lib/tftpboot/ #切换至站点目录
[root@pxw tftpboot]#ls
initrd.img  pxelinux.0  vmlinuz
 
[root@pxw tftpboot]#mkdir pxelinux.cfg  #创建文件夹 pxelinux.cfg
[root@pxw tftpboot]#cd pxelinux.cfg/
 
[root@pxw pxelinux.cfg]#vim default  #在 pxelinux.cfg目录下创建文件default
#这个文件不会写,没关系,可以再开一个会话,可以在isolinux.cfg文件去复制
#开机不等待,也可以设置timeout 600,默认等到60秒
prompt 1
 
label auto
  kernel vmlinuz
  append initrd=initrd.img method=ftp://192.168.100.10/centos7
 
label test
  kernel vmlinuz
  append test=initrd.img method=ftp://192.168.100.10/centos7
 
label rescue
  kernel vmlinuz
  append rescue=initrd.img method=ftp://192.168.100.10centos7
 
 #开启全部服务,关闭防火墙,pxe就装完成了
 [root@pxw pxelinux.cfg]# systemctl start dhcpd
[root@pxw pxelinux.cfg]# systemctl start vsftpd
[root@pxw pxelinux.cfg]# systemctl start tftp
[root@pxw pxelinux.cfg]# systemctl stop firewalld.service
[root@pxw pxelinux.cfg]# setenforce 0


装机测试一下

三、Kickstart无人值守安装的实现(使用桌面环境)

%pre: 安装前脚本

%post: 安装后脚本

3.1 准备安装应答文件
[root@pxw kiro]# yum install -y system-config-kickstart

3.2 打开 "Kickstart配置程序"窗口

打开虚拟机桌面左上角 >> “应用程序” >> “系统工具” >> “ Kickstart” 打开
或者
直接“ system-config-kickstart” 命令打开


3.3 配置kickstart 选项

基础配置

安装方法

引导装载程序选项

分区信息




网络配置

验证
验证这一项保持默认选项

防火墙配置

显示配置
显示配置不需要修改

软件包选择

预安装脚本
预安装脚本不用配置

安装后脚本
我在脚本里放入了安装本地yum源

保存配置

保存自动应答软件

3.4 编辑需要引导的菜单default,添加ks参数
[root@localhost ~]#cd /var/ftp/
[root@localhost ftp]#ls
centos7  ks.cfg  pub
[root@pxw pxelinux.cfg]# cp /root/anaconda-ks.cfg /var/ftp/ks.cfg
## 和本机安装软件anaconda-ks.cfg 包含了我们本机服务器的脚本文件

[root@localhost ftp]#cd /var/lib/tftpboot/
[root@localhost tftpboot]#ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz
[root@localhost tftpboot]#cd pxelinux.cfg/
[root@localhost pxelinux.cfg]#vim default
default auto
prompt 0   ##0代表 不用等用户操作

label auto
  kernel vmlinuz
  append initrd=initrd.img method=ftp://192.168.100.10/centos7 ks=ftp://192.168.100.10/ks.cfg
  ##在这一行的行末添加
五、装机测试

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/825616.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号