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. Vue2学习笔记:计算属性(computed)

    参考:https://www.cnblogs.com/zycbloger/p/6428907.html

  2. JavaScript原型、闭包、继承和原型链等等总结

    参考:http://www.cnblogs.com/wangfupeng1988/tag/%E5%8E%9F%E5%9E%8B%E9%93%BE/

  3. ADC裸机程序

    硬件平台:JZ2440 实现功能:通过采集触摸屏ADC的电压值,推算触摸xy坐标 start.s init.c nand.c interrupt.c uart.c uart.h my_stdio.c ...

  4. kafka8 编写简单消费者

    1.eclipse运行消费者代码.代码如下 package cn.test.mykafka; import java.util.Arrays; import java.util.Properties; ...

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

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

  6. pat 1051Pop Sequence

    模拟栈的过程,一开始我是用的cin来判断每行的每一个数字,然后判断回车结束.有一个点会超时,答案用数组先记录序列的方法非常好.有一个注意点就是访问s.top()的时候先要保证s.size()>0 ...

  7. MySql使用存储过程清除数据库所有表数据,保存数据结构

    BEGIN DECLARE strClear VARCHAR(256); DECLARE done INT DEFAULT 0; #定义游标 DECLARE curOne CURSOR FOR sel ...

  8. appium环境搭建-运行

    appium是测试移动端的测试工具 首先要下载手机模拟器,或者连接真机.我用的夜神模拟器.安装打开它.安装这个有很高的兼容性要求,我也是小白,摸索了三天才弄出来 一.原理如图: 二.需要安装的软件: ...

  9. c++赋值构造函数为什么返回引用类型?

    目录 0 前言 1 内置类型 2 自定义类型 3 结论 4 源码 0. 前言 c++默认赋值构造函数的返回值是引用类型,c++赋值运算符=的本意是返回左值的引用,我们重载赋值构造函数的时候,返回值是否 ...

  10. CFRunLoop 源码学习笔记(CF-1151.16)

    1.CFRunLoopModeRef 什么时候创建的? 在调用__CFRunLoopFindMode(rl, modeName, create) 1.1)首先通过modeName 在RunLoop 中 ...