前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DevOps工具介绍连载(15)——PXE方式

DevOps工具介绍连载(15)——PXE方式

作者头像
顾翔
发布2020-03-04 13:33:33
6590
发布2020-03-04 13:33:33
举报

原文链接:

https://blog.csdn.net/wangsuyu_1/article/details/51295459

1:前言

前两天由于工作的需要,研究了下pxe安装系统的方式。

虽然网上资料也蛮全的了,但是对于我这样对pxe,tftp,dhcp等完全不懂的人来说,就是按部就班地做,也是错误百出,花了好久才找到方法。

所以就记录下具体的操作步骤和一些细节性的问题。

2:准备工作

我的主机系统用的是Fedora 23官方最新的版本,直接官网下载的,因为官方的各种服务软件包比较好下载,如果有错误也不用怀疑软件包的问题。

IP我用了静态的ip,10.3.3.138。

要安装的机器的系统我是选的centos,CentOS-6.4-x86_64-bin-DVD1.iso。因为别人教程里就是按照centos来的,所以就偷个懒,好歹先实现一下。

3:设置BIOS

想要pxe安装系统,启动项肯定要改成pxe优先级最高。而且BIOS里有一个Network Setup总的Onboard Ethernet Contorller给调整为enable。刚开始

一直没法调整网络启动,被排除在了boot order外面。后来慢慢去试了试终于找到了方法。

4:配置dhcpd

原版的Fedora 23并没有装dhcpd相关的包

所以使用dnf install dhcp就可以自动安装相关的包了

然后使用vim 打开/etc/dhcp/dhcp.conf (如果没有这个文件也没关系,直接编辑就好了)

代码语言:javascript
复制
subnet 10.3.3.0 netmask 255.255.255.0 {
range 10.3.3.139 10.3.3.140;
option routers 10.3.0.2;
option subnet-mask 255.255.255.0;
option domain-name "domain.org";//名字好像可以随便写
option domain-name-servers 223.6.6.6;
next-server 10.3.3.138;
filename "pxelinux.0";
}

这里要注意的是

1:subnet 10.3.3.0 netmask 255.255.255.0

10.3.3.0是因为我主机的IP是10.3.3.138。应该是要放在同一个网段里

2: range 10.3.3.139 10.3.3.140;

这个是给要安装系统的机器的ip区域范围。我Ip分配的少,就没写那么多。

其他的照着写就行了

5:配置TFTP

第一步安装包dnf install tftp tftp-server

第二部修改配置

代码语言:javascript
复制
vim /etc/xinetd.d/tftp
service tftp
{
socket_type             = dgram
protocol                = udp
wait                    = yes
user                    = root
server                  = /usr/sbin/in.tftpd
server_args             = -s /tftpboot
disable                 = no
per_source              = 11
cps                     = 100 2
flags                   = IPv4
}

这边就不解释了,不是很理解他的原理。有机会深入研究

6:拷贝一些文件到/tftpboot,如果没有这个目录就自己新建一个

cp /usr/share/syslinux/pxelinux.0 /tftpboot

如果没有这个文件需要安装syslinux,我本来系统就有。

7:挂载光盘到/mnt目录下面,然后把其中的内核等拷贝过去

还有就是把ISO中的/mnt/isolinux/isolinux.cfg 这个文件复制到 /tftpboot/pxelinux.cfg 目录下,并重命名为default。pxelinux.cfg自己去创建

ls /tftpboot 一下可以看到下面的目录,内核是这些文件都是iso /mnt/image/pxeboot中的。但是那些.c32结尾的文件是syslinux目录下的文件,安装的时候提示缺少的,到时候缺什么拷贝什么就可以了,也不用提前拷贝

boot.msg ldlinux.c32 libutil.c32 pxelinux.cfg vmlinuz

initrd.img libcom32.c32 pxelinux.0 vesamenu.c32

8:安装ftp服务软件

dnf install vsftpd

安装好以后,卸载之前挂载在/mnt的iso,然后把光盘给挂载到ftp默认的目录,/var/ftp/pub,然后就可以了。

9:启动相关的服务和关闭防火墙

systemctl start tftp.service

systemctl start xinetd.service

systemctl start vsftpd.service

systemctl start dhcpd.service

有些服务可能本身就打开了,需要用restart。不然我估计会出问题。可以先用status看看当前服务的状态

systemctl stop firewalld.service(一定要关闭啊,不然主机连接pxe的时候会报PXE-E32:TFTP open timeout)

10:正式开始安装 具体图片到公司以后上传

此时把网线什么的都连接好,然后启动客户机。

如果一切顺利,可以看到引导界面。之后选择语言和键盘。

需要注意的是,安装方法(Install Method)需要选择url安装

然后的配置ipv4选择手动配置(Manual configuration)

输入分配给客户机的ip范围和子网掩码和网关,。

等待一会网卡配置好了后,会有一个URL setup的。

输入自己的ftp地址

我的是ftp://10.3.3.138/pub

也可以先在自己的浏览器上面输入,看看能不能找到。之后就是正常的系统安装,就不说了。

11:遗憾

可惜的是uefi方式引导安装一直没有成功(当然系统不是centos了,而是一个fedora 23 aarh版本,而客户机是一个华为的服务器),网上资料也查了很多。不知道哪边有问题,总之感觉一直找不到我开启的tftp服务。报server response timeout。

参考链接:

http://blog.chinaunix.net/uid-24261911-id-2620662.html

基本注意的地方好像都概括了,以后如果想起来有什么需要补充的再回来补充。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试培训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档