?? 192.html
字號:
<tr><td> </td></tr>
<tr><td align=left><i>作者:</i>王波</td></tr>
<tr><td> </td></tr>
<tr><td><font color=white>網絡文件系統(NFS)<br> NFS是一種Unix之間通過網絡共享文件的標準方式。使用NFS,就能夠透明的安裝和訪問網絡上遠程主機上的文件系統,將其安裝到本機的文件系統中。<br><br><br>NFS客戶支持<br><br> 安裝NFS服務器上的文件系統的方式與安裝本機磁盤文件系統非常相似,同樣是通過 mount命令:<br><br># mount nfssrv:/exports /mnt<br> <br> <br><br> 這個命令將nfssrv主機上的/exports目錄安裝到本機的/mnt目錄下。可以看到安裝 NFS與本地磁盤文件系統的不同在于 ── 文件系統的描述方法不同。本地磁盤文件系統使用/dev下的設備文件來描述,而NFS文件系統使用遠程主機名和主機上的共享目錄名(中間使用:分隔)來描述。當然其執行的實質是不同的,事實上mount根據文件系統的類型,執行mount_nfs來真正安裝nfs文件系統。<br><br> /mnt應該是本地文件系統上的一個空目錄,沒有安裝其他文件系統。如果這個目錄非空,那么使用mount之后,原有的本地文件系統中的內容將不可被訪問,只能看到新安裝上的文件系統中的內容。<br><br> 由此來看,NFS客戶不需要進行復雜的配置,只需知道NFS服務器的主機名和共享出的目錄名即可。事實上,知道了NFS服務器的主機名,就可以使用showmount命令,來查看這臺服務器共享出的目錄名和訪問限制。<br><br># showmount -e nfssrv<br> <br> <br><br> 使用NFS文件系統只需要內核支持,而不需其他額外設置,但是同時使用nfsiod進程能夠提供高效的緩沖機制,從而改善nfs文件系統的性能,應該可以在裝載NFS文件系統之前執行這個守護進程。<br><br># nfsiod -n 4<br> <br> <br><br> 參數-n 4用于限制nfsiod的副本數量,每一個nfsiod用于輔助處理一次I/O操作,因此如果通過NFS文件系統進行頻繁的I/O操作,就要考慮增加nfsiod的副本數量。<br><br> 由于使用nfsiod能夠提升系統性能,對于NFS客戶計算機,就可以在系統啟動時執行這個守護進程。這需要在FreeBSD的系統配置文件rc.conf中設置nfs_client_enable參數的值為"YES",系統啟動時就自動執行nfsiod。<br><br><br>使用fstab<br><br> 對于經常用到的NFS文件系統,并且提供NFS服務的Unix主機也非常可靠。那么就可以將這些系統加入/etc/fstab文件中,在系統啟動時自動安裝該NFS文件系統。由于NFS文件系統不在本地,因此在服務器不能提供NFS服務時就會造成故障,系統會遇到啟動障礙,而不同正常啟動。因此對于一臺不穩定的服務器系統,最好不要使用/etc/fstab來裝載NFS文件系統,或者在/etc/fstab的設置參數選項中使用noauto參數,不讓系統自動裝載這個文件系統。<br><br># Device Mountpoint FStype Options Dump Pass#<br>/dev/wd0s3b none swap sw 0 0<br>/dev/wd0s3a / ufs rw 1 1<br>/dev/wd0s3f /usr ufs rw 2 2<br>/dev/wd0s3e /var ufs rw 2 2<br>proc /proc procfs rw 0 0<br>/dev/wcd0c /cdrom cd9660 ro,noauto 0 0<br>nfssrv:/exports /nfs nfs ro,noauto 0 0<br> <br> <br><br> /etc/fstab文件中的第四列為安裝文件系統時使用的安裝參數,如果增加了noauto選項,這樣系統啟動時并不立即安裝這個文件系統,而是直到管理員輸入mount命令之后才進行安裝。但是此時mount命令的參數就可以比較簡單,對應前面安裝nfssrv的命令,可以簡化為 mount /nfs,mount會查看fstab文件尋找匹配的行,以使用正確的參數安裝文件系統。<br><br><br>自動安裝守護進程AMD<br><br> 為了更方便的使用NFS,可以使用自動安裝軟件amd(automounter daemon,自動安裝守護進程)自動維護文件系統,這就使在訪問具體目錄時能夠立即安裝該文件系統,而經過一端時間間隔內沒有任何訪問發生,再自動卸載這個文件系統。<br><br> amd需要指定一個進行監視的空目錄,所有要安裝的文件系統與這個目錄下的子目錄一一對應;它還需要一個維護用的空目錄,用于安裝遠程文件系統,而監視目錄中的子目錄將是正確安裝的文件系統的符號連接。這些子目錄和符號連接并不需要管理員創建,而是要在映射文件中指明,由amd來創建和維護。當監視子目錄被訪問時,amd守護進程就會安裝相應的文件系統并建立正確的連接,使得目錄和文件能被正常訪問。<br><br> 通常使用/etc/amd.map用作amd的映射文件,這個文件就用于告訴amd子目錄與文件系統的對應關系。下面是一個最簡單的映射文件amd.map:<br><br># cat /etc/amd.map<br>/defaults type:=host;fs:=${autodir}/${rhost};rhost:=${key}<br>nfssrv typs:=nfs;rhost:=nfssrv;rfs:=/exports<br> <br> <br><br> 第一行使用/defaults定義缺省的設置,type參數用于定義維護的文件系統的類型, host類型為通過NFS安裝遠程服務器中直接在exports文件中輸出的目錄,fs參數為amd安裝文件系統使用的安裝位置,變量autodir為amd維護安裝文件系統的目錄,而rhost變量為遠程計算機的名字,需要進行設置。缺省的rhost變量設置為${key}的值,當用戶訪問amd監視目錄的子目錄時,key就被設置為這個子目錄的名字。通過這個缺省設置,當用戶訪問amd監視目錄的任意一個子目錄時,這個子目錄名就被轉換為遠程NFS服務器的名字,amd就自動將這個服務器共享的目錄安裝到fs定義的安裝位置上。<br><br> 第二行設置一個專有的映射關系,第一列也是amd設置的key值,當訪問對應的子目錄時就啟動這個設置,這一個安裝點為nfs類型,nfs類型與host略有不同,host類型只需要rhost 定義,而查詢服務器上的共享出的目錄來自動安裝,而nfs類型則要配置者手工指定遠程主機共享的目錄,這就需要設置rfs參數。通常在自動維護的計算機數量較少時,使用nfs類型更明確,否則可以使用host類型以簡化配置工作。<br><br> 設置好映射文件之后,就可以運行amd守護進程了。<br><br># amd -a /net -c 1800 /host /etc/amd.map<br># ls /host<br># cd /host/nfssrv<br># ls -l /host<br>nfssrv<br> <br> <br><br> 上面的amd的命令參數為,第一個-a參數告訴amd將真實的文件系統安裝到/net這個臨時目錄下,在執行amd之前必須建立這個空目錄,這個目錄將被amd作為autodir變量設置映射關系;-c參數用于指明超時參數,經過這個時間間隔內沒有訪問這個文件系統上的內容,就卸載已安裝的文件系統,設置為1800秒;而/host目錄為amd監視用戶訪問的目錄,訪問這個目錄中的子目錄,就會觸發amd守護進程,例如上例中使用cd /host/nfssrv訪問nfssrv子目錄,那么amd 就將啟動,將nfssrv設置為key值,因此amd就讀取/defauts設置的缺省參數和nfssrv這個key值對應的參數,然后執行自動安裝過程。最后一個參數就是指定映射文件為/etc/amd.map。<br><br> 因此,amd的處理過程可以總結為:用戶首先訪問/host目錄下的子目錄,觸發amd;amd 使用子目錄的名字作為key值,讀取相應映射文件中的設置,將文件系統安裝到/net目錄下的相應目錄上(fs定義的目錄);最后amd在/host目錄下以key值建立符號連接,指向已經安裝到/net 目錄下的真實文件系統,使得用戶訪問子目錄的操作能夠正常完成。<br><br> amd主要是和NFS結合使用,用于維護多臺服務器的用戶和文件目錄的一致性,然而amd 不僅僅能用于維護NFS文件系統,同樣也可以用于維護其他種類的文件系統,如CD9660、本地文件目錄的連接,以及擴展到運行一個程序等方式自動安裝相應的文件系統,對于這些非NFS文件系統,就需要使用不同的type參數定義不同的類型。例如可以使用amd將所有用戶的個人目錄維護在同一個路徑下,而不是事實上分布在不同目錄和主機上,等等。此時,amd.map應為:<br><br>/defaults opts:=rw,grpid,nosuid,nodev<br>wb host==wb;type:=link;fs:=/home/wb<br>cd opts:=ro;host==wb;type:=cdfs;dev:=/dev/wcd0c<br>dos host==wb;type:=program;mount:="/sbin/mount_msdos mount_msdos /dev/wd0s1 focus/FreeBSD/"<br> <br> <br><br> 這個映射文件中的缺省設置中首先使用opts設置了幾個安裝選項,用于安裝文件系統時使用。由于這個例子中維護的文件系統NFS文件系統,因此沒有使用變量定義相應的參數,而且在維護的文件系統不多的條件下,可以直接定義各個自動安裝所需要的各個參數。<br><br> 第一個設置為是一個link類型,它必須在主機為wb(本地主機的名字,amd將自動設置 host變量)時才有效。這個類型只是用于建立連接,因此就沒有必要定義rhost和rfs,而通過 fs定義需要建立連接的目標。因此當訪問/host/wb目錄時,amd就自動建立一個到/home/wb的符號連接。<br><br> 第二個設置為cdfs類型,這用于訪問時自動安裝CDROM,它通過dev參數設置安裝使用的設備文件。第三個設置為program類型,當訪問/host/dos目錄時,amd會自動執行后面的mount_msdos 程序,裝載上dos分區,安裝點被使用變量path傳遞給外部程序的參數。<br><br> 為了在啟動時自動執行amd,需要修改rc.conf中的設置,更改其中的選項amd_enable為”YES”, amd的執行參數在amd_flags項中設置,缺省為:<br><br>amd_flags="-a /net -c 1800 -k i386 -d my.domain -l syslog /host /etc/amd.map"<br> <br> <br><br> 這個參數使用了另一些有用的參數,-k參數用于運行amd的計算機內核體系,-d參數用于定義計算機的domain名,修改這個參數可以幫助amd偵測計算機所在的domain名字,因此要修改為計算機實際的域名,-l參數定義審計記錄文件,缺省使用syslog。amd的設置相當復雜,這里只是通過一個映射文件來提供針對一個目錄的自動安裝維護,實際上amd可以同時維護多個目錄,這就需要設置一個配置文件,來定義多個監視目錄。對于一般的目的,使用命令行指定一個映射就夠用了。</font></td></tr>
<tr><td> </td></tr>
<tr><td align=right><i>來源:</i><a href="javascript:if(confirm('http://freebsd.online.ha.cn/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://freebsd.online.ha.cn/'" tppabs="http://freebsd.online.ha.cn/">http://freebsd.online.ha.cn/</a></td></tr>
</table>
<p> </p>
<p> </p>
<p> </p>
聲明:本站的文章和軟件是本人從網上收集整理的(除本人的作品之外),所有版權屬于作者,<br>
如有侵犯您的權益,請指出,本站將立即改正,謝謝.
<hr width=500>
<br>
<font color=#ffffff>Copyright 2000 <a href="javascript:if(confirm('http://www.newok.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.newok.com/'" tppabs="http://www.newok.com/" class=t1>www.newok.com</a></font>
</div>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -