经过我的的实践,在Centos6下必须先启动rpcbind,而不是portmap:
使用NFS服务,至少需要启动以下系统守护进程。
chkconfig nfs on chkconfig portmap on一:服务器端的设定
1)修改配置文件 vi /etc/exports /home 192.168.1.2(rw,async) *(ro) #注意红色部分没有空格 /home 192.168.1.*(rw,sync,no_root_squash,no_subtree_check) rw:可读写的权限; ro:只读的权限; no_root_squash:登入到NFS主机的用户是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用。 root_squash:在登入 NFS 主使用分享之目的使用者如果是 root all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody。 anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。 anongid:同 anonuid ,但是成 group ID 就是 sync:资料同步写入存储器中。 async:资料会先暂时存放在内存中,不会直接写入硬盘。 insecure 允许从这台机器过来的非授权访问。2)启动服务
/etc/rc.d/init.d/portmap start /etc/rc.d/init.d/nfs start 3)exportfs命令 启动了NFS之后又修改了/etc/exports,这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下: exportfs [-aruv] -a :全部mount或者unmount /etc/exports中的内容 -r :重新mount /etc/exports中分享出来的目录 -u :umount 目录 -v :在 export 的时候,将详细的信息输出到屏幕上。 具体例子: exportfs -rv <==全部重新export一次! exportfs -au <==全部都卸载了。
二:客户端的操作:
1、showmout命令对于NFS的操作和查错有很大的帮助 showmout -a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。 -e :显示指定的NFS SERVER上export出来的目录。 例如: showmount -e 192.168.0.30 2、mount nfs目录的方法: mount -t nfs hostname(orIP):/directory /mount/point 具体例子: mount -t nfs 192.168.0.1:/tmp /mnt/nfs3、与NFS有关的一些命令介绍
nfsstat: 查看NFS的运行状态,对于调整NFS的运行有很大帮助 rpcinfo: 查看rpc执行信息,可以用于检测rpc运行情况的工具。完成!
一个NFS实例
目标:1。实现手动挂载
2。实现自动挂载,卸载
方法:NFS服务器依靠的几个程序包:portmap,nfs,依次安装,启动。
[root@localhost ~]# service portmap status
portmap (pid 4213) is running...
[root@localhost ~]#
[root@localhost ~]# service nfs status
rpc.mountd (pid 4559) is running...
nfsd (pid 4556 4555 4554 4553 4552 4551 4550 4549) is running...
[root@localhost ~]#
NFS的服务器配置/ect/explores,系统默认不一定有,没有就自己新建一个
/var/ftp/pub/ 192.168.1.0/24(rw)
很简单:共享的目录 共享给谁(可以是IP,主机名,网段,域名) 读写权限
重起portmap和nfsd服务,注意先后顺序,先portmap。
现在我检查一下共享是否已经成功:
[root@localhost ~]# showmount -e 192.168.1.200
Export list for 192.168.1.200:
/var/ftp/pub 192.168.1.0/24
说明我们服务器端的共享是成功的!
现在配置客户端
手动加载比较简单
首先,参看一下共享
[root@RHEL mnt]# showmount -e 192.168.1.200
Export list for 192.168.1.200:
/var/ftp/pub 192.168.1.0/24
然后使用命令挂载
[root@RHEL mnt]# mount -t nfs 192.168.1.200:/var/ftp/pub /temp
[root@RHEL mnt]# cd /temp
[root@RHEL temp]# ls -l /temp
total 340
drwxr-xr-x 2 root root 4096 Mar 31 2009 1
drwxr-xr-x 2 nfsnobody nfsnobody 4096 Mar 31 2009 2
下面配置自动挂载,卸载。
安装autofs服务
[root@RHEL temp]# service autofs status
automount (pid 5655) is running...
配置/etc/auto.master
添加一条记录
/mnt /etc/auto.mnt --timeout=10
挂载点 这个挂载点的具体配置 多少时间没有访问将自动短开连接(秒)
配置/etc/auto.mnt
nfs -fstype=nfs,rw 192.168.1.200:/var/ftp/pub
挂载点下的目录名 挂载的文件类型,读取权限 共享的路径
重新启动autofs服务
[root@RHEL temp]# service autofs restart
Stopping automount: [ OK ]
Starting automount: [ OK ]
验证:
我们挂载到/mnt下的,先看一下/mnt下有些什么
[root@RHEL /]# ls /mnt
[root@RHEL /]#
什么都没有
我们再访问/mnt/nfs
[root@RHEL /]# ls /mnt/nfs
1 EULA isolinux RPM-GPG-KEY-redhat-release
2 eula.en_US README-en Server
Cluster GPL RELEASE-NOTES-en TRANS.TBL
ClusterStorage p_w_picpaths RPM-GPG-KEY-redhat-beta VT
这些正是服务器上的共享文件,说明自动挂载已经成功。同时,我们也可以得出结论,挂载点下的文件(也就是/etc/auto.mnt第一列)是自动建立的,不需要我们手动建立。
再看卸载,其实很简单,刚才在配置/etc/auto.master中已经设置了timeout=10秒,所以我们现在在回过去看/mnt下还有没有nfs目录
[root@RHEL /]# ls /mnt
[root@RHEL /]#
已经没有了,卸载成功!
其实再往下就可以做异地定时自动备份,只要at和cp命令搭配使用。