NFS客户端和NFS服务端通讯过程

1.首先服务器端启动RPC服务,并开启111端口

2.服务器端启动NFS服务,并向RPC注册端口信息

3.客户端启动RPC(portmap服务),向服务端的RPC请求服务端的NFS端口

4.服务端的RPC反馈NFS端口信息给客户端

5.客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输

一、安装NFS软件(默认已安装)

要部署NFS服务,服务端和客户端都需要安装这两个软件

nfs-utils:NFS主程序

rpcbind:PRC主程序

# 安装
sudo pacman -S nfs-utils
sudo pacman -S rpcbind

二、配置NFS服务端

编辑 /etc/exports,添加格式如下

# [共享目录]    [客户端地址1(权限)]    [客户端地址2(权限)]    ...
# [共享目录] [客户主机名1(权限)] [客户主机名2(权限)] ...
# 设置目录最高权限 sudo chmod 777 [共享目录]
/tftp1 10.82.16.233(rw,no_root_squash,no_subtree_check,sync)
/tftp2 *(rw,no_root_squash,no_subtree_check,sync)

(权限)参数列表:

rw读写属性

ro只读属性

sync文件实际写入磁盘后才返回

all_squash:所有访问用户均被压缩成后续接的用户

anonuid:默认压缩的用户

anongid:默认压缩的用户组

*:所有主机

三、启动服务端NFS服务

先启动 [rpcbind],然后启动 [nfs-server]

systemctl start rpcbind.service
systemctl start nfs-server.service

将他们设置为开机启动

systemctl enable rpcbind.service
systemctl enable nfs-server.service

查看当前状态

systemctl status rpcbind
systemctl status nfs-server

四、配置客户端NFS服务

1 启动rpcbind服务并设置为开机启动(hisiv 3519跳过这一步)

systemctl enable rpcbind.service
systemctl start rpcbind.service
#客户端不需要启动nfs服务

2 将服务器的共享目录挂载到客户端的目录下:

新建共享目录:mkdir -p /mnt/code

修改权限:chmod 777 /mnt/code -R

挂载到客户端:

挂载到开发版 mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 IP:/code /mnt/code

挂载到Linux mount -t nfs -o nolock -o tcp IP:/code /mnt/code

挂载到windows mount -o mtype=soft -o timeout=3 -o retry=3 -o nolock \\IP\code H:

IP:/code 是服务器的IP地址和共享目录, /mnt 是客户端的目录,mtype=soft为软挂载,timeout为RPC调用超时秒值,retry为软挂载重试次数,这样设置客户端不容易卡死。

挂载后就可以从客户端的 /mnt 目录访问服务器/code目录下的内容了。

查看是否挂载成功 df -h

五、其他命令

服务器配置:

exportfs      :在服务的查看已经开启的共享目录命令
exportfs -r :修改 /etc/exports 服务配置后马上生效

如果出现:

exportfs: could not open /var/lib/nfs/.etab.lock for locking: errno 13 (Permission denied)
exportfs: can't lock /var/lib/nfs/etab for writing

解决办法:sudo chmod 777 -R /var/lib/nfs 再重新执行。

客户端:

showmount -e nfs    :检查 NFS 服务器端是否有目录共享

服务控制 [rpcbind] 和 [nfs-server] :

systemctl status     [服务名]:查看当前状态
systemctl restart [服务名]:重新启动服务
systemctl disable [服务名]:停止开机启动

防火墙:

sudo systemctl status  firewalld.service
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service

更多详细可以参考:NFS服务基本配置及使用

Manjaro Linux 配置nfs服务器的更多相关文章

  1. Linux 配置NFS,文件共享

    配置:   1.设定共享主机服务器    ---(注意防火墙) 编辑ipA端的/etc/exports 文件 [root@dbrac2 ~]# cat /etc/exports /media  192 ...

  2. Linux 配置nfs

    原文:http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html 一.NFS服务简介 NFS 是Network File System的 ...

  3. 配置NFS服务器

    一.配置NFS服务器 1.安装软件包 [root@wjb10000 ~]# yum -y install nfs-utils.x86_64 2.修改配置文件[root@wjb10000 ~]# vim ...

  4. Linux配置日志服务器

    title: Linux配置日志服务器 tags: linux, 日志服务器 --- Linux配置日志服务器 日志服务器配置文件:/etc/rsyslog.conf 服务器端: 服务器IP如下: 编 ...

  5. linux下配置NFS服务器

    (声明:本文大部分文字摘自Linux NFS服务器的安装与配置) 一.NFS简介     NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Su ...

  6. linux下安装与配置nfs服务器

    NFS 什么是NFS?(NAS) NFS(网络文件系统):它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录.NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的N ...

  7. Linux下NFS服务器的搭建与配置

    一.NFS服务简介 NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的. 它最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享个别 ...

  8. Linux下NFS服务器的搭建与配置(转载)

    一.NFS服务简介 NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的. 它最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享个别 ...

  9. Linux下NFS服务器的搭建与配置(转)

    一.NFS服务简介 NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的. 它最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享个别 ...

随机推荐

  1. Wooden Sticks---(贪心)

    Problem Description There is a pile of n wooden sticks. The length and weight of each stick are know ...

  2. java JVM虚拟机

    JVM垃圾处理方法(标记清除.复制.标记整理) 1.标记清除 标记阶段:先通过根节点,标记所有从根节点开始的对象,未被标记的为垃圾对象. 清除阶段:清除所有未被标记的对象. 2.复制算法 将原有的空间 ...

  3. JACKSON详解

    Jackson 框架,轻易转换JSON Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 前面有介绍过json-lib这个框架,在 ...

  4. Gym 101873C - Joyride - [最短路变形][优先队列优化Dijkstra]

    题目链接:http://codeforces.com/gym/101873/problem/C 题意: 这是七月的又一个阳光灿烂的日子,你决定和你的小女儿一起度过快乐的一天.因为她真的很喜欢隔壁镇上的 ...

  5. AE实现拖拽

    http://edndoc.esri.com/arcobjects/9.2/net/63391c82-c2e6-4797-b2e6-2c1d92f56f44.htm http://help.arcgi ...

  6. python中 ImportError: No module XXX的解决办法

    python是通过过使用:sys.path来获取模块的路径的,返回的但是一个list 向python模块路径中加入自己的模块:sys.path.append(os.path.abspath('%s.. ...

  7. python框架之Django(6)-查询优化之select_related&prefetch_related

    准备 定义如下模型 from django.db import models # 省份 class Province(models.Model): name = models.CharField(ma ...

  8. Window丢失api-ms-win-crt-runtime-l1-1-0.dll

    一.现象api-ms-win-crt-runtime-l1-1-0.dll 丢失 二.第一种方案,缺什么补什么http://download.csdn.net/download/su749520/10 ...

  9. C++的初始化成员列表

    class CExample { public: int a; float b; //构造函数初始化列表 CExample(): a(),b(8.8) {} //构造函数内部赋值 CExample() ...

  10. .net core 配置

    .net core 配置包括很多种 例如内存变量.命令行参数.环境变量以及物理文件配置和自定义配置 物理文件配置主要有三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfi ...