原文链接:
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
基本注意的地方好像都概括了,以后如果想起来有什么需要补充的再回来补充。