曲径通幽论坛

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

CentOS6.x 搭建网络安装服务器(ubuntu12.04 PXE 安装)

[复制链接]

4917

主题

5879

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34382
跳转到指定楼层
楼主
发表于 2013-6-6 21:21:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
服务器:CentOS6.4

首先需要安装下面 3 个软件包:
# yum -y install syslinux xinetd tftp-server
安装 syslinux 软件包,实际上是想从中提取其衍生物 pxelinux ,它用来从网络上启动 linux 。实际上,在这里,由于 ubuntu 的 ISO 文件里已经包含了关键文件 pxelinux.0 ,因此不安装该软件包也是可以的。但是为了可以在将来安装其他版本的 linux ,这里还是将其装上。

xinetd 的全称是 eXtended Internet services daemon ,意为增强型 internet 服务守护进程,它可以管理一些轻型的网络服务程序,比如 tftp, rsync 等,我们这里就是用它来管理 tftp 的。因此,我们需要针对 tftp 的文件进行相关修改,该文件位于:/etc/xinetd.d/tftp 。主要是将里面的 disable 一项设置为 no (默认一般是 yes)。

安装 tftp-server 的目的就是为了让客户机在启动时,通过 tftp 协议装载 pxelinux.0 引导程序,内核镜像文件等必须文件。

在网络安装的过程中,需要一台 DHCP 服务器,它用来给客户机分配一个 IP,以让它可以和安装服务器进行通讯。在 《
搭建 DHCP 服务器》 这里已经介绍过如何搭建一个简单的 DHCP 服务器了,这里对配置文件稍作修改,其内容为:
[root@groad.net /]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
#

default-lease-time        600;

max-lease-time            86400;

authoritative;

allow booting;
allow bootp;


subnet 192.168.1.0 netmask 255.255.255.0 {
   
    range dynamic-bootp 192.168.1.150 192.168.1.200;

    option broadcast-address 192.168.1.255;

    option routers 192.168.1.1;

    option domain-name-servers 202.100.192.68;

    filename    "pxelinux.0";

    next-server    192.168.1.109;
}
这里有两个重要的参数,一个是 filename ,一个是 next-server 。

filename<"文件名"> :指定客户端启动时要载入的初始启动文件,这里就是 pxelinux.0 。

next-server <服务器地址> : 它表示指定初始启动文件启动的主机地址(这个启动文件就是 filename 参数所指定的)。服务器可以是一个十进制形式的 IP 地址,也可以是域名。如果没有 next-server 参数传给客户端,那么默认就是用 DHCP 服务器的地址。这个服务器地址可以是一个 tftp 服务器,而引导文件(pxelinux.0)就放在这个 tftp 服务器上。因此它和 filename 参数结合起来就是说,告诉客户端从 tftp 服务器地址的根目录下找到 pxelinux.0 文件。

那么,在安装完 tftp-server 包后,为方便起见,我们可以给 tftp 默认的根目录做一个向前兼容的目录软连接:
[root@groad.netpxe]# ln -s /var/lib/tftpboot/ /tftpboot



现在,把 ubuntu12.04 的 ISO 文件 mount 起来:
[root@groad.net pxe]# mount -t iso9660 -oloop /home/beyes/ISO/ubuntu-12.04.2-alternate-i386.iso /var/www.html/
为什么要 mount 到 /var/www/html 这个 httpd 默认使用的根目录呢?原因就只是为了偷懒,因为 ubuntu 的安装会以 HTTP 方式找到安装时所需的软件包。所以在我们的服务器上还需要安装上 httpd 服务器。像上面那样 mount 之后,就无需在修改 apache 的默认配置文件了。但实际上,对于 CentOS6.x 来说,yum 安装的 apache 服务器,有一个默认的配置文件 /etc/httpd/conf.d/welcome.conf 将页面引导到一个欢迎页面,因此我们在正式启用 Apache 时,可以将该文件移除,比如将其 mv 备份起来即可。

在默认的配置下,apache 是可以浏览目录的,正如:


这正是我们需要的。在你通过 web 来访问网络上的 一些 linux 仓库的时候,不正是这种形式么?

在 mount 之后,需要拷贝一些重要文件,主要就是 pxelinux.0 和内核映像文件:
[root@groad.net /]# cp -r/var/www/html/install/netboot/* /tftpboot/


到这里,实际上已经完成工作了。将上面的服务都启动,然后在客户机里设置从网络启动,这样你就会进入到 ubuntu 的安装界面。在安装过程中,有一点值得一提,就是在要求你选择镜像地址时,你不能去选列表中已经存在的地址,而是用键盘的上键移动到最顶端,选择手动输入,然后选择你的服务器地址。在这里是集成了 HTTPD ,DHCPD,TFTPD 为一身的服务器,因此比较方便。

另外一篇关于在 OpenSUSE 上搭建网络安装服务器的文章可参考:http://www.groad.net/bbs/read.php?tid-2309.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-6 21:21 , Processed in 0.061061 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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