NFS网络储存系统

为什么用NFS网络文件存储系统?  

    1)实现数据信息统一一致

    2)节省局域网数据同步传输的带宽

    3)节省网站架构中服务器硬盘资源

NFS系统存储原理介绍

RPC服务类似一个中介服务,NFS服务端与NFS客户端之间

RPC服务用于管理端口,由于NFS服务启动时会产生多个端口信息,不便于客户端访问,因此需要利用RPC服务统一管理

进行NFS服务部署

 理解一个知识概念:什么是RPC服务(远程调用服务-中介)

    NFS服务端部署流程

    第一个历程:检查nfs/rpc程序服务有没有安装

    rpm -qa rpcbind nfs-utils

   

    第二个历程:安装nfs与rpc服务软件

    yum install -y rpcbind nfs-utils

   

    第三个历程:编写nfs服务配置文件

    vim /etc/exports

    存储目录信息   允许哪些主机进行数据存储(权限参数)

    /data/         172.16.1.0/24(rw,sync)

 

   

    第四个历程:创建共享存储目录,授权目录

    mkdir /data/ -p

    chown -R nfsnobody.nfsnobody /data/

   

    第五个历程:启动程序服务

    /etc/init.d/rpcbind start

    /etc/init.d/nfs start

    rpcinfo -p 10.0.0.31           <-- 检查房源信息是否向中介进行注册

   

 NFS客户端部署流程

    第一个历程:检查nfs/rpc程序服务有没有安装

    rpm -qa rpcbind nfs-utils

   

    第二个历程:安装nfs与rpc服务软件

    yum install -y rpcbind nfs-utils

 

 

    第三个历程:进行远程共享目录挂载

    [root@backup ~]# showmount -e 172.16.1.31

    Export list for 172.16.1.31:

    /data 172.16.1.0/24

    [root@backup ~]# # mount -t 指定挂载文件系统类型nfs 指定存储服务器地址信息:共享目录  本地挂载点路径信息

    [root@backup ~]# mount -t nfs 172.16.1.31:/data /mnt

    [root@backup ~]# df -h

    Filesystem         Size  Used Avail Use% Mounted on

    /dev/sda3          8.8G  3.4G  5.0G  41% /

    tmpfs              491M     0  491M   0% /dev/shm

    /dev/sda1          190M   40M  141M  22% /boot

    172.16.1.31:/data  8.8G  3.3G  5.1G  40% /mnt

   

第四个历程:进行存储数据信息测试

 NFS和RPC服务软件都干了什么事

1.1 NFS和RPC服务软件都干了什么事

    rpm -ql rpcbind

    /etc/rc.d/init.d/rpcbind   <-- 生成服务启动脚本文件

    /usr/sbin/rpcinfo          <-- 生成查看房源信息命令文件

    rpm -ql nfs-utils

    /etc/rc.d/init.d/nfs       <-- 生成服务启动脚本文件

    /usr/sbin/showmount        <-- 生成查看共享目录列表信息命令

    总结:nfs-utils和rpcbind软件必须也要安装在nfs客户端

 01. 客户端不安装nfs软件无法识别nfs文件类型

02. 客户端不安装nfs和rpc软件,无法使用rpcinfo和showmount命令,进行查看服务端信息

配置文件编写说明

    NFS 共享目录 NFS客户端地址(参数1,参数2,...)

    /data   172.16.1.0/24(参数1)  rw   sync  通不到磁盘

    /data   10.0.0.0/24(参数1)    ro   async  内存

    共享目录影响权限的因素

    01. nfs配置文件中权限参数会影响共享目录权限

    02. nfs服务端共享目录本身权限也会影响目录目录权限

    2. 参数信息说明

    root_squash        <-- 将root用户映射为相应nfsnobody用户

    no_root_squash     <-- 将root用户不映射为相应nfsnobody用户

    all_squash         <-- 将所有用户映射为相应nfsnobody用户

    no_all_squash      <-- 将所有用户不映射为相应nfsnobody用户

   

1.1 nfs客户端操作流程:root 所有用户

    第一个历程:创建出要映射的用户信息

    useradd oldboy -u 500

    说明:如果客户端没有服务端映射的用户信息,存储的文件默认属主属组权限为nobody

   

    nfs服务端操作流程:

    第一个历程:创建默认匿名用户

    useradd oldboy -s /sbin/nologin -M -u 500

   

    第二个历程:编写配置文件

    vim /etc/exports

    /data 172.16.1.0/24(rw,sync,all_squash,anonuid=500,anongid=500)

    chown -R oldboy.oldboy /data/

   

    第三个历程:重启nfs服务(平滑重启)

/etc/init.d/nfs reload

1.1 nfs服务器172.16.1.31,共享下面nfs服务端:

   nfs服务器 172.16.1.31,共享下面两个目录:
    /data/w 要求的权限可读写,同步数据,所有用户都压缩为匿名用户
    /data/r 要求的权限为只读,同步数据,所有用户都压缩为匿名用户
    客户端上面要求:
    backup服务器 把NFS服务器的/data/r 挂载到/data/r
    web01服务器 把NFS服务器的/data/w 挂载到/data/w

    第一个历程:编写配置文件

    vim /etc/exports

    /data/w     172.16.1.0/24(rw,sync,all_squash)

    /data/r     172.16.1.0/24(ro,sync,all_squash)

   

    第二个历程:创建存储目录,修改目录权限

    mkdir /data/{w,r} -p

    chown -R nfsnobody.nfsnobody /data/

   

    第三个历程:平滑重启nfs服务

    /etc/init.d/nfs reload

   

    nfs客户端:

    第一个历程:创建挂载点目录

    mkdir /data/{w,r} -p

   

    第二个历程:进行共享目录挂载

    backup 

    mount -t nfs 172.16.1.31:/data/r /data/r

    web01

    mount -t nfs 172.16.1.31:/data/w /data/w

    说明:在这是nfs共享目录时,会有子集目录继承父亲目录的权限问题

          尽量在配置共享目录时,避免目录继承权限问题,不要上级目录和子集目录同时存在

1.1 NFS客户端自动挂载

    ①. 利用/etc/rc.local文件实现开机自动挂载

    echo "mount -t nfs 172.16.1.31:/data /mnt"  >>/etc/rc.local

    ②. 利用fstab文件实现开机自动挂载

    tail -1 /etc/fstab

    172.16.1.31:/data       /mnt                    nfs     defaults        0 0

    chkconfig netfs on

    /etc/init.d/netfs  start 临时开启

原文地址:https://www.cnblogs.com/zdqc/p/9431397.html