本文介绍如何在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. profile bashrc bash_profile 之间的区别和联系

    /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一个 ...

  2. iOS开发如何学习前端(1)

    iOS开发如何学习前端(1) 我为何学前端?因为无聊. 概念 前端大概三大块. HTML CSS JavaScript 基本上每个概念在iOS中都有对应的.HTML请想象成只能拉Autolayout或 ...

  3. 【Java Concurrency】sleep()、wait()、notify()、notifyAll()的用法与区别

    >关于本文 本文介绍sleep().wait().notify().notifyAll()方法,主要要理解: sleep()和wait()的区别. wait()与notify().notifyA ...

  4. Python实现堆数据结构

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/3/18 19:47 # @Author : baoshan # @Site ...

  5. Python写入连接mysql失败

    执行如下连接数据库的语句: engine = create_engine('mysql://root:root@127.0.0.1/stock?charset=utf8') 报错如下: ImportE ...

  6. Android开发(一)——全屏或者取消标题栏

    先介绍去掉标题栏的方法: 第一种:也一般入门的时候经常使用的一种方法 requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 注意这句一定要写在se ...

  7. ubuntu 12.04下编译安装nginx-1.9.3

    1,下载nginx-1.9.3.tar.gz 两种方式: (1).ubuntu 下终端中(ctrl+alt+t) 运行命令: wget http://nginx.org/download/nginx- ...

  8. Java FutureTask<V> 源码分析 Android上的实现

    FutureTask类提供了可取消的异步计算,并且可以利用开始和取消计算的方法.查询计算是否完成的方法和获取计算结果的方法. 首先看一下继承关系 public class FutureTask< ...

  9. face alignment---各种算法框架

    [深度学习]最新的一些开源face alignment及评价 转载  2017年01月12日 11:33:39 2047 dlib :https://github.com/davisking/dlib ...

  10. ML-DL-各种资源汇总

    1.Used Libraries, Datasets, and Models 1.1 Libraries TensorFlow (from Google): https://www.tensorflo ...