生活随笔
收集整理的這篇文章主要介紹了
Linux 下 NFS服务的搭建
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
NFS是Network File System的簡寫,即網(wǎng)絡(luò)文件系統(tǒng)。
?? 網(wǎng)絡(luò)文件系統(tǒng)是許多操作系統(tǒng)都支持的文件系統(tǒng)中的一種,也被成為NFS。NFS允許一個系統(tǒng)在網(wǎng)絡(luò)上與他人共享目錄和文件。通過使用NFS,用戶可以像訪問本地文件一樣訪問遠(yuǎn)端系統(tǒng)上的文件。
?? NFS所提供的共享文件服務(wù)是建議在高度信任的基礎(chǔ)上的,所以,向其他用戶釋放共享資源之前,一定要確保對方的可靠性。
?? NFS的應(yīng)用:在我們嵌入式開發(fā)過程中,NFS是一個重要環(huán)節(jié),我們常常·把“根文件”系統(tǒng)放在主機上,然后在開發(fā)板啟動的時候通過NFS來掛載主機上的根文件系統(tǒng)。這樣省去了每次都要把文件系統(tǒng)燒寫到存儲設(shè)備上的步驟,可以說比tftp更方便。
下面我們將以Ubuntu為例,講解一下NFS的配置過程:
Server: PC
CLient : ARM(這里博主是用同一臺機器模擬的,主要是安裝過程)
一、配置服務(wù)器端??????????????????????????????????????????
使用sudo apt-get install nfs-kernel-server命令,安裝NFS服務(wù)器程序軟件包。
[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允許掛載的目錄和權(quán)限在文件/etc/exports 中記性了定義。配置NFS服務(wù)器的關(guān)鍵也就是配置這些文件。
[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 是要共享的目錄,這里必須用絕對路徑;
* 代表允許所有的網(wǎng)絡(luò)段訪問;當(dāng)然這里也可以/home/fs/qiang? 192.168.3.51(rw)? 設(shè)置允許訪問的IP地址;
insecure:NFS通過1024以上的端口發(fā)送;
rw是可讀可寫權(quán)限;
async是NFS在寫入數(shù)據(jù)前可以相應(yīng)請求;
root_squash 是 root 用戶具有根目錄的完全管理訪問權(quán)限;
當(dāng)然,這里參數(shù)還有好多,大家可以查閱下資料;
?
三、手動啟停NFS服務(wù)
1、啟動NFS服務(wù)
[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服務(wù)
[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服務(wù)
[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服務(wù)當(dāng)前狀態(tài)
[cpp]?view plaincopy
fs@ubuntu:~$?sudo?/etc/init.d/nfs-kernel-server??status?? nfsd?running?? fs@ubuntu:~$???
四、查看NFS服務(wù)器的共享資源
[cpp]?view plaincopy
fs@ubuntu:~$?showmount?-e?192.168.3.51?? Export?list?for?192.168.3.51:?? /home/fs/qiang?(everyone)?? fs@ubuntu:~$???
?
五、掛載共享資源
這里應(yīng)該在客戶端那兒執(zhí)行,使用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是服務(wù)端的IP地址;
/home/fs/qiang 是服務(wù)端的共享目錄;
/mnt/nfs是掛載點,是客戶端的目錄;
?當(dāng)客戶端使用mount命令講NFS服務(wù)器上的到處文件系統(tǒng)掛載到本地后,接下來對掛載的文件系統(tǒng)的操作與使用本地文件系統(tǒng)沒有任何區(qū)別。
?
六、卸載共享資源
[cpp]?view plaincopy
fs@ubuntu:~$?sudo?umount?/mnt/nfs??
需要說明的是,當(dāng)有用戶正在使用某個已加載的共享目錄上的文件時,則不能卸載該文件系統(tǒng),如果用戶確認(rèn)無誤,可以使用“umount -f”命令強行卸載共享的目錄。
總結(jié)
以上是生活随笔為你收集整理的Linux 下 NFS服务的搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。