【转】Linux 的NFS服务的配置
原文链接 http://blog.chinaunix.net/uid-26642180-id-3167544.html
1.首先安装nfs
rpm -ivh nfs-utils-1.0.9-16.rpm
rpm -qa|grep portmap 查看是否安装了portmap端口映射器
portmap默认监听TCP和UDP的111端口
netstat -anp |grep :111
必须强调的是portmap只是一个端口映射器,真正提供NFS服务的是另外两个守护进程,rpc.nfsd和prc.mountd。rpc.nfsd是基本的NFS守护进程,主要功能是管理客户端是否能够登入服务器,rpc.mountd是安装守护进程,主要功能是管理NFS的文件系统,根据所设的权限决定是否允许客户端安装使用指定的目录或文件。
2.启动nfs服务
/etc/init.d/nfs start
nfsd服务使用的是2049端口,rpc.mountd服务使用的端口是不固定的,每次启动后都会发生变化。
3.NFS服务器共享目录的导出
导出共享目录有两种方法:一种是通过设定/etc/exports文件来设定,另一种是用exports命令来增加或者去除共享目录
/etc/exports文件的配置很简单,格式如下:
目录路径 机器1(选项1,选项2,.....) 机器2(选项1,选项2,.......) ....
目录路径表示要导出的共享目录,这个目录下的子目录也同时导出,为了安全,一般不导出根目录。机器表示允许访问这个共享目录的客户机,可以用机器名、域名或IP地址表示。每一台机器还包含了多个选项,这些选项指明了该客户机访问共享目录时,具体有哪些权限,选项之间用,分隔,不能有空格。常见的选项有:
ro:客户机对该共享目录只有读权限,这是默认选项。
rw:读写权限
root_squash:客户机使用root用户访问该共享目录时候,root用户将映射成服务器上的匿名用户(默认是nobody用户),这是默认的选项
sync:客户端把数据写入共享目录时,将马上写入到服务器磁盘中,这是默认选项
async:客户端把数据写入共享目录时,将先暂存于内存中,而不是马上写入磁盘
insecure:允许客户机使用非保留端口与服务器进行连接,保留端口是小于1024的端口。
/etc/exports文件内容修改后,需要重启NFS服务器进程才能生效,还有一种使之生效的办法是执行exportfs命令
exportfs命令可用的选型及功能如下:
-a:导出所有列在/etc/exports文件中的目录
-v:输出每一个被导出或取消导出的目录
-r:重新导出所有列在/etc/exports文件中的目录
-u:取消置顶目录的导出,与-a同时使用时,取消所有列在/etc/exports文件的目录导出
-i:允许导出没有在/etc/exports文件中列出的目录或者不按/etc/exports文件所列的选项导出
-f指定另一个文件来代替/etc/exports
-o:指定导出目录的选项
4.客户端使用NFS服务
客户端有关使用NFS服务的命令主要有两条:
showmount :通过它可以查看有关NFS服务器的信息
mount:通过它可以把NFS服务器导出的共享目录挂载到本地文件系统的某一个目录中,以后就可以以访问本地文件系统的形式访问远程目录
showmount选项:-a -d -e -h -v
mount命令用于把某个文件系统挂载到本地文件系统的一个目录中,例如,软盘、光盘上的文件系统都可以通过它进行挂载
格式如下:
mount [-t vfstype] [-o options] device dir
如:mount -t nfs 192.168.1.10:/home /mnt
5.实现自动挂载NFS文件系统
修改/etc/fstab文件即可
/etc/fstab文件中的指定的文件系统除了在系统引导时会被挂载外,还可以由root用户执行mount -a命令来马上执行挂载,默认情况下,/etc/fstab中指定的文件系统只能有root用户安装
除了/etc/fstab文件外,linux还可以使用automount进程来管理文件系统的挂载,它的特点是只有在文件系统被访问的时候才动态的挂载。automount是由autofs-5.0.1....rpm软件包提供的功能,/etc/init.d/autofs start
autofs主配置文件是/etc/auto.master每一行都定义一个挂载点