在Debian Lenny上为多个Linux发行版设置PXE安装服务器

在Debian Lenny上设置多个Linux发行版的PXE安装服务器

版本1.0
作者:Falko Timme

本教程将介绍如何在Debian Lenny上设置PXE( p重新启动环境)的安装服务器。 PXE安装服务器允许您的客户端计算机通过网络引导和安装Linux发行版,而无需将Linux iso映像刻录到CD / DVD,启动软盘映像等。如果您的客户端计算机没有CD或软盘驱动器,或者如果要同时设置多台计算机(例如,在大型企业中),或者只是为了节省CD / DVD的钱。 在本文中,我将介绍如何配置一个允许您启动多个发行版(i386和x86_64)的PXE服务器:Debian Lenny,Ubuntu 9.04,Fedora 10,CentOS 5.3,OpenSuSE 11.1和Mandriva 2009.1。

我想先说说这不是建立这样一个系统的唯一途径。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!

1初步说明

重要的是您有一个体面的互联网连接,因为您的客户端计算机将从互联网的存储库中获取所有需要的软件包(我在30MBit连接上进行了测试,这似乎足够快。 也可以将所有软件包存储在PXE服务器上,以便您不需要Internet连接(只有与PXE服务器的LAN连接),但是在PXE服务器上需要大量存储空间(请记住,它将提供多个发行版),所以我不介绍这里。

最重要的是您的客户端计算机支持通过网络启动。 您应该检查每台计算机的BIOS是否有此选项。

在我们作为PXE服务器的系统上,您应该已经设置了一个基本的Debian Lenny服务器系统,例如本教程第1至7章所示: http : //www.youcl.com/perfect- server-debian-lenny-ispconfig2

2安装所有必需的软件包

首先我们通过运行更新我们的包数据库

aptitude update

我们需要安装软件包netkit-inetdtftpd-hpadhcp3-serverlftp ,所以我们运行

aptitude install netkit-inetd tftpd-hpa dhcp3-server lftp

之后跑

netstat -uap | grep tftp

并检查你是否看到这样的东西:

server1:~# netstat -uap | grep tftp
udp        0      0 *:tftp                  *:*                                 2242/inetd
server1:~#

如果没有看到tftp行,请打开/etc/inetd.conf ,确保您在其中找到以下内容:

vi /etc/inetd.conf
[...]
#:BOOT: TFTP service is provided primarily for booting.  Most sites
#       run this only on machines acting as "boot servers."
tftp           dgram   udp     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
[...]

然后重新启动inetd:

/etc/init.d/openbsd-inetd restart

现在

netstat -uap | grep tftp

应该显示tftp。

3配置DHCP服务器

我们在本地网络中需要一个DHCP服务器。 如果本地网络中没有DHCP服务器,只需配置并使用未来PXE服务器上的DHCP服务器即可。 只需编辑/etc/dhcp3/dhcpd.conf

cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_orig
cat /dev/null > /etc/dhcp3/dhcpd.conf
vi /etc/dhcp3/dhcpd.conf
option domain-name-servers 145.253.2.75, 213.191.92.86;

default-lease-time 86400;
max-lease-time 604800;

authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.10 192.168.0.49;
        filename "pxelinux.0";
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
}

这将从您的客户端计算机动态分配192.168.0.10192.168.0.49的 IP地址; 网关是192.168.0.1 。 当然,您必须将此配置调整到您自己的环境!

重要的是你有线

filename "pxelinux.0";

在你的配置!

然后重新启动DHCP服务器:

/etc/init.d/dhcp3-server restart

如果您的网络中已经有DHCP服务器,则必须修改其配置。 我们假设你有这样的东西

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.10 192.168.0.49;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
}

在配置中。 你必须添加

filename "pxelinux.0";
next-server 192.168.0.100;

到它(其中192.168.0.100是我们的Debian Lenny PXE服务器的IP地址),使其看起来像这样:

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.10 192.168.0.49;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
        filename "pxelinux.0";
        next-server 192.168.0.100;
}

然后重新启动DHCP服务器。

4设置Debian Lenny Netboot(i386)

现在我们准备为我们的第一个发行版设置netboot,Debian Lenny(i386)。 netboot的必要文件可以在http://ftp.de.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/找到 。 我们现在下载文件并将其复制到/ var / lib / tftpboot目录。 这是我们的PXE服务器将提供安装映像的目录:

cd /tmp
lftp -c "open http://ftp.de.debian.org/debian/dists/lenny/main/installer-i386/current/images/; mirror netboot/"
mv netboot/* /var/lib/tftpboot
rm -fr netboot

(您可以从任何其他Debian镜像文件下载文件,使用与您相近的文件)

已经这样了 现在看看文件/var/lib/tftpboot/pxelinux.cfg/default

cat /var/lib/tftpboot/pxelinux.cfg/default
# D-I config version 1.0
include debian-installer/i386/boot-screens/menu.cfg
default debian-installer/i386/boot-screens/vesamenu.c32
prompt 0
timeout 0

Debian使用这个文件中包含的文件,所以从这里没有太多的学习(除非你看看包含的文件)。 此文件中的所有路径都相对于/ var / lib / tftpboot目录,因此debian-installer / i386 / boot-screens / menu.cfg转换为/ var / lib / tftpboot / debian-installer / i386 / boot-screens / menu.cfg 。 随着我们向PXE安装服务器添加更多发行版和架构(i386 < - > x86_64),我们将彻底修改/var/lib/tftpboot/pxelinux.cfg/default文件。

的输出

ls -la /var/lib/tftpboot

现在应该是这样的:

server1:/tmp# ls -la /var/lib/tftpboot
total 15432
drwxr-xr-x  6 root root    4096 2009-05-06 14:59 .
drwxr-xr-x 22 root root    4096 2009-05-06 14:57 ..
drwxr-xr-x  3 root root    4096 2009-04-09 01:32 debian-installer
drwxr-xr-x  4 root root    4096 2009-04-09 01:33 gtk
-rw-r--r--  1 root root 8302592 2009-04-08 23:32 mini.iso
-rw-r--r--  1 root root 7430381 2009-04-08 23:32 netboot.tar.gz
-rw-r--r--  1 root root   15820 2009-04-08 23:33 pxelinux.0
drwxr-xr-x  2 root root    4096 2009-04-09 01:32 pxelinux.cfg
drwxr-xr-x  2 root root    4096 2009-04-09 01:34 xen
server1:/tmp#

当客户端计算机通过网络启动时,它将查找文件/var/lib/tftpboot/pxelinux.cfg/default并加载它。

5我们的第一个测试

(请确保您不想重新安装的计算机在其BIOS设置中禁用了网络引导选项,否则您或其他人可能会意外地在现有操作系统上安装Debian Lenny!)

现在你可以启动你的第一台客户端计算机。 确保在其BIOS设置中指定它应该使用网络作为其第一个引导设备。 如果一切顺利,您应该看到Debian Lenny平常安装屏幕:

安装成功后,请勿忘记更改引导设备的顺序(例如,禁用网络引导并将硬盘置于第一引导设备),否则您将开始另一次安装!

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏