Chinaunix首页 | 论坛 | 博客
  • 博客访问: 596449
  • 博文数量: 375
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 15
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-20 10:21
文章分类

全部博文(375)

文章存档

2015年(1)

2014年(374)

分类: LINUX

2014-08-18 11:02:32

原文地址:[原创] PXE 安装 step by step 作者:ailms

一、客户机启动时发出 PXE 请求  :

-)1、PXE 网卡 :建议使用 Intel 的网卡。

-)2、确保想要安装/使用的内核或者 initrd 可以正确识别该网卡,否则后面无法连接 NFS 服务器,但可以获取 ip

-)3、设置为网卡启动。记得安装完毕要改为硬盘启动,否则一开机又自动进入安装界面了

二、确保客户机能够获取到 ip :

-)1、DHCP 服务器必须启动

-)2、针对 PXE 客户机增加下面一段配置 :

      class “pxe-install"  {

           match if substring(option vendor-class-identifier,0,9) = "PXEClient" ;

           next-server 172.17.64.39;

           filename "linux-install/pxelinux.0";

      }

注意,这里的 filename 是相对于 TFTP 的启动目录而言的,一般是 /tftpboot ,所以就是 /tftpboot/linux-install/pxelinux.0


三、客户机能够启动到安装界面 :

       a)启动 tftp 服务器 :/etc/xinetd.d/tftp ,确保存在 /tftpboot/linux-install/pxelinux.0 文件,用 netstat -a |grep tftp 可以看到

            
[root@dhcp ~]# netstat -a |grep tftp

udp        0      0 *:tftp                  *:*

[root@dhcp ~]#

     

b)把安装光盘的 images/pxeboot/ 下的 vmlinuz 和 initrd 拷贝到 /tftpboot/linux-install/ 下。

         要注意,如果你拷贝的是 RHEL4 的 vmlinuz 和 initrd ,则 resuce 模式只接受 RHEL4 的 iso ;如果加载的是 RH9 的 vmlinuz 和 initrd 也一样。

         即使你原来的主机上安装的是 RH9 ,但如果加载的是 RHEL4 的vmlinuz 和 initrd ,则 resuce 时必须指定 /tmp/RHEL4 而不是 /tmp/RH9 ,否则

         会报告 ISO 的安装树和启动介质的版本不同

         所以建议在 /tftpboot/linux-install 下再建立两个子目录 rh9/ 和 rhel4/ ,分别用于存放这两个不同版本的内核和 initrd 。目录结构如下 :


      c)配置文件 :/tftp/linux-install/pxelinux.cfg/deafult

              [root@dhcp pxelinux.cfg]# cat default

# all path are relative to the directory in which pxelinux.0 stays

default linux                  # 注释 :默认启动 label=linux 的条目

prompt 1                      # 注释:固定显示 “boot:” 提示符

timeout 100                  # 注释 :10 秒

display /msgs/boot.msg

F1 /msgs/boot.msg

F2 /msgs/general.msg

F3 /msgs/expert.msg

F4 /msgs/param.msg

F5 /msgs/rescue.msg

F6 /msgs/memtest.msg

F7 /msgs/bootlocal.msg

label linux

        kernel vmlinuz

        append initrd=initrd.img ramdisk_size=8192

label text

        kernel vmlinuz

        append initrd=initrd.img text ramdisk_size=8192

label expert

        kernel vmlinuz

        append expert initrd=initrd.img ramdisk_size=8192

label ks

        kernel vmlinuz

        append ks initrd=initrd.img ramdisk_size=8192

label lowres

        kernel vmlinuz

        append initrd=initrd.img lowres ramdisk_size=8192

label memtest

        kernel memtest

        append -

label rescue

        kernel vmlinuz

        append initrd=initrd.img rescue ramdisk_size=8192

label local

        localboot 1

[root@dhcp pxelinux.cfg]#

          

           注意,所有路径都是相对于 pxelinux.0 所在的目录而言的

      d)消息文件 :/tftpboot/linux-install/msgs/ 目录下,可能需要修改部分文件名和文件的显示内容,已匹配上面的 default 文件

              [root@dhcp msgs]# ll

total 44

-rw-r--r--  1 root root 562 Feb 13 23:04 bootlocal.msg

-rw-r--r--  1 root root 510 Feb 13 23:24 boot.msg

-rw-r--r--  1 root root 668 Oct 20  2004 expert.msg

-rw-r--r--  1 root root 871 Oct 20  2004 general.msg

-rw-r--r--  1 root root 562 Feb 13 23:02 memtest.msg

-rw-r--r--  1 root root 860 Oct 20  2004 param.msg

-rw-r--r--  1 root root 530 Oct 20  2004 rescue.msg

[root@dhcp msgs]#

要确保 expert.msg 等几个文件显示的菜单和 boot.msg 一样。

 

四、客户机能够拿到安装文件 :NFS 把放有 ISO 文件的分区导出

 

[root@dhcp msgs]# exportfs

/tmp/RHEL4     

/tmp/RH9       

[root@dhcp msgs]#

五、启动客户机 :

通过 tethereal ,可以发现客户机发送的 PXE 信息


就是 vendor class identifier 这一行,所以上面的 class 语句就是针对该选项的


可以看到已经出现 DHCP OFFER 消息了,在经过 DHCPREQUEST 和 DHCPACK 后,就可以获取到 ip 了

 
下面是开始 TFTP 传输的过程了 :


最后可以看到菜单了


上面是按 F2 出现的,所以显示 General Boot Help

    

上面是选择 F6 (memtest),进行内存测试,该程序是 RHEL4 提供的,RH9 没有,位于光盘的 isolinux/ 下



安装过程中使用的是 udp 连接

[root@dhcp dhcp]# tcpdump host 172.17.64.246  |more

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes

21:44:12.993657 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023652 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023700 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023740 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023779 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023818 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023857 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023896 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023952 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.023991 IP dhcp.n7css.com > 172.17.64.246: udp

21:44:13.024031 IP dhcp.n7css.com > 172.17.64.246: udp



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