网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。
一、 首先,查看是否安装NFS(portmap是用于RPC传输的)
[root@localhost etc]# rpm -q nfs-utils portmap
nfs-utils-1.0.9-16.el5
portmap-4.0-65.2.2.1
二、 配置
1。配置文件.修改/etc/exports文件,添加共享目录/xen(保存DomainU的镜像在此目录)。
# vi /etc/exports
配置实例:
/xen *(rw,sync,no_root_squash)
括号内的参数意义描述如下:
rw:读/写权限,只读权限的参数为ro;
sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。
no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。
三、维护NFS
格式:
exportfs 选项参数
-a:输出/etc/exports中设置的所有目录
-r:重新读取/etc/exports文件中的设置,并且立即生效,而不需要重新启动NFS服务。
-u:停止输出某一目录
-v:在输出目录时,将目录显示在屏幕上。
1.修改vi /etc/exports后,不用重启服务,直接使用命令输出共享目录
# exportfs -rv
2.停止输出所有共享目录
# exportfs –auv
四、启动和停止NFS服务
1.启动NFS服务
为了是NFS正常工作,需要启动portmap和nfs这两个目录,并且portmap一定要先于nfs启动。
# /etc/init.d/portmap start //或者 service portmap start
# /etc/init.d/nfs start //service nfs start
[root@localhost etc]# service portmap start
启动 portmap: [确定]
[root@localhost etc]# service nfs start
启动 NFS 服务: [确定]
关掉 NFS 配额: [确定]
启动 NFS 守护进程: [确定]
启动 NFS mountd: [确定]
2.停止NFS服务
停止NFS服务器前,需要先停止NFS服务再停止portmap服务。如果系统中还有其它服务需要portmap时,则可以不用停止portmap服务。
/etc/init.d/nfs stop
/etc/init.d/portmap stop
3。自启动NFS服务
chkconfig --level 35 portmap on
chkconfig --level 35 nfs on
五、测试
1.检查输出目录所使用的选项
在/etc/exports配置文件中,即使只设置了一两个选项,在真正输出目录时,实际上还带了很多某人选项。通过查看 /var/lib/nfs/etab文件,就可以知道真正输出目录时,都是用了什么选项。
2.使用showmount测试NFS输出目录状态
格式:
showmount 参数选项 nfs服务器名称或地址
-a:显示指定的nfs服务器的所有客户端主机及其所连接的目录
-d:显示指定的nfs服务器中已经被客户端连接的所有共享目录
-e:显示指定的nfs服务器上所有输出的共享目录
(1)查看所有输出的共享目录
# showmount –e
[root@localhost etc]# exportfs -a
[root@localhost etc]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/xen *
(2)显示所有被挂载的所有输出目录
# showmount –d
以上为服务器端的配置。
六、nfs客户端使用配置
1.查看nfs服务器信息
在客户端,要查看nfs服务器上有哪些共享目录,可以使用showmount命令。
# showmount -e 192.168.0.51
如果出现报错信息,首先查看服务器nfs和portmap服务是否启动。再看是否被防火墙屏蔽掉了。
2.挂载nfs服务器上的共享目录
# mount -t nfs 192.168.0.51:/xen /mnt/
-t:指定挂载设备的文件类型(nfs是网络文件系统)
192.168.0.51:nfs服务器ip地址
/home/test :nfs服务器的共享目录
/mnt/:挂载在本地的目录
3.卸载nfs
在不使用nfs目录时,可以用umount命令来卸载该目录
注意:当有客户机正在连接nfs服务器时,此时想要将nfs服务器关机,应该先关掉portmap和nfs这两个服务,否则要等很久才能正常关机。如果无法将portmap和nfs关掉,就直接kill掉进程。也可以用exportmap -auv命令将当前主机中的所有输出目录停止后再关机。
4.启动时自动连接nfs服务器
要先在启动时自动连接nfs服务器上的共享目录,要编辑/etc/fstab文件。在文件中加入
192.168.0.51:/home/test /mnt nfs defaults 0 0
192.168.0.51:/home/test:nfs服务器的共享目录
/mnt:本机挂载目录
我的具体操作如下:
记住,
1)当配置好服务器端后,要关闭掉服务器端的防火墙:service iptables stop
2)客户端,当使用showmount时候,也要记得关闭掉客户端的防火墙:service iptables stop
3)在客户端和服务器端,都要记得开启NFS服务。service portmap start和service nfs start
客户端的操作如下:
Last login: Fri Apr 12 15:46:47 2013 from 172.21.5.93
[root@localhost ~]# showmount -e 172.21.5.49
mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive
[root@localhost ~]# rpm -q nfs-utils portmap
nfs-utils-1.0.9-16.el5
portmap-4.0-65.2.2.1
[root@localhost ~]# service iptables stop
清除防火墙规则: [确定]
把 chains 设置为 ACCEPT 策略:filter [确定]
正在卸载 Iiptables 模块: [确定]
[root@localhost ~]# service portmap start
启动 portmap: [确定]
[root@localhost ~]# service nfs start
启动 NFS 服务: [确定]
关掉 NFS 配额: [确定]
启动 NFS 守护进程: [确定]
启动 NFS mountd: [确定]
[root@localhost ~]# showmount -e 172.21.5.49
mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive
[root@localhost ~]# mount -t nfs 172.21.5.49:/xen /mnt/
mount: mount to NFS server '172.21.5.49' failed: System Error: No route to host.
[root@localhost ~]#
[root@localhost ~]# showmount -e 172.21.5.49
Export list for 172.21.5.49:
/xen *
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# mount -t nfs 172.21.5.49:/xen /mnt/
[root@localhost ~]#
服务器端如下:
[root@localhost ~]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/xen *
[root@localhost ~]# service iptables stop
清除防火墙规则: [确定]
把 chains 设置为 ACCEPT 策略:filter [确定]
正在卸载 Iiptables 模块: [确定]
[root@localhost ~]#
[root@localhost ~]#
在客户端查看:
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls -l
总计 20500048
-rwxr-xr-x 1 root root 7340032000 04-12 17:35 dom1024
-rwxr-xr-x 1 root root 5242880000 03-05 22:31 dom256
-rwxr-xr-x 1 root root 8388608000 03-27 10:00 dom512
3)然后使用df –h 查看挂载是否成功。
[root@localhost xen]# df -h
文件系统 容量 已用可用已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
71G 43G 24G 65% /
/dev/hda1 99M 25M 70M 26% /boot
tmpfs 706M 0 706M 0% /dev/shm
172.21.5.49:/xen 143G 28G 109G 21% /mnt
[root@localhost xen]#
备注:拷贝时cp命令常用参数
cp -a -v /mnt /home/
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
-v或–verbose 显示指令执行过程。
-V<备份方式>或–version-control=<备份方式> 用”-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这字符串不仅可用”-S”参数变更,当使用”-V”参数指定不同备份方式时,也会产生不同字尾的备份字串。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。