一、基本概念
NFS:Network File System,即网络文件系统.
简单地说,一台服务器共享目录(提供NFS服务),客户机可将服务器上的共享目录挂载到本地,从而共享信息。
客户端通过RPC获得服务器的提供NFS的端口,并与服务器建立连接。
二、检查NFS相关软件是否安装
[root@centos ~]# rpm -qa|grep portmap
portmap-4.0-65.2.2.1
[root@centos ~]# rpm -qa|grep nfs
nfs-utils-lib-1.0.8-7.2.z2
nfs-utils-1.0.9-40.el5
若未安装,请找到相应的RPM包安装。
三、NFS 服务器端配置
1.启用服务(portmap 和nfs)
[root@localhost ~]# service portmap status
portmap (pid 2612) is running...
[root@localhost ~]# service nfs status
rpc.mountd is stopped
nfsd is stopped
rpc.rquotad is stopped
[root@localhost ~]# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
2.配置文件(/etc/exports)
#开头的行表示注释
格式: share_dir client_host(permission1,permission2,...,permissionn)
参数:
(1)share_dir
共享目录,必须是目录,若为文件,则在挂载时会出错.
若目录名含有空格等字符,须用双引号
(2)client_host
可以是单个主机(10.226.70.32),也可以是网络段(10.226.70.0/24),支持通配符*和?
(3)permission
ro: 只读(read-only)
rw:读和写(read-write)
root_squash:压缩root用户。当客户端以root挂载时,则NFS服务器将root视为匿名用户服务(nfsnobody)
no_root_squash:不压缩root用户。当客户端以root挂载时,则NFS服务器仍将root视为root用户,不太安全。
sync:同步写磁盘
async:异步写磁盘。
注:
(1)多个权限间用逗号隔开
例如:
/testnfs 10.226.70.0/24(rw,sync,no_root_squash)
将服务器的/testnfs目录共享给10.226.70.0/24网段,属于这个网段的主机有读写、同步写磁盘和不压缩root用户的权限。
(2)修改/etc/exports后,要使修改后的文件生效,需使用exportfs命令或重新启动nfs服务
exportfs命令
[root@centos /]# exportfs -rv
exporting 10.226.70.0/24:/testnfs
重新启动nfs服务
[root@centos /]# service nfs restart
Shutting down NFS mountd: [ OK ]
Shutting down NFS daemon: [ OK ]
Shutting down NFS quotas: [ OK ]
Shutting down NFS services: [ OK ]
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
3.showmount命令
显示NFS服务器上的mount信息
(1) showmount -a 列出被mount的目录及客户端主机或IP
[root@centos /]# showmount -a
All mount points on centos:
10.226.70.32:/testnfs/test
(2) showmount -d 只列出被mount的目录
[root@centos /]# showmount -d
Directories on centos:
/testnfs/test
(3) showmount -e 显示NFS服务器上的export list
[root@centos /]# showmount -e
Export list for centos:
/testnfs 10.226.70.0/24
/testnfs2 10.226.70.0/24
四、客户端访问NFS共享目录
假设10.226.70.32主机访问NFS服务器10.226.70.30上的目录/testnfs
[root@localhost ~]# mount -t nfs -o rw 10.226.70.30:/testnfs /mnt/cdrom
客户端10.226.70.32将NFS服务器10.226.70.30上的目录/testnfs挂载到本地/mnt/cdrom
卸载挂载的目录
[root@localhost ~]# umount /mnt/cdrom