p { margin-bottom: 0.25cm; line-height: 120% }
a:link { }

nfs是network file system的缩写,作用在于让不同的网络,不同的机器,不同的操作系统可以共享彼此的文件。也就是讲远程服务器共享的目录挂载到本地的文件系统中。远程目录看起来就像是自己的一个磁盘分区

NFS运行在SUN的RPC(Remote Procedure Call, 远程过程调用)基础上, RPC定义了一种与系统无关的方法来实现进程间通信. 由此, NFS server也可以看作是RPC server.

正因为NFS是一个RPC服务程序,
所以在使用它之前,
先要映射好端口——通过portmap设定.
比如:
某个NFS
client发起NFS服务请求时,
它需要先得到一个端口(port).
所以它先通过portmap得到port
number.

下面 来看下服务器测的安装方式:

1
首先nfs安装:apt-get
install nfs-kernel-server

2
安装完nfs-kernel-server后,系统会自动为我们安装好portmap(端口映射器)和nfs-common(客户端软件,用于测试)

3
配置共享目录,在/etc/exports文件中添加如下命令:意思分别是

/tmp:服务器需要共享的目录。

192.168.0.11
允许能访问服务器的IP地址。这里可以是具体的地址也可以是IP网络号。比如192.168.1.1/24。
也可以采用通配符*,表示允许所有能访问到server的主机来连接共享目录

rw:
共享权限。

rw:客户端拥有读写权限(ro:代码只有读权限)

sync:同步写入资料到内存和硬盘中

no_subtree_check:不检测子目录权限

root_squash:如果客户端使用root权限访问共享目录,则会被认为是匿名用户(权限缩小)

no_root_squash:如果客户端使用root权限访问共享目录,权限依旧为root

另外在这里我们还可以设定对共享目录文件访问的权限,这里需要用到setfacl命令。比如

setfacl
-m -u:zhf:rwx /tmp 就代表zhf的用户对这个目录下的文件具有rwx的权限

4
配置完成后,重启nfs-server服务/etc/init.d/nfs-kernel-server
restart。并执行showmount
-e就可以看到下面的挂载点。

root@zhf-virtual-machine:~#
showmount -e

/tmp
192.168.0.11(rw,no_root_squash)

5
服务器测安装apt-get
install nfs-common

6挂载服务器共享目录到本地

root@zhf-linux:/home#
mount -t nfs 192.168.0.9:/tmp /home/nfs/public

root@zhf-linux:/home#
df

Filesystem
1K-blocks Used Available Use% Mounted on

udev
1010832 0 1010832 0% /dev

tmpfs
205944 6528 199416 4% /run

/dev/sda1
238171776 11020944 215029284 5% /

tmpfs
1029712 30012 999700 3% /dev/shm

tmpfs
5120 4 5116 1% /run/lock

tmpfs
1029712 0 1029712 0% /sys/fs/cgroup

cgmfs
100 0 100 0% /run/cgmanager/fs

tmpfs
205944 56 205888 1% /run/user/1000

192.168.0.9:/tmp
19477248 1026432 17438464 6% /home/nfs/public

7
进入到/home/nfs/public就可以看到在192.168.0.9当中共享的文件

root@zhf-linux:/home/nfs/public#
ls -al

total
72

drwxrwxrwt
17 root root 4096 Oct 30 21:36 .

drwxr-xr-x
3 root root 4096 Oct 30 21:39 ..

-rw-------
1 zhf zhf 0 Oct 30 21:08 config-err-C8mCtt

drwxrwxrwt
2 root root 4096 Oct 30 21:06 .font-unix

drwxrwxrwt
2 root root 4096 Oct 30 21:08 .ICE-unix

drwx------
3 root root 4096 Oct 30 20:57
systemd-private-3b1f89764b29474681718903030213e2-colord.service-GtPb2r

drwx------
3 root root 4096 Oct 30 21:07
systemd-private-3b1f89764b29474681718903030213e2-rtkit-daemon.service-eMi74n

drwx------
3 root root 4096 Oct 30 21:06
systemd-private-3b1f89764b29474681718903030213e2-systemd-timesyncd.service-HMSDuI

drwxrwxrwt
2 root root 4096 Oct 30 21:06 .Test-unix

drwx------
9 root root 4096 Oct 30 21:09 ubuntu-release-upgrader-p9q1b5zo

-rw-rw-r--
1 zhf zhf 0 Oct 30 21:08 unity_support_test.0

drwxr-xr-x
2 root root 4096 Oct 30 21:09 upgrade-chroot-ano169rw

drwx------
2 root root 4096 Oct 30 21:09 upgrade-rw-699p254l

drwxrwxrwt
2 root root 4096 Oct 30 21:07 VMwareDnD

drwxr-xr-x
2 root root 4096 Oct 30 20:57 vmware-root

drwx------
2 root root 4096 Oct 30 21:07 vmware-root-2689209388

drwx------
2 zhf zhf 4096 Oct 30 21:08 vmware-zhf

-r--r--r--
1 root root 11 Oct 30 20:57 .X0-lock

drwxrwxrwt
2 root root 4096 Oct 30 20:57 .X11-unix

drwxrwxrwt
2 root root 4096 Oct 30 21:06 .XIM-unix

分钟使用该目录下的数据后,则客户端系统将会主动卸载/home/nfsfile/public.
autofs的配置很简单。下面来看下步骤:

1
建立主配置文件/etc/auto.master.设置如下:这个的意思是当要使用/home/nfsfile的数据时,会去读取/etc/auto.nfs的数据进行自动挂载

/home/nfsfile
/etc/auto.nfs

2
建立数据对应文件内/etc/auto.nfs的挂载信息与服务器对应的资源。下面的这个意思是当要使用/home/nfsfile/public的数据时,去自动挂载192.168.0.9的/tmp资源

public
-rw,bg,rsize=32768,wsize=32768 192.168.0.9:/tmp

3
去/home/nfsfile/public去实际查看的时候发现是自动挂载的

root@zhf-linux:/home/nfsfile/public#
mount | grep nfsfile

/etc/auto.nfs
on /home/nfsfile type autofs
(rw,relatime,fd=6,pgrp=5258,timeout=300,minproto=5,maxproto=5,indirect)

192.168.0.9:/tmp
on /home/nfsfile/public type nfs4
(rw,relatime,vers=4.0,rsize=32768,wsize=32768,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.11,local_lock=none,addr=192.168.0.9)

4
文件的挂载也出现了

root@zhf-linux:/home/nfsfile/public#
df /home/nfsfile/public

Filesystem
1K-blocks Used Available Use% Mounted on

192.168.0.9:/tmp
19477184 1018848 17445888 6% /home/nfsfile/public

一起来学linux:NFS服务器搭建的更多相关文章

  1. Linux NFS服务器搭建

    1.NFS:NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.   在NFS的应用中,本地N ...

  2. Linux之我有你也有-共享平台NFS服务器搭建

    Linux之我有你也有-共享平台NFS服务器搭建 最近因工作需要,所以要搭一个共享的服务器用于存储.实现你有我有大家有的共享的和谐局面.想到了NFS-Network File System.接下来我便 ...

  3. Linux NFS服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了Linux NFS服务器的安装与配置方法(图文详解),需要的朋友可以参考下(http://xb.xcjl0834.com) 一.NFS服务简介 NFS 是Network File S ...

  4. Linux NFS服务器的简明配置6.8

    Linux NFS服务器的简明配置6.8   Linux NFS服务器的简明配置 一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的 ...

  5. NFS服务器搭建-共享PC与ARM主板文件

    NFS服务器搭建-共享PC与ARM主板文件 在搭建好交叉编译环境之后需要实现目标板与宿主机的文件共享,在这里选择NFS,由于资料较多.需要注意的以下几点: 目标板与宿主机需要连接在同一个网段内. 宿主 ...

  6. Linux NFS服务器的安装与配置详解

    一.NFS服务简介 NFS是Network File System(网络文件系统).主要功能是通过网络让不同的服务器之间可以共享文件或者目录.NFS客户端一般是应用服务器(比如web,负载均衡等),可 ...

  7. Linux NFS服务器的安装与配置

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

  8. (转)Linux NFS服务器的安装与配置

    转自:http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html 由于在6系列里面,portmap已经改名了 ,6系列需要使用 serv ...

  9. 【转载】Linux NFS服务器的安装与配置

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

  10. NFS服务器搭建

    1. 安装nfs-kernel-server,然后编辑/etc/exports. /sambadata/nfsserver    10.0.0.0/255.255.255.0(fsid=0,all_s ...

随机推荐

  1. 纯CSS写正方形自适应宽高,且左侧高与正方形高保持一致

    先上图 虽然写法有点暴力,但是效果还是可以的,哈哈哈哈哈html:<div class="box">            <div class="le ...

  2. node 当中的 cnpm和npm 的区别和使用

    在安装nodejs之后会有npm命令 打开命令符输入之后 输入node -v(记得-v前空格)查看版本信息   如果显示出来了就说明安装成功 然后 npm 可以安装node插件 cnpm使用的是淘宝网 ...

  3. 强大的桌面用 PDF 重排工具:K2pdfopt 简明教程

    用 Kindle 阅读 PDF 一直以来都遭到小伙伴们的无限吐槽,在那 Kindle 还能越狱的时代,我们有 Koreader 之类优秀的 Kindle 第三方插件实现 PDF 文档的实时重排,但是随 ...

  4. kbhit()

    kbhit() 非阻塞的响应键盘输入时间   C++函数 功能和返回值:检查是否有键盘输入 ,有返回非0 ,无返回0 int khbit(void) 头文件: #include<conio.h& ...

  5. 云计算-openstack基础构架以及服务方式详解

    一:什么是openstack 是Rackspace(美国航天局)和NASA(一家公司)共同发起的开源项目,他是一系列软件项目的组合. 这些项目是松耦合的关系,可以进行独立的安装,启动和停止,只有在必要 ...

  6. php中常用的字符串查找函数strstr()、strpos()实例解释

    string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 1.$haystack被查找的字 ...

  7. 基于SSM之Mybatis接口实现增删改查(CRUD)功能

    国庆已过,要安心的学习了. SSM框架以前做过基本的了解,相比于ssh它更为优秀. 现基于JAVA应用程序用Mybatis接口简单的实现CRUD功能: 基本结构: (PS:其实这个就是用的Mapper ...

  8. VBA.NET 系统可行性分析模板

    系统可行性分析 1.  技术可行性分析 前提: 系统不知在Window系统中,开发环境不受限制:系统以C/S结构为主,提供大量的数据操作:主要用VB.NET开发,提高安全性和访问效率. 基本要求 客户 ...

  9. 教你ASP.NET中如何防止注入攻击

    你应该在程序中验证所有的不信任输入.你应该假定所有的用户输入都是非法的.用户可以在应用程序中提供表单字段,查询字串,客户端cookies和浏览器环境值比如用户代理字串和IP地址等. 弱输入校验通常为注 ...

  10. C#仪器数据文件解析-Word文件(doc、docx)

    不少仪器数据报告输出为Word格式文件,同Excel文件,Word文件doc和docx的存储格式是不同的,相应的解析Word文件的方式也类似,主要有以下方式: 1.通过MS Word应用程序的DCOM ...