生活随笔
收集整理的這篇文章主要介紹了
Linux 下 NFS服务的搭建
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
NFS是Network File System的簡寫,即網絡文件系統。
?? 網絡文件系統是許多操作系統都支持的文件系統中的一種,也被成為NFS。NFS允許一個系統在網絡上與他人共享目錄和文件。通過使用NFS,用戶可以像訪問本地文件一樣訪問遠端系統上的文件。
?? NFS所提供的共享文件服務是建議在高度信任的基礎上的,所以,向其他用戶釋放共享資源之前,一定要確保對方的可靠性。
?? NFS的應用:在我們嵌入式開發過程中,NFS是一個重要環節,我們常常·把“根文件”系統放在主機上,然后在開發板啟動的時候通過NFS來掛載主機上的根文件系統。這樣省去了每次都要把文件系統燒寫到存儲設備上的步驟,可以說比tftp更方便。
下面我們將以Ubuntu為例,講解一下NFS的配置過程:
Server: PC
CLient : ARM(這里博主是用同一臺機器模擬的,主要是安裝過程)
一、配置服務器端??????????????????????????????????????????
使用sudo apt-get install nfs-kernel-server命令,安裝NFS服務器程序軟件包。
[cpp]?view plaincopy
fs@ubuntu:~$?sudo?apt-get?install?nfs-kernel-server??? [sudo]?password?for?fs:??? Reading?package?lists...?Done?? Building?dependency?tree????????? Reading?state?information...?Done?? nfs-kernel-server?is?already?the?newest?version.?? 0?upgraded,?0?newly?installed,?0?to?remove?and?120?not?upgraded.?? fs@ubuntu:~$???
博主這里以前安裝好了NFS
二、配置NFS資源
?????? NFS允許掛載的目錄和權限在文件/etc/exports 中記性了定義。配置NFS服務器的關鍵也就是配置這些文件。
[cpp]?view plaincopy
fs@ubuntu:~$?cat?/etc/exports?? #?/etc/exports:?the?access?control?list?for?filesystems?which?may?be?exported?? #???????to?NFS?clients.??See?exports(5).?? #?? #?Example?for?NFSv2?and?NFSv3:?? #?/srv/homes???????hostname1(rw,sync,no_subtree_check)?hostname2(ro,sync,no_subtree_check)?? #?? #?Example?for?NFSv4:?? #?/srv/nfs4????????gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)?? #?/srv/nfs4/homes??gss/krb5i(rw,sync,no_subtree_check)?? #?? /home/fs/qiang??192.168.3.51(rw)?? /home/fs/qiang??*(insecure,rw,async,root_squash)?? fs@ubuntu:~$???
其中/home/fs/qiang 是要共享的目錄,這里必須用絕對路徑;
* 代表允許所有的網絡段訪問;當然這里也可以/home/fs/qiang? 192.168.3.51(rw)? 設置允許訪問的IP地址;
insecure:NFS通過1024以上的端口發送;
rw是可讀可寫權限;
async是NFS在寫入數據前可以相應請求;
root_squash 是 root 用戶具有根目錄的完全管理訪問權限;
當然,這里參數還有好多,大家可以查閱下資料;
?
三、手動啟停NFS服務
1、啟動NFS服務
[cpp]?view plaincopy
fs@ubuntu:~$?sudo?/etc/init.d/nfs-kernel-server??start?? ?*?Exporting?directories?for?NFS?kernel?daemon...????????????????????????exportfs:?/etc/exports?[1]:?Neither?'subtree_check'?or?'no_subtree_check'?specified?for?export?"192.168.3.51:/home/fs/qiang".?? ??Assuming?default?behaviour?('no_subtree_check').?? ??NOTE:?this?default?has?changed?since?nfs-utils?version?1.0.x?? ?? exportfs:?/etc/exports?[2]:?Neither?'subtree_check'?or?'no_subtree_check'?specified?for?export?"*:/home/fs/qiang".?? ??Assuming?default?behaviour?('no_subtree_check').?? ??NOTE:?this?default?has?changed?since?nfs-utils?version?1.0.x?? ?? ??????????????????????????????????????????????????????????????????[?OK?]?? ?*?Starting?NFS?kernel?daemon?????????????????????????????????????[?OK?]??? fs@ubuntu:~$?sudo?/etc/init.d/nfs-kernel-server??start??
2、停止NFS服務
[cpp]?view plaincopy
fs@ubuntu:~$?sudo?/etc/init.d/nfs-kernel-server??stop?? ?*?Stopping?NFS?kernel?daemon?????????????????????????????????????[?OK?]??? ?*?Unexporting?directories?for?NFS?kernel?daemon...???????????????[?OK?]??? fs@ubuntu:~$???
3、重新啟動NFS服務
[cpp]?view plaincopy
fs@ubuntu:~$?sudo?/etc/init.d/nfs-kernel-server??restart?? ?*?Stopping?NFS?kernel?daemon?????????????????????????????????????[?OK?]??? ?*?Unexporting?directories?for?NFS?kernel?daemon...???????????????[?OK?]??? ?*?Exporting?directories?for?NFS?kernel?daemon...????????????????????????exportfs:?/etc/exports?[1]:?Neither?'subtree_check'?or?'no_subtree_check'?specified?for?export?"192.168.3.51:/home/fs/qiang".?? ??Assuming?default?behaviour?('no_subtree_check').?? ??NOTE:?this?default?has?changed?since?nfs-utils?version?1.0.x?? ?? exportfs:?/etc/exports?[2]:?Neither?'subtree_check'?or?'no_subtree_check'?specified?for?export?"*:/home/fs/qiang".?? ??Assuming?default?behaviour?('no_subtree_check').?? ??NOTE:?this?default?has?changed?since?nfs-utils?version?1.0.x?? ?? ??????????????????????????????????????????????????????????????????[?OK?]?? ?*?Starting?NFS?kernel?daemon?????????????????????????????????????[?OK?]??? fs@ubuntu:~$???
4、查看NFS服務當前狀態
[cpp]?view plaincopy
fs@ubuntu:~$?sudo?/etc/init.d/nfs-kernel-server??status?? nfsd?running?? fs@ubuntu:~$???
四、查看NFS服務器的共享資源
[cpp]?view plaincopy
fs@ubuntu:~$?showmount?-e?192.168.3.51?? Export?list?for?192.168.3.51:?? /home/fs/qiang?(everyone)?? fs@ubuntu:~$???
?
五、掛載共享資源
這里應該在客戶端那兒執行,使用mount命令
[cpp]?view plaincopy
fs@ubuntu:~$?sudo?mount?-t?nfs?192.168.3.51:/home/fs/qiang?/mnt/nfs?? fs@ubuntu:~$??
-t 指類型,這里是NFS;
192.168.3.51是服務端的IP地址;
/home/fs/qiang 是服務端的共享目錄;
/mnt/nfs是掛載點,是客戶端的目錄;
?當客戶端使用mount命令講NFS服務器上的到處文件系統掛載到本地后,接下來對掛載的文件系統的操作與使用本地文件系統沒有任何區別。
?
六、卸載共享資源
[cpp]?view plaincopy
fs@ubuntu:~$?sudo?umount?/mnt/nfs??
需要說明的是,當有用戶正在使用某個已加載的共享目錄上的文件時,則不能卸載該文件系統,如果用戶確認無誤,可以使用“umount -f”命令強行卸載共享的目錄。
總結
以上是生活随笔為你收集整理的Linux 下 NFS服务的搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。