NFS (Network FileSystem 网络文件系统)
2007-07-01 09:52
926 查看
1. NFS (Network FileSystem 网络文件系统)
让不同的机器,不同的OS在网络上共享目录和文件。通过NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。
4. 配置NFS
共享的NFS目录在/etc/exports中列出,这个文件控制对目录的共享。
书写规则是:共享目录 主机(参数)
e.g:/mnt/cdrom *.abc.com(ro,sync) master.abc.com(rw,sync)
上面的规则代表将/mnt/cdrom目录以只读同步方式共享给*.abc.com域,并且以读写同步方式共享给master.abc.com主机。任何共享目录都要指定sync或async,也就是指定文件写入磁盘之前共享NFS目录是否响应命令。
下面是一些NFS共享的常用参数:
ro:只读访问
rw:读写访问
sync:所有数据在请求时写入共享
async:NFS在写入数据前可以相应请求
修改了etc/exports而不想重新启动nfs,只需运行# exportfs -rv 即可
5. 启动NFS Server
# service portmap start
# service nfs start
根据需要设置在相应的运行级别自动启动NFS:
# chkconfig --level 235 portmap on
# chkconfig --level 235 nfs on
另外,还需要查看系统的iptables、/etc/hosts.allow、/etc/hosts.deny是否设置了正确的NFS访问规则。
参考:
http://www.raidcheng.net/blog/archives/2005/04/21/index.html#000174
http://nfs.sourceforge.net/nfs-howto/index.html
6. 启动NFS Client
6.1 显示Server的共享目录
# showmount -e 10.193.10.1
6.2 mount
# mount -t nfs 10.193.10.1:/home/public /home/nfs/public
把10.193.10.1下的/home/public mount到本地/home/nfs/public下
用 df看一下目录mount是否成功
让不同的机器,不同的OS在网络上共享目录和文件。通过NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。
4. 配置NFS
共享的NFS目录在/etc/exports中列出,这个文件控制对目录的共享。
书写规则是:共享目录 主机(参数)
e.g:/mnt/cdrom *.abc.com(ro,sync) master.abc.com(rw,sync)
上面的规则代表将/mnt/cdrom目录以只读同步方式共享给*.abc.com域,并且以读写同步方式共享给master.abc.com主机。任何共享目录都要指定sync或async,也就是指定文件写入磁盘之前共享NFS目录是否响应命令。
下面是一些NFS共享的常用参数:
ro:只读访问
rw:读写访问
sync:所有数据在请求时写入共享
async:NFS在写入数据前可以相应请求
修改了etc/exports而不想重新启动nfs,只需运行# exportfs -rv 即可
5. 启动NFS Server
# service portmap start
# service nfs start
根据需要设置在相应的运行级别自动启动NFS:
# chkconfig --level 235 portmap on
# chkconfig --level 235 nfs on
另外,还需要查看系统的iptables、/etc/hosts.allow、/etc/hosts.deny是否设置了正确的NFS访问规则。
参考:
http://www.raidcheng.net/blog/archives/2005/04/21/index.html#000174
http://nfs.sourceforge.net/nfs-howto/index.html
6. 启动NFS Client
6.1 显示Server的共享目录
# showmount -e 10.193.10.1
6.2 mount
# mount -t nfs 10.193.10.1:/home/public /home/nfs/public
把10.193.10.1下的/home/public mount到本地/home/nfs/public下
用 df看一下目录mount是否成功
NFS:网络文件系统 | |
(NFS:Network File System) |
网络文件系统(NFS),起初由 Sun 微系统公司进行开发,后经 IETF 扩展,现在能够支持在不同类型的系统之间通过网络进行文件共享。换言之,NFS 可用于不同类型计算机、操作系统、网络架构和传输协议运行环境中的网络文件远程访问和共享。 NFS 使用客户端/服务器架构,并由一个客户端程序和服务器程序组成。服务器程序向其它计算机提供对文件系统的访问,其过程就叫做“输出”。NFS 客户端程序对共享文件系统进行访问时,把它们从 NFS 服务器中“输送”出来。NFS 传输协议用于服务器和客户机之间文件访问和共享的通信,该协议还支持服务器通过输出控制向一组受到限制的客户计算机分配远程访问特权。 NFS 版本2,是 NFS 最早被广泛应用的版本,起初完全运行于 UDP 协议之上,并且不保留状态。几大厂商扩展了 NSF 版本2,使之支持 TCP 传输。NFS 版本3整合了 TCP 传输。使用了 TCP 传输后,使得广域网中的 NFS 应用更为灵活。在继承了以前版本优点的基础之上,目前,NFS 版本4在功能上有如下的改进: 提高了经由 Internet 进行访问的性能。本协议能够很容易地通过防火墙;在等待时间较长时带宽较小的情况下,其性能优越;且每台服务器所连接用户的数目可扩展到相当大的数目。 将许可条款内置到协议之中,安全性得到了极大的加强。在对远程过程调用(RPC) PRCSEC_GSB 协议的支持上,本协议则建立在 ONCRPC 工作组的工作之上。另外,NFS 版本4支持客户机与服务器之间的安全对话,并要求客户机和服务器支持最简单的安全计划。 支持扩展协议。本协议接受所支持协议的标准扩展,而不是打折的向后兼容。 NFS 与 UNIX 系统息息相关,尽管它可以用于任何平台中,如 Macintosh 和 Microsoft Windows 操作系统。服务器消息块协议(SMB)和国际互联网普通文件系统(CIFS)是 NFS 的类似协议,在 Microsoft Windows 平台中,拥有着对等的网络文件系统应用。 |
协议结构 |
NFS 协议支持许多基本数据类型的文件。另外,NFS 协议支持如下的结构化数据类型: |
名称 | 结构 | 注释 |
nfstime4 | struct nfstime4 { int64_t seconds; uint32_t nseconds; } | nfstime4 结构类型的数据给出了从通用协议时间(UTC)的1970年1月1日0时计起的秒钟或纳秒的数目。这种数据类型用于计算时间和日期的流逝信息。 |
time_how4 | enum time_how4 { SET_TO_SERVER_TIME4 = 0, SET_TO_CLIENT_TIME4 = 1 }; | 正如属性说明的内容那样,它可用于确定时间数值。 |
settime4 | union settime4 switch { case SET_TO_CLIENT_TIME4: nfstime4 time; default: void; }; | 正如属性说明的内容那样,它可用于确定时间数值。 |
specdata4 | struct specdata4 { uint32_t specdata1; uint32_t specdata2; }; | 本数据类型表示设备文件类型 NF4CHR 和 NF4BLK 的其它信息。 |
fsid4 | struct fsid4 { uint64_t major; uint64_t minor; }; | 本类型数据是文件系统的标识符,可当作强制型属性使用。 |
fs_location4 | struct fs_location4 { utf8str_cis server<>; pathname4 rootpath; }; | 用于推荐属性 fs_locations,它用于对移植和复制的支持。 |
fs_locations4 | struct fs_locations4 { pathname4 fs_root; fs_location4 locations<>; }; | 用于推荐属性 fs_locations,它用于对移植和复制的支持。 |
fattr4 | struct fattr4 { bitmap4 attrmask; attrlist4 attr_vals; }; | fattr4 结构类型的数据用于表示文件和目录的属性。 |
change_info4 | struct change_info4 { bool atomic; changeid4 before; changeid4 after; }; | 本结构类型 CREATE、LINK、REMOVE、RENAME 等运算配合使用,可向用户反映目标文件系统对象所在目录属性的变化。 |
clientaddr4 | struct clientaddr4 { string r_netid<>; string r_addr<>; }; | 它作为 SETCLIENTID 运算的一部分,可以指定正占用一个 clientid 的客户计算机的地址,也可以作为 callback registration 的一部分。 |
cb_client4 | struct cb_client4 { unsigned int cb_program; clientaddr4 cb_location; }; | 客户计算机使用本结构类型的数据来通知服务器回呼地址;包括程序号和客户计算机地址。 |
nfs_client_id4 | struct nfs_client_id4 { verifier4 verifier; opaque id<NFS4_OPAQUE_LIMIT>; }; | 本结构类型的数据是 SETCLIENTID operation 对话的一部分。 |
open_owner4 | Struct open_owner4 { clientid4 clientid; opaque wner<NFS4_OPAQUE_LIMIT>; }; | 本结构类型的数据用于识别开放状态的用户。 |
lock_owner4 | struct lock_owner4 { clientid4 clientid; opaque owner<NFS4_OPAQUE_LIMIT>; }; | 本结构类型的数据用于识别文件锁定状态的用户。 |
open_to_lock_owner4 | struct open_to_lock_owner4 { seqid4 open_seqid; stateid4 open_stateid; seqid4 lock_seqid; lock_owner4 lock_owner; }; | 本结构类型的数据用于 open_owner4 的第一次完成的锁定操作。它提供 open_stateid 和 lock_owner ,以便于从一个有效的 open_stateid sequence 向一个新的 lock_stateid sequence 开始一次传输。 |
stateid4 | struct stateid4 { uint32_t seqid; opaque other[12]; }; | 本结构类型的数据用于客户计算机与服务器之间各种不同的共享机制。 |
协议结构 | SMB、CIFS、RPC、TCP、UDP |
组织来源 | NFS 最初由 Sun 微系统公司开发,现在为 IETF 协议。 |
相关协议 | http://www.javvin.com/protocol/rfc3530.pdf : NFS 版本 4 协议规范 http://www.javvin.com/protocol/rfc1813.pdf : NFS 版本 3 协议规范 http://www.javvin.com/protocol/rfc1094.pdf : NFS 版本 2 协议规范 |
相关文章推荐
- NFS(Network File System)网络文件系统
- NFS(network file system)网络文件系统1
- NFS - Network File System网络文件系统
- ubuntu 7.10 NFS(Network File System, 网络文件系统)安装设置步骤
- NFS(Network File System)网络文件系统版本
- NFS(network file system,网络文件系统)搭建配置
- TCP-IP详解卷1-29:NFS(Network File System):网络文件系统
- nfs 是Network File System 网络文件系统
- NFS中小企业常见的网络文件系统服务(network file system)
- 搭建 NFS网络文件系统(Network File System)
- 设置网络文件系统(NFS—Network File System)
- NFS network file system网络文件系统
- IBM UNIX & LINUX -AIX 5L 系统管理技术 学习笔记1 -网络文件系统 NFS network file system
- NFS中小企业常见的网络文件系统服务(network file system)
- windows挂载linux网络文件系统NFS
- 关于网络文件系统NFS
- CentOS Linux上配置NFS网络文件系统以及客户端使用
- centos6配置NFS网络文件系统
- 配置网络文件系统NFS服务
- Linux下NFS(网络文件系统)的建立与配置方法