看到鸟哥私房菜对NFS的介绍,就想试试玩一下。看起来步骤也很简单。

1.背景名词。

NFS(Network File System)

作用:让所有的Unix-like 机器通过网络共享彼此的文件

局限:文件权限问题。客户端和服务器端必须具备相同的账号才能够访问某些目录或文件。

RPC(Remote Procedure Call)

作用:指定每个NFS功能所对应的port number,并且通知客户端,让客户端可以连接到正确的端口上去。

当服务器在启动NFS时会随机选取数个端口,并主动向RPC注册,因此RPC可以知道每个端口对应的NFS功能。

所以启动NFS之前,要启动RPC,否则NFS无法向RPC注册。

2.服务器端配置

1)下载软件

#sudo apt-get install rpcbind nfs-kernel-server

2)建立共享目录

#sudo mkdir /home/user/nfstest

#sudo chmod 777 /home/user/nfstest

3)修改配置文件

#sudo vim /etc/exports

/home/user/nfstest     localhost(rw,sync,no_root_squash)

localhost表面只允许本机访问,这个字段可以为IP地址。也可以用正则表达式来表示。

rw代表具有可读写权限。ro代表只具有可读权限。

sync是资料同步写入内存和硬盘。async代表数据会先暂存于内存当中,而非直接写入硬盘。

no_root_squash和root_squash的不同在于客户端用户为root时,访问系统的权限不同。客户端使用NFS系统的账号为root时,root_squash会压缩用户为nfsnobody,而no_root_squash会继续保持其root身份。

all_root_squash会压缩所有的用户为nfsnobody。

4)重启服务

#sudo /etc/init.d/rpcbind restart

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

* Stopping NFS kernel daemon
...done.
* Unexporting directories for NFS kernel daemon...
...done.
* Exporting directories for NFS kernel daemon...
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "localhost:/home/user/nfstest".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x ...done.
* Starting NFS kernel daemon
...done.

可以看到 NFS kernel daemon启动成功。如果不成功会显示fail。

5)测试服务器

#showmount -e
Export list for hostname:
/home/user/nfstest localhost
说明服务器端搭建OK。

3.客户端配置

1)下载软件

#sudo apt-get install rpcbind nfs-common

2)挂载文件

#mkdir /home/user/mnt

#chmod 777 /home/user/mnt

#mount -t nfs localhost:/home/user/nfstest /home/user/mnt

mount -t nfs 服务器名/IP地址:服务器共享目录  本地挂载目录

3)客户端测试

#cd /home/user/mnt

#touch testfile

就会看到 /home/user/nfstest和/home/user/mnt下面都有testfile文件,说明测试成功。

4.取消挂载

#sudo umount /home/user/mnt

Ubuntu环境下NFS服务器搭建的更多相关文章

  1. windows环境下apache-apollo服务器搭建及发布订阅测试

    查证了一些资料之后,发现 apache-apollo服务器使用的人还是挺多的,资料也比较齐全,所以直接选择 apache-apollo了,具体性能如何,先用起来再说吧: 1.下载 apache-apo ...

  2. Ubuntu环境下Nutch+Tomcat 搭建简单的搜索引擎

    简易的搜索引擎搭建 我的配置: Nutch:1.2 Tomcat:7.0.57 1 Nutch设置 修改Nutch配置 1.1 修改conf/nutch-site.xml <?xml versi ...

  3. Ubuntu环境下IPython的搭建和使用

    1. Ubuntu操作系统版本 说明:Ubuntu 12.04.3 LTS自带的Python 2.7.3版本. 2. 安装IPython 说明: 输入命令sudo apt-get install ip ...

  4. Linux 环境下svn 服务器搭建

    可使用自己下载的svn安装包,但要安装相关依赖包,yum 安装源提供的稳定版本svn 1.yum -y install subversion 2.创建本地库 mkdir -p /var/svn svn ...

  5. linux下的服务器搭建集成环境

    linux下的服务器搭建集成环境 ——写给初学者的我们 1.准备工具 1.1 SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录 ...

  6. Ubuntu环境下SSH的安装及使用

    Ubuntu环境下SSH的安装及使用 SSH是指Secure Shell,是一种安全的传输协议,Ubuntu客户端可以通过SSH访问远程服务器 .SSH的简介和工作机制可参看上篇文章SSH简介及工作机 ...

  7. Ubuntu环境下的Redis 配置与C++使用入门

      Redis是一个高性能的key-value数据库. Redisedis的出现,非常大程度补偿了memcached这类key/value存储的不足,在部分场合能够对关系数据库起到非常好的补充作用.它 ...

  8. Windows10 下Apache服务器搭建

    Windows10 下Apache服务器搭建   转 https://blog.csdn.net/sunqian666888/article/details/78561399 目录 一.软件下载 二. ...

  9. CentOS6.4下邮件服务器搭建

    CentOS6.4下邮件服务器搭建   linux下邮件服务器的搭建大致分为三个步骤 准备工作(真实的生产环境下需要) 发送服务器安装及配置 (Postfix) 接收服务器安装及配置(dovecot) ...

随机推荐

  1. android ToolBar与DrawerLayout笔记

    通过Android Studio 生成的Nagvition DrawerLayout Activity 自带的布局中的NagvitionView会覆盖ToolBar直接通到statusBar. 但是自 ...

  2. Web开发 < base target>

    target就是点击链接后跳转到的目标页.通俗点说,就是你当前页面上的链接<a>,也包括<img>.<link>.<form>,除非你指定了target ...

  3. Mock和injectMocks的区别

    @Mock private ForeCatalogManageServiceImpl foreCatalogManageServiceImpl; 如果是上面的写法,那么 红框方法里面的代码不会执行,这 ...

  4. css 圆角效果

    http://intacto10years.com/index_start.php<div style="width:800px; height:1300px;">&l ...

  5. "SOAP WebService " 和 "RESTful WebService" 的定义分别是什么???

    一个个来,要知道区别,首先得知道各自的意义及用途web service采用Xml传输结构化的数据,轻量级跨平台而soap则是一种基于http的应用层通讯协议,同样采用xml编码,只不过soap又更进了 ...

  6. iPhone真机测试Crash信息分析

    一.获取Crash Log的方式 在iOS开发过程,当应用已经打包,iPhone设备通过ipa的包安装应用后,在使用过程发现crash,那么如何获取crash日志呢,现提供如下四种获取crash日志的 ...

  7. angularjs中ng-repeat-start与ng-repeat-end用法实例

    <!DOCTYPE html> <html lang="zh-CN" ng-app="app"> <head> <me ...

  8. spring web flow 2.0入门(转)

    Spring Web Flow 2.0 入门 一.Spring Web Flow 入门demo(一)简单页面跳转 附源码(转) 二.Spring Web Flow 入门demo(二)与业务结合 附源码 ...

  9. 浅谈C++ Lambda 表达式(简称LB)

    C++ 11 对LB的支持,对于喜欢Functional Programming的人来说,无疑是超好消息.它使得C++进入了和C#,JavaScript等现代流行的程序设计语言所代表的名人堂. 不熟悉 ...

  10. protobuf的反射机制

    反射机制 java在运行状态时,能够知道任意类的所有属性和方法,都能够调用任意对象的任意方法和属性.这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. C++本身没有反射机制. ...