天天看點

ubuntu配置NFS,挂載開發闆

======================================

指令:

1. $sudo apt-get install nfs-kernel-server           (安裝NFS,Ubuntn上預設沒有安裝)

2. $showmount -e <Server Address>                    (檢視list)

3. $sudo mount <Server Address>:/<Path1>    /<Path2>  (從伺服器的Path1挂載到本地Path2)

====================================================

一、安裝NFS

# sudo apt-get install nfs-kernel-server

同時會有兩個軟體包nfs-common和portmap被安裝上

二.在/建立共享項目nfst 

# mkdir nfs_shared 

# chmod 777 -R nfs_shared/

保證使用者都能夠讀、寫、執行

三.修改NFS配置檔案

[email protected]:~$ vi /etc/exports

内容為:

     /home/nfst_shared     192.168.0.*(rw,sync,no_root_squash,no_subtree_check)

   其中:

     /home/nfst_shared  ---要共享的目錄

     192.168.0.*---允許通路的網段,也可以是ip位址、主機名(能夠被伺服器解析)、

               *(所有人都能通路)

     (rw,sync,no_root_squash,no_subtree_check)---

rw:讀/寫權限

                sync:資料同步寫入記憶體和硬碟

                no_root_squash:伺服器允許遠端系統以root特權存取該目錄

no_subtree_check:關閉子樹檢查

其他選項可以通過man exports查閱man文檔

四、啟動服務

重新開機portmapper(端口映射)服務

[email protected]:~$ sudo service portmap restart

portmap start/running, process 550

重新開機NFS服務

[email protected]:~$ sudo service nfs-kernel-server restart

 * Stopping NFS kernel daemon                                            [ OK ] 

 * Unexporting directories for NFS kernel daemon...                      [ OK ] 

 * Exporting directories for NFS kernel daemon...                        [ OK ] 

 * Starting NFS kernel daemon                                            [ OK ]

五、測試

1、測試Ubuntu nfs

  此時可以運作以下指令來顯示一下共享出來的目錄:

  $showmount -e

2、本機挂載

# ls /home/nfst_shared/   #被挂載的檔案夾下面的東西

cross-3.4.1.tar.bz2  linux-2.6.12        upload

download             msap                VMwareTools-8.1.3-203739.tar.gz

DSDT_2[1].8b.zip     ntp                 vmware-tools-distrib

DSDT_2.8b            protocol-converter  安裝包

# mkdir /mnt/nfs_test

# ls /mnt/nfs_test/   #空白的

# sudo mount -t nfs -o nolock localhost:/home/nfs_shared  /mnt/nfs_test/

# ls /mnt/nfs_test/    #看到了和/home/nfst_shared/目錄下的檔案一樣,說明挂載成功

cross-3.4.1.tar.bz2  linux-2.6.12        upload

download             msap                VMwareTools-8.1.3-203739.tar.gz

DSDT_2[1].8b.zip     ntp                 vmware-tools-distrib

DSDT_2.8b            protocol-converter  安裝包

# sudo umount /mnt/nfs_test  #解除

# ls /mnt/nfs_test/   #空白的

3、開發闆挂載

[email protected]:~$ telnet 192.168.0.25 2009

Trying 192.168.0.25...

Connected to 192.168.0.25.

Escape character is '^]'.

(none) login: root

Password: 

~ # mkdir /mnt/nfs_shared_client

~ # ls /mnt/nfs_shared_client/

~ # mount -t nfs -o nolock 192.168.0.26:/home/nfs_shared   /mnt/nfs_shared_client

~ # ls /mnt/nfs_shared_client/

cross-3.4.1.tar.bz2  linux-2.6.12        upload

download             msap                VMwareTools-8.1.3-203739.tar.gz

DSDT_2[1].8b.zip     ntp                 vmware-tools-distrib

DSDT_2.8b            protocol-converter  安裝包

~ # umount /mnt/nfs_shared_client

~ # ls /mnt/nfs_shared_client/

~ # 

六、挂載nfs檔案系統失敗的原因 1、nfs錯誤資訊 Too many levels of remote in path:試圖挂載一個存在的檔案系統 Permission denied:NFS伺服器不讓客戶機挂接,也可能是因為使用者在伺服器上不存在 No such host:通常是DNS配置錯誤 No such file or directory:通常是通路的目錄不存在 NFS server is not responding:通常是NFS已經超過負載或者NFS已經停止工作 Stale file handle:在NFS用戶端關閉之前用戶端通路的檔案被删除 Fake hostname:Forward和reverse的DNS記錄在NFS用戶端下不存在 2、挂載nfs檔案系統失敗的原因 (1)主機和網絡不通:看看網線連接配接、主機和開發闆ip是否在同一網段、防火牆有沒有關閉等。 不僅vmware中linux的防火牆要關閉,vmware外xp的防火牆也要關閉,我就因為xp中的eset防毒軟體的防火牆使nfs無法挂載(可以挂本機,無法挂遠端),折騰了一天,後來才發現是xp中的防火牆搞的鬼!

(2)使用的mount指令不正确。可以參照上面的例子改一下;或者 man nfs查閱一下nfs的man文檔,裡面有nfs中mount的使用介紹和選項解釋

(3)nfs配置檔案/etc/exports配置不正确。可以參照上面的例子改一下;或者 man exports查閱一下/etc/exports的man文檔

(4)必要時重新啟動NFS和portmap服務。 sudo service portmap restart sudo service nfs-kernel-server restart

(5)核心不支援NFS和RPC服務(可能需要重新配置、編譯、燒寫核心)。 普通的核心應有的選項為CONFIG_NFS_FS=m、CONFIG_NFS_V3=y、CONFIG_ NFSD=m、CONFIG_NFSD_V3=y和CONFIG_SUNRPC=m。 rpcinfo指令用于顯示系統的RPC資訊,一般使用-p參數列出某台主機的RPC服務。rpcinfo -p指令檢查伺服器時,應該能看到portmapper、status、mountd、nfs和nlockmgr。用該指令檢查用戶端時,應該至少能看到portmapper服務(開發闆可能不帶該指令)。 由rpcinfo -p可知,nfs使用的port為2049,portmapper使用111port。

五、nfs相關的配置檔案與指令 1、 /etc/exports NFS的主要配置檔案,不過系統并沒有預設值,是以這個檔案不一定會存在(需要自己建立)。

2、 /usr/sbin/exportfs 用于維護NFS共享資源的指令,用在nfs server端。修改/etc/exports後,隻要使用exportfs重新掃瞄一次 /etc/exports,重新将設定加載即可,并不一定要重新開機nfs服務 指令格式: exportfs [-aruv] 參數說明如下。 (1)-a:全部挂載或解除安裝(export or unexpect)/etc/exports檔案内的目錄。 (2)-r:重新挂載(reexport)/etc/exports中的目錄,并将/var/lib/nfs/etab中的内容與/etc/exports同步。 (3)-u:解除安裝某些目錄。 (4)-v:顯示exportfs處理資訊。

3、 /usr/sbin/showmount 用于檢視指定主機NFS共享出來的目錄資源,主要用在Client端。 指令格式: showmount [-ade] hostname/伺服器ip位址 參數說明如下。 (1)-a或-all:以host:dir格式顯示客戶主機名和挂載的目錄。 (2)-d或-directories:僅顯示被客戶挂載的目錄名。 (3)-e或-exports:顯示指定NFS伺服器的nfs共享目錄。

========================================

ubuntu配置NFS 

http://blog.sina.com.cn/s/blog_6524fd1f0100r4hm.html

Ubuntu配置NFS的Client端

http://hi.baidu.com/mvp_xuan/blog/item/5f467e58792c8d3d2834f0e2.html

Ubuntu配置網絡檔案共享伺服器NFS

http://www.ylmf.net/ubuntu/tips/201010267655.html