NFS

  1. NFS存储服务
    1.概念:NFS是network file system 的缩写,即网络文件共享系统
    2.功能:通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录
    3.存储服务的种类:
    a.FTP(文件传输协议)
    b.samba windows-linux之间数据传输 linux部署samba
    c.NFS linux--linux之间数据传输
    d.分布式存储(大企业)
    a.Moosefs(mfs)
    b.GlusterFS
    c.FastDFS(常用)
    4.NFS存储服务作用:
    a.实现数据的共享存储
    b.编写数据操作管理
    c.节省购买服务器磁盘开销,
    5.NFS服务部署流程
    RPC:远程过程调用服务程序---相当于租房的中介
    服务端部署:
    1.下载安装软件: rpm -qa|grep -E "nfs|rpc"
    yum install -y nfs-utils rpcbind
    2.编写NFS服务配置文件(可通过exportfs -r检测配置文件正确与否)
    vim /etc/exports (man exports)
    01 02(03)
    01: 设置数据存储的目录 /data
    02: 设置网络白名单(允许哪些主机连接到存储服务器进行数据存储)
    03: 配置存储目录的权限信息 存储目录一些功能
    /data 192.168.3.0/24(rw,sync)
    04:NFS服务端详细配置
    a.实现多个网段主机可以进行挂载
    01./data 192.168.3.0/24(rw,sync) 10.0.0.0/24(rw,sync)
    02./data 192.168.3.0/24(rw,sync)
    /data 10.0.0.0/24(rw,sync)
    b.NFS配置参数权限:
    rw --- 存储目录是否有读写权限
    ro --- 存储目录是否是只读权限
    sync --- 同步方式存储数据,直接将数据保存到磁盘(数据存储安全)
    async --- 异步方式存储数据,直接将数据保存到内存 (提高数据存储效率)
    no_root_squash --不要将root用户身份进行转换
    root_squash --- 将root用户身份进行转换
    all_squash ---- 将所有普通用户身份进行转换
    no_all_squash --- 不要将普通用户身份进行转换
    c.企业中的参数使用(主要是保护用户数据安全):
    no_all_squash --- 不能让普通用户转换 需要进行设置 共享目录权限为www
    root_squash --- 需要进行设置, root---nfsnobody data目录---www
    d.查看NFS默认配置:
    cat /var/lib/nfs/etab ---记录nfs服务的默认配置记录信息
    /data 192.168.3.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,
    secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)
    e.让ROOT用户可以操作管理www用户管理的data目录
    ROOT --- root_squash --- www ---操作--- data目录---www
    anonuid=65534,anongid=65534 --- 可以指定映射的用户信息
    修改映射用户: www=1002
    vim /etc/exports : /data 192.168.3.0/24(rw,sync,anonuid=1002,anongid=1002)
    f.企业中的NFS配置文件:
    1.通用方法:(常用)
    /data 192.168.3.0/24(rw,sync)
    2.特殊情况(部分人员不能操作存储目录,可以看)
    /data 10.0.0.0/24(ro,sync)
    3.修改默认的匿名用户
    /data 10.0.0.0/24(ro,sync,anonuid=xxx,anongid=xxx)
    3.创建一个存储目录
    mkdir /data
    chown nfsnobody.nfsnobody /data
    4.启动服务程序
    a.先启动rpc服务:
    systemctl start rpcbind.service
    systemctl enable rpcbind.service
    b.再启动nfs服务:
    systemctl start nfs
    systemctl enable nfs
    客户端部署:
    1.安装软件nfs-utils
    yum install -y nfs-utils
    2.实现远程挂载共享目录
    mount -t nfs 192.168.3.12:/data mnt
    6.NFS服务工作原理:
    服务端:
    1.启动RPC服务,开启111端口 PS:检查NFS服务进程和端口注册信息:rpcinfo -p IP
    2.启动NFS服务
    3.实现NFS服务进程和端口号的注册
    客户端:
    1.建立TCP网络连接
    2.客户端执行挂载命令,进行远程挂载
    3.实现数据远程传输存储
    7.NFS服务问题
    01.NFS服务器重启,挂载后创建数据比较慢
    服务重启:
    01:restart 重启服务 强制断开所有连接
    02:reload 重启服务(平滑重启) 强制断开没有数据传输的连接
    8.NFS客户端详细配置
    a. mount -t nfs 192.168.3.12:/data /mnt
    如何实现自动挂载:
    01:利用rc.local
    echo "mount -t nfs 192.168.3.12:/data /mnt" >> /etc/rc.local
    02: 利用fstab文件: vim /etc/fstab
    192.168.3.12:/data /mnt nfs defaults 0 0
    centos6: 无法实现网络存储服务自动挂载原因:
    根据系统服务启动顺序 network服务--sshd --crond -- ..
    先加载/etc/fstab时,network服务还没加载上时,就会出现不能自动挂载
    方法:autofs服务程序,开机自动启动
    centos7:无法实现网络存储服务自动挂载原因:
    centos7是并行启动服务程序的,network服务没加载上时,先加载/etc/fstab
    b. 客户端mount命令参数
    rw --- 实现挂载后挂载点目录可读可写 (默认)
    ro --- 实现挂载后挂载点目录只读
    suid -- 在共享目录中可以让setuid权限位生效 (默认)
    nosuid -- 在共享目录中可以让setuid权限位失效 ,提供安全性
    exec --- 共享目录中的执行文件可以直接执行
    noexec -- 共享目录中的执行文件不可以直接执行,提供安全性
    auto --- 可以实现自动挂载 mount -a实现加载fstab文件自动挂载
    noauto -- 不可以实现自动挂载
    nouser -- 禁止普通用户可以卸载挂载点
    user ---- 允许普通用户可以卸载挂载点
    c.客户端卸载
    umount -lf /mnt ---强制卸载挂载点
    -l: 不退出挂载点目录进行卸载
    -f: 强制卸载
    9.NFS服务挂载出错排查方法
    服务端进行排查:
    1.检查NFS进程信息是否注册
    rpcinfo -p localhost/192.168.3.12
    问题原因: 服务启动顺序不对,没有启动NFS服务
    2.检查有没有可用存储目录
    showmount -e 192.168.3.12
    问题原因: 配置文件编写有问题,重启NFS服务
    3.网络问题: ping 192.168.3.12
    telnet 192.168.3.12 111
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。