NFS,Network File Syttem,网络文件系统。它允许网络上运行不同操作系统的主机通过网络连接到运行NFS服务的主机上,以实现数据共享。NFS的配置非常简单,经过简单的设置既能快速使用NFS。

使用NFS,首先在服务端运行NFS服务,并设置共享指定的目录,客户端即可将该目录挂载到本地,以使用这些共享的目录。

1、NFS服务端配置

要运行NFS服务端依赖以下软件包:

rpcbind
nfs-utils

请确保运行NFS服务端的主机已经安装了以上软件包。如果以上软件包尚未安装,可以使用YUM进行安装。

NFS服务端需要启动以下两个服务:

rpcbind
nfs
nfslock    # 分布式锁,运行在服务端,由客户端进行请求加锁,一个可选的服务

NFS服务端的配置文件为:

/etc/exports

该文件默认为空。该文件的格式非常简单:

共享路径 客户端地址(选项)

  • 共享路径:提供给客户端访问的目录
  • 客户端地址:允许访问服务器共享资源的主机,可以是IP地址、主机名、域名,支持通配符
  • 选项:可能为以下值, ro – read only,客户端对共享资源仅有只读的权限;rw – read write,客户端对共享资源拥有读写的权限;no_root_squash - 信任客户端root用户,如果客户端登录的用户为root,则客户端对共享资源拥有最高权限;root_squash - 默认值,不信任客户端root用户,如果客户端登录的用户为root,则将被映射成为nfsnobody,对于共享资源仅有只读的权限;all_squash - 不管客户端登录的是什么用户,都将被映射为nfsnobody;no_all_squash - 默认值,只有当客户端登录的用户UID和GID与共享资源的UID和GID一致时,该用户才对共享资源拥有读写权限;sync - 默认值,共享数据同步写入磁盘;async - 数据暂时保存在内存,不写入磁盘

在完成/etc/exports的配置之后,使用以下命令使配置立即生效:

exportfs [选项]

常用选项:

  • -r:重新挂载共享目录
  • -v:在屏幕上输出详细信息

2、连接NFS服务器

2.1、Linux主机连接NFS服务器

在需要连接到NFS服务器的主机上也必须安装以下依赖包:

rpcbind
nfs-utils

使用mount命令即可连接到NFS服务器上指定的共享目录:

mount -t nfs NFS服务器:共享目录 本地目录

使用以下命令可以查看NFS服务器上的共享目录:

showmount -e NFS服务器

2.2、Windows连接NFS服务器

NFS支持不同的操作系统,所以Windows也可以连接到NFS服务器以使用共享的资源。这里以Windows 10为例介绍如何在Windows下连接NFS服务器。

安装Windows下的NFS支持软件:

打开控制面板,进入程序和功能,然后点击启用或关闭Windows功能选项,勾选以下内容

确定后等待功能安装完毕,然后进入命令提示符,使用以下命令连接NFS服务器:

mount \\NFS服务器\共享目录 盘符

3、一个例子

有主机A、B、C三台主机,在主机A上运行NFS服务,主机B和C做为客户端连接到主机A上使用同一个共享目录。

三台主机的状况如下:

  • 主机A:IP地址为192.168.0.106,操作系统为CentOS 6.10
  • 主机B:操作系统为CentOS 7.5.1804
  • 主机C:操作系统为Windows 10

3.1、NFS服务端设置

使用YUM查看是否已经安装NFS依赖的软件包:

[root@localhost /]# rpm -qa|grep rpcbind
rpcbind-0.2.0-16.el6.x86_64
[root@localhost /]# rpm -qa|grep nfs-utils
nfs-utils-lib-1.1.5-13.el6.x86_64
nfs-utils-1.2.3-78.el6_10.1.x86_64

查看rpcbing和nfs服务是否已经启动:

[root@localhost ~]# service rpcbind status
rpcbind (pid  1684) 正在运行...
[root@localhost ~]# service nfs status
rpc.svcgssd 已停
rpc.mountd (pid 2503) 正在运行...
nfsd (pid 2519 2518 2517 2516 2515 2514 2513 2512) 正在运行...
rpc.rquotad (pid 2498) 正在运行...

服务端设置允许任何主机连接,并设置rw及all_squash,共享目录为/data。在/etc/exports中写入如下内容:

/data *(rw,all_squash)

由于使用的是all_squash选项,客户端登录到NFS服务器的用户将被自动映射为nfsnobody,所以必须将/data目录的属主和属组设置为nfsnobody,这样客户端才可以读写共享目录:

[root@localhost /]# chown -R nfsnobody:nfsnobody data

使配置立即生效:

[root@localhost ~]# exportfs -r

3.2、主机B连接NFS服务器

主机B的操作系统为CentOS 7.5.1804,所以这里先检查下NFS依赖的软件包是否安装:

[root@localhost ~]# rpm -qa|grep rpcbind
[root@localhost ~]# rpm -qa|grep nfs-utils

无任何返回信息,表明依赖的软件包尚未安装,使用YUM安装这两个依赖包:

[root@localhost ~]# yum install rpcbind nfs-utils

安装好依赖包后使用mount命令挂载NFS服务器上的共享目录,挂载到主机B的/nfs目录下:

[root@localhost ~]# mount -t nfs 192.168.0.106:/data /nfs

使用df命令查看是否挂载成功:

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   22G  2.1G   20G   10% /
devtmpfs                 3.9G     0  3.9G    0% /dev
tmpfs                    3.9G     0  3.9G    0% /dev/shm
tmpfs                    3.9G  8.8M  3.9G    1% /run
tmpfs                    3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/sda1               1014M  142M  873M   14% /boot
tmpfs                    783M     0  783M    0% /run/user/0
192.168.0.106:/data       22G  2.9G   18G   14% /nfs

通过返回的信息可以看到共享目录已经挂载到了/nfs。

3.3、主机C连接NFS服务器

首先查看控制面板-程序和功能-启用和关闭Windows功能下的NFS服务是否已经安装,安装完成后即可使用以下命令连接NFS服务器,并为共享目录分配 x: 盘符:

Microsoft Windows [版本 10.0.14393]
(c) 2016 Microsoft Corporation。保留所有权利。C:\Users\FangYu>mount \\192.168.0.106\data x:
x: 现已成功连接到 \\192.168.0.106\data命令已成功完成。

此时在资源管理器里就可以看到x盘了:

转载于:https://www.cnblogs.com/yu2006070-01/p/10149260.html

青蛙学Linux—NFS相关推荐

  1. 青蛙学Linux—高性能负载均衡集群软件LVS

    LVS,即Linux Virtual Server的简写,是目前非常流行的一款实现负载均衡集群的软件.该项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.LVS官网http: ...

  2. 青蛙学Linux—软件安装

    与Windows下通过双击EXE安装包安装软件不同,Linux下可以使用多种方法来安装软件.由于Linux开源的特性,所以在Linux上运行的很多软件都是开源软件,开源软件一般都会提供源码,有了源码我 ...

  3. 青蛙 mysql_青蛙学Linux—MySQL常用命令(二)

    1.表操作命令 1.1.列出数据库的所有表 使用以下命令列出数据库中的所有表: show tables; 1.2.查看表的结构 使用以下命令查看指定表的字段.字段类型.是否主键.是否NULL.默认值等 ...

  4. 青蛙学Linux—MySQL备份工具XtraBackup

    XtraBackup是Percona公司开发的一款免费开源的MySQL备份工具.与上一篇介绍的mysqldump不同,XtraBackup可以对MySQL进行物理备份(备份的是MySQL的文件而不是生 ...

  5. 青蛙学Linux—Zabbix Agent的主动模式和被动模式

    1.为什么要使用Zabbix Agent的主动模式? 默认情况下,Zabbix Agent运行在被动模式.在这种模式下,Zabbix Server会去每个Zabbix Agent上抓取数据.这种模式在 ...

  6. windows pxe 安装linux,菜鸟学Linux 第103篇笔记 pxe自动化安装linux

    菜鸟学Linux 第103篇笔记 pxe自动化安装linux 内容总览 linux的系统安装 kickstart文件的组成部分 DHCP (Dynamic Host Configuration Pro ...

  7. 菜鸟学Linux 第033篇笔记 bootloader,inittab

    菜鸟学Linux 第033篇笔记 bootloader,inittab Linux 系统自启动流程 PC OS (Linux) POST-->BIOS(Boot Sequence)-->M ...

  8. 【Linux】一步一步学Linux——init命令(138)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 init命令是Linux下的进程初始化工具,init进程是 ...

  9. 【Linux】一步一步学Linux——runlevel命令(137)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 runlevel命令用于打印当前Linux系统的运行等级. ...

最新文章

  1. 浅析ProcessBuilder
  2. 在centos6.7用yum安装redis
  3. o.s.b.d.LoggingFailureAnalysisReporte报错
  4. 加强计算机网络应用,如何加强计算机网络管理技术创新应用
  5. 【随机过程】随机过程之更新过程(2)
  6. VS2010中编写x64汇编的具体方法
  7. easyui datagrid 实现单选并能取消单选
  8. python windows 远程执行bat
  9. BZOJ5219[Lydsy2017省队十连测] 最长路径
  10. 线性同余法产生随机数C语言,使用线性同余法生成伪随机数/序列(C++实现)
  11. win10默认壁纸_渐变彩色Hero壁纸,微软免费Win10主题《Pride 2020 Flags》下载
  12. 研究生跟了一个很棒的导师是种怎样的体验?
  13. 60秒轻松计算出任意一年任意一天星期几?
  14. BUUCTF——密码学——old-fashion
  15. Exp1 PC平台逆向破解 20164302 王一帆
  16. python通过pyautogui库来控制鼠标和键盘
  17. 创业故事之 有限元软件
  18. 大数据时代--风控系统
  19. Efficient Fully Homomorphic Encryption from (Standard) LWE 论文理解
  20. 半导体器件物理【21】PN结 —— 载流子分布、正偏反偏

热门文章

  1. Spring源码解析——如何阅读源码
  2. 从Loagistic 到 SVM算法
  3. Full Tank?
  4. [系列文章]上传文件管理控件v2
  5. 12.5PMP试题每日一题
  6. 【转载】优秀文章转载集合
  7. eclipse+tomcat开发web程序
  8. 硬链接与符号链接的比较?
  9. 云计算-从基础到应用架构系列-云计算的演进
  10. ibator1.2.2