nfs server 搭建

令狐运珧
2023-12-01

1、NFS 介绍

        NFS 即网络文件系统(Network File-System),可以通过网络让不同机器、不同系统之间可以实现文件共享。通过 NFS,可以访问远程共享目录,就像访问本地磁盘一样。NFS 只是一种文件系统,本身并没有传输功能,是基于 RPC(远程过程调用)协议实现的,采用 C/S 架构。

2、安装 NFS 软件包

sudo apt-get install nfs-kernel-server  # 安装 NFS服务器端
sudo apt-get install nfs-common         # 安装 NFS客户端

3、添加 NFS 共享目录

        sudo vim /etc/exports

        若需要把 “/nfsroot” 目录设置为 NFS 共享目录,请在该文件末尾添加下面的一行:

        /nfsroot *(rw,sync,no_root_squash)     # * 表示允许任何网段 IP 的系统访问该 NFS 目录

        新建“/nfsroot”目录,并为该目录设置最宽松的权限:

        sudo mkdir /nfsroot
        sudo chmod -R 777 /nfsroot
        sudo chown ipual:ipual /nfsroot/ -R   # ipual 为当前用户,-R 表示递归更改该目录下所有文件

# /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/keda *(rw,sync,no_root_squash,no_subtree_check)

4、启动 NFS 服务

        sudo /etc/init.d/nfs-kernel-server start    或者  

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

        在 NFS 服务已经启动的情况下,如果修改了 “/etc/exports” 文件,需要重启 NFS 服务,以刷新 NFS 的共享目录。

5、测试 NFS 服务器

        sudo mount -t nfs 192.168.12.123:/nfsroot /mnt -o nolock

        192.168.12.123 为主机 ip

        /nfsroot 为主机共享目录

        /mnt 为设备挂载目录

        如果指令运行没有出错,则 NFS 挂载成功,在主机的 /mnt 目录下应该可以看到 /nfsroot 目录下的内容(可先在 nfsroot 目录下新建测试目录)。

        如需卸载使用:umount /mnt

6、开发板挂载 Ubuntu

        ① 首先确定 Ubuntu 可以上网,然后将开发板联网,使其与 Ubuntu 在同一网段下(方式有很多种这里给出参考:1.将开发板接在电脑所连的路由器或交换机上 2.将开发板连接电脑的网口,使用虚拟网卡,桥接)

        ② 确定开发板与Ubuntu之间可以 ping 通:

                ping 192.168.12.123

        ③ 开发板端输入

        sudo mount -t nfs 192.168.12.123:/nfsroot /mnt -o nolock

        如果没有报错即为挂载成功。

注意:在 mount 与 umount(解除挂载)操作时,用户的当前路径不能是操作的目标路径。

 类似资料: