ubuntu 20.04和linux開發板配置nfs服務器


ubuntu 20.04和linux開發板配置nfs服務器

1、ubuntu配置nfs服務器

1.1 安裝nfs服務器

sudo apt-get install nfs-kernel-server

1.2 配置nfs

  1. 打開配置文件:
    sudo vim /etc/exports

  2. 修改配置如下:
    /home/nfs_test *(rw,sync,no_root_squash,no_subtree_check)
    說明:

    /home/arkinux/nfs_test  - 要掛載的目錄,這里請修改為自己的目錄。
    *  	 					- 指定可訪問 NFS 服務的客戶端 IP 地址,這里 “*” 表示所有可以 ping 該主機的用戶都可以訪問。
    rw                      - 讀/寫權限,只讀權限的參數為 ro。
    sync                    - 數據同步寫入內存和硬盤,也可以使用 async,此時數據會先暫存於內存中,而不立即寫入硬盤。
    no_root_squash          - NFS 服務器共享目錄用戶的屬性,如果用戶是 root,那么對於這個共享目錄來說就具有 root 的權限。
    no_subtree_check        - 不檢查父目錄的權限
    
  3. 修改完成之后,保存並退出。輸入以下命令使配置文件生效:
    sudo exportfs -r

  4. 重啟 NFS 服務:

    sudo /etc/init.d/nfs-kernel-server restart
    [ ok ] Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.service.
    

2、開發板打開nfs客戶端

2.1 開發板打開nfs客戶端掛載

一些開發板的kernel會默認沒打開nfs客戶端,需要在編譯kernel的時候執行make menuconfig里面配置下。配置項如下:

配置完保存然后編譯、燒錄即可。

  1. 開發板nfs客戶端掛載ubuntu20.04服務端的共享文件夾
    mount -t nfs -o nolock 192.168.31.75:/home/nfs_test /mnt
    說明
    192.168.31.75			//是我的ubuntu20.04系統的ip地址
    /home/nfs_test			//是nfs服務器的共享文件夾
    /mnt					//是開發板掛載的文件夾
    
  2. 如果開發板通過ifconfig查看ip地址和ubuntu系統ip不在同一個網段,可以通過以下指令修改開發板ip地址:
    ifconfig eth0 192.168.31.20

2.2 開發板打開nfs客戶端取消掛載

umount /mnt

2.3 查看共享文件夾

showmount -e

2.4查詢nfs服務器運行狀態

sudo /etc/init.d/nfs-kernel-server status

3、nfs常見問題

3.1開發板掛載時提示協議不支持,具體錯誤如下:

mount: mounting 192.168.31.75:/home/why/SSD202_Project on /mnt failed: Protocol not supported
解決方法:由於ubuntu 20.04 nfs默認支持協議3和協議4,但是開發板uboot默認啟動的是協議2,若想要求 nfs 支持協議2。需要在ubuntu系統

  1. 打開文件
    vim /etc/default/nfs-kernel-server
  2. 在文件中末尾增加內容
    RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"
  3. 保存重啟下nfs,重啟指令
    sudo /etc/init.d/nfs-kernel-server restart

3.2 開發板掛載時提示超時:

rpcbind: server localhost not responding, timed out
解決辦法:加上“-o nolock”參數
mount -t nfs -o nolock 192.168.31.75:/home/nfs_test /mnt

3.3 如果nfs服務器是window端,開發板掛載時提示連接超時:

切記看一下是否關閉了window的防火牆。需要全部關閉才行

3.4 如果nfs服務器是ubuntu端,開發板掛載時提示連接超時:

同樣需要關閉ubuntu的防火牆

  • 查看防火牆狀態
    • sudo ufw status
  • 關閉防火牆
    • sudo ufw disable


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM