自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

設(shè)置NFS的具體方法以及問題分析

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
文章中,我們對(duì)設(shè)置NFS的具體過程進(jìn)行了分析。包括了比較廣泛的知識(shí),例如它的基礎(chǔ)概念,特點(diǎn),設(shè)置過程和應(yīng)用,以及問題分析。

NFS,是為網(wǎng)絡(luò)的一個(gè)***特色的功能。因?yàn)榫W(wǎng)絡(luò)發(fā)源于共享。那么今天我們主要講解一下設(shè)置NFS的過程。我們知道,在眾多的文件系統(tǒng)中,FreeBSD的支持的是非常獨(dú)特的,那就是網(wǎng)絡(luò)文件系統(tǒng)(NFS).NFS可以使一臺(tái)或幾臺(tái)機(jī)器通過網(wǎng)絡(luò)共享目錄或文件.使用NFS,用戶和程序能夠訪問遠(yuǎn)程系統(tǒng)上的文件就如同訪問本地的一樣.

NFS有以下幾種特性:

本地工作站無須太多磁盤空間,因?yàn)槌S玫臄?shù)據(jù)被存放在單一的機(jī)器上并且還會(huì)剩余一些空間可被網(wǎng)絡(luò)上的其它人訪問.

在網(wǎng)絡(luò)上,每個(gè)用戶不一定需要有唯一的home目錄.一旦建立一個(gè)可以通過NFS使用的目錄,那么它可以被網(wǎng)絡(luò)上任何處訪問.

像軟盤和CD-ROM能夠在網(wǎng)絡(luò)上被其它機(jī)器訪問,而不需要額外的硬件.

它如何工作

在設(shè)置NFS之前,我們來了解一下它的工作原理。NFS由兩個(gè)方面組成--客戶端和服務(wù)器端.考慮到它們的聯(lián)系,客戶端需要服務(wù)器端所擁有的數(shù)據(jù).服務(wù)器與客戶共享數(shù)據(jù).為了這個(gè)系統(tǒng)正常地工作,少數(shù)進(jìn)程不得不在限制下運(yùn)行.

服務(wù)器必須運(yùn)行以下幾個(gè)守護(hù)進(jìn)程:

nfsd--NFS的守護(hù)進(jìn)程,它響應(yīng)客戶的請(qǐng)求.

mountd--NFS Mount守護(hù)進(jìn)程,真正實(shí)現(xiàn)nfsd傳遞給它的客戶請(qǐng)求.

客戶端只需要運(yùn)行一個(gè)守護(hù)進(jìn)程:

nfsiod--NFS異步I/O守護(hù)進(jìn)程,響應(yīng)從NFS服務(wù)器來的請(qǐng)求.

設(shè)置NFS

非常幸運(yùn),在FreeBSD系統(tǒng)上設(shè)置它是非常容易的.只需通過極少的修改/etc/rc.conf文件,就可以在啟動(dòng)時(shí)運(yùn)行這個(gè)進(jìn)程了.
在NFS服務(wù)器上,請(qǐng)確定你有:

  1. nfs_server_enable="YES" 
  2. nfs_server_flags="-u -t -n 4" 
  3. mountd_flags="-r" 

每當(dāng)NFS服務(wù)器啟動(dòng)時(shí),mountd就自動(dòng)運(yùn)行了.-u和-t標(biāo)志,告訴nfsd是否服務(wù)于UDP和TCP的客戶端.-n 4標(biāo)志,告訴nfsd運(yùn)行自己的4個(gè)相同的拷貝.
在客戶端,確定你有:

  1. nfs_client_enable="YES" 
  2. nfs_client_flags="-n 4" 

像nfsd,-n 4告訴nfsiod運(yùn)行自己的4個(gè)拷貝.

***一個(gè)設(shè)置是要求你建立一個(gè)叫作/etc/exports的文件.這個(gè)文件指定你的服務(wù)器使用何種文件系統(tǒng),以及哪幾個(gè)客戶端將要共享.這個(gè)文件中的每一行指定一個(gè)需要被共享的文件系統(tǒng).在文件可以使用的這些選擇是比較煩的,但只需要涉及其中一部分.你可以查找man page.#p#

這兒有幾個(gè)設(shè)置NFS的例子:

以下的幾行輸出/cdrom到三個(gè)"笨"機(jī)器上,它們有相同的域名,或者在你的/etc/hosts文件中登錄過.-ro標(biāo)志使得共享的文件系統(tǒng)只讀,通過這個(gè)標(biāo)志,遠(yuǎn)程系統(tǒng)將不可能在共享文件系統(tǒng)上作任何更改.

  1. /cdrom -ro moe larry curly 

下一行輸出/home通過IP地址到三臺(tái)主機(jī).這是一個(gè)非常有用的設(shè)置,如果你有一個(gè)私有的網(wǎng)絡(luò),但沒有DNS.-alldirs標(biāo)志可以使指定的文件系統(tǒng)中的所有目錄被輸出.

  1. /home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4 

下一行輸出/a到兩臺(tái)機(jī)器上,它們與NFS服務(wù)器在不同域上.-maproot=0標(biāo)志允許在遠(yuǎn)程系統(tǒng)上的root用戶,使用root權(quán)限向共享文件系統(tǒng)寫入.除去-maproot=0標(biāo)志,即使一些人有root權(quán)限訪問遠(yuǎn)程系統(tǒng),但它們不可以修改共享文件系統(tǒng).

  1. /a -maproot=0 host.domain.com box.example.com 

為了使客戶能夠共享一個(gè)輸出的文件系統(tǒng),它必須有這個(gè)權(quán)限.確定你的客戶列表在你的/etc/exports文件中.現(xiàn)在你已經(jīng)改動(dòng)了設(shè)置,你可以reboot并且在啟動(dòng)時(shí)運(yùn)行了.或者你也可以在命令行下輸入:

在NFS服務(wù)器上:

  1. # nfsd -u -t -n 4  
  2. # mountd -r 

在NFS客戶上:

  1. # nfsiod -n 4 

現(xiàn)在你已經(jīng)準(zhǔn)備真正地掛起一個(gè)遠(yuǎn)程文件系統(tǒng).有兩種方法.在這個(gè)例子中,服務(wù)器名字是server,而客戶端是client.如果你只是臨時(shí)掛起一個(gè)遠(yuǎn)程文件系統(tǒng)或希望測(cè)試一下你的設(shè)置,你可以在客戶機(jī)的命令行下,以root的權(quán)限輸入:

  1. # mount server:/home /mnt 

這樣將掛起在server上的/home到client的/mnt.如果一切都設(shè)置正確,那么你可以在/mnt下看見server上的文件.

如果你愿意每次啟動(dòng)時(shí)都掛起一人遠(yuǎn)程文件系統(tǒng),那么你就需要修改你的/etc/fstab文件.例如:

  1. server:/home /mnt nfs rw 0 0 

實(shí)際使用

NFS有許多非常"酷"的用途.設(shè)置NFS后,我在我管理的網(wǎng)絡(luò)上大量使用它.以下只是我使用它的一部分方法:

在網(wǎng)絡(luò)上,有好幾臺(tái)機(jī)器,但是只有一臺(tái)機(jī)器有CD-ROM.為什么?因?yàn)槲沂褂肗FS使用所有的機(jī)器共享CD-ROM.而對(duì)于軟驅(qū)其實(shí)也一樣.如此多的機(jī)器,而你的個(gè)人文件就存儲(chǔ)地非常地分散了.我使用一臺(tái)中央NFS服務(wù)器存儲(chǔ)了所有的用戶的home目錄,并且與其它機(jī)器一起共享它們,所以無論從何處登錄,我總是有相同的home目錄.

當(dāng)你準(zhǔn)備在其中的一臺(tái)機(jī)器上重新安裝FreeBSD,使用NFS是一種方法.只要將光盤放入你的文件服務(wù)器,然后一切照舊.我有一個(gè)公共目錄:/usr/ports/distfiles,所有的機(jī)器都共享它.這樣,當(dāng)我將要在一臺(tái)已經(jīng)安裝過某個(gè)port的機(jī)器上安裝這個(gè)port時(shí),我不需要重新再下載一遍所有的源文件.#p#

設(shè)置NFS中的問題匯總

某些ISA的以太網(wǎng)卡可能會(huì)引起一些問題,特別是在NFS上.這些困難在FreeBSD上并不特別明顯,但系統(tǒng)可能會(huì)受影響.

這些問題幾乎總是發(fā)生在以及聯(lián)網(wǎng)的高性能工作站上,例如Sun公司的機(jī)器.NFS掛起將會(huì)工作非常好,一些操作也是成功的,但是突然server對(duì)client沒有了響應(yīng),即使另外的系統(tǒng)請(qǐng)求繼續(xù)被響應(yīng).這些問題通常在client系統(tǒng)上,無論client是FreeBSD或者是其它的工作站.許多系統(tǒng)上,一旦這個(gè)問題出現(xiàn),系統(tǒng)將無法正常關(guān)閉.唯一的解決方法就是經(jīng)常重置client,因?yàn)镹FS的情況不能解決.

盡管這個(gè)"正確"的解決方法是對(duì)付運(yùn)行FreeBSD的高性能工作站,但這也是一個(gè)簡(jiǎn)單的安全的方法.如果FreeBSD系統(tǒng)是server,client運(yùn)行時(shí)要有參數(shù)-w=1024.如果FreeBSD是client,那么掛起NFS文件系統(tǒng)時(shí),要有參數(shù)-r=1024.如果需要在client上自動(dòng)掛起NFS,這些選擇需要在fstab的第四個(gè)域中輸入,或使用mount命令的-o參數(shù)手動(dòng)掛起.

需要注意的是,在NFS server和client在不同的網(wǎng)絡(luò)上時(shí),這個(gè)問題也會(huì)出現(xiàn).如果是這個(gè)原因,請(qǐng)確定你的路由器有必須支持UDP信息.下例中,fastws是高性能工作站的host名,freebox是一臺(tái)有低效率網(wǎng)卡的FreeBSD系統(tǒng).當(dāng)然,/sharedfs將作為NFS文件系統(tǒng),而在client上就是/project.在所用情況下,注意附加選項(xiàng).

將freebox作為client:在/etc/fstab中輸入

  1. fastws:/sharedfs /project nfs rw,-r=1024 0 0 

如果是手工掛起:

  1. # mount -t nfs -o -r=1024 fastws:/sharedfs /project 


將freebox作為server,在fastws的/etc/fstab中輸入:

  1. freebox:/sharedfs /project nfs rw,-w=1024 0 0 

如果需要手工掛起:

  1. # mount -t nfs -o -w=1024 freebox:/sharedfs /project 

幾乎任何16-bit以太網(wǎng)卡不需要以上的關(guān)于讀寫的限制.

對(duì)于細(xì)心的人,可能已經(jīng)看出,何處出了這種錯(cuò)誤,也就說明了此處為什么不可恢復(fù)正常的原因了.NFS是典型的每塊8K的文件系統(tǒng).(當(dāng)然也可以優(yōu)化成更小的).當(dāng)***的數(shù)據(jù)包在1500字節(jié)時(shí),NFS的塊被分成幾個(gè)數(shù)據(jù)包,盡管它對(duì)于上層協(xié)議來說,還是一個(gè)獨(dú)立的需要接收,確認(rèn)并且組合的單元.高性能工作站能夠從組成NFS單元的一個(gè)個(gè)緊接著的小包中還原這個(gè)包.在低效率的網(wǎng)卡中,后面的小包由于超時(shí)在與其在相同NFS單元中前面的小包到達(dá)目的地之前就會(huì)溢出,使用得整個(gè)單元不能被還原,并且不會(huì)發(fā)出確認(rèn)信號(hào).結(jié)果,工作站會(huì)超時(shí),并且會(huì)重新再試一次,但是以8K一個(gè)單元,還是出現(xiàn)以上的錯(cuò)誤,就這樣永遠(yuǎn)休止.

使單元的大小小于數(shù)據(jù)包的尺寸限制,這樣就可以確保信號(hào)會(huì)被接收,并且收到確認(rèn)信號(hào),從而避免以上局面.

當(dāng)高性能服務(wù)器對(duì)一臺(tái)配有高效的網(wǎng)卡的機(jī)器輸入數(shù)據(jù)時(shí),超時(shí)溢出仍會(huì)發(fā)生,但是這種超時(shí)溢出與以上所述的NFS的單元錯(cuò)誤并不相同.當(dāng)超時(shí)溢出發(fā)生時(shí),受到影響的單元會(huì)被重傳,而這次是它們被接收,確認(rèn),還原可能會(huì)成功.

責(zé)任編輯:佟健 來源: csdn
相關(guān)推薦

2009-12-01 13:41:49

靜態(tài)路由設(shè)置

2010-01-11 15:16:16

配置Cisco交換機(jī)

2010-07-21 14:33:01

刪除telnet

2009-12-18 09:37:44

路由器設(shè)置

2009-12-03 14:43:46

phpMyAdmin配

2009-12-21 14:34:37

2011-04-01 13:34:12

zabbix

2009-12-03 14:36:43

路由器限速設(shè)置

2010-03-09 12:23:30

Python編碼

2009-12-29 11:29:44

ADO庫

2010-08-05 16:30:13

Linux NFS

2010-04-23 13:53:29

Oracle密碼

2009-12-31 15:05:00

Silverlight

2009-12-16 15:04:26

Ruby實(shí)現(xiàn)strea

2009-12-31 14:12:40

Silverlight

2010-03-11 17:16:48

Python平臺(tái)

2009-10-21 14:27:12

Oracle用戶權(quán)限分

2010-06-30 15:11:51

創(chuàng)建FTP服務(wù)器

2009-12-09 10:26:51

靜態(tài)路由協(xié)議配置

2009-11-23 15:10:28

PHP獲取當(dāng)前url
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)