IPXE相关

本文简要介绍了IPXE环境的部署,包括DHCP、TFTP和HTTP服务器的配置,并提到了IPXE支持的网络协议。重点讲解了Virtio 1.0虚拟化网卡驱动的IO流程,强调了IPXE在安装系统时的速度优势。

前言

关于ipxe和pxe的介绍这里我就不多进行介绍了,直接搬运了知乎大佬的文章
某乎大佬介绍ipxe/pxe流程
这介绍巨屌,对于ipxe/pxe的介绍、支持的网络协议、框架模型图、client/server端介绍、启动流程介绍、启动流程图、主要用到的DHCP服务、TFTP服务、HTTP服务均有介绍。有需要的铁子们可以直接传送门过去学习

关于PXE的部署及介绍,后面另外再写一篇

正文

俺这里简单的介绍一下IPXE环境部署、IPXE关于Virtio 1.0 虚拟化网卡驱动的IO流程做一下介绍
多bb一句,IPXE装系统是真的巨快,叼德一
IPXE官网
ipxe git code link

这里需要说明一下
1-ipxe应该是包含ipxe客户端、网卡driver、支持的各种网络协议如TCP/IP/UDP/ICMP/dhcp/http/等,甚至还支持ISCSI,功能是极其丰富的,具体支持协议可以在官网查询

2-编译问题 //默认ipxe支持您使用的网卡,且提供legacy mode和uefi mode的驱动
编译目录在ipxe/src/
a. 网卡存在option rom
:legacy mode : make bin/808610de.rom //这里的编译文件名称可以在官网连接里搜到,一般是device id
:uefi mode : make bin-x86_64-efi/808610de.rom
:uefi mode 且支持uefi shell时可编译efi文件“:make bin-x86_64-efi/ipxe.efi
这种efi文件可以通过u盘插入server,进入uefi 的fs目录下,直接运行”./ipxe.efi“即可启动ipxe server

3- ipxe client有shell环境的
ipxe shell command

操作系统安装组件
Centos 8DHCP服务
TFTP服务
xinetd组件
HTTP服务

一、环境部署

注意:dhcp server 、 tftp server 、 http server 这些server的功能都是可以单独验证的,百度都有很多资料,如果是新手可以部署一个服务,验证一个服务好吧。

1- dhcp 服务

## 下载安装
yum install dhcp-server

##查看应用状态
systemctl status dhcpd
##启动应用
systemctl start dhcpd

接下来需要修改dhcp配置文件

##path /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.254 {
  range 192.168.1.1 192.168.1.30; //dhcp server支持配置的子网ip范围
  option domain-name-servers ns1.internal.example.org;

  default-lease-time 600;
  max-lease-time 7200;
  ## TFTP client server ip ,因为dhcp/tftp可以部署同一台server,所以这里写本机服务的ip即可
  next-server 192.168.1.5 

  ## [配置install.ipxe方式](https://ipxe.org/howto/rh_san)
  next-file install.ipxe //这个文件官网有,不同操作系统需要配置不同的内容
  						//这个文件就是tftp 需要提供给ipxe client 的配置文件
}

配置完DHCP配置文件后就可以启动DHCP服务了,但是同网段不要配多个DHCP SERVER会有冲突,导致DHCP服务有问题

2- TFTP服务

## 下载xinetd
yum install xinetd

## 下载tftp server
yum install tftp-server

## 配置xinetd 配置文件
## path /etc/xinetd.d/tftp
service tftp
{
        socket_type             = dgram
        protocol                = udp
        # 并发
        wait                    = no
        # 启动tftpd的用户
        user                    = root
        # 启动命令
        server                  = /usr/sbin/in.tftpd
        # 启动参数, -s指定tftpd的文件目录, -c表示允许上传文件
        ## 这个目录是tftp client通过tftp访问的目录,后续install.ipxe文件要放在这里
        server_args             = -s /var/lib/tftpboot -c  
        # 允许启动
        disable                 = no  ##这里改成 no即可
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

接下来可以启动服务

## 启动服务
systemctl start xinetd
systemctl start tftpd

## 查看状态
systemctl status xinetd
systemctl status tftpd

3-http server

## 安装和启动
yum install httpd
systemctl start httpd

## 这里需要注意,http server要监听的是80 port,如果httpd 服务没有起来,可以查看一下80 port是否被别的应用
## 占用了
netstat -antlp |grep 80 ##这个指令可以查看80 port 的被应用使用的状态

注意httpd服务被访问时,访问的目录路径

/var/www/html/

4-挂载操作系统
这里我们假设操作系统名字就叫centos8
直接挂载到httpd 提供的访问目录下新建Centos目录

mkdir /var/www/html/Centos/

## 挂载操作系统
mount -o loop centos8 /var/www/html/Centos/

5-配置ipxe.install 文件
这个文件就是要告诉ipxe client要下载啥东西,最小系统需要的vmlinuz、initrd.img
这个文件在上文已经说过了,我就说下centos下的怎么搞

vim /var/lib/tftpboot/install.ipxe

## 内容
  #!ipxe  ## 这个前缀参数巨TM重要!!!!!!!!!不加的话ipxe client无法识别这个文件的
  
  ## 设置http访问链接的变量,就是我们挂载操作系统的目录
  set base http:192.168.1.5/Centos 
  
  kernel ${base}/images/pxeboot/vmlinuz initrd=initrd.img inst.repo=${base}
  initrd ${base}/images/pxeboot/initrd.img
  boot

到此为纸吧!ipxe server端的环境就算搭好了!

virtio1.0 1af41041 driver解析

今天就到这吧,明天再写

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值