zoukankan      html  css  js  c++  java
  • NFS文件共享

    NFS工具包

    • centos:nfs-utils
    • ubuntu:nfs-kernel-server,

    配置文件

    # 配置文件路径
    /etc/exports
    /etc/exports.d/*.exports
    
    # 配置文件格式
    共享目录路径		共享目标IP(共享权限选项)
    /dir			IP(选项参数)
    
    # 主机名支持通配符等
    *.wuvikr.com
    server?.wuvikr.com
    server[0-9].wuvikr.com
    
    # IP支持网段
    10.0.0.0/24
    10.0.0.0/255.255.255.0
    
    # 共享选项参数
    默认选项:(ro,sync,root_squach,no_all_squash)
    ro				只读
    rw				读写
    async			        异步
    sync			        同步
    root_squash		        远程root用户映射为UID&GID=65534的匿名用户,centos7及之前为nfsnobody,centos8为nobody
    no_root_squash	                远程root用户映射为本机的root用户
    all_squash		        所有远程用户映射为UID&GID=65534的指定用户
    no_all_squash	                保留使用远程用户的UID和GID
    anonuid/anongid	                指明映射的特定用户UID和GID,默认为UID&GID=65534的匿名用户
    
    # 举例:
    /data/dir1		10.0.0.10(rw,sync,no_subtree_check,root_squash,no_all_squash)
    /data/dir2		*.wuvikr.top(ro,async,all_squash)
    
    # 启动nfs服务
    systemctl start nfs-server.service
    

    exprotfs命令

    # 常用选项
    -v		查看NFS共享
    -r		重新加载配置文件并生效
    -a		开启所有共享
    -au		暂停所有共享
    

    showmount命令

    # 常用选项
    -e		显示NFS服务器所有共享目录
    -d		仅显示已被客户端加载的目录
    

    客户端NFS挂载相关

    fg		前台挂载
    bg		后台挂载
    hard	        如果没有挂载成功,持续请求挂载
    intr	        配合hard选项,请求可被中断(ctrl+c)
    soft	        如果没有挂载成功,就中断挂载
    _netdev	        如果没有网络连接则不是挂载
    vers	        指定版本
    
    # 临时挂载
    mount -o rw,nosuid,fg,hard,intr 172.16.1.100:/data/dir1 /mnt/dir1
    
    # 开机挂载
    vim /etc/fstab
    172.16.1.100:/data/dir1		/mnt/dir1	nfs		defaults,_netdev	0 0
    
    # 如果NFS服务没有开启rw权限的话,进行读写操作的时候会有以下报错。
    [root@centos7 dir1]#touch aa.txt
    touch: cannot touch ‘aa.txt’: Read-only file system
    
    # NFS服务给了rw权限,读写还是报错,但错误变为权限不允许。
    [root@centos7 dir1]#touch 222.txt
    touch: cannot touch ‘222.txt’: Permission denied
    
    # 这是因为本地账号读写文件时会被映射为NFS服务器上的匿名账户
    # 查看下/data/dir目录可以发现,远程用户对本目录来说属于其他用户
    [root@centos7 ~]#ll /data/
    total 2
    drwxrwxr-x 3 root    root    18 Nov  5 15:15 dir1
    
    # 最简单的方法就是将该目录的权限设为777,但是这样做不是很安全,建议使用setfcl精准授权
    chmod -R 777 /data/dir1
    setfacl -R -m u:nfsnobody:rwx /data/dir1
    

    autofs自动挂载服务

    配置文件:/etc/auto.master

    配置自动挂载

    例:将172.16.1.100:/data/dir1挂载到本机的/data/dir1/dir2路径下

    • 方法一:相对路径式

      vim /etc/auto.master
      # 文件格式
      挂载点的dirname		                  该dirname的子配置文件路径
      /data/dir1			            /etc/auto.dir1
      
      vim /etc/auto.dir1
      # 文件格式
      挂载点的basename		文件类型		            设备路径
      dir2		     -fstype=nfs		172.16.1.100:/data/dir1
      
    • 方法二:绝对路径式

      vim /etc/auto.master
      # 文件格式
      /-					  子配置文件路径
      /-					  /etc/auto.dir1
      
      vim /etc/auto.dir1
      # 文件格式
      挂载点绝对路径		文件类型			设备路径
      /data/dir1/dir2		-fstype=nfs		172.16.1.100:/data/dir1
      
  • 相关阅读:
    jquery ajax跨域取数据
    Python编写相关注意事项
    深入理解java.lang.String
    Java设计模式----迭代器模式
    Java设计模式----状态模式
    Java设计模式----观察者模式
    Java设计模式----适配器模式
    Java设计模式----外观模式
    Java设计模式----建造者模式
    Java设计模式----模板方法模式
  • 原文地址:https://www.cnblogs.com/wuvikr/p/13932268.html
Copyright © 2011-2022 走看看