2010年4月13日 星期二

Install Fedora Over HTTP

由於最近要再測一些Distributed file system, 找來一些舊機器來試驗...

機器一多,就得思考怎麼做才能快速安裝,事實證明人類是種很懶惰的動物... zzz...

PXE, 簡單來說是種結合多種 protocols, 其中包含 DHCPTFTP. 可以用來讓一些裝置進行網路開機的一種協定。目前,我是用Gentoo Linux來提供 boot service, 透過 HTTP 安裝 Fedora 12.

當然,你得先確認你的 client 網卡支援 PXE.

Step1. 安裝 boot service 必要套件
gentoo# emerge -uD net-misc/dhcp
gentoo# emerge -uD net-ftp/atftp
gentoo# emerge -uD sys-boot/syslinux

Step2. 設定 boot service
gentoo# cat /etc/dhcp/dhcpd.conf
---
option domain-name "twaren.net";
option domain-name-servers 8.8.8.8, 211.79.61.4;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style interim;
log-facility local7;
allow booting;
allow bootp;
ignore client-updates;

subnet 211.79.x.128 netmask 255.255.255.128 {
range 211.79.x.172 211.79.x.181;
option subnet-mask 255.255.255.128;
option broadcast-address 211.79.x.255;
option routers 211.79.x.254;
next-server 211.79.x.154; #指定 booter
filename "pxelinux.0"; #指定boot file
}
---
gentoo# cp /usr/share/syslinux/pxelinux.0 /home/tftpd
gentoo# wget http://ftp.twaren.net/Linux/Fedora/linux/releases/12/\
Fedora/i386/os/images/pxeboot/initrd.img
gentoo# wget http://ftp.twaren.net/Linux/Fedora/linux/releases/12/\
Fedora/i386/os/images/pxeboot/vmlinuz
gentoo# cat /home/tftpd/pxelinux.cfg/default #你可以設定不同 host, 吃不同的 boot images
---
prompt 1
default pxeboot
timeout 50

label pxeboot
kernel vmlinuz
append initrd=initrd.img

ONERROR LOCALBOOT 0
---
gentoo# find /home/tftpd/ -type f
/home/tftpd/pxelinux.0
/home/tftpd/initrd.img
/home/tftpd/vmlinuz
/home/tftpd/pxelinux.cfg/default

Step3. 啟動 boot service
gentoo# /etc/init.d/dhcpd start
gentoo# atftpd --logfile /var/log/tftpd.log --daemon /home/tftpd/

Step4. 啟動 client, 開始安裝 OS
幾本上如果你上述的設定都正常 work, 且你的 client 網卡支援 PXE, 你應該可以取得 IP, 並下載 kernel, 啟動安裝流程。

在安裝來源選擇 URL 即可透過 ftp, http 進行網路安裝。

其實這個還不完整,還需要人為介入,應該還要加上 Red Hat 的 Kickstart 這樣的東西才行。
ref:


沒有留言:

張貼留言