時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
我們要在Linux中使用任何文件系統(tǒng),都必須先將其掛接至Linux目錄樹的某個目錄下,當(dāng)該文件系統(tǒng)不再使用時,還需要將其卸載。在 Linux中,我們一般使用Mount與Umount命令來完成掛接和卸載功能。
本文將介紹另一種能完成文件系統(tǒng)掛接與卸載的工具——Autofs。
1、Autofs的特點
Autofs與Mount/Umount的不同之處在于,它是一種看守程序。如果它檢測到用戶正試圖訪問一個尚未掛接的文件系統(tǒng),它就會自動檢測該文件系統(tǒng),如果存在,那么Autofs會自動將其掛接。另一方面,如果它檢測到某個已掛接的文件系統(tǒng)在一段時間內(nèi)沒有被使用,那么Autofs會自動將其卸載。因此一旦運(yùn)行了Autofs后,用戶就不再需要手動完成文件系統(tǒng)的掛接和卸載。
2、軟件安裝
安裝Autofs的方法很簡單,只需執(zhí)行:rpm -ivh autofs-3.1.3-10.i386.rpm
安裝完成后,每次啟動 Linux,Autofs都會自動運(yùn)行。
3、軟件的配置
Autofs需要從/etc/auto.master文件中讀取配置信息。該文件中可以同時指定多個掛接點,由Autofs來掛接文件系統(tǒng)。文件中的每個掛接點單獨(dú)用一行來定義,每一行可包括3個部分,分別用于指定掛接點位置,掛接時需使用的配置文件及所掛接文件系統(tǒng)在空閑多長時間后自動被卸載。例如在文件中包括了如下一行:
/auto /etc/auto.misc --timeout 60
其中第一部分指定一個安裝點為/auto,第二部分指定該掛接點的配置文件為/etc/auto.misc,第三部分指定所掛接的文件系統(tǒng)在空閑60秒后自動被卸載。
文件/etc /auto.misc的示例如下:
cd -fstype=iSO9660,ro :/dev/cdrom
fd -fstype=msdos :/dev/fd0
文件每一行都說明某一個文件系統(tǒng)如何被掛接。其中第一行指定將/dev /cdrom掛接在/auto/cd中,第二行指定將/dev/fd0掛接在/auto/fd中。每一行的第二個值-fstype是一個可選項,用來表明所掛接的文件系統(tǒng)的類型和掛接選項,在mount命令中能使用的掛接選項同樣適用于-fstype。
修改了配置文件后,可通過執(zhí)行命令 "/etc/init.d/autofs restart",使新的配置生效。
例子:
picture.dfe.cn?? -rw,soft,intr,rsize=8192,wsize=8192???? 192.168.0.22:/var/www/virtualhost/picture.dfe.cn
www.dfe.cn?? -rw,soft,intr,rsize=8192,wsize=8192???? 192.168.14.3:/var/www/virtualhost/www.dfe.cn
4、使用Autofs
輸入命令"ls /auto/cd",Autofs會自動檢測光驅(qū)中是否有光盤,如果有,它會自動將其掛接在/auto/cd中,這樣ls就會列出其中的內(nèi)容。如果我們在60秒內(nèi)沒有再次訪問/auto/cd時,Autofs會自動將/dev /cdrom卸載掉。同樣,現(xiàn)在也可以直接使用軟盤,無需事先使用Mount進(jìn)行掛接。
-----------------------------------------
簡單點:
#vi /etc/auto.master
/var/www/html/nfs? /etc/auto.51auto???? --timeout=60
#vi /etc/auto.51auto
www.dfs.cn?? -rw,soft,intr,rsize=8192,wsize=8192???? 192.168.0.214:/var/www/html/www.dfs.cn
-------------------------------------
nfs服務(wù)器上:
/etc/hosts.allow里要允許客戶機(jī)訪問。
如:portmap:192.168.0.33
客戶機(jī):
配置好文件/etc/auto.master? /etc/auto.51auto? 。
啟動portmap 和nfs服務(wù)。
第一次可以手動mount加載測試。
------------------------------------
NFS服務(wù)器端重新啟動,最好先關(guān)閉portmap nfs再重啟.否則容易長時間待機(jī).
-----------------------------------
NFS速度優(yōu)化:
1.設(shè)置塊大小
mount命令的risize和wsize指定了server端和client端的傳輸?shù)膲K大小。
mount -t nfs -o rsize=8192,wsize=8192,timeo=14,intr client:/partition /partition
如果未指定,系統(tǒng)根據(jù)nfs version來設(shè)置缺省的risize和wsize大小。大多數(shù)情況是4K對于nfs v2,最大是8K,對于v3,通過server端kernel設(shè)置risize和wsize的限制
vi /usr/src/linux2.4.22/include/linux/nfsd/const.h
修改常量: NFSSVC_MAXBLKSIZE
所有的2.4的的client都支持最大 32K的傳輸塊。系統(tǒng)缺省的塊可能會太大或者太小,這主要取決于你的kernel和你的網(wǎng)卡,太大或者太小都有可能導(dǎo)致nfs速度很慢。
具體的可以使用 Bonnie,Bonnie++,iozone等benchmark來測試不同risize和wsize下nfs的速度。當(dāng)然,也可以使用dd來測試。
#time dd if=/dev/zero of=/testfs/testfile bs=8k count=1024 測試nfs寫
?。ime dd if=/testfs/testfile of=/dev/null bs=8k 測試nfs讀
測試時文件的大小至少是系統(tǒng)RAM的兩倍,每次測試都使用umount 和mount對/testfs進(jìn)行掛載,通過比較不同的塊大小,得到優(yōu)化的塊大小。
2.網(wǎng)絡(luò)傳輸包的大小
網(wǎng)絡(luò)在包傳輸過程,對包要進(jìn)行分組,過大或者過小都不能很好的利用網(wǎng)絡(luò)的帶寬,所以對網(wǎng)絡(luò)要進(jìn)行測試和調(diào)優(yōu)??梢允褂胮ing -s 2048 -f hostname進(jìn)行ping,嘗試不同的package size,這樣可以看到包的丟失情況。同時,可以使用nfsstat -o net 測試nfs使用udp傳輸時丟包的多少。因為統(tǒng)計不能清零,所以要先運(yùn)行此命令記住該值,然后可以再次運(yùn)行統(tǒng)計。如果,經(jīng)過上面的統(tǒng)計丟包很多。那么可以看看網(wǎng)絡(luò)傳輸包的大小。使用下面的命令:
#tracepath node1/端口號
#ifconfig eth0
比較網(wǎng)卡的mtu和剛剛的pmtu,使用#ifconfig eth0 mtu 16436設(shè)置網(wǎng)卡的mtu和測試的一致。當(dāng)然如果risize和wsize比mtu的值大,那么的話,server端的包傳到client端就要進(jìn)行重組,這是要消耗client端的cpu資源。此外,包重組可能導(dǎo)致網(wǎng)絡(luò)的不可信和丟包,任何的丟包都會是的rpc請求重新傳輸,rpc請求的重傳有會導(dǎo)致超時,嚴(yán)重降低nfs的性能。
可以通過查看
/proc/sys/net/ipv4/ipfrag_high_thresh
/proc/sys/net/ipv4/ipfrag_low_thresh
了解系統(tǒng)可以處理的包的數(shù)目,如果網(wǎng)絡(luò)包到達(dá)了ipfrag_high_thresh,那么系統(tǒng)就會開始丟包,直到包的數(shù)目到達(dá)ipfrag_low_thresh。
3.nfs掛載的優(yōu)化
timeo: 如果超時,客戶端等待的時間,以十分之一秒計算
retrans: 超時嘗試的次數(shù)。
bg: 后臺掛載,很有用
hard: 如果server端沒有響應(yīng),那么客戶端一直嘗試掛載
wsize: 寫塊大小
rsize: 讀塊大小
intr: 可以中斷不成功的掛載
noatime: 不更新文件的inode訪問時間,可以提高速度
async: 異步讀寫
4.nfsd的個數(shù)
缺省的系統(tǒng)在啟動時,有8個nfsd進(jìn)程
#ps -efl|grep nfsd
通過查看/proc/net/rpc /nfsd文件的th行,第一個是nfsd的個數(shù),后十個是線程是用的時間數(shù),第二個到第四個值如果很大,那么就需要增加nfsd的個數(shù)。
具體如下:
#vi /etc/init.d/nfs
找到RPCNFSDCOUNT,修改該值,一般和client端數(shù)目一致。
#service nfs restart
#mount -a
5.nfsd的隊列長度
對于8個nfsd進(jìn)程,系統(tǒng)的nfsd隊列長度是64k大小,如果是多于8個,就要相應(yīng)的增加相應(yīng)的隊列大小,具體的在
/proc/sys/net/core/rwmem_default
/proc/sys/net/core/wwmem_default
/proc/sys/net/core/rmmem_max
/proc/sys/net/core/wmmem_max
隊列的長度最好是每一個nfsd有8k的大小。這樣,server端就可以對client的請求作排隊處理。如果要永久更改此值
#vi /etc/sysctl.conf
net.core.rmmem_default=數(shù)目
net.core.wmmem_default= 數(shù)目
net.core.rmmem_max= 數(shù)目
net.core.wmmem_max= 數(shù)目
#service nfs restart
關(guān)鍵詞標(biāo)簽:文件系統(tǒng),autofs
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址 dmidecode命令查看內(nèi)存型號 linux tc實現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載