精华内容
下载资源
问答
  • nfs 客户端卡死问题

    2021-07-15 10:50:54
    nfs 服务器因网络等问题与客户端通信失败后,nfs客户端此时执行 ls 命令卡死 原因 单从nfs 的知识来看,造成nfs 客户端卡死的问题,是因为nfs 客户端默认采用 hard 挂载模式。 改用 soft 模式后,则...

    现象

    nfs 服务器因网络等问题与客户端通信失败后,nfs客户端此时执行 ls 命令卡死

    原因

    单从nfs 的知识来看,造成nfs 客户端卡死的问题,是因为nfs 客户端默认采用 hard 挂载模式。


    改用 soft 模式后,则超时后将抛出一个I/O 错误
    参考以下文档:
    redHat-nfs 文档

    hard or soft — Specifies whether the program using a file via an NFS connection should stop and wait (hard) for the server to come back online, if the host serving the exported file system is unavailable, or if it should report an error (soft).
    If hard is specified, the user cannot terminate the process waiting for the NFS communication to resume unless the intr option is also specified.
    If soft is specified, the user can set an additional timeo=<value> option, where <value> specifies the number of seconds to pass before the error is reported.
    
    Using soft mounts is not recommended as they can generate I/O errors in very congested networks or when using a very busy server.
    


    还需要关注的:选项: intr — Allows NFS requests to be interrupted if the server goes down or cannot be reached.

    解决


    由于nfs 服务器 可能不稳定(当然在网络或服务器不稳定的情况下,不推荐使用nfs),因此使用脚本定时探测后,如果服务器正常,则挂载;如果服务器异常,则卸载。
    主要使用到的命令如下:
    showmount -e ${ip地址} :检测服务器暴露的nfs 挂载点
    mount -t nfs -o rw,intr,soft,timeo=30,retry=3 ${远程地址} ${本地地址} : 将远程目录,以soft、intr模式,并设置超时时间、重试次数
    umount -f -l -t nfs ${远程地址}  lazy、force 卸载

    #!/bin/bash
    # config
    NFS_SERVER_IP="192.168.38.201"
    NFS_SHARE_DIR="/root/share"
    NFS_SHARE_FULL_PATH="${NFS_SERVER_IP}:${NFS_SHARE_DIR}"
    
    # 日志文件路径
    LOG_PATH="/root/nfs.log"
    # 本地挂载目录
    LOCAL_MOUNT_PATH="/root/client-share/"
    
    # 卸载
    doUmount() {
      umount -f -l -t nfs ${NFS_SHARE_FULL_PATH} >>${LOG_PATH} 2>&1
      echo "卸载结果: $?" >>${LOG_PATH}
    }
    
    # 检测nfs 服务器状态
    checkServerStatus() {
      exportList=$(showmount -e ${NFS_SERVER_IP} 2>>${LOG_PATH} )
      exportTargetCount=$(echo "${exportList}" | grep -c ${NFS_SHARE_DIR})
      if [ "${exportTargetCount}" -ge 1 ]; then
        return 0
      else
        echo "在showmount 结果中找不到指定目录,exportList:" "${exportList}" >>${LOG_PATH}
        return 1
      fi
    }
    
    # 挂载
    doMount() {
      mount -t nfs -o rw,intr,soft,timeo=30,retry=3 ${NFS_SHARE_FULL_PATH} ${LOCAL_MOUNT_PATH} >>${LOG_PATH} 2>&1
    
      if [ $? -eq 0 ]; then
        echo "NFS [${NFS_SHARE_FULL_PATH}] 自动挂载成功" >>${LOG_PATH}
      else
        echo "NFS [${NFS_SHARE_FULL_PATH}] 挂载失败" >>${LOG_PATH}
      fi
    }
    
    # 检测并挂载
    checkAndMount() {
      # 是否已经挂载
      shareCount=$(df -h | grep -c ${NFS_SHARE_FULL_PATH})
      if [ "${shareCount}" -ge 1 ]; then
        echo "NFS  [${NFS_SHARE_FULL_PATH}] 已挂载,无需重复挂载" >>${LOG_PATH}
      else
        doMount
      fi
    }
    
    main() {
      echo "NFS 检测开始:$(date +"%F %T")" >>${LOG_PATH}
    
      checkServerStatus
      # server 状态正常
      if [ $? -eq 0 ]; then
        checkAndMount
      else
        echo "请检查server运行情况" >>${LOG_PATH}
        doUmount
      fi
    
      echo "NFS 检测结束:$(date +"%F %T")" >>${LOG_PATH}
      exit 0
    }
    
    main
    
    

    需要注意的是,当 mount 成功后,该文件夹本身包含的文件只有在 umount 后才能看到。可以通过挂载前将已有的文件,移动到其他文件夹后,再拷贝到nfs 挂载目录上。

    参考文档

    redHat-nfs 文档

    展开全文
  • nfs客户端部署脚本

    2019-03-22 16:48:38
    一键部署nfs客户端,解决linux系统之间文件共享的大问题。共享目录为 /ucpindex/repo_data ,可根据需求自行修改
  • win下NFS客户端

    热门讨论 2012-05-17 22:24:43
    win下NFS客户端
  • 1、NFS客户端挂载命令 这里先强调下客户端挂载的命令格式。 挂载命令 挂载的格式类型 NFS服务端提供的共享目录 NFS客户端的挂载点 mount -t nfs 172.16.1.31:/data /mnt(必须存在) mount -t nfs 172.16....

    1、NFS客户端挂载命令
    这里先强调下客户端挂载的命令格式。

    挂载命令挂载的格式类型NFS服务端提供的共享目录NFS客户端的挂载点
    mount-t nfs172.16.1.31:/data/mnt(必须存在)

    mount -t nfs 172.16.1.31:/data /mnt,此命令要在NFS客户端执行.

    2、NFS客户端mount挂载命令参数说明
    在NFS服务端可以通过cat/var/lib/nfs/etab查看NFS服务端配置参数的细节。在NFS客户端可以通过cat/proc/mounts 查看mount的挂载参数细节。

    通过如下命令在NFS客户端测试挂载获取的默认挂载参数:
    [ root@web01~]# grep mnt /proc/mounts
    172.16.1.31:/data/mnt nfs4
    rw, relatime, vers=4.1, rsize=131072, wsize=131072, namlen=255, hard, psoto=tcp, timeo=600, retrans=2, sec=sys,clientaddr=172.16.1.7,local_lock=none, addr=172.16.1.31 0 0

    NFS Client mount挂载参数说明。
    NFS Client mount 挂载参数列表

    参数参数功能默认
    fg、bg当在客户端执行挂载时,可选择是前台(fe)还是在后台(bg)执行。若在前台执行,则mount会持续尝试挂载,直到成功或挂载时间超时为止,若在后台执行,则mount会在后台持续多次进行mount,而不会影响到前台的其他程序操作。如果网络联机不稳定,或是服务器常常需要开关机,建议使用bg比较妥当。fg
    soft、hard当NFS Client 以soft 挂载Server时,若网络或Server出现问题,造成Client和Server无法传输资料,Client就会一直尝试,直到timeout后显示错误才停止。若使用soft mount的话,可能会在timeout出现时造成资料丢失,故一般不建议使用(害羞的男孩)。若用hard模式挂载硬盘时,刚好和soft相反,此时Client会一直尝试连线到Server,若Server有回应就继续刚才的操作,若没有回应NFS Client会一直尝试,此时无法umount或kil1,所以常常会配合intr使用。这是默认值(死缠烂打脸皮厚的男孩)。hard
    intr当使用hard挂载的资源timeout后,若有指定ntr参数,可以在timeout后把它中断掉,这避免出问题时系统整个被NFS锁死,建议使用intr。
    rsize、wsize读出(rsize)与写入(wsize)的区块大小(block size),这个设置值可以影响客户端与服务器端传输数据的缓冲存储量,一般来说,如果在局域网内(LAN),并且客户端与服务器端都具有足够的内存,这个值可以设置大一点,比如说65535(bytes),提升缓冲区块将可提升NFS文件系统的传输能力。但设置的值也不要太大,最好以网络能够传输的最大值为限。CentOS5:默认值rsize=1024,wsize=1024;CentOS7.6:默认值rsize=131072,wsize=13107
    proto=udp使用UDP协定来传输资料,在LAN中会有比较好的性能。若要跨越Internet的话,使用proto=tcp多传输的数据会有比较好的纠错能力。proto=tcp

    在这里插入图片描述
    有hard参数————>耦合度高了

    可通过man nfs查看上述参数信息。如果追求极致,可以用如下参数挂载:

    mount -t nfs -o fg, hard, intr, rsize=131072, wsize=131072 172.16.1.31:/data/  /mnt
    

    但是如果考虑以简单、易用为原则,直接选择默认值就可以了。
    mount -t nfs 172.16.1.31:/data/ /mnt


    mount -o参数对应的选项

    参数参数意义默认系统值
    suid、nosuid当挂载的文件系统上有任何SUID的程序时,只要使用nosuid就能够取消设置SUID的功能。(SUID,在linux基础学习篇权限管理里面讲过了)suid
    rw、ro可以指定文件系统是只读(ro)或可写(rw)。rw
    dev、nodev是否可以保留装置文件的特殊功能?一般来说只有/dev才会有特殊的装置,因此可以选择nodev。dev
    exec、noexec是否具有执行文件的权限?如果想要挂载的仅是普通资源数据区(例如:图片、附件),那么可以选择noexec(不允许执行二进制命令)。exec
    user、nouser是否允许用户进行文件的挂载与卸载功能?如果要保护文件系统,最好不要提供用户进行挂载与卸载nouser
    auto、noauto这个auto指的是“mount -a”时会不会被挂载的项目,如果不需要这个分区随时被挂载,可以设置为noautoauto

    3.把man mount后的-o参数中英翻译对比
    下面是mount 而令的-o选项后面可以接的参数,注意,有些选项只有出现在/etc/fstab里才有效,下面这些选项可以应用在绝大多数文件系统上,但是sync仅适合ext2、ext3、fat、vfat 和ufs等文件系统。

    • async:涉及文件系统I/O的操作都是异步处理,即不会同步写到磁盘,此参数会提高性能,但会降低数据安全。一般情况,生产环境不推荐使用。除非对性能要求很高,对数据可靠性不要求的场合。

    • rsync:该参数和async相反。有I/O操作时,都会同步处理I/O,即把数据同步写入硬盘。此参数会牺牲一点I/O性能,但是,换来的是掉电后数据的安全性。

    • atime:在每一次数据访问时,会同步更新访问文件的inode时间戳,是默认选项,在高并发的情况下,建议通过明确加上noatime,来取消这个默认项,以到达提升I/O性能,优化I/O的目的。

    • ro:以只读的方式挂载一个文件系统。

    • rw:以可写的方式挂载一个文件系统。

    • auto:能够被自动挂载通过-a选项。

    • noauto:不会自动挂载文件系统。

    • defaults:这是fstab里的默认值,包括rw、suid、dev、exec、auto、nouser、and async,默认情况大部分都是默认值。

    • exec:允许文件系统执行二进制文件,取消这个参数,可以提升系统安全。

    • noexec(优化参数):在挂载的文件系统中不允许直接执行任何二进制的程序,注意,仅对二进制程序有效,即使设置了noexec、shell,php程序还是可以执行的。

    • noatime:访问文件时不更新文件的inode时间戳,高并发环境下,推荐显式应用该选项,可以提高系统I/O性能。
      ps:时间戳在磁盘inode里,访问也会改变时间戳(访问时间,修改时间,属性变化时间),时间戳变了会占用磁盘I/O,访问一次磁盘I/O性能就会降低。

    • nodiratime:不更新文件系统上的directory inode时间截,高并发环境,推荐显式应用该选项,可以提高系统I/O性能。*

    • nosuid:不允许 set-user-identifier or set-group-identifier位生效。*

    • suid:允许set-user-identifier or set-group-identifier位生效。

    • nouser:禁止一个普通用户挂载该文件系统,这是默认挂载时的默认选项。

    • remount:尝试重新挂载一个已经挂载了的文件系统,这通常被用来改变一个文件系统的挂载标志,从而使得一个只读文件系统变的可写,这个动作不会改变设备或者挂载点。当系统故障时进入single或rescue模式修复系统时,会发现根文件系统经常会变成只读文件系统,不允许修改,此时该命令就派上用场了。具体命令为:(单用户模式)mount -o remount,rw/,表示将根文件系统重新挂载使得可写。single或rescue模式修复系统时这个命令十分重要。*

    • dirsync:目录更新时同步写入磁盘*。

    这些参数都支持本地文件系统。

    一般情况安全的参数和性能参数是对立的,即越安全性能就越差。

    展开全文
  • Windows下NFS客户端的安装
  • 配置NFS客户端for linux

    2012-01-08 15:02:54
    关于NFS客户端如何配置的具体操作,请多指教
  • nfs客户端软件,真的很好用,就是配置稍微阿范一点了
  • nfs客户端卡死情况

    万次阅读 2018-04-19 09:22:01
    现象:对一台有nfs的服务器断网后,nfs客户端卡死,直到恢复网络后,依然没有恢复过来 分析: 解决: 改成soft-mount模式 soft和hard模式 当nfs的服务器端出现异常的时候,linux服务器的底层有重发机制,nfs...

    现象:对一台有nfs的服务器断网后,nfs客户端卡死,直到恢复网络后,依然没有恢复过来

    分析:
    这里写图片描述
    解决:
    改成soft-mount模式
    soft和hard模式
    当nfs的服务器端出现异常的时候,linux服务器的底层有重发机制,nfs客户端一直去向服务器端请求,判断服务器是否正常,一直阻塞。
    当客户端挂载的时候采用hard模式,服务器端出现异常,则客户端会一直发请求,直到服务器正常。
    当客户端挂载的时候采用soft模式,我们可以配置timeo和retry参数,配置超时时间,服务器端出现异常,客户端也会向服务器端发请求,当超过我们配置的时间,则会返回错误,不会一直阻塞。
    hard模式挂载:
    mount -t nfs -o rw 192.168.1.2:/home/nfs /mnt local_path
    soft模式挂载
    mount -t nfs -o rw,soft,timeo=30,retry=3 192.168.1.2:/home/nfs /mnt
    timeo的单位是0.1秒,配置为30就是隔3秒客户端向服务器端请求。

    断网命令:iptables -A OUTPUT -d 172.16.18.0/24 -j DROP
    恢复命令:iptables -F
    查看报错:
    dmesg | tail -n 40

    注意:该问题我猜测nfs低版本和高版本Linux内核不兼容的bug,升级成高版本一些的nfs,问题也能解决

    展开全文
  • Win10 NFS 客户端

    2020-10-20 20:10:37
    windows10启用NFS客户端 控制面板->程序和功能->打开或关闭Windows功能->NFS服务 mount 192.168.1.11:/home/test/share x:\

    windows10启用NFS客户端

    控制面板->程序和功能->打开或关闭Windows功能->NFS服务

    mount 192.168.1.11:/home/test/share x:\

    展开全文
  • NFS客户端挂载出现故障时,首先把本地服务端作为客户端进行挂载测试看行不行,执行的命令和结果如下: [root@nfs01 ~]#mount -t nfs 172.16.1.31:/data/mnt [root@nfs01 ~]#ls /mnt/ o1dboy.txt [rootenfs01 ~]#df...
  • windows下的nfs客户端

    热门讨论 2009-04-01 09:25:43
    windows下的nfs客户端,用起来有点麻烦,要是有人能自己进行开发就好了
  • exportfs命令及NFS客户端问题

    千次阅读 2018-01-03 01:43:34
    exportfs命令及NFS客户端问题
  • Ubuntu离线配置NFS客户端需要的deb文件,实测18.04可用,下载后在目录挨个sudo dpkg -i xxx,可能需要按照依赖关系调整安装顺序。
  • Node.js的NFS客户端绑定 在项目中使用node-nfsc 安装依赖项krb5-multidev libkrb5-dev和libkrb5-dev 。 然后, $ npm install --save node-nfsc 用法 首先,将node-nfsc函数导入程序中: const nfsc = require ...
  • NFS客户端挂载出错

    2016-07-24 16:13:36
    NFS错误总结:在搭建NFS网络共享系统过程中,挂载NFS客户端的时候出现错误:[root@lnmp02 ~]# mount -t nfs 192.168.190.7:/old /optmount.nfs: access denied by server while mounting 192.168.190.7:/old查看系统...
  • 搭建 NFS 客户端

    2019-10-09 15:32:54
    接上文 《搭建 NFS 服务端》 安装工具 yum -y install rpcbind 查看远程服务 showmount -e 10.0.7.181 建立挂载目录,执行挂载命令 mkdir -p /mnt/wwwroot mount -t nfs 10.0.7.181:/opt/wwwroot /mnt/...
  • NFS客户端mount挂载优化

    千次阅读 2016-09-29 14:24:23
    NFS客户端mount挂载优化 NFS作用 NFS服务可以让不同的客户端挂载使用同一个上目录,作为共享存储使用,这样可以保证不同节点的客户端数据的一致性,在集群环境中经常用到 NFS的优点 1、简单------>容易上手,...
  • windows 挂载nfs客户端

    2020-12-11 15:44:10
    windows2008 挂载nfs 管理员权限打开cmd命令行提示符: servermanagercmd.exe -install FS-NFS-Services ##安装nfs net use /persistent:yes ##允许开机启动 mount 192.168.1.110:/nfs z: ##挂载至Z盘 第三...
  • Nefarious服务器已通过 ,Linux NFS客户端和Windows Server的NFS客户端成功安装。 Nefarious服务器未实现“原始”文件系统接口。 相反,它提供了与RPC层的交互,并定义了用户应实现以提供基础功能的API。 这使得...
  • 存储服务器-NFS客户端挂载
  • (上):因为老师给我分配的任务是把客户机配置好,因此本文只是针对nfs客户端,nfs服务端的文章等我后续配置master再写。我是xshell远程连接的Ubuntu18.04,所以我是在本地把东西准备好然后ftp传送过去的。 以下...
  • NFS客户端可以通过cat /proc/mounts查看mount的挂载参数细节。 客户端也可以用df -hT 但是有时会卡住,推荐cat /proc/mounts 本文转自sandshell博客51CTO博客,原文链接http://blog.51cto....
  • nfs客户端使用过程中会申请大量页缓存 nfs服务端在申请内存时设置的标记不会触发页缓存的回收 在某一时刻nfs服务端申请不到内存(内存被客户端占用)无法继续处理请求,nfs客户端的请求得不到响应,整个系统可能出现...
  • win2003 nfs客户端

    2017-03-08 10:12:00
    win2003 nfs 安装 sfu 3.5 NFS->ClientforNFSAuthenticationtoolsforNFS->ServerforPCNFS 配置用户名 点 “开始菜单”->“所有程 序”->“WindowsServicesforUNIX”->...
  • 这个 Centos7 客户端运行 systemd 并为 NFS 客户端功能安装 NFS utils 和 autofs。 我创建了一个新的 Centos7 NFS 客户端,它利用运行 systemd 的图像来允许我们执行以下操作: 连接到 NFSv3 和 NFSv4.1 共享 ...
  • Linux菜鸟来一次关于配置NFS服务器端和NFS客户端,服务器端共享文件,客户端查看共享文件 首先,介绍一下我用到的是Oracle VM VIirtualBox,操作系统是Red Hat的,CentOS8,网络用的仅主机网络 在服务器端,输入...
  • Windows NFS客户端安装和配置权限不足

    千次阅读 2021-01-21 18:33:24
    安装NFS客户端 挂载盘符 mount 192.168.0.123:/data/disk1/img E: 开启权限 磁盘阵列开启nfs服务后在Linux上挂载该nfs是有正常的读写权限的,挂载到windows服务器上后报错,提示权限不足。 以root用户组和用户...
  • centos7 NFS客户端自动挂载

    千次阅读 2019-04-26 11:40:15
    安装客户端软件: yum –y install nfs-utils 安装autofs: yum –y install autofs 配置/etc/auto.master /opt/cz /etc/auto.nfs # //opt/cz挂载点,读取/etc/auto.nfs挂载配置文件 配置/etc/auto.nfs ...
  • 前段时间nfs客户端不知道怎么的,没把nfs服务端挂载到客户端,导致有部分图片写在了本地,今天特地记录一下监控客户端nfs挂载,发现未挂载及时发短信通知管理员,再通过action自动mount的,就不需要去手动了。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,588
精华内容 22,635
关键字:

nfs客户端下载