PXE 自動安裝物理機 (DHCP服務由路由提供, 不能再配置)


PXE 自動安裝物理機 (DHCP服務由路由提供, 不能再配置)

關於 PXE 自動安裝物理機的方案, 網上有很多, 但是幾乎都是通過配置 DHCP 服務器, 使得待安裝的機器能夠找到 tftp 提供的安裝源.
我目前的環境中, DHCP 是由路由器提供的, 也就不能像網上的教程那樣通過 DHCP 服務來配置 tftp 的信息了.

下面重點記錄如何不改變現有的 DHCP 服務, 而是通過 proxy-dhcp 來實現的.
實驗的系統是 CentOS6.6 x86_64

需要的軟件

需要的軟件和網上大部分是一樣的, (只是不需要 dhcp 服務相關package, 多了一個 proxy-dhcp 的安裝)

  • nfs 服務相關 package
  • tftp 服務相關 package
  • proxy-dhcp

nfs 和 tftp 的安裝通過 apt-get 或者 rpm 都行, 這里就不詳細介紹了.
主要介紹下 proxy-dhcp 的安裝

svn co http://svn.coderepos.org/share/lang/c/pxe-pdhcp
cd pxe-pdhcp
make

如果 make 的時候出現數組越界的錯誤的話, 在出錯的位置修改 (大概在 pxe-pdhcp.c 的 330行)

ifr.ifr_name[IFNAMSIZ] = '\0';
修改為:
ifr.ifr_name[IFNAMSIZ-1] = '\0';

啟動 proxy dhcp 服務

make之后, 生成了 pxe-pdhcp 可執行文件.

pxe-pdhcp -l 0.0.0.0 -b 255.255.255.0 -t 192.168.1.2 -d pxelinux.0

其中 -t 選項是 tftp服務器的IP

nfs 服務和 tftp 服務的配置網上很多, 這里就不詳細介紹了.

關鍵的幾個配置文件

  1. tftp 服務默認是 disable的, 要修改.

    cat /etc/xinetd.d/tftp
    service tftp
    {
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /var/lib/tftpboot
    disable = no # <== 這里改成 no, 原先是 yes
    per_source = 11
    cps = 100 2
    flags = IPv4
    }

  2. tftp 中 pxe 的配置文件

沒用 kickstart 方式, 引導成功后需要手動安裝.

cat /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT menu.c32
TIMEOUT 100

LABEL centos6
KERNEL centos6/vmlinuz
APPEND initrd=centos6/initrd.img nfsroot=nfs:10.0.1.1:/srv/centos6 ip=dhcp console=tty0

用 kickstart 方式的話, 只要將其中的

nfsroot=nfs:10.0.1.1:/srv/centos6
改成
ks=nfs:10.0.1.1:/srv/centos6/centos6.ks 之類的就行

參考網址

http://frsyuki.hatenablog.com/entry/20080720/p2
http://d.hatena.ne.jp/dayflower/20090810/1249875581


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM