UOS系统NFS文件共享

 

1.安装

  NFS服务端安装:

   sudo apt install nfs-kernel-server(UOS系统自带了,不需要安装)

  NFS客户端安装:

  sudo apt install nfs-common (UOS系统自带了,不需要安装)

  UOS系统NFS文件共享

2.服务端配置

  1)创建共享目录 sudo mkdir  -p /data/nfs

  2)配置 /etc/exports (NFS挂载目录及权限由/etc/exports文件定义)   vi /etc/exports

        /data/nfs  10.140.1.*(rw,sync,no_root_squash,no_subtree_check)

  • /data/nfs                    要共享的目录
  • 10.140.1.*                 可以挂载的ip,如果全部可挂载,可以直接写成 *
  • rw            读写 
  • ro               只读
  • sync                          同步, 同时将数据写入到内存与硬盘中,保证不丢失数据
  • async                        优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据请注意
  • root_squash             当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户   即 root用户的所有请求映射成如anonymous用户一样的权限(默认)
  • no_root_squash       当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员   即NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限
  • all_squash                无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户   即  共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
  • no_all_squash          保留共享文件的UID和GID(默认)
  • subtree_check          如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
  • no_subtree_check   和上面相对,不检查父目录权限。
  • secure                      NFS通过1024以下的安全TCP/IP端口发送
  • insecure                   NFS通过1024以上的端口发送
  • wdelay                     如果多个用户要写入NFS目录,则归组写入(默认)
  • no_wdelay               如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
  • hide                         在NFS共享目录中不共享其子目录
  • no_hide                   共享NFS目录的子目录
  • anonuid=xxx           指定NFS服务器/etc/passwd文件中匿名用户的UID
  • anongid=xxx           指定NFS服务器/etc/passwd文件中匿名用户的GID

 【eg:网路段10.140.1.0到10.140.1.24网路段才可挂载且权限只读:  /data/nfs  10.140.1.0/24(ro) 】

【 eg:/home/share 192.168.102.15(rw,sync) *(ro)  (配置说明: 对192.168.102.15赋予读写权限,其他机器仅有只读权限。)】

UOS系统NFS文件共享

        检查配置是否有错: source /etc/exports

       UOS系统NFS文件共享

   3)启动NFS服务  

         sudo /etc/init.d/rpcbind restart 

         sudo /etc/init.d/nfs-kernel-server restart   (启动nfs,如后面再修改/etc/exports,需重启NFS才生效)

 UOS系统NFS文件共享

         查询是否启动  ps -ef|grep nfs

  UOS系统NFS文件共享

  4)exportfs

     是不是我们每次修改了配置文件都需要重启Debian NFS服务器服务呢? 这个时候我们就可以用exportfs命令重新扫描/etc/exports文件,来使改动立刻生效。

 比如:

# exportfs -au 卸载所有共享目录

# exportfs -rv 重新共享所有目录并输出详细信息

# man exportfs      exportf 命令有软件包 nfs-kernel-server 提供,详细的 exportfs 命令说明请查看

3.客户端配置

  1)使用showmount 命令查看nfs服务器共享信息。输出格式为“共享的目录名称 允许使用客户端地址”。 showmount命令参数:

    • -a :显示目前主机与客户端的 NFS 联机分享的状态
    • -e :显示/etc/exports 所分享的目录数据   

UOS系统NFS文件共享

   2)映射服务端ip   sudo vi /etc/hosts

           UOS系统NFS文件共享    UOS系统NFS文件共享

   3)挂载

            查看挂载情况 df -h 

    创建要挂载的文件夹  sudo mkdir -p /mnt/nfs/share

            挂载:mount  -n -o nolock  nfs.sharedir:/data/nfs /mnt/nfs/share -o nolock     

            检查: 

UOS系统NFS文件共享

 

     4)解挂 umount  /mnt/nfs/share

         


      

            挂载命令:mount [-fnrsvw] [-t vfstype] [-o options]   device   dir      

                             【 eg:mount -o nolock -t nfs 192.168.1.24:/home/test /mnt/nfs    (-t nfs 文件系统类型为nfs, -o nolock 文件锁)】

  • device:指明要挂载的设备
    • (1) 设备文件:例如/dev/sda5
    • (2) 卷标:-L ‘LABEL‘, 例如 -L ‘MYDATA‘
    • (3) UUID, -U ‘UUID‘:例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e‘
    • (4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
  • dir:挂载点
    • (1)事先存在;建议使用空目录;
    • (2)进程正在使用中的设备无法被卸载
  • 常用命令选项:
    •     -t vsftype:指定要挂载的设备上的文件系统类型;通常不必指定。mount 会自动选择正确的类型。常用类型有光盘或光盘镜像:iso9660;DOS fat16文件系统:msdos;Windows 9x fat32文件系统:vfat;Windows NT ntfs文件系统:ntfs;Mount Windows文件网络共享:smbfs;UNIX(LINUX) 文件网络共享:nfs
    •     -r: readonly,只读挂载;
    •     -w: read and write, 读写挂载;
    •     -n: 不更新/etc/mtab; 
    •     -a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)
    •     -L ‘LABEL‘: 以卷标指定挂载设备;
    •     -U ‘UUID‘: 以UUID指定要挂载的设备;
    •     -B, --bind: 绑定目录到另一个目录上;
    •  -o options:(挂载文件系统的选项,主要用来描述设备或档案的挂接方式)
    •                    (默认挂载选项:defaults:rw, suid, dev, exec, auto, nouser, and async)
    • loop:用来把一个文件当成硬盘分区挂接上系统     
    • ro:只读
    • rw:读写
    • nolock 文件锁
    • iocharset:指定访问文件系统所用字符集
    • async:异步模式;   
    • sync:同步模式;   
    • atime/noatime:包含目录和文件;  
    • diratime/nodiratime:目录的访问时间戳
    • auto/noauto:是否支持自动挂载
    • exec/noexec:是否支持将文件系统上应用程序运行为进程
    • dev/nodev:是否支持在此文件系统上使用设备文件;
    • suid/nosuid:是否支持在此文件系统上使用特殊权限 
    • remount:重新挂载
    • user/nouser:是否允许普通用户挂载此设备
    • acl:启用此文件系统上的acl功能
    • 注意:上述选项可多个同时使用,彼此使用逗号分隔;

注意:查看内核追踪到的已挂载的所有设备:cat /proc/mounts

 

   fdisk -l 列出所有的分区,包括没有挂上的分区和usb设备 。(fdisk命令操作磁盘详解--添加、删除、转换分区等

    df -h 查看磁盘占用空间

UOS系统NFS文件共享

 

    blkid  查看文件系统类型、LABEL、UUID等信息 (blkid 查看所有设备的信息,  blkid  /dev/vda4 查看/dev/vda4设备的信息)

UOS系统NFS文件共享

 

 

            

    

 参考网址:

https://blog.csdn.net/daydayup654/article/details/78788310

https://baijiahao.baidu.com/s?id=1685378383477375934&wfr=spider&for=pc

   

 

UOS系统NFS文件共享

上一篇:centos6 系列 官方停止更新,yum不可用处理方法及php环境搭建


下一篇:树遍历非递归