在一些开发系统中,我们通常会使用Linux系统。那么在Linux系统下如何进行网络文件共享和存储呢?这个问题就牵扯到了NFS服务的设置了。那么今天就来讲解一下Linux NFS服务的具体配置过程。
1.系统默认已经安装了NFS软件包,如果手工安装NFS,需要5个RPM包.
setup-*: 共享NFS目录在/etc/exports中定义
initscripts-*: 包括引导过程中装载网络目录的基本脚本
nfs-utils-*: 包括基本的NFS命令与监控程序
portmap-*: 支持安全NFS RPC服务的连接
2.编辑/etc/exports,在文件中列出,要共享的目录.书写规则是:(每个共享规则一行)
/nfs *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
具体参数解释:
rw: 可读写的权限;
ro: 只读的权限;
no_root_squash: 登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限root_squash:
在登入 NFS主机使用目录的使用者如果是 root 时,那么这个使用者的权限
将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份;
all_squash: 不管登陆NFS主机的用户是什么都会被重新设定为nobody.
anonuid: 将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中.
anongid: 同 anonuid ,但是变成 group ID 就是了!
sync: 资料同步写入存储器中.
async: 资料会先暂时存放在内存中,不会直接写入硬盘.
insecure 允许从这台机器过来的非授权访问.
3.exportfs命令:
在启动了NFS之后又修改了/etc/exports,要重新启动nfs,用exportfs命令来使改动立刻生效,
该命令格式如下:
exportfs [-aruv]
参数的意义如下:
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :在 export 的时候,将详细的信息输出到屏幕上.
具体例子: [root @test /]# exportfs –rv <==全部重新 export 一次!
4、启动Linux NFS服务
# service portmap start
# service nfs start
检查NFS的运行级别:
# chkconfig --list portmap
# chkconfig --list nfs
根据需要设置在相应的运行级别自动启动NFS:
# chkconfig --level 235 portmap on
# chkconfig --level 235 nfs on
另外,还需要查看系统的iptables、/etc/hosts.allow、/etc/hosts.deny是否设置了正确的NFS访问规
则.
5、客户端配置
客户端运行以下命令MOUNT Linux NFS服务文件系统
mount -o bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,noac,nfsvers=3 192.168.2.2:/nfs
/r
在客户端 加载时
时出现"mount: mount to NFS server 'p470' failed: RPC Error: Program not registered."错误提
示.
出错原因:p470由于网络原因Linux NFS服务被中断,重新开启p470-1的Linux NFS服务然后在客户端重新mount即可
[root@a nfs]# service nfs restart 或 /etc/rc.d/init.d/nfs restart
ps -ef |grep nfs 查看服务进程