NFS 使用总结

作者: ___TheOne___ | 来源:发表于2024-05-16 11:02 被阅读0次

1. NFS(network file system) 网络文件系统

  • 基于内核的文件系统,由sun公司开发;
  • 通过使用NFS,客户端可以像访问本地文件一样访问 NFS 服务端上的文件;
  • 基于RPC 实现(rpc是remote procedure call protocol 远程过程调用),
    RPC采用C/S模式。

2. 原理

NFS Server 分享目录与 Client 挂载目录

3. 优缺点

优点:

  • 节省本地存储空间、将常用的数据存放在一台服务器可以通过网络访问
  • 上手、维护都比较简单。
    缺点:
  • 一致性问题
    缓存一致性: NFS 使用客户端缓存来提高性能,但可能导致数据一致性问题。多个客户端可能会看到不同的缓存内容,导致数据不一致。
    锁定机制: 虽然 NFS 支持文件锁(如 NLM 和 NFSv4 的内置锁定机制),但在并发访问时,仍可能发生锁定冲突或死锁。

4. 常用命令

4.1 NFS 服务端

  1. 启动、停止、重启 NFS服务
systemctl start nfs-server
systemctl stop nfs-server
systemctl restart nfs-server
  1. 查看 NFS 服务状态
[root@localhost goods]# systemctl status nfs-server
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
  Drop-In: /run/systemd/generator/nfs-server.service.d
           └─order-with-mounts.conf
   Active: active (exited) since Mon 2023-03-06 01:00:22 EST; 1 years 2 months ago
 Main PID: 40432 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/nfs-server.service

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
  1. 查看 当前连接的NFS客户端
# showmount -e <NFS服务器地址>
# 说明:10.46.22.26:/mnt/tenghui 挂载到了 6台 客户端上。
[root@localhost goods]# showmount -e 10.46.22.26
Export list for 10.46.22.26:
/mnt/tenghui 10.46.22.33,10.46.22.32,10.46.22.31,10.46.22.30,10.46.22.29,10.46.22.28,10.46.22.27

4.2 NFS 客户端

  1. 挂载NFS
# 10.0.0.217上的/html/作为挂载点,挂载在本地目录/usr/local/nginx/html上
mount -t nfs -o vers=3,nolock 10.0.0.217:/html/ /usr/local/nginx/html
  1. 卸载NFS
umount  /usr/local/nginx/html
  1. 查看 NFS 挂载信息
# mount | grep nfs
[root@localhost goods]# mount | grep nfs
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
10.46.22.26:/mnt/tenghui on /mnt/tenghui type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,
proto=tcp,timeo=600,retrans=2,sec=sys,
clientaddr=10.46.22.33,local_lock=none,
addr=10.46.22.26)

说明:
10.46.22.26:/mnt/tenghui:
NFS 服务器的 IP 地址是 10.46.22.26。
NFS 服务器上导出的路径是 /mnt/tenghui。

/mnt/tenghui:
这是本地挂载点,表示将远程 NFS 服务器上的 /mnt/tenghui 挂载到本地的 /mnt/tenghui 目录。

type nfs4:
使用 NFS 版本 4。
rw:
读写权限(read-write)。

relatime:
文件访问时间的挂载选项(relative atime),提高性能,同时保留了文件访问时间的某些语义。

vers=4.1:
使用 NFS 协议版本 4.1。

rsize=1048576,wsize=1048576:
读和写的块大小均为 1048576 字节(1MB),提高了传输性能。

namlen=255:
文件名最大长度为 255 字节。

hard:
硬挂载(hard mount),意味着如果 NFS 服务器不可用,I/O 操作会重试,而不会立即失败。

proto=tcp:
使用 TCP 协议进行传输。

timeo=600:
超时时间为 600 * 0.1 秒(即 60 秒)。

retrans=2:
重传次数为 2。

sec=sys:
使用系统默认的 UNIX 用户身份验证。

clientaddr=10.46.22.33:
客户端的 IP 地址是 10.46.22.33。

local_lock=none:
本地锁选项为无。

addr=10.46.22.26:
NFS 服务器的 IP 地址是 10.46.22.26(与开始部分一致)。

相关文章

  • mysql主从集群

    NFS共享 总结如下 NFS动态生成PV RBCA.yaml deploy_nfs-client-provisio...

  • Day34-nfs共享存储

    1.什么是nfs? 2.nfs能干什么? 3.为什么要使用nfs? 4.nfs能解决什么问题? 5.使用nfs的注...

  • centos8使用mount+nfs 远程共享存储

    服务端安装nfs 1、使用yum安装nfs yum install nfs-utils nfs-utils-lib...

  • NFS总结

    NFS安装 nfs程序主进程为nfs-utils,nfs通信依赖于rpcbind使用rpm –qa |egrep ...

  • NFS共享服务器

    (1)nfs服务器端配置Centos使用nfs需要nfs-utils和rpcbind,但yum安装nfs-util...

  • 查看linux nfs版本

    可以看出:Server nfs v4的确,NFS服务器版本是4 【总结】 1.NFS的客户端中:nfsstat -...

  • 第三十四天 NFS存储

    第三十四天 NFS存储 今日内容: 1.什么是nfs? 2.nfs能干什么? 3.为什么要使用nfs? 4.nfs...

  • centos7 通过搭建nfs

    前言 如何通过使用存远程存储 部署NFS 需要先关闭防火墙,selinux 通过yum 安装nfs 配置nfs 查...

  • linux NFS 学习笔记

    NFS 1 什么是NFS NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式...

  • 启动nfs服务时报错 systemd: rpcbind.soc

    问题描述 在使用 “sudo systemctl restart nfs” 命令启动 nfs 服务时报错,/var...

网友评论

    本文标题:NFS 使用总结

    本文链接:https://www.haomeiwen.com/subject/wwbbfjtx.html