- 論壇徽章:
- 0
|
所有的測試環(huán)境都是sun的solaris系統(tǒng)。 \r\n\r\n1、理解nfs服務(wù)器和客戶端功能。 \r\n\r\n nfs是sun公司來建立來使用tcp/ip協(xié)議以及sun的遠(yuǎn)程調(diào)用和外部數(shù)據(jù)表示規(guī)范的產(chǎn)品。nfs的使用非常方便,也比較可靠。他具有在不同操作系統(tǒng)之間共享文件的能力。 \r\n nfs服務(wù)器可以使用nfs來讓其他遠(yuǎn)程機器共享它的本地資源。nfs客戶機是訪問nfs服務(wù)器的共享資源的機器。其實在實際工作中,一臺主機即可以是nfs服務(wù)器,也可以是nfs客戶機。他們可以互相共享和訪問。 \r\n 只要你能理解nfs服務(wù)器和nfs客戶機之間的不同。剩下的就很easy了。 \r\n\r\n2、 nfs服務(wù)器和nfs客戶機區(qū)別。 \r\n2、1 solaris使用分布式文件系統(tǒng)或dfs命令公享資源。公享資源可以手動和自動設(shè)置。 \r\n nfs服務(wù)器運行兩個守侯進(jìn)程:mountd 和 nfsd。 \r\n 用到的文件是: \r\n /etc/rc3.d/S15nfs.server \r\n /etc/dfs/dfstab \r\n /etc/dfs/sharetab \r\n /etc/rmtab \r\n nfs服務(wù)器使用命令是:share unshare shareall unshareall \r\n\r\n nfs客戶機上運行的守侯進(jìn)程是:statd 和 lockd。 \r\n 用到的文件是: \r\n /etc/vfstab \r\n /etc/mnttab \r\n nfs客戶機使用命令是:mount umount mountall umountall \r\n \r\n2、2 nfs服務(wù)器設(shè)置 \r\n nfs服務(wù)器需要運行兩個守侯進(jìn)程mountd和nfsd來工作。當(dāng)nfs客戶機試圖訪問一個遠(yuǎn)程的nfs服務(wù)器資源。nfs客戶機通過mount命令請求與 nfs服務(wù)器的mountd守侯進(jìn)程進(jìn)行連接。當(dāng)nfs服務(wù)器響應(yīng)客戶機時候,返回給可戶機一個信息?蛻魴C把這個信息寫到本地的/etc/mnttab文件中。這個信息是服務(wù)器中共享文件和目錄的信息。它是資源信息的編碼:磁盤設(shè)備號、節(jié)點生成號、節(jié)點號等。這個是唯一的。 \r\n 一旦可戶機得到請求信息,nfs服務(wù)器上的mountd進(jìn)程就會在服務(wù)器本地的/etc/rmtab文件中添加一條信息。這是為了保持對當(dāng)前加載可戶機上文件的跟蹤。這個文件為每一個被加載資源添加一個條目,格式是: \r\n remote hostname: local filename name \r\n\r\n注意:mountd每一次重新啟動和可戶機發(fā)一個卸載請求,都會更新服務(wù)器的/etc/rmtab文件中的舊條目。 \r\n\r\n2、3 共享設(shè)置命令。 \r\n 明白了以上的道理,下面說具體的操作了。nfs服務(wù)器使用/usr/sbin/share命令為客戶機共享資源。 \r\n 命令詳解: \r\n # share ---顯示所有可以安裝的資源,不管它是否已經(jīng)被安裝。 \r\n # share [ -F filesystem ] [ -o options ] [-d description ] pathname-to-resource \r\n ---指定共享文件。 \r\n * -F file system type 指定被公享的文件系統(tǒng)類型。 \r\n * -o options 指定客戶對資源訪問的類型。 \r\n * -d description 功享資源的簡單描述。當(dāng)你share命令不帶任何參數(shù)運行,他就會被顯示。 \r\n * pathname-to-resource 在服務(wù)器上共享的資源名字。 \r\n------------------------------------------------------ \r\n *-o 指定了允許客戶訪問共享資源的用戶也權(quán)限。具體如下: \r\n rw 表示用戶可讀/寫,是默認(rèn)植。 \r\n rw=client1:client2 指定用戶可以有讀/寫權(quán)限?梢杂泻芏嘤脩,用冒號分隔。 \r\n ro 表示只讀。 \r\n ro=client1:client2 指定用戶client1和client2只讀。client1可以是用戶名,也可以是ip地址,或者一個網(wǎng)段。例如:ro=@202.99.88.0/24 \r\n root=client:client2 指定client1和client2上的root用戶對共享資源有超級用戶的權(quán)限。但是,他的優(yōu)先級小于nfs服務(wù)器的本地權(quán)限。 \r\n \r\n 例如:用戶peng有個目錄/exprot/home/games要共享。 \r\n # share -F nfs -o rw=lnx3000:race , ro=@202.88.99.0/24:sune450 ,root=mmmmn -d \"i love MM !\" /export/home/peng/games \r\n 運行結(jié)果:共享/exprot/home/peng/games目錄,名字是lnx3000和race的兩臺主機有讀/寫權(quán)限;202.88.99.0這個c類網(wǎng)的機器和sun450這個主機只有讀的權(quán)限;mmmmn這臺主機的root用戶可以對共享資源有超級用戶訪問權(quán)限。但是聲名一點,要是我給共享目錄/exprot/home/peng/games目錄只讀,mmmmn的root權(quán)限也沒有用,只能只讀。因為服務(wù)器本地權(quán)限大于任何share的權(quán)限。。 \r\n \r\n 取消share資源。 \r\n # unshare [ -F nfs ] path-to-resource \r\n * -F nfs 指定系統(tǒng)類型,默認(rèn)。 \r\n * path-to-resource 指定共享路徑。 \r\n 例如: \r\n # unshare /export/home/peng/games \r\n 取消這個共享資源了。 \r\n\r\n2、4 開機自動共享資源。 \r\n 以上的命令方法,在機器重新啟動的時候,設(shè)置消失。如何保留和開機自動啟動nfs共享。我們可以用/etc/dfs/dfstab文件來實現(xiàn)自動共享文件。只要主機啟動進(jìn)入運行級別3,nfs資源共享自動啟動。 \r\n 1、編輯/etc/dfs/dfstab文件,添加: \r\n share [ -F filesystem ] [ -o options ] [-d description ] pathname-to-resource \r\n -----這個和命令行是一樣的。。。 \r\n 2、# /etc/init.d/nfs.server start \r\n 這樣就ok了。 \r\n \r\n 3、手工快速命令。 \r\n # shareall --共享所有列在/etc/dfs/dfstab中的共享資源。 \r\n # unshareall --取消所有列在/etc/dfs/dfstab中的共享資源。 \r\n\r\n2、5 資源查看。 \r\n # dfshares \r\n 用以查看服務(wù)器的共享資源 。輸入格式如下: \r\n resource server access transprot \r\n * resource 可被遠(yuǎn)程調(diào)用的資源的主機和路徑名。 \r\n * server 指定資源的系統(tǒng)名稱。 \r\n * access 服務(wù)器指定的權(quán)限,默認(rèn)是rw,顯示為“-”。 \r\n * transport 指定共享資源的端口。 \r\n\r\n # dfmounts命令 \r\n 顯示服務(wù)器上查看共享資源被利用的狀況,輸出格式如下: \r\n RESOURCE SERVER PATHNAME CLIENTS \r\n * resource 共享資料名稱。 \r\n * server pathname 共享資料目錄。 \r\n * client 連接的客戶端。 \r\n\r\n # nfsstat \r\n 看nfs的全部狀態(tài) \r\n\r\n3、nfs客戶機設(shè)置。 \r\n 安裝好nfs服務(wù)器后,就可以用客戶端使用共享資料了。首先要檢測nfs服務(wù)器,然后安裝。 \r\n\r\n3、1 檢測nfs服務(wù)器。 \r\n # showmount [ -ade ] <hostname>; \r\n * -a 顯示已經(jīng)已經(jīng)使用的資源和來自哪個nfs服務(wù)器。 \r\n * -d 顯示已經(jīng)被遠(yuǎn)程安裝的資源。 \r\n * -e 顯示可以被安裝的可以資源。一般用-e來查看遠(yuǎn)程主機的可以資源。 \r\n\r\n3、2 建立共享。 \r\n # mount [ -F nfs ] [ -o options ] path-to-resource path-to-local-mount-point \r\n * -F nfs 指定共享文件系統(tǒng),默認(rèn)的。沒必要指定。 \r\n * -o options 指定選項,例如權(quán)限。默認(rèn)rw,可讀/寫。也可以ro--只讀。 \r\n * path-to-rescource 指定nfs服務(wù)器的主機名和共享資源路徑。 \r\n * path-to-local-mount-point 指定共享資源在本地的mount點。 \r\n \r\n 例如: \r\n # mkdir /export/home/games \r\n # mount peng:/export/home/peng/games /exprot/home/games \r\n 共享遠(yuǎn)程主機peng的/export/home/peng/games目錄,可讀寫,掛接在本地的/exprot/home/games目錄上。 \r\n\r\n3、3取消共享。 \r\n# umount [-F nfs] remote-path-to-resource path-to-local-mount-point \r\n* -F nfs 默認(rèn)的文件系統(tǒng)。 \r\n* remote-path-to-resource 遠(yuǎn)程主機和共享目錄路徑,主機和共享目錄路徑用冒號分隔。 \r\n* path-to-local-mount-point 本地主機掛點。 \r\n\r\n例如: \r\n# umount peng:/export/home/peng/games /export/home/games \r\n取消遠(yuǎn)程主機peng上的/exprot/home/peng/games這個目錄的在本地/export/home/games上的共享。 \r\n\r\n3、4 系統(tǒng)開機自動共享。 \r\n 修改/etc/vfstab文件,格式如下: \r\ndevice to mount device to fsck mount point FS type fsck pass mount at boot mount options \r\n\r\n* device to mount 指定遠(yuǎn)程服務(wù)器名和共享路徑。遠(yuǎn)程服務(wù)器名和共享路徑用冒號分開。 \r\n* device to fsck 這個是空的。從來不從客戶機進(jìn)行文件檢測。 \r\n* mount point 指定本地的mount點。這個目錄必須是已經(jīng)存在的。 \r\n* FS type 對于nfs資源系統(tǒng)來說,當(dāng)然是nfs了。 \r\n* fsck pass 這個也是空的。表示不從客戶機進(jìn)行文件系統(tǒng)檢測。 \r\n* mount at boot 選擇yes or no,yes就是啟動時自動安裝。 \r\n* mount options 用逗號分隔的mount命令的列表。 \r\n\r\n例如: \r\n # vi /etc/vfstab 添加: \r\n peng:/export/home/peng/games - /export/home/games nfs - yes soft,bg \r\n\r\n表示開機自動把遠(yuǎn)程主機peng的/export/home/peng/games目錄自動掛到本機的/export/home/games下。soft選項是目錄不能安裝,產(chǎn)生一個錯誤。bg選項,系統(tǒng)啟動過程中安裝在后臺。 \r\n關(guān)于mount options的參數(shù),請用 man mount 自己看看吧。 \r\n \r\n 3、5 手工調(diào)試命令。 \r\n# mountall \r\n 不帶任何參數(shù),安裝所有列在/etc/vfstab文件中mount at boot中為yes的資源。 \r\n# mountall -r 只影響遠(yuǎn)程文件 \r\n# mountall -l 只影響本地文件 \r\n\r\n# umountall \r\n 不帶任何參數(shù),謝載已經(jīng)安裝的資源。不包括/ 、/proc、/usr、/var。另外,系統(tǒng)忙,也可能不會卸載。 \r\n# umountall -r 只影響遠(yuǎn)程文件 \r\n# umountall -l 只影響本地文件 \r\n\r\n小節(jié): \r\n 到這里我想應(yīng)該沒有什么問題了。 \r\n 大家只要注意一下客戶端和服務(wù)器端的區(qū)分。 \r\n nfs服務(wù)器端運行守侯進(jìn)程mound、nfsd \r\n nfs服務(wù)器端使用文件/etc/dfs/dfstab、/etc/dfs/sharetab、/etc/rmtab \r\n nfs服務(wù)器使用命令是:share unshare shareall unshareall \r\n \r\n nfs客戶端運行守侯進(jìn)程statd、lockd。 \r\n 用到的文件是/etc/vfstab、/etc/mnttab \r\n nfs客戶機使用命令是:mount umount mountall umountall \r\n 知道這些,就ok了。 \r\n\r\nFAQ : \r\n1、運行mount命令不能得到共享資源,得到信息:“nfs server not responding”。 \r\nanswer:確信服務(wù)器上nfsd和mountd已經(jīng)運行,資源已經(jīng)用共享命令正確共享。 \r\n2、當(dāng)我企圖共享到本地磁盤時,錯誤為:“mount:/tmp_mount not found”. \r\nanswer: 你有沒有在本地創(chuàng)建mount點。。。 |
|