Linux NFS服务搭建及使用

一、NFS 服务器介绍

         nfs ( Network File System )即网络文件系统,其基于 UDP/IP使用 nfs 能够在不同计算机之间通过网络进行文件共享,能使使用者访问网络上其它计算机中的文件就像在访问自己的计算机一样。

 

二、NFS 服务器的特点

  • 提供透明文件访问以及文件传输;
  • 容易扩充新的资源或软件,不需要改变现有的工作环境;
  • 高性能,可灵活配置。
     

三、NFS 服务器的适用场景 

 

四、NFS服务器搭建 

1、配置介绍

/nfs/rootfs *(rw,sync,no_subtree_check,no_root_squash)
  • /nfs/rootfs :共享的目录;
  • * :不限定客户端;
  • rw :共享目录可读可写;
  • sync :将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
  • no_subtree_check :即使输出目录是一个子目录, nfs 服务器也不检查其父目录的权限,这样可以提高效率;
  • no_root_squash :来访的 root 用户保持 root 帐号权限;

2、常见错误

1)错误现象: RPC: Program not registered & retrying
        原因: nfs 服务没有启动
        解决方法:启动服务

2)错误现象: The stale file handle error
        原因:服务器上的共享资源移动位置了
        解决方法:客户端使用 umount 和 mount 重新挂接

3、NFS环境搭建
1) 运行下面的命令安装NFS服务器(需要保持网络通畅)。

linux@ubuntu:~ $ sudo apt-get install nfs-kernel-server

2)运行下面的命令,创建一个目录,并在该文件下创建一个文件,用于测试nfs。

linux@ubuntu:~ $ sudo mkdir /nfs
linux@ubuntu:~ $ mkdir /nfs/rootfs
linux@ubuntu:~ $ echo "nfs test" > /nfs/rootfs/test.txt

3)编辑/etc/exports配置文件。

linux@ubuntu:~ $ sudo vim /etc/exports

添加如下内容:

/nfs/rootfs *(rw,sync,no_subtree_check,no_root_squash)

其中:

  • /nfs/rootfs:共享的目录;
  • *:不限定客户端;
  • rw:共享目录可读可写;
  • sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
  • no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可
  • 以提高效率;
  • no_root_squash:来访的root用户保持root帐号权限;

4)Ubuntu17.10及以后版本需要增加以下配置,因为新版本Ubuntu只支持nfs 3和nfs 4,而uboot默
认使用nfs 2

linux@ubuntu:~ $sudo vi /etc/default/nfs-kernel-server
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"

5)使用下面的命令,重启NFS服务。

linux@ubuntu:~ $ sudo service nfs-kernel-server restart

6)使用下面的命令,将共享目录挂在到/mnt目录下,并修文件。

linux@ubuntu:~ $ sudo mount -t nfs localhost:/nfs/rootfs /mnt
linux@ubuntu:~ $ vim /mnt/test.txt

7)使用下面的命令,查看原来的文件已经被修改。

linux@ubuntu:~ $ cat /nfs/rootfs/test.txt

8)使用下面的命令取消挂载。

linux@ubuntu:~ $ sudo umount /mnt

相关推荐

  1. FunASR 框架使用;api服务

    2024-07-20 06:40:04       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 06:40:04       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 06:40:04       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 06:40:04       45 阅读
  4. Python语言-面向对象

    2024-07-20 06:40:04       55 阅读

热门阅读

  1. Azure MySQL资源优化策略

    2024-07-20 06:40:04       15 阅读
  2. IP地址与mac地址的绑定、解绑

    2024-07-20 06:40:04       20 阅读
  3. Go的数据结构与实现【LinkedList】

    2024-07-20 06:40:04       18 阅读
  4. postgres 的WAL日志膨胀的几种原因

    2024-07-20 06:40:04       18 阅读
  5. 桥接模式(Bridge Pattern)

    2024-07-20 06:40:04       18 阅读
  6. Metalog 源码解读

    2024-07-20 06:40:04       13 阅读
  7. 452. 用最少数量的箭引爆气球

    2024-07-20 06:40:04       14 阅读
  8. Python爬虫——1爬虫基础(一步一步慢慢来)

    2024-07-20 06:40:04       11 阅读
  9. 2024.7.19 Ai大模型问答 - 底特律和长春

    2024-07-20 06:40:04       16 阅读
  10. 【python】python面向对象之——继承

    2024-07-20 06:40:04       18 阅读