3 Linux下 NFS 客戶端的設置

轉載http://codingstandards.iteye.com/blog/816389 

3 Linux NFS 客戶端的設置

 

Unix/Linux系統把一切設備都當做文件來處理,NFS共享目錄的使用也不例外。此處假定NFS服務器地址爲192.168.6.55,共享目錄爲/vmsnfs。那麼在其他Linux機器如果要訪問這個共享目錄,首先要掛載(mount)此nfs共享目錄,比如也可以是/vmsnfs。這樣對於所有Linux機器上的程序都可以訪問/vmsnfs目錄下的文件或子目錄,如同這些文件就存儲在本機之上。

 

3.1 通過mount命令來設置

 

首先創建掛載點,就是Linux下一個普通目錄。

mkdir /vmsnfs

 

然後使用mount命令將nfs共享目錄掛載上來。

mount -t nfs 192.168.6.55:/vmsnfs /vmsnfs

 

如果不想再使用此nfs共享目錄,可以使用umount命令卸載掉。

umount /vmsnfs

 

這種方式使用nfs共享目錄有個問題,它是臨時的,重新啓動機器就會丟失。最好的方式是採用autofs來自動掛載。

 

3.2 使用autofs自動來設置

 

mount 是用來掛載文件系統的,可以在系統啓動的時候掛載也可以在系統啓動後掛載。對於本地固定設備,如硬盤可以使用mount掛載;而光盤、軟盤、 NFS、 SMB等文件系統具有動態性,即需要的時候纔有必要掛載。光驅和軟盤我們一般知道什麼時候需要掛載,但NFS和SMB共享等就不一定知道了,即我們一般不能及時知道NFS共享和SMB什麼時候可以掛載。而autofs服務就提供這種功能,好像windows中的光驅自動打開功能,能夠及時掛載動態加載的文件系統。免去我們手動掛載的麻煩。

 

創建/etc/auto.nas文件

在文件中添加一行

vmsnfs -rw,rsize=8192,wsize=8192,soft,intr 192.168.6.55:/vmsnfs

 

修改/etc/auto.master

添加一行

/nas /etc/auto.nas --timeout=0

注意:--timeout=0表明一旦掛載就不會自動被卸載(umount)。也可以指定一個別的正數,比如600,那麼如果600秒之內沒有使用nfs就會自動被卸載。如果沒有--timeout參數部分,則默認爲600秒(10分鐘),這個參數在/etc/sysconfig/autofs文件中可以用 TIMEOUT項指定。

 

將autofs服務設置爲開機自啓動

先使用chkconfig --list autofs檢查一下autofs服務是否已經設置爲自啓動了。

[root@sunrise17 ~]# chkconfig --list autofs

autofs          0:off   1:off   2:off   3:on    4:on    5:on    6:off

如果你發現輸出中全部爲off,使用chkconfig autofs on設置爲開機自啓動。

[root@sunrise17 ~]# chkconfig autofs on

注:autofs實際上是使用automount命令來處理的。

 

創建一個符號鏈接/vmsnfs指向/nas/vmsnfs

因爲通過上述autofs配置自動掛載的路徑爲/nas/vmsnfs,而實際需要的是/vmsnfs,所以需要創建一個符號鏈接來達到這個目的。

首先確認一下是否已經有/vmsnfs這樣的目錄或文件已經存在。如果有,先把它改成別的名稱,否則創建的符號鏈接可能變成了/vmsnfs/vmsnfs了。

[root@sunrise17 /]# ln -s /nas/vmsnfs /vmsnfs

[root@sunrise17 /]# ls -l /vmsnfs

lrwxrwxrwx 1 root root 11 Nov 18 18:21 /vmsnfs -> /nas/vmsnfs

使用mount命令不跟任何參數就可以看到系統所有掛載點的情況。

[root@sunrise17 /]# mount

/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/hdc1 on /boot type ext3 (rw)

tmpfs on /dev/shm type tmpfs (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

192.168.6.55:/vmsnfs on /nas/vmsnfs type nfs (rw,rsize=8192,wsize=8192,soft,intr,addr=192.168.6.55)

[root@sunrise17 /]# 

 

至此,在Linux下使用autofs來配置nfs客戶端的任務就完成了。

 

重新啓動機器之後再登錄,執行mount命令,會發現/nas/vmsnfs並沒有自動mount上來。如下所示:

[root@sunrise17 ~]# mount

/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/hdc1 on /boot type ext3 (rw)

tmpfs on /dev/shm type tmpfs (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

再訪問一下/vmsnfs,也就是間接訪問/nas/vmsnfs就會發現mount上來了。也就是說,使用autofs來自動掛載nfs文件系統時,只有首次使用之後纔會自動掛載上來。

[root@sunrise17 ~]# ls /vmsnfs

vms  vmsnfs  vox

[root@sunrise17 ~]# mount

/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/hdc1 on /boot type ext3 (rw)

tmpfs on /dev/shm type tmpfs (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

192.168.6.55:/vmsnfs on /nas/vmsnfs type nfs (rw,rsize=8192,wsize=8192,soft,intr,addr=192.168.6.55)

[root@sunrise17 ~]# 

 

通過上面的配置之後,重啓系統之後,autofs會根據需要來自動掛載nfs共享目錄。如果--timeout參數配置爲正數,在不需要時會自動卸載,釋放掉不必要的資源,而通過手工方式來掛載達不到這個效果。

 

3.3 在Linux下使用NFS客戶端會碰到的問題

 

Q:使用touch創建文件時,怎麼報“Permission denied”或“權限不夠”錯誤?

A:檢查NFS服務端的共享目錄,看屬主和組是否爲nfsnobody。如果不是,更改之,如下所示:(在NFS服務端所在系統上操作)

chown -R nfsnobody /vmsnfs

chgrp -R nfsnobody /vmsnfs

chown -R nfsnobody:nfsnobody /vmsnfs

 

Q:怎麼看共享目錄的磁盤空間佔用情況?

A:Linux會把掛載的共享目錄當做一個文件系統,可以使用df來查看磁盤空間的佔用情況。

[root@sunrise17 ~]#  df

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

                     941082332   2767796 889739256   1% /

/dev/hdc1               101086     12166     83701  13% /boot

tmpfs                  2069260         0   2069260   0% /dev/shm

192.168.6.55:/vmsnfs  54659136  46256872   5580944  90% /nas/vmsnfs

 

Q:在文件服務器重啓之後,客戶端已經使用mount掛載的nfs共享目錄還能繼續正常訪問嗎?

A:有待試驗。


Q:在文件服務器重啓之後,客戶端已經使用autofs掛載的nfs共享目錄還能繼續正常訪問嗎?

A:有待試驗。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章