本文介绍如何在Ubuntu下开启NFS文件系统,从而挂载网络上其他机器的文件系统。

  NFS, Network File System, 即网络文件系统,通常NFS有提供者和使用者,提供者export自己的目录,使用者将提供者共享(export)的目录挂载到自己的机器上,我们将提供者视为服务端,使用者视为客户端,但是在NFS中,这个C-S关系实质上是不固定的。

  一、服务器端

  1.安装nfs-kernel-server,将会自动安装nfs-common和rpcbind等依赖

$ sudo apt-get install nfs-kernel-server

  2.配置/etc/exports文件,该文件在nes-kernel-server安装前不存在,文件中的内容设置了允许发现服务端共享目录的客户端主机以及拥有的访问权限,其字段的格式如下:

  格式:  share_dir    client_host(permission1,permission2,...,permissionN)

  参数:

  (1)share_dir

  共享目录,必须是目录的绝对路径,若为文件,则在挂载时会出错。若目录名含有空格等字符,须用双引号标注。

  (2)client_host

  可以是单个主机(指定网络IP),也可以是网络段,支持通配符*和?

  (3)permission

  ro: 只读(read-only)

  rw:读和写(read-write)

  root_squash:压缩root用户。当客户端以root挂载时,则NFS服务器将root视为匿名用户服务(nfsnobody)。

  no_root_squash:不压缩root用户。当客户端以root挂载时,则NFS服务器将其为共享目录的root用户,不安全。

  sync:同步写磁盘

  async:异步写磁盘。

示例:

$ vim /etc/exports
--------Add Content Below--------
/.../EXPORT_DIR HOST1(rw,sync,no_subtree_check) HOST2(ro,sync,no_subtree_check)
/.../EXPORT_DIR    ×(ro,sync,no_subtree_check)

  上面的例子中,EXPORT_DIR是要共享到网络上的目录。

  后面的HOST1和HOST2是允许访问的客户端主机,客户端主机之间使用空格隔开。如果允许网络上的所有客户端主机发现服务器“出口”的目录,就使用星号取代主机名。

  每一个客户端主机后的括号内是访问控制策略,包括读写权限(ro,只读;rw,读写等等),访问权限之间使用逗号分隔。

  3.重启nfs服务

$ sudo /etc/init.d/nfs-kernel-server restart

  也可以检查nfs服务器是否正常监听,通过下面的命令找到对应的监听端口

$ netstat -tl | grep nfs

二、客户端挂载服务端NFS

  1.查看目标服务器共享的目录

$ sudo apt-get install nfs-kernel-server  #客户端同样也要安装nfs软件包
$ showmount -e SERVER_HOST

  -e 选项列出服务端的export list, 其中SERVER_HOST是目标服务器的主机地址,该命令将会显示这个服务器共享的目录列表。如果不指定SERVER_HOST,将会列出本机共享的目录(export list)。

  2.查看自己已经挂载了哪些目录

$ showmount -a

  将会看到目前已挂载的服务器以及相应的共享目录。

  3.创建挂载点

  如果发现有服务器共享的目录需要挂载但还没有挂载,可以为其创建一个挂载点:

$ mkdir /mnt/MOUNT_DIR

  其中的MOUNT_DIR是任意指定的名称。

  4.挂载共享目录

  在服务器已经共享的前提下,使用客户端可以挂载共享目录

$ mount SERVER_HOST:EXPORT_DIR /mnt/CLIENT_DIR

  其中,SERVER_HOST是服务器地址,目录与服务器主机使用冒号分隔,EXPORT_DIR必须与exports文件中的完全相同,这个可以通过前面的showmount命令查看。最后的参数就是我们将服务器的目录挂载到本地的挂载点,即第三布中创建的目录。

  5.卸载已挂载的目录

  如果使用完了服务器的共享目录,应该将其卸载,使用umount命令与卸载普通文件系统操作相同。

$ umount /mnt/MOUNT_DIR

(实用)Ubuntu 开启NFS服务的更多相关文章

  1. ubuntu 开启 ftp 服务 | mingming-killer

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  2. ubuntu开启SSH服务远程登录

    http://blog.csdn.net/jackghq/article/details/54974141 ubuntu开启SSH服务远程登录

  3. 【转】ubuntu 12.04下如何开启 NFS 服务 & 设置

    在嵌入式Linux开发中,利用NFS服务从开发板访问Linux主机是个高效&方便的调试方法,在程序调试过程中可以避免多次下载程序到开发板.但这需要在Linux主机上首先开通NFS服务. 以ub ...

  4. 让ubuntu开启ssh服务以及让vi/vim正常使用方向键与退格键

    VIM 修复方法: 安装vim full版本,在full版本下键盘正常,安装好后同样使用vi命令.ubuntu预装的是vim tiny版本,而需要的是vim full版本.执行下面的语句安装vim f ...

  5. Ubuntu开启NFS,挂载根目录

    1.安装NFS server Ubuntu初始状态是没有NFS server的,首先要安装NFS server: $ sudo apt-get install nfs-kernel-server (安 ...

  6. Linux下开启nfs服务

    1.什么是NFS(Network FileSystem) NFS 就是 Network FileSystem 的缩写,最早之前是由 Sun 所发展出来的.他最大的功能就是可以透过网络,让不同的机器.不 ...

  7. 如何在ubuntu开启ssh服务-使 SecureCRT远程登录

    不少人在第一次使用ubuntu系统的时候,用了很多种方法均没有办法开启SSH服务,ubuntu和其它的linux系统有所区别,因为在ubuntu下,service  sshd  restart  之类 ...

  8. Ubuntu 开启SSH服务以及有关设置:安装,指定端口号、免密登录、远程拷贝

    本文所用系统为 Ubuntu 18.04   什么是SSH?     简单说,SSH是一种网络协议,用于计算机之间的加密登录.全名为:安全外壳协议.为Secure Shell的缩写.SSH为建立在应用 ...

  9. centos配置nfs服务详细步骤(centos开启nfs服务)

    一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操 ...

随机推荐

  1. linux命令(51):set 指定行,直接替换并修改文件

    sed 命令: 指定行,从第一行到第一行: 把该行的ssd,换成cd: -i 表示的是替换并直接修改文件: sed  -i  '1,1s/ssd/cd/g' test_file 命令使用: sed - ...

  2. cxf、struts、spring中web.xml过滤url问题解决方案

    利用struts2自带的正则匹配,应该说这算是最官方的解决方案了 在struts.properties中加正则匹配 struts.action.excludePattern=/webservice/. ...

  3. ZooKeeper学习之文件系统的布局和格式

    本文来谈谈快照文件,事务日志文件在文件系统中是如何存放的. 写事务日志是事务处理的关键步骤,所以高度建议在一个独立的磁盘上存储.快照不需要在独立的磁盘存储,因为它们是由一个后台线程以懒汉式的(lazi ...

  4. 解决问题:swiper动态加载图片后无法滑动

    原因:swiper在初始化的时候会扫描swiper-wrapper下面的swiper-slide的个数,从而完成初始化,但是由于动态加载时在初始化之后的动作,所以导致无法滑动. 解决方案 1:在动态获 ...

  5. Docker 入门(Mac环境)- part 2 容器(container)

    part-2 容器(container) 简介 Docker架构有三个层面,从高到低如下: stack(栈) services(服务) containers(容器) 现在接触的这些在容器这一层里,类似 ...

  6. 【MLE】最大似然估计Maximum Likelihood Estimation

    模型已定,参数未知 已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值.最大似然估计是建立在这样的思想上:已知某个参数能使这个 ...

  7. UEFI格式预装win8安装win7

    如果本本预装的是win8,而且是较新款的机型,那么当你想要格掉win8,装win7系统时就会遇到问题.主要有两个: 1)安装win7时,笔记本无法识别系统光盘或u盘启动盘 ,提示:屏幕显示“image ...

  8. 基于jQuery实现滚动新闻代码下载

    分享一款基于jQuery实现滚动新闻代码下载.这是一款基于bootstrup 3实现的响应式jQuery滚动新闻插件.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div ...

  9. GODOT 3.0 开发快照版本 ALPHA1 释出

    经过将近一年的开发后,master 分支(即未来的Godot 3.0)所有功能特性接近完成,可以在Godot社区里进行更广泛的测试了.因此我们释出了第一个Alpha快照版本,供老用户体验.报告Bug. ...

  10. PostgreSQL存储过程<转>

    原创文章,转载请务必将下面这段话置于文章开头处(保留超链接).本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/12/27/SQL4_存储过程_St ...