配置NFS文件系统
一
.NFS
的概念
1.NFS
概念
:Network File System,
是主机间通过网络进行文件共享的网络协议,最早由
Sun
公司提出
,
多用于
Unix
操作系统,它允许用户将远程主机的文件系统看做好象是本地文件系统一样,并且是可安装的,可读的和可写的。系统使用与本地文件系统一样的命令
mount
把
NFS
文件系统挂接在本地文件树结构上。
2.NFS
术语
拥有实际的物理磁盘并且通过
NFS
将这个磁盘共享的主机叫
NFS
文件服务器,通过
NFS
访问远程文件系统的主机叫
NFS
客户机。一个
NFS
客户机可以利用许多
NFS
服务器提供的服务。相反,一个
NFS
服务器可以与多个
NFS
客户机共享它的磁盘。一个共享了部分磁盘的
NFS
服务器可以是另一个
NFS
服务器的客户机。
NFS
服务器输出的目录叫远程资源并且通常写作:
host:pathname
其中
host
是文件服务器的名字而
pathname
是服务器上被输出目录的绝对路径。
远程资源被安装到客户机上的那个目录叫安装点(
mount point)
。
3.NFS
输入输出规则
规则一:
NFS
输出目录
,
服务器输出的是目录而不是文件系统。
规则二:如果服务器已经输出了一个目录,如
/usr/local
,并且有一个文件系统安装在
/usr/local
/extra
,那么
/usr/local/extra
的内容在客户端看不到,除非服务器明确地输出了它,或客户机明确地安装了它。
规则三:客户机可以安装一个输出目录的子目录,前提是此子目录不是另一个文件系统。
规则四:一个主机不可以将一个输入的目录再次输出。例如,如果一个主机通过
NFS
安装
/usr/local,
它就不能将
/usr/local
输出给另外的主机。
规则五:一个已经输出目录的子目录不可以再输出,除非子目录在一个不同的文件系统上。还是举个例子:假设你要按只读方式输出根文件系统的跟(
/
)目录,但是又要按读写方式输出
/tmp
目录。你不可能做到这一点,除非
/tmp
被安装在不同于跟的文件系统上
二
.NFS
安装
只需安装两个软件包即可,通常被默认安装
#rpm -q nfs-utils portmap
插入
linux
的第一张光盘
#mount /mnt/cdrom #cd /RedHat/RPMS #rpm -ivh nfs-utils- 1.0.1 -2.9.i386.rpm #rpm -ivh portmap-4.0-54.i386.rpm
portmap
软件包中的
portmap
服务,为
NFS
提供
RPC
服务的支持
.nfs-utils
软件包中提供了
NFS
服务器程序和相应的维护工具,
#rpm -ql nfs-utils
支持
RPC
的概念:使进程产生的调用看起来象是一个普通的调用,而真正的执行是在其他进程中
――
也许是一个远程系统中的进程。各种
RPC
执行协议都朝着一个共同的目标在发展,那就是用隐藏执行细节来简化进程间通信的复杂性。
RPC
机制的核心概念就是将函数调用产生的数据串行化到一个顺序流中,然后在连接接收端对它进行重组。这两种行为同步发生,就好象传统的过程化编程一样。
RPC
客户端进程发出一个看似标准的函数调用,但是,这个调用不会在本地执行,调用参数被打包并传递到一个远程的执行环境当中,在那里它们再被传入真正的执行函数当中。在完成函数执行后,执行结果又被串行化传回客户端,再由客户端函数传给调用者。
三
.NFS
的配置
1.
服务器的配置
:NFS
服务器的配置文件
exports,export
文件在目录
/etc/
下,用于配置
NFS
服务器所提供的目录共享
.exports
文件默认设置为空,这也是出于安全性的考虑
,exports(
输出
)
文件
要输出的共享目录
客户端主机地址
(
设置选项
)
/home/share *(sync,ro)
共享目录
:
设置系统中需要为共享的目录路径
客户端主机地址
:
例
192.168.1.19 abc.com
指定域名的主机
192.168.1.0/24
指定网段中的所有主机
*.abc.com
指定域中的所有主机
*
所有主机
设置选项
:sync
设置
NFS
服务器同步写磁盘
(async
:资料会先暂存于内存当中,而非直接写入硬盘
),ro
设置输出的共享目录只读
(
与
rw
不能共同使用
)
2.NFS
服务器的启动与停止
启动
NFS
服务器
#service portmap start
#service nfs start
查询
NFS
服务器状态
:#service portmap status #service nfs status
设置
NFS
服务器的自动启动状态
#chkconfig --list portmap|nfs
查看
nfs
服务的自动启动状态
#chkconfig --level 35 portmap|nfs on
指定运行级,由数字
0
到
7
构成的字符串
3.showmount
命令
:
查询
NFS
服务器的共享目录状态
#showmount -h
显示
showmount
命令的联机帮助
#showmount [NFS
服务器主机地址
]:
显示连接到指定
NFS
服务器的所有主机
#showmount -e [NFS
服务器主机地址
]
显示指定
NFS
服务器的输出目录列表
#showmount -d [NFS
服务器主机地址
]
显示指定
NFS
服务器中已被客户端连接的所有输出目录
#showmount -a [NFS
服务器主机地址
]
显示指定
NFS
服务器的所有客户端主机及其所连接的目录,例
#showmount -a
4.NFS
客户端配置
#mount 192.168.1.57:/home/public /mnt/nfshare
#mount |grep nfs
查询该目录的挂载状态
#umount /mnt/nfshare
卸载卸
NFS
共享目录