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 ...