PXE+Kickstart无人值守安装CentOS 6(2)

DHCP主要是提供客户端网络参数与TFTP的位置,以及boot loader的文件名。同时,我们仅针对内网来告知TFTP的相关位置,所以可以编辑/etc/dhcp/dhcpd.conf在subnet的区块内加入两个参数即可。其中PXE上专门为PXE客户端下载的boot loader文件名称为pxelinux.0。

vim /etc/dhcp/dhcpd.conf ddns-update-style none; default-lease-time 259200; max-lease-time 518400; option routers 172.16.10.10; option domain-name-servers 172.16.10.10; subnet 172.16.10.0 netmask 255.255.255.0 { range 172.16.10.11 172.16.10.100; option subnet-mask 255.255.255.0; next-server 172.16.10.10; # 就是TFTP的位置 filename "pxelinux.0"; # 告知得从TFTP根目录下载的boot loader文件名 }

重启dhcp。

service dhcpd restart

1.5 部署TFTP

从流程图中可以看出,boot loader文件pxelinux.0以及内核相关的配置文件(目录pxelinux.cfg下)主要都是由TFTP来提供的!

TFTP的安装很简单,直接使用yum即可。不过要告诉客户端TFTP的根目录在哪里,这样客户端才能找到相关文件。另外要注意,TFTP是由xinetd这个super daemon所管理的,因此设定好TFTP之后,要启动的是xinetd。

yum install tftp-server

默认TFTP服务的根目录是/var/lib/tftpboot/,为了少写些字母,将tftp的根目录修改为/tftpboot/。修改tftp的配置文件,主要是TFTP的根目录。

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 #重点在这里!修改tftp的根目录 disable = no per_source = 11 cps = 100 2 flags = IPv4 }

创建tftp的根目录。

mkdir /tftpboot

启动TFTP并观察之:

/etc/init.d/xinetd restart

chkconfig xinetd on

chkconfig tftp on

netstat -tulnp | grep xinetd Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 0.0.0.0: 69 0.0.0.0:* 2238/ xinetd

接下来的文件必须要放置于/tftpboot/目录下。

1.6 提供pxe的bootloader和相关配置文件

如果要使用PXE的开机引导的话,需要使用CentOS提供的syslinux包,从中copy两个文件到tftp的根目录/tftpboot下即可。整个过程如下:

yum -y install syslinux cp -a /usr/share/syslinux/{menu.c32,vesamenu.c32,pxelinux.0} /tftpboot/ mkdir /tftpboot/pxelinux.cfg
ls -l /tftpboot/ -rw-r--r-- 1 root root 61796 Oct 16 2014 menu.c32 # 提供图形化菜单功能 -rw-r--r-- 1 root root 26759 Oct 16 2014 pxelinux.0 # boot loader文件 drwxr-xr-x 2 root root 4096 Feb 24 20:02 pxelinux.cfg # 开机的菜单设定在这里 -rw-r--r-- 1 root root 163728 Oct 16 2014 vesamenu.c32 # 也是提供图形化菜单功能,但界面和menu.c32不同

pxelinux.cfg是个目录,可以放置默认的开机选项,也可以针对不同的客户端主机提供不同的开机选项。一般来说,可以在pxelinux.cfg目录内建立一个名为default的文件来提供默认选项。

如果没有menu.c32或vesamenu.c32时,菜单会以纯文字模式一行一行显示。如果使用menu.c32或vesamenu.c32,就会有类似反白效果出现,此时可以使用上下键来选择选项,而不需要看着屏幕去输入数字键来选择开机选项。经过测试,使用vesamenu.c32比menu.c32更加好看些。

这部分设定完毕后,就是内核相关的设定了。

1.7 从安装镜像获取Linux内核文件

要安装Linux系统,必须提供内核文件,这里以64位版本的CentOS 6.6为例。

这里计划将内核相关文件放在/tftpboot/centos6.6/目录下。

既然要从安装镜像中获取内核相关文件,首先得要挂载镜像。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13581.html