Ubuntu配置NFS服务器
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
环境:Win7_64位+VMware11+Ubuntu1204
1,下载安装
sudo apt-get install nfs-kernel-server
2,创建目录
sudo mkdir /source/rootfs
注:nfs只是一种文件目录共享模式,可以是任意目录,建议使用专门目录。
3,配置共享资源
sudo vi /etc/exports #打开配置文件
格式:<ShareDir> <Host1(args)> <Host2(args)> ...
解释:ShareDir共享目录,Hostn客户端主机标识,args该客户端访问权限
示例:/srouce/rootfs *(rw,sync,no_root_squash,no_subtree_check)
*:允许所有的网段访问,也可以使用具体的IP
rw:挂接此目录的客户端对该共享目录具有读写权限
sync:资料同步写入内存和硬盘
no_root_squash:root用户具有对根目录的完全管理访问权限。
no_subtree_check:不检查父目录的权限。
附具体参数说明如下:
参数 |
说明 |
ro |
只读访问 |
rw |
读写访问 |
sync |
所有数据在请求时写入共享 |
async |
nfs在写入数据前可以响应请求 |
secure |
nfs通过1024以下的安全TCP/IP端口发送 |
insecure |
nfs通过1024以上的端口发送 |
wdelay |
如果多个用户要写入nfs目录,则归组写入(默认) |
no_wdelay |
如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置 |
hide |
在nfs共享目录中不共享其子目录 |
no_hide |
共享nfs目录的子目录 |
subtree_check |
如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认) |
no_subtree_check |
不检查父目录权限 |
all_squash |
共享文件的UID和GID映射匿名用户anonymous,适合公用目录 |
no_all_squash |
保留共享文件的UID和GID(默认) |
root_squash |
root用户的所有请求映射成如anonymous用户一样的权限(默认) |
no_root_squash |
root用户具有根目录的完全管理访问权限 |
anonuid=xxx |
指定nfs服务器/etc/passwd文件中匿名用户的UID |
anongid=xxx |
指定nfs服务器/etc/passwd文件中匿名用户的GID |
4,启动服务
重启portmap服务。nfs是一个RPC程序,使用它前,需要映射好端口,通过portmap设定。
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
或者
sudo service portmap restart
sudo service nfs-kernel-server restart
5,查看NFS服务器的共享资源
在客户端可以使用showmount命令查看NFS服务器上都有哪些共享资源,如果使用该命令需要安装nfs-kernel-server软件包。
格式:showmount -e <nfsIP>
示例:showmount -e localhost
6,将NFS共享目录挂载到本地
sudo mkdir -p /mnt/nfs #创建本地目录用于挂载,像操作本地目录一样操作共享目录
sudo mount -t nfs <nfsIP>:/source/rootfs /mnt/nfs #-t 指定文件系统
在启动脚本/etc/rc.local中写入挂载命令可实现开机启动挂载
7,卸载共享资源
sudo unmount -f /mnt/nfs #-f 强制卸载,不推荐使用-f参数
最新文章
- Only one statement is allowed per batch. A batch separator, such as &#39;GO&#39;, might be required between statements.
- 二、JavaScript语言--JS基础--JavaScript进阶篇--函数
- .net 调用Oracle.Data.Access 组件提供的用于批量操作的方法
- 如何制定AxureRP设计体系
- hdu3038(并查集)
- 老李秘技:loadrunner回放脚本错误提示Error: ";HTTP Status-Code 500";
- Java自学手记——注解
- APUE 3 -- 信号 (signal)<;II>;: 可靠信号
- SQL Server 2016 快照代理过程分析
- PHP能引起安全的函数
- scrollify - 滚动条方式的全屏滚动
- linux_nginx_rewrite
- 使用Flume消费Kafka数据到HDFS
- Practical Node.js (2018版) 第10章:Getting Node.js Apps Production Ready
- jar各个版本号的意义
- Beta冲刺——day2
- Big Spatio temporal Data(R-tree Index and NN &; RNN &; Skyline)
- java 多线程7: (suspend方法与resume方法) 挂起与恢复
- JAVA练手--String
- JVM理解
热门文章
- 不常见偏门的Bug,Spring Boot IDEA 静态资源 图片访问404,初学者之殇
- iOS WKWebView 加载进度条、导航栏返回&;关闭 (Swift 4)
- nginx媒体类型
- 洛谷 P3400 仓鼠窝
- LCA UESTC 92 Journey
- Kruskal &;&; Prim模板
- Mysql数据类型简介(大概了解)
- 491 Increasing Subsequences 递增子序列
- spoj GCJ1C09C Bribe the Prisoners
- arttemplate模板引擎有假数据返回数据多层内嵌的渲染方法