使用FAI+PXE批量部署Debian
原創(chuàng)【51CTO獨(dú)家特稿】FAI全稱Fully Automatic Installation,是一種基于Debian GNU/Linux平臺(tái)的全自動(dòng)安裝集群結(jié)點(diǎn)機(jī)的軟件包,它為構(gòu)建集群提供了方便快捷的安裝方式,可以在幾十分鐘內(nèi)實(shí)現(xiàn)全部節(jié)點(diǎn)機(jī)的自動(dòng)安裝。
下圖是本次實(shí)例講解的網(wǎng)絡(luò)拓?fù)洌?/p>
配置DHCP服務(wù)
安裝DHCP服務(wù)是為了給需要安裝操作系統(tǒng)的客戶端分配IP地址。
1、安裝DHCP服務(wù)。
srv10:~# apt-get install dhcp3-server
2、配置DHCP服務(wù)。在/etc/dhcp3/dhcpd.conf文件中增加如下內(nèi)容。
allow booting; allow bootp; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.220 192.168.1.250; next-server 192.168.1.233; #指定PXE客戶端查找的服務(wù)器 filename "/pxelinux.0"; #指定啟動(dòng)文件 option routers 192.168.1.254; option domain-name-servers 202.103.24.68; }
配置TFTP服務(wù)
安裝TFTP服務(wù)是為了讓需要安裝操作系統(tǒng)的客戶端可以下載支持PXE的啟動(dòng)文件。
1、安裝TFTP服務(wù)。
srv10:~# apt-get install tftp tftpd srv10:~# apt-get install xinetd
2、配置TFTP服務(wù)。
為了使用新的基于Xinetd服務(wù)的TFTP,將/etc/inetd.conf文件中,將以下內(nèi)容注釋。
#tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /home/creater/image
在/etc/xinetd.d目錄下創(chuàng)建tftp文件,并加入如下內(nèi)容(其中“server_args”用于指定TFTP服務(wù)的根目錄)。
service tftp { socket_type = dgram protocol = udp wait= yes user= root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable= no per_source= 11 cps = 100 2 flags = IPv4 }
為建立TFTP服務(wù)的根目錄
srv10:~# mkdir /tftpboot
安裝NFS服務(wù)
FAI服務(wù)通過NFS共享必要的啟動(dòng)及安裝文件給FAI客戶端。
srv10:~# apt-get install nfs-kernel-server
配置FAI
1、安裝FAI。
srv10:~# apt-get install fai-quickstart
2、配置FAI。
使用FAI基本功能是主要需要修改/etc/fai/fai.conf(FAI主配置文件)、/etc/fai/make-fai-nfsroot.conf(FAI使用NFS服務(wù)配置文件)、/etc/fai/apt/sources.list(源列表用于NFS-Root,即通過FAI安裝的客戶機(jī)源列表)。
直接使用/etc/apt/sources.list覆蓋/etc/fai/apt/sources.list文件。
srv10:~# cp /etc/apt/sources.list /etc/fai/apt/sources.list
修改/etc/fai/fai.conf文件如下內(nèi)容。
LOGUSER=fai FAI_LOGPROTO=ssh FAI_CONFIG_SRC=nfs://192.168.1.233$FAI_CONFIGDIR#FAI配置文件的存放路徑 #MNTPOINT=/media/mirror #注釋該句
修改/etc/fai/make-fai-nfsroot.conf文件如下內(nèi)容。
NFSROOT=/srv/fai/nfsroot #NFS-Root目錄路徑 TFTPROOT=/tftpboot #指定TFTP服務(wù)根目錄路徑 NFSROOT_ETC_HOSTS="192.168.1.233" #指定NFS服務(wù)器地址 #使用fai-setup命令創(chuàng)建NFSROOT目錄時(shí)下載軟件包的地址 FAI_DEBOOTSTRAP="lenny http://ftp.debian.org/debian" NFSROOT_HOOKS=/etc/fai/nfsroot-hooks/ FAI_DEBOOTSTRAP_OPTS="--arch i386 --exclude=dhcp-client,info"
使用如下命令創(chuàng)建FAI所需內(nèi)容(該步驟視網(wǎng)絡(luò)情況可能很慢)。
srv10:~# fai-setup -v
使用如下命令創(chuàng)建支持PXE服務(wù)器所需的啟動(dòng)、配置文件。
srv10:~# fai-chboot -IFv default
通過修改/srv/fai/config/disk_config/FAIBASE文件指定客戶端磁盤分區(qū)及指定啟動(dòng)標(biāo)記。
#bootable:1 #將第1個(gè)分區(qū)標(biāo)記啟動(dòng)分區(qū)。 disk_config disk1 disklabel:msdos bootable:1 primary / 25G ext3rw,errors=remount-ro primary swap 1Gswaprw
重啟相關(guān)服務(wù)。
srv10:~# /etc/init.d/nfs-common restart srv10:~# /etc/init.d/nfs-kernel-server restart srv10:~# /etc/init.d/dhcp3-server restart srv10:~# /etc/init.d/xinetd restart
配置完成后在/tftpboot目錄內(nèi)容如下。
srv10:~# ll /tftpboot/ total 10012 drwxr-xr-x 3 fai nogroup 4096 2010-12-21 21:35 . drwxr-xr-x 23 root root 4096 2010-12-21 21:35 .. -rw-r--r-- 1 fai nogroup 8732200 2010-12-21 21:35 initrd.img-2.6.26-2-486 -rwxr-xr-x 1 fai nogroup15820 2010-12-21 21:35 pxelinux.0 drwxr-xr-x 2 fai nogroup 4096 2010-12-21 21:36 pxelinux.cfg -rw-r--r-- 1 fai nogroup 1469968 2010-11-24 21:57 vmlinuz-2.6.26-2-486
到此FAI服務(wù)器配置完成,重新啟動(dòng)FAI服務(wù)所在計(jì)算機(jī)后,將客戶端BIOS設(shè)置為從網(wǎng)絡(luò)啟動(dòng)即可全自動(dòng)安裝Debian系統(tǒng)??蛻舳藃oot用戶的默認(rèn)密碼是fai。
FAI其它配置
1、自定義客戶端需要安裝的軟件包。
如果需要為客戶端安裝更多的軟件包,可以修改/srv/fai/config/package_config/FAIBASE文件,比如安裝GNOME桌面環(huán)境可在文件中加入gdm和gnome-core。
2、修改客戶端磁盤分區(qū)。
如果需要修改客戶端磁盤分區(qū),可以修改/srv/fai/config/disk_config/FAIBASE文件。
3、執(zhí)行自定義腳本。
/srv/fai/config/scripts/LAST/50-misc #腳本是在客戶端完成所有安裝完成后執(zhí)行的內(nèi)容,可以在其中加入一些腳本自定義內(nèi)容。 #fcopy #將FAI服務(wù)器/srv/fai/nfsroot/live/filesystem.dir/目錄下對(duì)應(yīng)目錄的內(nèi)容得到到客戶端對(duì)應(yīng)目錄,下面是將/srv/fai/nfsroot/live/filesystem.dir/etc/apt/l*.deb文件復(fù)制到客戶端/etc/apt目錄中。 fcopy -i /etc/apt/l*.deb #$ROOTCMD #用于在客戶端本地執(zhí)行的內(nèi)容。 $ROOTCMD echo "root:debian" | $ROOTCMD chpasswd
作者簡介:張勤(博客),MCSE、MCDBA、RHCE,從事軟件開發(fā)(Delphi、Java)、項(xiàng)目管理、系統(tǒng)集成工作。曾參與多個(gè)基于Windows及Linux的大型系統(tǒng)集成項(xiàng)目,并在國內(nèi)多個(gè)知名IT網(wǎng)站發(fā)表技術(shù)類文章。
【編輯推薦】