美文网首页
综合架构-nfs备份服务(网络文件系统)

综合架构-nfs备份服务(网络文件系统)

作者: A宽宽 | 来源:发表于2019-05-27 15:22 被阅读0次

    一、NFS简单概述

    NFS 是Network File System 的缩写及网络文件系统。NFS 主要功能是通过局域网络让不同的主机系统之间可以共
    享文件或目录。
    NFS 系统和Windows 网络共享、网络驱动器类似, 只不过windows 用于局域网, NFS 用于企业集群架构中, 如果是
    大型网站, 会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS

    1.1 为什么要使用数据存储共享服务?

    实现多台服务器之间数据共享
    实现多台服务器之间数据一致

    1.2 NFS的应用场景

    image
    软件
          NFS服务
          分布式存储:GlusterFS、Fastdfs(扩展)
    
    

    1.3 NFS服务的执行过程或工作流程图

    image

    1.4 NFS的工作原理图

    image

    注:RPC服务的端口为111,rsync服务的端口873

    image

    二、NFS服务操作

    2.1 环境准备

    1>准备测试机

    NFS客户端:web01(外网:10.0.0.7;内网:172.16.1.7)
    NFS服务端:nfs01(外网:10.0.0.31;内网:172.16.1.31)

    2>涉及软件:

    RPC服务:rpcbind(CentOS6 7);portmap(CentOS5)
    NFS服务:nfs-utils

    3>软件安装

    NFS服务端:nfs-utils(NFS服务)、rpcbind(RPC服务)
    NFS客户端:nfs-utils(NFS服务)

    4>启动服务

    NFS服务端:
    启动rpcbind:systemctl restart rpcbind.service
    查看rpc服务的注册信息:rpcinfo -p
    启动nfs:systemctl restart nfs-server.service
    用户映射基础:
    rpc.ibmap(不管哪个用户进入nfs,都属于nfsnobody,在安装nfs时默认创建了这个用户)

    2.2 NFS服务配置

    nfs服务端
    1>编写NFS配置文件/etc/exports

    格式:NFS共享目录 NFS共享客户端地址(参数1,参数2,……)
    如:/data 172.16.1.0/24(rw)
    注:系统中一定要有这个共享目录,没有创建

    2>启动nfs服务

    systemctl reload nfs
    reload:平滑重启/优雅重启---不中断当前正在处理的请求,只影响新的请求。 注意:尽量不要使用restart,使用之后会卡住90秒

    3>检查服务端可以挂载的信息:showmount -e 172.16.1.31
    4>本地实测:mount -t nfs 172.16.1.31:/upload/ /mnt
    mount参数补充(-t:指定挂载的文件系统类型)

    nfs客户端
    1>首先在客户端创建挂载目录,如:创建/video
    2>将服务端的共享目录临时挂载到/video下

    mount -t nfs 172.16.1.31:/upload/ /video
    
    

    df参数补充(-T:显示文件系统类型,如:df -hT)

    [root@web01 ~]# df -hT
    Filesystem         Type      Size  Used Avail Use% Mounted on
    /dev/sda3          xfs        18G  1.8G   17G  10% /
    devtmpfs           devtmpfs  980M     0  980M   0% /dev
    tmpfs              tmpfs     991M     0  991M   0% /dev/shm
    tmpfs              tmpfs     991M  9.6M  981M   1% /run
    tmpfs              tmpfs     991M     0  991M   0% /sys/fs/cgroup
    /dev/sda1          xfs       197M  105M   93M  54% /boot
    172.16.1.31:/app/w nfs4       18G  1.8G   17G  10% /data/w
    tmpfs              tmpfs     199M     0  199M   0% /run/user/0
    [root@web01 ~]#
    
    

    三、NFS权限控制

    配置文件中权限/etc/exports
    Linux服务端共享目录权限755 nfsnobody

    三、NFS排错流程

    确保道路通畅
        如:ping  172.16.1.31
    rpc服务状态
        如:rpc  -p  172.16.1.31
    nfs服务共享信息
        如:showmount -e  172.16.1.31
    
    

    四、NFS配置文件详情

    权限 详细解释
    rw* 读写权限
    ro 只读权限
    root_squash 当NFS 客户端以root 管理员访问时,映射为NFS 服务器的匿名用户(不常用)
    no_root_squash 当NFS 客户端以root 管理员访问时,映射为NFS 服务器的root 管理员(不常用)
    all_squash 无论NFS 客户端使用什么账户访问,均映射为NFS 服务器的匿名用户(常用)
    no_all_squash 无论NFS 客户端使用什么账户访问,都不进行压缩
    sync* 同时将数据写入到内存与硬盘中,保证不丢失数据
    async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
    anonuid* 配置all_squash 使用,指定NFS 的用户UID,必须存在系统
    anongid* 配置all_squash 使用,指定NFS 的用户UID,必须存在系统
    image

    作业练习

    实例一:

    共享/data目录给10.0.0.0/24整个网段的主机读写(该例将实现把nfs server上的/data目录共享给10.0.0.0/24整个网段的主机,且可读写)

    服务端:
    [root@nfs01 ~]# cat /etc/exports
    /data   10.0.0.0/24(rw)
    [root@nfs01 ~]# 
    [root@nfs01 ~]# chown nfsnobody.nfsnobody /data
    [root@nfs01 ~]# ls -ld /data
    drwxr-xr-x 2 nfsnobody nfsnobody 6 May 22 19:30 /data
    [root@nfs01 ~]# tree /data
    /data
    └── oldboy.txt
    
    0 directories, 1 file
    [root@nfs01 ~]# 
    客户端:
    [root@web01 ~]# mkdir /data
    [root@web01 ~]# mount -t nfs 10.0.0.31:/data /data
    [root@web01 ~]# touch /data/oldboy.txt
    [root@web01 ~]# 
    
    

    实例二:

    nfs服务器172.16.1.31
    共享下面两个目录
    /app/w 要求的权限可读写,同步数据,所有用户都压缩为匿名用户
    /app/r 要求的权限为只读,同步数据,所有用户都压缩为匿名用户

    [root@nfs01 ~]# vim /etc/exports
    /data   10.0.0.0/24(rw)
    /app/w   172.16.1.0/24(rw,sync,all_squash)
    /app/r   172.16.1.0/24(ro,sync,all_squash)
    
    [root@nfs01 ~]# mkdir -p /app/w /app/r
    [root@nfs01 ~]# chown -R nfsnobody.nfsnobody /app/r /app/w
    [root@nfs01 ~]# ls -ld /app/r /app/w
    drwxr-xr-x 2 nfsnobody nfsnobody 21 May 22 20:33 /app/r
    drwxr-xr-x 2 nfsnobody nfsnobody  6 May 22 19:53 /app/w
    
    2 directories, 0 files
    [root@nfs01 ~]# 
    
    

    客户端上面的要求:

    backup服务器 把 nfs服务器的/data/r 挂载到 /data/r

    [root@backup ~]#  mount -t nfs  172.16.1.31:/app/r /data/r
    [root@backup ~]# file /data/r
    /data/r: directory
    [root@backup ~]# touch /data/r/aaa.txt
    touch: cannot touch ‘/data/r/aaa.txt’: Read-only file system
    [root@backup ~]# 
    
    

    web01 服务器 把 nfs服务器的/data/w 挂载到 /data/w

    [root@web01 ~]# mount -t nfs 172.16.1.31:/app/w /data/w
    [root@web01 ~]# touch /data/w/abc.txt
    [root@web01 ~]# ls -ld /data/w/abc.txt
    -rw-r--r-- 1 nfsnobody nfsnobody 0 May 22 20:43 /data/w/abc.txt
    
    

    如何让nfs永久挂载???

    1>写入到/etc/rc.local开机自启动文件中
    2>追加到/etc/fstab开机自动挂载文件中

    [root@backup ~]# tail -1 /etc/fstab
    172.16.1.31:/app/r           /data/r           nfs     defaults        0 0
    [root@backup ~]# df -h
    Filesystem          Size  Used Avail Use% Mounted on
    /dev/sda3            18G  1.8G   17G  10% /
    devtmpfs            980M     0  980M   0% /dev
    tmpfs               991M     0  991M   0% /dev/shm
    tmpfs               991M  9.6M  981M   1% /run
    tmpfs               991M     0  991M   0% /sys/fs/cgroup
    /dev/sda1           197M  105M   93M  54% /boot
    172.16.1.31:/app/r   18G  1.8G   17G  10% /data/r
    tmpfs               199M     0  199M   0% /run/user/0
    [root@backup ~]# 
    

    相关文章

      网友评论

          本文标题:综合架构-nfs备份服务(网络文件系统)

          本文链接:https://www.haomeiwen.com/subject/riehtctx.html