曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 5326|回复: 0
打印 上一主题 下一主题

ubuntu12.04 PXE 网络安装服务器

[复制链接]

4917

主题

5879

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34382
跳转到指定楼层
楼主
发表于 2013-6-8 22:11:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在 《CentOS6.x 搭建网络安装服务器(ubuntu12.04 PXE 安装) 》里讨论了如何在 CentOS6.x 里安装 PXE 网络安装服务器,时隔一天,CentOS6.x 不幸被我破坏的很惨,只能重装。首先用的是光盘,结果悲剧的是光盘也是有问题的,中间会卡着不动。不得已,又得在 ubuntu12.04 里装个网络安装服务器了。从最终的折腾结果感觉到,对于 linux 发行版,熟练掌握一款即可。达到同样的目的,如果我们已经有了一条熟悉的路,那么从省时省力的角度出发,不必要另外选择一条不熟悉的路,除非你就是极客,你为自己代言。废话不少,下面就把配置过程中的一些需要注意的地方说一下。

安装基本的 PXE INSTALL SERVER 最关键的就几个地方:
一个 dhcp 服务器,一个 tftp,一个 HTTP(NFS,FTP)等。

在 ubuntu12.04 里,dhcp 服务器软件包名称为 dhcp3-server ,安装完后,其配置文件位于:/etc/dhcp/dhcpd.conf ,它的内容配置如下:
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
allow booting;
allow bootp;
subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.150 192.168.1.200;
        filename "/pxelinux.0";
    option routers 192.168.1.1;
}
该服务器软件安装完成后,其服务名称是 isc-dhcp-server,因此要启动服务时,应该执行 service isc-dhcp-server start 。

第二个安装的是 tftp 服务器。网上有些帖子说,还要安装 xinetd 或者是 inetutils-inetd ,其实不用。但是 tftp 的配置要注意,不然可能会在启动客户机时看到下面的错误提示:
tftp prefix:
unable to locate configuration file
这个错误一般发生在你缺少了一个缺省的配置文件。这个配置文件是要手工去写的,这在 centos6.x 的时候并不一定需要。

在 ubuntu12.04 里,安装的 tftp 服务器软件包名为: tftpd-hpa 。它对应的配置文件为: /etc/default/tftpd-hpa ,将其内容修改如下:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
这里需要说明的是 -l -c -s 这 3 个选项。可以从 man tftpd 查看到相关说明。
-l 表示处于监听模式,而不是从 inetd 这里的管理来启动。也就是上面说的,有了这个参数后,就不需要安装 xinetd 或者是 inetutils-inetd 所谓的超级管理器来管理了。
-c 表示允许创建新文件。实际上,单就作为网络安装服务器来说,客户端并不会从 tftpd 服务目录下写什么东西。
-s 是一个安全选项。

各个 linux 发行半的网络启动文件会有所不同。像 ubuntu12.04 的 ISO 文件里,已经包含了 pxelinux.0。但对于 centos6.x 来说它就没有包含该文件,因此我们需要额外安装个 syslinux 的文件包,然后从中提取该文件,并将该文件拷贝到 tftpd 的服务目录中来,这个目录默认是 /var/lib/tftpboot ,为了习惯,可以为其做个软链接:ln -s /var/lib/tftpboot /tftpboot 。


将 pxelinux.0  拷贝到 /tftpboot 里:
cp /usr/lib/syslinux/pxelinux.0 /tftpboot

然后,我们把 CentOS6.X 的 ISO 文件 mount 到一个目录下,从偷懒角度来讲,我会临时 mount 在 /var/www 下,因为在 ubuntu 里 apache2 默认是这个目录的,而我们安装系统时,使用的是 http 方式。mount 里 ISO 文件之后,把 p_w_picpath 目录下的 pxeboot 目录也拷贝到 /tftpboot 下。

现在到关键的一步了,我们在 /tftpboot 下创建一个目录,用来存放 tftpd 默认要读取的配置文件:
mkdir -p /tftpboot/pxelinux.cfg

编辑这个默认配置文件如下:
vi /tftpboot/pxelinux.cfg/default
default 1
timeout 20
prompt 0

label 1
    kernel pxeboot/vmlinuz
    append initrd=pxeboot/initrd.img
这里,指定了压缩的,可引导的内核文件 vmlinuz 以及包含最小 linux 系统的映像文件 initrd.img 。

到此为止,启动相应的 dhcpd, tftpd, httd 服务后,就可以在网络上安装 centos6.x 操作系统了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-7 10:01 , Processed in 0.071809 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表