如何無盤啟動Linux
無盤啟動意味著一台用戶端電腦在啟動作業系統時沒有任何的磁碟儲存介質。在這種情形之下,電腦能夠通過網路從遠程NFS伺服器上載入核心和根檔案系統。在這過程中可能會用到多種不同的方法來從NFS伺服器上載入核心和根檔案系統:RARP,BOOTP或是DHCP協議。在這個指導教程中,我會使用BOOTP/DHCP協議,因為它們能夠被大多數的網卡所支援。
無盤電腦的優勢
想象一下你的辦公室內有30台電腦,每一台都需要使用相同的應用程式。如果你作為管理這些電腦的管理員,你會怎麼做?如果你在每一台電腦上安裝應用程式,那隻是在浪費你的時間。另一方面來說,一套無盤系統就能解決你的問題。有了一套無盤系統,你只需在中央NFS伺服器上安裝需要的程式,然後通過網路啟動這30台客戶機即可。
需要什麼
兩台或更多的裝備有支援DHCP協議的網卡的Linux電腦。這些將扮演NFS伺服器角色的電腦應當配有硬碟,其它客戶機不需要任何的硬碟。伺服器和客戶機需要串連到同一個本網之內。
設定一個無盤系統共需要五步。
- 安裝所需的包
- 配置TFTP伺服器
- 配置DHCP伺服器
- 配置NFS伺服器
- 啟動無盤客戶機
在這個指導教程中,我假設作為啟動伺服器的電腦啟動並執行是 Ubuntu。如何你正在使用其它的Linux發行版,原理是一樣的。
PXE實現無人值守無盤安裝Linux
KickStart+PXE無盤安裝Linux系統
Kickstart+VNC遠程圖形化無盤安裝Linux
第一步:安裝所需的包
像下面這樣使用 apt-get 命令來安裝所有需要的包。
- $ sudo apt-get install dhcp3-server tftpd-hpa syslinux nfs-kernel-server initramfs-tools
第二步:配置TFTP伺服器
TFTP伺服器是一個小型FTP伺服器,需要用它來在本網中的客戶機和伺服器之間自動傳輸開機檔案。
向/etc/default/tftpd-hpa中添加以下行:
- RUN_DAEMON="yes"
- OPTIONS="-l -s /var/lib/tftpboot/"
接著,建立一個開機檔案夾。
- $ sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg
複製引導程式鏡像。
- $ sudo cp /usr/lib/syslinux/pxelinux.0/var/lib/tftpboot
像下面這樣建立一個預設啟動設定檔。
- $ sudo vi /tftpboot/pxelinux.cfg/default
- LABEL Ubuntu
- KERNEL vmlinuz
- APPEND root=/dev/nfs initrd=initrd.img nfsroot=10.10.101.1:/nfsroot ip=dhcp rw
注意:
- "root=/dev/nfs"表示伺服器上的網路檔案系統(不需要修改)。
- "initrd=initrd.img"是一個用於系統啟動的啟動指令碼。
- "nfsroot=10.10.101.1/nfsroot"指明了伺服器的IP地址以及NFS共用資料夾的名稱。用你的伺服器位址來替換掉IP地址。
- "ip=dhcp"表示用戶端電腦使用DHCP定址方案。
- "rw"表示NFS共用是可讀/可寫的。
最後,重啟TFTPD服務。
- sudo /etc/init.d/tftpd-hpa restart
更多詳情見請繼續閱讀下一頁的精彩內容: