Chinaunix首页 | 论坛 | 博客
  • 博客访问: 98648
  • 博文数量: 18
  • 博客积分: 2264
  • 博客等级: 大尉
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-13 21:46
文章分类

全部博文(18)

文章存档

2010年(1)

2009年(1)

2008年(16)

我的朋友

分类: LINUX

2008-12-15 13:13:05

通过PXE远程安装多台Linux系统

实验目的:同时安装多台服务器,如果一台一台装的话会吐血的,出于节省时间的考虑,选用PXE的方式。

实验环境:
服务器CentOS5.1
VM虚拟机N台(如果是给实机装的话那实机的网卡一定要有PXE功能)

软件要求:tftp-server,dhcp等

实验说明:
PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client 和server两端,PXE  client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后, PXE client将放置在远端的操作系统通过网络下载到本地运行。
由DHCP server来给PXE client 分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。  
PXE Client使用TFTP Client,通过TFTP协议到 TFTP Server上下载所需的文件。

实验步骤;

我的机器里并没有这两个包,先安装一下,如果没有其它相应的包的话也先安装一下

# yum -y install dhcp
# yum -y install tftp-server

一,配置nfs服务器

1,将准备好要进行安装的内容复制到硬盘上,下面新建一个目录进行存放。

# mkdir /var/isofiles

由于我的FTP里面有系统的ISO,所以直接将ISO内的文件复制到上面的目录。
将ISO文件直接挂载到/mnt/中,用如下方法

# mount /var/ftp/linuxtools/CentOS-5.2-i386-bin-DVD.iso /mnt/ -t iso9660 -o loop

将ISO文件中的内容全复制到下刚才建立的目录下。
# cp -r * /var/isofiles/

2,打开NFS服务
# vi /etc/exports
添上下面的这行
/var/isofiles    *(ro,sync)

可以用如下命令来查看NFS的目录
# showmount -e changzi.centos
Export list for changzi.centos:
/var/isofiles *

将NFS服务打开
# service portmap start
启动 portmap:                                             [确定]
# service nfs start
启动 NFS 服务:                                            [确定]
关掉 NFS 配额:                                            [确定]
启动 NFS 守护进程:                                        [确定]
启动 NFS mountd:                                          [确定]

二,配置DHCP服务器和TFTP服务

1,DHCP
从文档中复制一个模板,在模板中直接修改即可
# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample dhcpd.conf

# vim /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
filename "pxelinux.0";

subnet 192.168.1.0 netmask 255.255.255.0 {

# --- default gateway
        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;

        option time-offset              -18000; # Eastern Standard Time
        range dynamic-bootp 192.168.1.60 192.168.1.62;
        default-lease-time 21600;
        max-lease-time 43200;

        # we want the nameserver to appear at a fixed address
        host ns {
                next-server 192.168.1.63;
                hardware ethernet 12:34:56:78:AB:CD;
                fixed-address 207.175.42.254;
        }
}
我把其中注示掉了的一些东西删除了,没有贴上,占地方。

# /etc/init.d/dhcpd start
启动 dhcpd:                                               [确定]

2,TFTP
# vim /etc/xinetd.d/tftp

# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        disable = no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -u nobody -s /tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
            
# /sbin/chkconfig --level 345 xinetd on
# /sbin/chkconfig --level 345 tftp on
该命令配置 tftp 和 xinetd 服务被立即启用,还把配置它们在运行级别3、4和5的引导期间启动。

或者
# service xinetd restart

三,配置支持PXE
在根目录建立如下文件夹
# mkdir /tftpboot
将pxelinux.0文件考到刚建立好的文件夹中
# cp /usr/lib/syslinux/pxelinux.0 /tftpboot

此处要求已经安装了selinux,如果没有安装的话可以在下面这个网址下载syslinux-3.63.tar.gz

解压后将其中的pxelinux.0复制到/tftpboot中

# pwd
/tftpboot
# mkdir /tftpboot/pxelinux.cfg

将安装盘isolinux目录下的isolinux.cfg文件复制为/tftpboot/pxelinux.cfg/default
# cp /var/isofiles/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

将安装盘isolinux目录下的两个文件vmlinuz和initrd.img复制到/tftpboot中
# cp /var/isofiles/isolinux/vmlinuz ./
# cp /var/isofiles/isolinux/initrd.img ./

将安装盘isolinux目录下的所有.msg文件复制到/tftpboot中
# cp /var/isofiles/isolinux/*.msg ./

四,安装linux
启动虚拟机,Network boot。
客户机会自动从DHCP服务器中获得IP。然后进行安装,不管是选择图形化安装还是文本安装在最初的几项配置都是文本下的。
在安装方式时选择NFS image。
接下来按提示进行一步一步的安装即可。

五,其它
遇到如下问题的话自行解决。
DHCP启动不成功,可以参考/var/log/message中的提示,找出问题出现在哪里,DHCP的配置文件要以分号结尾。
防火墙如果没有配置相应服务的规则的话就关掉。

其实这么安装对于少量的服务器来说是比较方便的,但是对于大量的机器安装系统仍然不适用。还有其它的方法可以进行先择,比如Kickstart,再或者是SystemImager克隆系统等。

所谓的远程安装也只是在局域网中或是网速较快的场合可以,如果网速快的话可以实现从URL进行安装,而不用此种方法,此种方法更适合本地无光驱,软驱的情况下安装。

六,参考
google中找了好多相应的资料。本实验中所有的内容都可以在google中找到类似的参考。

 
阅读(1552) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~