簡介
網絡文件系統(NFS)可以同時在版本2、3、4中運行。NFS版本4(NFSv4)在NFSv2和NFSv3。我最喜歡的改進是:
NFSv4使配置防火墻變得簡單,因為NFSv4僅使用一個端口(默認為2049),而NFSv2和NFSv3使用4個隨機更改的端口
NFSv4 NFSv2和NFSv3不提供Kerberos時,它提供了強大的安全性。因此,將NFS服務器配置為僅在版本4中運行并禁用NFSv2和NFSv3是有利的。
完成此說明后,您可能會對學習如何使用自動掛載程序感興趣。
Scope
此說明將顯示:
如何安裝NFSv4服務器
如何啟用配置NFSv4服務器
如何禁用NFSv2和NFSv3
如何運行NFSv4服務器
如何測試NFSv4服務器
此說明將不會顯示:
如何配置NFSv2和NFSv3服務器
如何實現NFS客戶端
如何啟用Kerberos
我的系統規范
Linux rpipro 3.18.7+#755 PREEMPT,星期四2月12日17:14:31 GMT 2015 armv6l GNU/Linux
步驟1:安裝NFS
在Raspberry Pi中打開終端模擬器
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade
安裝NFS
sudo apt-get install nfs-common nfs-kernel-server
步驟2:共享目錄
在Raspberry Pi中打開終端模擬器
將目錄設置為共享
sudo mkdir -p /srv/nfs4/share cd /srv/nfs4/share
創建存根文件或將任何文件放入
sudo vi hello.txt
鍵入以下內容或任何內容:
Hello NFS
保存文件
添加要共享和導出的以上目錄
sudo vi /etc/exports
添加以下內容(192.168.CCC.DDD是ip可以讀取和寫入共享目錄的客戶端的地址):
/srv/nfs4/share 192.168.CCC.DDD(rw,sync,no_subtree_check)
保存文件
步驟3:修改NFS初始化腳本
/etc/init.d/nfs-kernel-server腳本同時啟動NFSv2,NFSv3和NFSv4或不使用NFSv4來啟動NFS守護程序。該腳本不能使NFS僅在NFSv4中運行。我修改了腳本,使其可以同時在NFSv2,NFSv3和NFSv4中啟動守護程序,或者僅在沒有NFSv4或NFSv4的情況下啟動守護程序。
在Raspberry Pi中打開終端模擬器
cd /etc/init.d
備份nfs-kernel-server腳本和配置文件
sudo cp /etc/init.d/nfs-kernel-server /etc/init.d/nfs-kernel-server.pristine sudo cp /etc/default/nfs-kernel-server /etc/default/nfs-kernel-server.pristine
下載我上傳的nfs-kernel-server.script
閱讀腳本
用下載的腳本替換當前腳本
sudo cp path/to/download/nfs-kernel-server.script /etc/init.d/nfs-kernel-server
下載我上傳的nfs-kernel-server.cfg
讀取配置文件
用下載的
sudo cp path/to/download/nfs-kernel-server.cfg/etc/default/nfs-kernel-server
替換當前腳本
備份nfs公用參數文件。
cd /etc/default sudo cp nfs-common nfs-common.pristine sudo vi nfs-common Change: NEED_STATD= to: NEED_STATD=“no” Change: NEED_IDMAPD= to: NEED_IDMAPD=“yes”
保存文件
步驟4:運行NFSv4守護程序
打開Raspberry Pi中的終端模擬器
啟動NFS服務
sudo service nfs-kernel-server start [ ok ] Exporting directories for NFS kernel daemon.。.. [。..。] Starting NFS kernel daemon: nfsdrpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused) rpc.nfsd: address family inet6 not supported by protocol TCP rpc.nfsd: unable to set any sockets for nfsd
failed!
說明:
nfsd無法啟動。對于某些Raspberry Pi,此故障可能不會發生。 inet6是指實現ipv6協議。可以通過加載ipv6模塊來解決此問題。指定在啟動時加載ipv6模塊
sudo vi /etc/modules
附加以下內容:
ipv6
重新啟動Raspberry Pi
檢查是否已加載ipv6模塊
lsmod | grep ipv6
ipv6 351566 8
再啟動一次NFS服務
sudo服務nfs -kernel-server start
[確定]導出NFS內核守護程序的目錄。。..
[。..。]啟動NFS內核守護程序:nfsdrpc.nfsd:檢查netconfig的內容可見協議。
rpc.nfsd:啟用inet udp。
rpc.nfsd:啟用inet tcp。
rpc.nfsd:啟用inet6 udp。
rpc.nfsd:啟用inet6 tcp。
rpc.nfsd:knfsd當前已關閉
rpc.nfsd:將版本字符串寫入內核:-2 -3 +4
rpc.nfsd:創建inet TCP套接字。
rpc.nfsd:創建inet UDP套接字。
rpc.nfsd:創建inet6 TCP套接字。
rpc.nfsd:創建inet6 UDP套接字。
[ok td。
說明:
消息“將版本字符串寫入內核:-2 -3 +4”很重要減號表示已放棄對NFSv2和NFSv3的支持。最后的消息還可以。僅NFSv4守護進程已啟動!
步驟5:使用NFSv2,NFSv3和NFSv4客戶端進行測試
在第二個Raspberry Pi或任何其他Raspberry Pi中打開終端模擬器Linux系統
安裝NFS客戶端軟件
sudo apt-get update sudo apt-get install nfs-common
nfs-common軟件包提供了一個名為/sbin/showmount的程序。 showmount通過發送NFSv2和NFSv3請求來顯示NFS服務器的安裝信息。
使用showmount將NFSv3請求發送給在先前步驟中部署的NFSv4服務器(#192.168.XXX.YYY是服務器的IP地址。 NFSv4服務器)
showmount -e 192.166.XXX.YYY
clnt_create:RPC:端口映射器故障-無法接收:errno 111(連接被拒絕)
說明:該錯誤消息表明: NFSv4服務器沒有按預期響應來自NFSv2和NFSv3客戶端的任何請求。
使NFSv4客戶端向NFSv4發送安裝請求(#192.168.XXX.YYY是NFSv4服務器的IP地址)
sudo mount.nfs4 192.168.XXX.YYY:/ /mnt
查看在上一步中創建的hello.txt文件的內容
cat /mnt/srv/nfs4/share/hello.txt
責任編輯:wv
-
服務器
+關注
關注
13文章
9795瀏覽量
87977 -
樹莓派
+關注
關注
121文章
2007瀏覽量
107463
發布評論請先 登錄
教你如何手搓一個樹莓派網絡服務器!

服務器數據恢復—重裝系統導致XFS文件系統分區丟失的數據恢復案例

樹莓派“吉尼斯世界記錄”:將樹莓派的性能發揮到極致的項目!

服務器數據恢復—Lustre分布式文件系統數據恢復案例

服務器數據恢復—raid5陣列+reiserfs文件系統數據恢復案例
服務器數據恢復—V7000存儲NTFS文件系統數據恢復案例

評論