Ubuntu下配置NFS伺服器和客戶端

2021-06-06 19:48:50 字數 2605 閱讀 1257

ubuntu下配置nfs伺服器和客戶端 

安裝環境

ubuntu 8.04 (hardy)

安裝nfs伺服器

$ sudo apt-get install nfs-kernel-server nfs-common portmap

$ sudo vi /etc/default/portmap

或者$ sudo dpkg-reconfigure portmap

編輯完後重啟portmap

$ sudo /etc/init.d/portmap restart

nfs伺服器配置

nfs的輸出是通過/etc/exports這個配置檔案控制的. 每一行以要輸出的目錄的絕對路徑開始,後跟允許訪問的客戶端,以空白分隔符分開(tab)。

一些exports檔案的quick examples:

允許乙個網段上的所有機器都有完全讀寫許可權

/files 192.168.1.1/24(rw,no_root_squash,async)

只允許單台機器以唯讀許可權訪問

/files 192.168.1.2 (ro,async)

客戶端可以使用主機明或者ip位址指定。在主機名中可以使用萬用字元(*),ip位址後也可以跟掩碼段(/24),但出於安全原因這種情況應該盡量避免。

客戶端的說明後可在圓括號中加入一系列引數。注意,很重要的一點,不要在最後乙個客戶端宣告的後面留下任何空白或者沒關閉括號,因為空白都被解釋成客戶端的分隔符。

常用引數:

ro:唯讀訪問

rw:讀寫訪問

sync:所有資料在請求時寫入共享

async:nfs在寫入資料前可以相應請求

secure:nfs通過1024以下的安全tcp/ip埠傳送

insecure:nfs通過1024以上的埠傳送

wdelay:如果多個使用者要寫入nfs目錄,則歸組寫入(預設)

no_wdelay:如果多個使用者要寫入nfs目錄,則立即寫入,當使用async時,無需此設定。

hide:在nfs共享目錄中不共享其子目錄

no_hide:共享nfs目錄的子目錄

subtree_check:如果共享/usr/bin之類的子目錄時,強制nfs檢查父目錄的許可權(預設)

no_subtree_check:和上面相對,不檢查父目錄許可權

all_squash:共享檔案的uid和gid對映匿名使用者anonymous,適合公用目錄。

no_all_squash:保留共享檔案的uid和gid(預設)

root_squash:root使用者的所有請求對映成如anonymous使用者一樣的許可權(預設)

no_root_squas:root使用者具有根目錄的完全管理訪問許可權

anonuid=***:指定nfs伺服器/etc/passwd檔案中匿名使用者的uid

anongid=***:指定nfs伺服器/etc/passwd檔案中匿名使用者的gid 

重啟nfs服務

$ sudo /etc/init.d/nfs-kernel-server restart

如果在執行nfs服務的時候修改了/etc/exports,可執行下面命令讓配置生效

$ sudo exportfs -a

安裝nfs客戶端支援

$ sudo apt-get install portmap nfs-common

這會安裝所有nfs客戶端需要的包

手動掛載

舉例說明,要掛載server.mydomain.com:/files到本機的/files資料夾。server.mydomian.com是提供nfs 共享服務的伺服器名,files是nfs伺服器上共享的資料夾名,掛載點/files必須在客戶端機器上存在,如沒有需要手動建立

建立掛載點

$ sudo mkdir files

掛載$ sudo mount server.mydomain.com:/files /files

完成後即可在客戶端訪問nfs伺服器上共享的資料夾

重啟nfs服務

$ sudo /etc/init.d/portmap restart

$ sudo /etc/init.d/nfs-common restart

使用/etc/fstab實現自動掛載

$ sudo gedit /etc/fstab

舉例:server.mydomain.com:/files /files nfs rsize=8192,wsize=8192,timeo=14,intr

你可以根據你的實際情況修改nfs伺服器共享資料夾「servername.mydomain.com:/files」和在本機的掛載點「/files」.

nfs常見掛載引數:

timeo:  如果超時,客戶端等待的時間,以十分之一秒計算

retrans: 超時嘗試的次數。

bg:    後台掛載,很有用

hard:   如果server端沒有響應,那麼客戶端一直嘗試掛載

wsize:  寫塊大小

rsize:  讀塊大小

intr:   可以中斷不成功的掛載

noatime: 不更新檔案的inode訪問時間,可以提高速度

async:  非同步讀寫

nfs防火牆埠 

測試$ mount /files

看看掛載成功與否

Ubuntu 配置NFS伺服器

nfs network file system 即網路檔案系統,是freebsd支援的檔案系統中的一種,它允許網路中的計算機之間通過tcp ip網路共享資源。在nfs的應用中,本地nfs的客戶端應用可以透明地讀寫位於遠端nfs伺服器上的檔案,就像訪問本地檔案一樣。sudo apt install n...

Ubuntu下搭建nfs伺服器

nfs分伺服器和客戶機,當使用遠端檔案時只要用mount命令就可把遠端nfs伺服器 ubuntu系統 上的檔案系統掛載在本地檔案系統之下,操作遠端檔案與操作本地檔案沒有不同。nfs伺服器所共享檔案或目錄記錄在 etc exports檔案中。嵌入式linux開發中,會經常使用nfs,目標系統 開發板a...

ubuntu 下安裝nfs伺服器

最近一直在用ubuntu系統,感覺不錯,今天發現ubuntu沒有安裝nfs,下面是nfs的安裝過程 1.sudo apt get install nfs kernel server 2修改配置檔案,我設定的共享目錄是 home administrator public vi etc exports ...