Ubuntu环境下NFS服务器搭建
看到鸟哥私房菜对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服务器搭建的更多相关文章
- windows环境下apache-apollo服务器搭建及发布订阅测试
查证了一些资料之后,发现 apache-apollo服务器使用的人还是挺多的,资料也比较齐全,所以直接选择 apache-apollo了,具体性能如何,先用起来再说吧: 1.下载 apache-apo ...
- Ubuntu环境下Nutch+Tomcat 搭建简单的搜索引擎
简易的搜索引擎搭建 我的配置: Nutch:1.2 Tomcat:7.0.57 1 Nutch设置 修改Nutch配置 1.1 修改conf/nutch-site.xml <?xml versi ...
- Ubuntu环境下IPython的搭建和使用
1. Ubuntu操作系统版本 说明:Ubuntu 12.04.3 LTS自带的Python 2.7.3版本. 2. 安装IPython 说明: 输入命令sudo apt-get install ip ...
- Linux 环境下svn 服务器搭建
可使用自己下载的svn安装包,但要安装相关依赖包,yum 安装源提供的稳定版本svn 1.yum -y install subversion 2.创建本地库 mkdir -p /var/svn svn ...
- linux下的服务器搭建集成环境
linux下的服务器搭建集成环境 ——写给初学者的我们 1.准备工具 1.1 SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录 ...
- Ubuntu环境下SSH的安装及使用
Ubuntu环境下SSH的安装及使用 SSH是指Secure Shell,是一种安全的传输协议,Ubuntu客户端可以通过SSH访问远程服务器 .SSH的简介和工作机制可参看上篇文章SSH简介及工作机 ...
- Ubuntu环境下的Redis 配置与C++使用入门
Redis是一个高性能的key-value数据库. Redisedis的出现,非常大程度补偿了memcached这类key/value存储的不足,在部分场合能够对关系数据库起到非常好的补充作用.它 ...
- Windows10 下Apache服务器搭建
Windows10 下Apache服务器搭建 转 https://blog.csdn.net/sunqian666888/article/details/78561399 目录 一.软件下载 二. ...
- CentOS6.4下邮件服务器搭建
CentOS6.4下邮件服务器搭建 linux下邮件服务器的搭建大致分为三个步骤 准备工作(真实的生产环境下需要) 发送服务器安装及配置 (Postfix) 接收服务器安装及配置(dovecot) ...
随机推荐
- vim 设定一个新的snippets
目录 ~/.vim/bundle/vim-snippets/snippets 编辑 _.snippets 在最后添加一行自己需要的,比如想要个自己的名字,然后按tab,即出现全称,可以添加如下内容 s ...
- Day1 - Python基础1 介绍、基本语法、流程控制
Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼 ...
- Oracle中的over(partition by...)分析函数及开窗函数
假设有一张表student Name Score InsertTime (Name:姓名 Score:成绩 InsertTime:考试时间) 张三 20 2015-08-08 ...
- 移动页面缩放方法之(二)控制HTML
<!DOCTYPE HTML> <html lang="zh-cn"> <head> <meta http-equiv="Con ...
- Linq101-CustomSequence
using System; using System.Collections.Generic; using System.Linq; namespace Linq101 { class CustomS ...
- asp.net C# 导出EXCEL数据
if (dt == null) { return ""; } Microsoft.Office.Interop.Excel.Application xlApp = new Micr ...
- 新建android系统服务
一.Android系统服务 Android提供了很多系统服务:如ActivityManger,PowerManger,WindowManger,WifiManger等等. 这些服务都是系统启动开始就一 ...
- android编译系统学习
近日接手了后续android新平台项目搭建的任务. 本文内容基于sprd公司提供的android5.1源码. 一.一般的编译工作流程 我们代码一般情况下是从芯片商SPRD/MTK获得的. 源码的编译上 ...
- linux command cp.
Examples cp file1.txt newdir Copies the file1.txt in the current directory to the newdir subdirector ...
- 如何遍历json属性和动态添加属性
var person= { name: 'zhangsan', pass: '123' , 'sni.ni' : 'sss', hello:function (){ for(var i=0;i< ...