首页 > 代码库 > linux 数据备份(NFS映射方法)

linux 数据备份(NFS映射方法)

环境:Red Hat 4.8.3-9(主机) ip地址:192.168.1.1

Ubuntu 4.8.4-2(从机) IP地址:192.168.1.2

用途:将从机数据备份到主机,因从机空间较小,选择使用NFS网络磁盘映射的方法完成


NFS 是Network File System的缩写,即网络文件系统

【主机】


安装NFS服务

nfs-utils-* :包括基本的NFS命令与监控程序 

portmap-* :支持安全NFS RPC服务的连接(该服务改名为rpcbind)

#查看是否已安装该服务
[root@localhost /]# rpm -qa|grep nfs
[root@localhost /]# rpm -qa|grep portmap
#安装nfs服务,光盘中有安装包
[root@localhost /]# yum install -y nfs-utils-*

注意:发现并没有安装portmap包,但使用yum list命令也未查找到,经过确认,该服务名称改为rpcbind。


NFS系统守护进程

nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;

mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。

portmap:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。


NFS服务器配置

/etc/exports         NFS服务的主要配置文件

/usr/sbin/exportfs     NFS服务的管理命令

/usr/sbin/showmount    客户端的查看命令

/var/lib/nfs/etab     记录NFS分享出来的目录的完整权限设定值

/var/lib/nfs/xtab     记录曾经登录过的客户端信息


NFS服务的配置文件为 /etc/exports,这个文件是NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在,可能要使用vim手动建立,然后在文件里面写入配置内容。

/etc/exports文件内容格式:

<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]

a. 输出目录:

输出目录是指NFS系统中需要共享给客户机使用的目录;

b. 客户端:

客户端是指网络中可以访问这个NFS输出目录的计算机

客户端常用的指定方式

指定ip地址的主机:192.168.0.200

指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0

指定域名的主机:david.bsmart.cn

指定域中的所有主机:*.bsmart.cn

所有主机:*

c. 选项:

选项用来设置输出目录的访问权限、用户映射等。

NFS主要有3类选项:

访问权限选项

设置输出目录只读:ro

设置输出目录读写:rw

用户映射选项

all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);

no_all_squash:与all_squash取反(默认设置);

root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);

no_root_squash:与rootsquash取反;

anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);

anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);

其它选项

secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);

insecure:允许客户端从大于1024的tcp/ip端口连接服务器;

sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;

async:将数据先保存在内存缓冲区中,必要时才写入磁盘;

wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);

no_wdelay:若有写操作则立即执行,应与sync配合使用;

subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);

no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

简单实例:

/home/locoldir 192.168.1.0/24(rw)

NFS服务器的启动与停止


在对exports文件进行了正确的配置后,就可以启动NFS服务器了。

1、启动NFS服务器

为了使NFS服务器能正常工作,需要启动rpcbind和nfs两个服务,并且rpcbind一定要先于nfs启动

[root@localhost /]#service rpcbind restart
[root@localhost /]#service nfs restart

【从机】

启动mount命令,将服务器目录mount到本地进行访问

mount -a  192.16.1.1:/test  /test1

root@ubuntu:/opt/backup# mount -a  192.16.1.1:/test  /test1
mount: wrong fs type, bad option, bad superblock on  192.16.1.1:/test,
       missing codepage or helper program, or other error
       (for several filesystems (e.g. nfs, cifs) you might
       need a /sbin/mount.<type> helper program)
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

执行后报以上错误,错误原因未安装nfs-common服务


本文出自 “grace的技术小窝” 博客,请务必保留此出处http://jimann.blog.51cto.com/3295893/1918945

linux 数据备份(NFS映射方法)