摘要:本文介绍了NFS服务器的安装过程、配置文件和常用命令行工具,以及NFS客户端上如何安装常用工具,介绍如何挂载共享目录,并通过实验进行验证。

一、服务器端:

1.1安装NFS服务:

#执行以下命令安装NFS服务器,

#apt会自动安装nfs-common、rpcbind等13个软件包

sudo apt install nfs-kernel-server

1.2编写配置文件:

#编辑/etc/exports 文件:

sudo vi /etc/exports

#/etc/exports文件的内容如下:

/tmp *(rw,sync,no_subtree_check,no_root_squash)

/data *(rw,sync,no_subtree_check,no_root_squash)

/logs *(rw,sync,no_subtree_check,no_root_squash)

1.3创建共享目录

#在服务器端创建/tmp /data和/logs共享目录

sudo mkdir -p /tmp

sudo mkdir -p /data

sudo mkdir -p /logs

1.4重启nfs服务:

sudo service nfs-kernel-server restart

1.5常用命令工具:

#在安装NFS服务器时,已包含常用的命令行工具,无需额外安装。

#显示已经mount到本机nfs目录的客户端机器。

sudo showmount -e localhost

#将配置文件中的目录全部重新export一次!无需重启服务。

sudo exportfs -rv

#查看NFS的运行状态

sudo nfsstat

#查看rpc执行信息,可以用于检测rpc运行情况

sudo rpcinfo

#查看网络端口,NFS默认是使用111端口。

sudo netstat -tu -4

二、客户端:

2.1安装客户端工具:

#在需要连接到NFS服务器的客户端机器上,

#需要执行以下命令,安装nfs-common软件包。

#apt会自动安装nfs-common、rpcbind等12个软件包

sudo apt install nfs-common

2.2查看NFS服务器上的共享目录

#显示指定的(192.168.3.167)NFS服务器上export出来的目录

sudo showmount -e 192.168.3.167

2.3创建本地挂载目录

sudo mkdir -p /mnt/data

sudo mkdir -p /mnt/logs

2.4挂载共享目录

#将NFS服务器192.168.3.167上的目录,挂载到本地的/mnt/目录下

sudo mount -t nfs 192.168.3.167:/data /mnt/data

sudo mount -t nfs 192.168.3.167:/logs /mnt/logs

#注:在没有安装nfs-common或者nfs-kernel-server软件包的机器上,

#直接执行showmount、exportfs、nfsstat、rpcinfo等命令时,

#系统会给出友好的提示,

#比如直接showmount会提示需要执行sudo apt install nfs-common命令,

#比如直接rpcinfo会提示需要执行sudo apt install rpcbind命令。

实验附图:

1-在没有安装nfs相关软件包的机器上,直接执行nfsstat和rpcinfo命令时,会给出安装提示

2-在没有安装nfs相关软件包的机器上,直接执行exportfs和showmount命令时,会给出的安装提示

3-在NFS服务器上使用apt命令,安装nfs-kernel-server软件包,系统提示同时安装nfs-common,rpcinfo等13个软件包

4-完成NFS服务器端的安装以后,查看etc下exports文件的默认内容

5-查看NFS服务器端的目录,创建共享目录,重启nfs服务

6-在NFS服务器端查看共享出来的目录

7-重启NFS服务,查看服务器端的共享目录,查看NFS的状态,以及RPC信息

8-在客户端192.168.3.166机器上,查看NFS服务器167上的共享目录

9-在客户端192.168.3.166上使用mount命令挂载NFS服务器167上的共享目录,查看目录中的内容

【结束】

参考链接:

超全面的NFS详解

http://server.51cto.com/sManage-150923.htm

ubuntu 16.04 nfs服务的搭建

http://www.cnblogs.com/MoreExcellent/p/7222895.html

---------------------
作者:Docker猫猫
来源:CSDN
原文:https://blog.csdn.net/CSDN_duomaomao/article/details/77822883
版权声明:本文为博主原创文章,转载请附上博文链接!

Ubuntu 16.04系统上NFS的安装与使用的更多相关文章

  1. Ubuntu 16.04系统上修改Docker镜像的存储路径 (转)

    转自:https://blog.csdn.net/qihongchao/article/details/80651492 dba专门挂了一个硬盘让我放项目(测试环境)因为系统空间比较小,希望把dock ...

  2. 在Ubuntu 18.04系统上安装Systemback的方法(抄)

    在Ubuntu 18.04系统上安装Systemback的方法 2018-12-26 21:39:05作者:林莉稿源:云网牛站 本文介绍如何在Ubuntu 18.04或者Ubuntu 18.10系统上 ...

  3. 配置Ubuntu16.04第01步:U盘安装 Ubuntu 16.04系统

    Ubuntu 每年发布两个版本,Ubuntu 16.04 开发代号为“Xenial Xerus”,为第六个长期支持(LTS)版本. 1. 制作U盘系统安装盘 1.1下载最新的Universal USB ...

  4. Ubuntu 16.04系统下安装PHP5.6*

    Ubuntu 16.04系统默认php7,并没有php5*的包,所以需要自己安装: 方法: 1.删除所有的php包列出安装的php包,dpkg -l | grep php| awk '{print $ ...

  5. Ubuntu 16.04系统下安装Discuz出现“HTTP ERROR 500”目前无法处理此请求

    问题:当我们在Ubuntu 16.04系统下安装Disucz X3时,修改好文件的权限,浏览器输入地址安装时出现如下图所示问题: 问题查询: 在终端输入: tail -f /var/log/apach ...

  6. 虚拟机安装Ubuntu 16.04系统实操教程 详尽步骤 vmware ESXi亲测通过

    1 Ubuntu 16.04系统安装要求 Ubuntu 16.04 LTS下载最新版本的Ubuntu,适用于台式机和笔记本电脑. LTS代表长期支持,这意味着有五年免费安全和维护更新的保证. Ubun ...

  7. 入门系列之使用Sysdig监视您的Ubuntu 16.04系统

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由乌鸦 发表于云+社区专栏 介绍 Sysdig是一个全面的开源系统活动监控,捕获和分析应用程序.它具有强大的过滤语言和可自定义的输出,以 ...

  8. 在Ubuntu 16.04 LTS上用g++和gcc编译C/C++代码错误提示“.../x86_64-linux-gnu/crt1.o: ELF section name out of range”

    (有一些图片我是直接从个人的CSDN博客上复制来的) 最近一个多月来,我曾经多次尝试在Ubuntu 16.04 LTS上使用g++和gcc(这俩好像合起来叫MinGW?)来编译C/C++代码,但是在解 ...

  9. Ubuntu 16.04系统挂载4T硬盘

    问题描述: Ubuntu 16.04系统,系统盘为240G固态硬盘,还有1T机械硬盘,现要再添加一个4T硬盘. 问题分析: 使用GTP对硬盘进行分区并挂载硬盘的方法,一般而言服务器上挂载的硬盘都是比较 ...

随机推荐

  1. 20169219《Linux内核原理与分析》第十一周作业

    设备与模块 关于设备驱动和设备管理的四种内核成分: 设备类型:为了统一普通设备的操作所采用的分类. 模块:用于按需加载和卸载目标码的机制. 内核对象:内核数据结构中支持面向对象的简单操作,还支持维护对 ...

  2. C++11新标准:decltype关键字

    一.decltype意义 有时我们希望从表达式的类型推断出要定义的变量类型,但是不想用该表达式的值初始化变量(如果要初始化就用auto了).为了满足这一需求,C++11新标准引入了decltype类型 ...

  3. C#中virtual和abstract区别,举例子

    virtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义. 它们有一个共同点:如果用来修饰方法,前面必须添加public,要不然就会出现编译错误:虚拟方法或抽象方法是不能 ...

  4. WinForm 生命周期, WinForm 事件执行顺序

    1.窗体启动: Control.HandleCreatedControl.BindingContextChangedForm.LoadControl.VisibleChangedForm.Activa ...

  5. .NET 生成生成缩略图

    /// <summary> /// 生成缩略图 /// </summary> /// <param name="FromImagePath">源 ...

  6. Android源码树中C代码的编译

    侯 Sir说:“源码之下,了无秘密.” 但有些秘密还是要搞起来了看得更真切,仅从静态代码的体位很难体会到运动时的妙处.因此环境搭好了,下一步就是调试.gdbserver搭配gdb的调试环境走得很顺利, ...

  7. Codeforces Round #538 (Div. 2)D(区间DP,思维)

    #include<bits/stdc++.h>using namespace std;int a[5007];int dp[5007][5007];int main(){    int n ...

  8. 洛谷P3178 [HAOI2015]树上操作(线段树)

    题目描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a .操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 ...

  9. C语言数据结构-栈的实现-初始化、销毁、长度、取栈顶元素、查找、入栈、出栈、显示操作

    1.数据结构-栈的实现-C语言 #define MAXSIZE 100 //栈的存储结构 typedef struct { int* base; //栈底指针 int* top; //栈顶指针 int ...

  10. Java内存区域与内存溢出异常---对象的创建

    对象的创建   在语言层面,创建一个对象通常仅仅是一个new关键字而已.在虚拟机层面,虚拟机遇到一个new指令时,首先回去检查这个指令的参数是能在常量池中定位到一个类的符号引用,并检查这个符号引用代表 ...