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. UCloud 的安全秘钥 (计蒜客初赛第五场)(待解决)

    20.7% 1200ms 262144K 每个 UCloud 用户会构造一个由数字序列组成的秘钥,用于对服务器进行各种操作.作为一家安全可信的云计算平台,秘钥的安全性至关重要.因此,UCloud 每年 ...

  2. HttpRequest获得服务端和客户端的详细信息

    参考文档:http://blog.csdn.net/u012104100/article/details/43051301 http://blog.csdn.net/u011162260/articl ...

  3. redis数据库通过dump.rdb文件恢复数据库或者数据库迁移

    环境:centos7.2软件:redis-3.2.10(yum安装) 情景一:公司之前的redis没有开启aof模式,一直是rdb模式,但是数据又非常重要,数据一点也不能丢失,所以需要开启aof,但是 ...

  4. ArcPy中mapping常见函数及用法1

    arcpy的mapping模块常见属性方法总结1.如何获取当前地图文档: 方式:mxd = mapping.MapDocument("CURRTENT")引用本地或者网络文档(ar ...

  5. caffe中的卷积

    https://www.zhihu.com/question/28385679 如上,将三维的操作转换到二维上面去做,然后调用GEMM库进行矩阵间的运算得到最后结果. 两个矩阵相乘,需要中间的那个维度 ...

  6. git:当本地分支中的代码和develop分支上有很多冲突,希望删掉本地分支,重新建立新的分支,怎么解决?

    git:当本地分支中的代码和develop分支上有很多冲突,希望删掉本地分支,重新建立新的分支,但是git中说你需要先解决当前的冲突,这种情况怎么解决 这种情况可以在代码编辑器中点击commit,然后 ...

  7. python pynput监听键盘

    """小白随笔,大佬勿喷""" #键盘输入 from pynput.keyboard import Key,Controller,Liste ...

  8. Java-idea-常用插件

    一.插件安装 settings→plugins→直接搜索框搜索,没有选择Browse Respositories→找到需要安装的插件,install即可 二.常用插件 插件名称 简介 地址 备注   ...

  9. node os模块

    const os = require('os'); console.log(os.homedir()); console.log(os.hostname()); console.log(os.plat ...

  10. JavaBean-EL-JSTL-MVC

    JavaBean规范 类必须使用public修饰     必须保证有公共无参数构造器.  (一般就是可以通过反射轻松的创建对象)  包含了属性的操作(给属性赋值,获取属性值). JavaBean中的成 ...