天天看點

虛拟機ubuntu10.04挂載nfs

一、環境

        虛拟機:VMware 7.0

        Linux系統:Ubuntu10.04

        PC機作業系統:WindowsXP

        客戶機端 :ARM9開發闆(freescale iMx27)

二、安裝NFS伺服器程式

       apt-get install nfs-kernel-server

       apt-get install nfs-common

       也可以使用Synaptic(新立得)軟體包管理器安裝,搜尋“nfs”,選擇軟體包"nfs-kernel- server"項進行安裝即可,安裝過程中預設啟動SUNRPC服務和nfs服務,并建立/etc/exports和、etc /default/nfs-kernel-server配置檔案,等待使用者完成nfs安裝後,配置将要共享的資源,可以使用netstat -tl指令檢查nfs端口是否已經打開;

三、 配置portmap

方法1: 編輯/etc/default/portmap, 将 -i 127.0.0.1 去掉.

方法2: $ sudo dpkg-reconfigure portmap , 對Should portmap be bound to the loopback address? 選N.

配置/etc/hosts.deny

(禁止任何host(主機)能和你的NFS伺服器進行NFS連接配接),加入:

### NFS DAEMONS

portmap:ALL

lockd:ALL

mountd:ALL

rquotad:ALL

statd:ALL

配 置/etc/hosts.allow

允許那些你想要的主機和你的NFS伺服器建立連接配接。下列步驟将允許任何IP位址以192.168.197開頭的主機(連 接到NFS伺服器上),也可以指定特定的IP位址。參看man頁 hosts_access(5), hosts_options(5)。加入:

### NFS DAEMONS

portmap: 10.176.28.

lockd: 10.176.28.

rquotad: 10.176.28.

mountd: 10.176.28.

statd: 10.176.28.

/etc/hosts.deny 和 /etc/hosts.allow 設定對portmap的通路. 采用這兩個配置檔案有點類似"mask"的意思. 現在/etc/hosts.deny中禁止所有使用者對portmap的通路. 再在/etc/hosts.allow 中允許某些使用者對portmap的通路.

運作 $ sudo /etc/init.d/portmap restart 重新開機portmap daemon.

配置/etc/exports

NFS挂載目錄及權限由/etc/exports檔案定義

比如我要将将我的home目錄中的/home/wjd/qte目錄讓10.176.28.*的IP共享, 則在該檔案末尾添加下列語句:

          /home/wjd/work    10.176.28.* (rw,sync,no_root_squash)

10.176.28.* 網段内的NFS用戶端能夠共享NFS伺服器/home/wjd/work目錄内容.且有讀,寫權限, 并且該使用者進入/home/zp/share目錄後的身份為root

最好加上sync, 否則 $ sudo exportfs -r 時會給出警告, sync是NFS的預設選項.

(運作 $ showmount -e 檢視NFS server的export list.

若更改了/etc/exports, 運作 $ sudo exportfs -r 更新

運作 $ sudo /etc/init.d/nfs-kernel-server restart 重新開機nfs服務)

四.配置IP位址

1.配置主機IP位址:将PC主機IP位址設定為靜态IP:10.176.28.249 Mask:255.255.255.0;Gateway:10.176.28.1

2.配置VMware:

将VMware的網絡連接配接設定成橋接方式, 在VMware->Settings->Network Adapter->bridged,選上。Device status的連接配接全部選上。

3.配置Ubuntu

将Ubuntu也設定成靜态IP,IP位址與主機PC在同一個網段内,為:10.176.28.248

4、配置開發闆IP位址

開發闆IP位址設定為:10.176.28.247,與主機PC、Ubuntu都在同一網段内

測試一下,互相ping一下,看網絡是否連通

五、測試nfs

1、Ubuntu本機測試

#sudo mount 10.176.28.248:/home/wjd/work /mnt/nfs

2、開發闆測試

#mount -t nfs -o nolock 10.176.28.248:/home/wjd/work /mnt/nfs

若出現錯誤為:

  portmap: server localhost not responding, timed out

 解決辦法:

  mount -t nfs -o nolock node1:/public /public

 即增加-o nolock參數,原因:

 Unfsd doesn't support NLM locking, and it's causing the lockd daemon to be started (which again requires the portmapper to be installed etc.)

繼續閱讀