CentOS7搭建NFS服务
来源:互联网 发布:金正恩 知乎 编辑:程序博客网 时间:2024/05/17 17:43
去年考完RHCE后就没碰NFS了,现在重新回顾一下。
网络文件系统(英语:Network File System,缩写为NFS)是一种分布式文件系统协议,最初由Sun Microsystems公司开发,并于1984[1]年发布。其功能旨在允许客户端主机可以像访问本地存储一样通过网络访问服务器端文件。 NFS和其他许多协议一样,是基于开放网络运算远程过程调用(ONC RPC) 协议之上的。——维基百科
NFS服务器配置
当两台计算机网络建立连接时,双方需提供一些基本信息,如:IP地址、端口号等,这些信息在Linux中可以由某个特定服务来管理,也可以委托给RPC(Remote Procedure Call)来帮助管理。RPC是远程过程调用通信协议,负责管理通信的连接以及连接的基本信息,这样可以让NFS服务专注于共享数据。CentOS 7实现NFS共享,需要同时启动NFS和rpcbind服务。
NFS服务器通过读取/etc/exports配置文件设定哪些客户端可以访问哪些NFS共享哪些文件系统。此文件一条完整的共享条目语法结构如下:
共享路径 客户端主机(选项)
列几个NFS主要的选项,详可参考man exports。
一般权限选项
用户映射选项
接下来做一个简单的案例。
Server:172.16.0.250
Client: 172.16.0.10
Client主机挂载Server共享目录/arvin/nfsdir至本机的/mnt/nfsdir目录,该目录有读写权限,且root的权限会被保留。
Server
装包
[root@server ~]# yum -y install nfs-utils rpcbind
看装上没
[root@server ~]# rpm -qa | grep nfs-utilsnfs-utils-1.3.0-0.33.el7_3.x86_64[root@server ~]# rpm -qa | grep rpc-bindrpcbind-0.2.0-38.el7.x86_64
添加用户,创建共享目录,给权限,写共享条目
[root@server ~]# useradd -u 1010 arvin[root@server ~]# mkdir -p /arvin/nfsdir[root@server ~]# chmod a+w /arvin/nfsdir[root@server ~]# echo "/arvin/nfsdir 172.16.0.0(rw,async,no_root_squash)" >> /etc/exports
启服务
[root@server ~]# systemctl start rpcbind[root@server ~]# systemctl start nfs-server[root@server ~]# systemctl enable nfs-server[root@server ~]# systemctl enable rpcbind
Client
查看服务器共享目录。
客户端showmount命令
命令基本格式:showmount [选项] NFS服务器名称或地址
-e:显示指定的NFS服务器上所有输出的共享目录。
-a:显示指定的NFS服务器的所有客户端主机及其所连接的目录。
-d:显示指定的NFS服务器中已被客户端连接的所有输出目录
[root@client ~]# showmount -e 172.16.0.250Export list for 172.16.0.250/arvin/nfsdir 172.16.0.0
创建挂载点,用户,写永久挂载表
[root@client ~]# mkdir /mnt/nfsdir[root@client ~]# useradd -u 1010 arvin[root@client ~]# chmod a+w /mnt/nfsdir[root@client ~]# echo "172.16.0.250:/arvin/nfsdir /mnt/nfsdir nfs defaults 0 0"[root@client ~]# mount -a
测试
[root@client ~]# cd /mnt/nfsdir[root@client nfsdir]# >test.txt[root@client nfsdir]# lltotal 0-rw-r--r-- 1 root root 0 May 9 18:37 test.txt[root@client nfsdir]# su - arvin[arvin@client ~]# cd /mnt/nfsdir[arvin@client nfsdir]# >arvin.txt[arvin@client nfsdir]$ lltotal 0-rw-rw-r-- 1 arvin arvin 0 May 9 18:39 arvin.txt-rw-r--r-- 1 root root 0 May 9 18:37 test.txt
NFS客户端挂载选项,详可参考man nfs
NFS命令工具
exportfs:用来管理当前NFS共享的文件系统列表。
-a 打开或取消所有目录共享。
-o options,…指定一列共享选项,与 exports(5) 中讲到的类似。
-i 忽略 /etc/exports 文件,从而只使用默认的和命令行指定的选项。
-r 重新共享所有目录。它使 /var/lib/nfs/xtab 和 /etc/exports 同步。 它将 /etc/exports 中已删除的条目从 /var/lib/nfs/xtab 中删除,将内核共享表中任何不再有效的条目移除。
-u 取消一个或多个目录的共享。
-f 在“新”模式下,刷新内核共享表之外的任何东西。 任何活动的客户程序将在它们的下次请求中得到 mountd添加的新的共享条目。
-v 输出详细信息。当共享或者取消共享时,显示在做什么。 显示当前共享列表的时候,同时显示共享的选项。
nfsstat:用于列出NFS客户端和服务器的工作状态。
-s:仅列出NFS服务器端状态;
-c:仅列出NFS客户端状态;
-n:仅列出NFS状态,默认显示nfs客户端和服务器的状态;
-2:仅列出NFS版本2的状态;
-3:仅列出NFS版本3的状态;
-4:仅列出NFS版本4的状态;
-m:打印以加载的nfs文件系统状态;
-r:仅打印rpc状态。
- CentOS7搭建NFS服务
- CentOS7部署NFS服务
- centos7安装nfs服务
- Centos7配置NFS服务
- CentOS7 nfs搭建
- CentOS7搭建简易nfs
- CentOS7中配置NFS服务
- Centos7-NFS服务配置实战
- 搭建nfs服务
- 搭建NFS服务
- 搭建NFS服务简介
- JZ2440 搭建NFS服务
- NFS服务搭建
- NFS服务的搭建
- Linux NFS 服务搭建
- Ubuntu搭建NFS服务
- Centos7搭建Zabbix服务
- centos7 搭建vnc服务
- 树与等价类
- rbac权限管理
- The program can't start because Qt5Cored.dll is missing from your computer最简单的解决方法
- jconsole查看线程池内部对象在jvm内存变化
- 免费数据集下载
- CentOS7搭建NFS服务
- 用cmd开启mysql数据库并建立数据库表
- SniperOJ WEB writeup
- UITableView 重用(dequeueReusableCellWithIdentifier:)
- python 的返回值为list 的 property 绕过 setter 的问题
- c++第五次上机实验
- 史上最清晰易懂的JAVA深克隆和浅克隆讲解
- KMSpico v10.1.7 官方正式版下载【Office2016/Win10激活工具】
- 【模拟】洛谷 P1071 潜伏者