Linux NFS應(yīng)用案例分析
在LInux的應(yīng)用中,我們這次主要講解一下NFS的配置。首先讓我們看看在這方面的Linux NFS應(yīng)用都有哪些。下面我們來從一個具體的項(xiàng)目進(jìn)行分析和解決。希望能夠幫助大家了解這方面的內(nèi)容。
項(xiàng)目需求
在生產(chǎn)環(huán)境中我們有時候需要部署大量系統(tǒng)相同的服務(wù)器,當(dāng)數(shù)量達(dá)到一定程度的時候,給每臺服務(wù)器專門單獨(dú)安裝是非常耗時且枯燥的重復(fù)勞動,所以網(wǎng)絡(luò)引導(dǎo)自動安裝是我們解決問題的重要方法。
項(xiàng)目分析
想要實(shí)現(xiàn)網(wǎng)絡(luò)無人職守的安裝,首先需要這些計(jì)算機(jī)之間網(wǎng)絡(luò)沒有故障并且都能從網(wǎng)絡(luò)引導(dǎo),接下來我們需要一臺放置安裝源文件的服務(wù)器,由它提供DHCP、PXE、TFTP、Linux NFS、Kickstart、HTTP(可選)、DNS(可選)這些服務(wù)。 下面列出每個服務(wù)在這個項(xiàng)目中發(fā)揮的作用:
PXE:工作于C/S的網(wǎng)絡(luò)模式,支持工作站通過網(wǎng)絡(luò)從遠(yuǎn)端服務(wù)器下載映像,并由此支持來自網(wǎng)絡(luò)的操作系統(tǒng)的啟動過程。(這里默認(rèn)由我們客戶機(jī)的網(wǎng)卡提供了該服務(wù))DHCP:由于客戶使用了PXE是基于TCP/IP協(xié)議的,所以必須分配IP地址給客戶機(jī),而且這里還告訴了客戶機(jī)TFTP Server的位置。
TFTP:PXE引導(dǎo)的過程需要使用TFTP協(xié)議下載我們的kernel和initrd文件以及相關(guān)的啟動選擇配置文件菜單等,我們的服務(wù)器TFTP 服務(wù)提供了這兩個文件。有了這兩個文件,我們就能引導(dǎo)起系統(tǒng)來,通過網(wǎng)絡(luò)安裝(FTP,NFS等方式)。
Kickstart:Linux NFS系統(tǒng)安裝配置文件,當(dāng)我們手動安裝的時候,每一步的配置最終會保存為一個ks文件,里面記錄了整個系統(tǒng)安裝需要的一些設(shè)置,其中包括安裝的包以及分區(qū)等等大量信息,當(dāng)客戶機(jī)安裝系統(tǒng)的時候有了這個配置文件我們就能不必每次手動配置來完成安裝了。
Linux NFS:當(dāng)系統(tǒng)引導(dǎo)起來開始安裝后,我們是使用了Linux NFS作為安裝來源(配置方便并且容易使用),只需要選擇在服務(wù)器上用Linux NFS共享出安裝文件目錄即可。DNS:如果我們想要每臺客戶機(jī)裝好以后都自動設(shè)置好了它的hostname,我們可以利用DNS的反向解析讓客戶機(jī)獲取自己的hostname。HTTP:這里為了多練習(xí)我們這里是使用了HTTP方式來提供了客戶機(jī)ks文件的獲取,如果你覺得麻煩,可以就使用NFS的方式。
實(shí)現(xiàn)過程
配置DHCP首先保證你的DHCP服務(wù)已經(jīng)安裝,我們vim打開/etc/dhcpd.conf,在里面加入以下內(nèi)容:allow bootp;allow booting; #其實(shí)這里不加也沒有關(guān)系,默認(rèn)就有
- option domain-name "lenovo.cn";
- option domain-name-servers ns.lenovo.cn;
- default-lease-time 600; #默認(rèn)租約時間
- max-lease-time 7200; #***租約時間
- next-server 192.168.0.32 ; #TFTP服務(wù)器地址,這里還是指定為本機(jī)
- filename "pxelinux.0"; #網(wǎng)卡ROM加載的一個配置文件
- subnet 192.168.0.0 netmask 255.255.255.0 {
- range 192.168.0.100 192.168.0.110; #分配IP的范圍
- option domain-name-servers 192.168.0.32; #DNS服務(wù)器地址
- option routers 192.168.0.1; #網(wǎng)關(guān)地址}
配置TFTP首先必須安裝TFTP服務(wù): tftp.i386 0:0.49-1.fc10 tftp-server-0.49-1.fc10.i386由于會默認(rèn)去到/tftpboot下找文件,所以我們發(fā)現(xiàn)沒有該目錄則創(chuàng)建之。首先我們復(fù)制一個文件:/usr/lib/syslinux/pxelinux.0 到 /tftpboot下面。
接下來,我們將光盤目錄下isolinux內(nèi)的文件全部都復(fù)制到/ftpboot目錄下,并且修改兩個文件名(為了以后拓展功能,改名把各個系統(tǒng)內(nèi)核區(qū)分開)。mv initrd.img initrd.fc10.img mv vmlinuz vmlinuz.fc10
然后,創(chuàng)建/tftpboot/pexlinux.cfg目錄,在下面創(chuàng)建default文件并編輯之:default bootlocal #默認(rèn)從本地啟動
- prompt 1
- timeout 60 #超時時間
- label bootlocal
- localboot 0
- label fedora
kernel vmlinuz.fc10 #內(nèi)核以及初始化鏡像append initrd=initrd.fc10.img ramdisk_size=65536 ks=http://192.168.0.32/fc10Install.ks #指定ks文件獲取路徑這里我做了個簡單的配置。
具體寫法可以去參照網(wǎng)上的wiki***,我們需要讓TFTP服務(wù)啟動,去修改/etc/xinetd.d/tftp這個文件,修改其中兩 項(xiàng): disable = no #打開TFTP服務(wù)的啟用
server_args = -s /tftpboot #服務(wù)器的根目錄設(shè)為/tftpboot
配置NFS NFS在這里負(fù)責(zé)共享安裝需要的文件,需要共享下安裝文件的目錄(拷貝光盤下所有文件到那個目錄),配置如下:/FC10Install 192.168.0.0/24(ro,sync) 配置DNS(可選)在DNS里面對DHCP分配出去那個網(wǎng)段進(jìn)行反向解析,具體內(nèi)容參見DNS服務(wù)搭建部分。
制作ks文件在我們的系統(tǒng)安裝好以后在root的家目錄下有個anaconda-ks.cfg,我們安裝個配置工具system-config-kickstart。使用這個工具打開我們現(xiàn)有的anaconda-ks.cfg這個文件,進(jìn)去后注意選中文字安裝界面和安裝好后自動重啟。
另外,如果安裝好后需要運(yùn)行一些腳本可以修改Post-Installation部分。修改完后我們另存為一個文件,這里如果使用HTTP提供給客戶可保存到/var/www/html/ 目錄下,注意權(quán)限修改為644。這里是我的一個ks文件示例:
6.配置apache(可選)如果以前做過虛擬主機(jī)或者改過默認(rèn)網(wǎng)站主目錄,改回去成默認(rèn)狀態(tài)即可。
7.啟動各類服務(wù):
- service dhcpd restart
- service xinetd restart
- service nfs restart
- service named restart
- service httpd restart
測試將客戶機(jī)重啟并設(shè)置BIOS從網(wǎng)絡(luò)啟動,觀察啟動過程。總結(jié)本文描述了如何搭建一個基于網(wǎng)絡(luò)的Linux系統(tǒng)自動安裝過程,在實(shí)際生產(chǎn)環(huán)境下比較使用而且能節(jié)省大量的人力資源,并且還能拓展開來搭建網(wǎng)絡(luò)的系統(tǒng)救援模式,甚至搭建從網(wǎng)絡(luò)啟動的Linux系統(tǒng)無盤工作站。