it-swarm.cn

NFS可以托管主文件夹吗?

我打算部署一些信息亭计算机,并希望将它们放置在一个小的Pendrive中作为启动磁盘,将其余信息保留在易于备份的服务器上ala [〜#〜] ltsp [〜#〜]

现在,我正在考虑两个选择。 NFSed/home /,或在登录时复制的〜/的本地副本,在注销时进行rsync。

我担心使用文件可能会变得太慢,或者我的网络可能会出现 clogged

30
voyager

我在生产环境中将NFS用于主目录。有一些技巧。

  1. 不要将NFS安装到/home-这样,您可以拥有一个本地用户,该本地用户允许您在NFS服务器关闭时使用。我们登上/mnt/nfs/home

  2. 使用软安装和非常短的超时-这将防止进程永远阻塞。

  3. 使用 自动安装器 。这将减少资源使用量,也意味着您无需担心NFS服务器由于某种原因而停机时重新启动服务。

    auto.master:
      +auto.master
      /mnt/nfs /etc/auto.home --timeout=300
    
    auto.home
       home -rw,soft,timeo=5,intr      home.bzzprod.lan:/home
    
  4. 使用单点登录系统,这样就不会遇到权限相关的问题。我有一个OpenLDAP服务器。

30
Aaron Brown

注意软安装!软安装NFS文件系统意味着IO超时后将失败。请确保这是您想要在用户主目录中使用的内容!我猜是您不需要的。主目录与intr选项结合使用在这里更加安全。

Hard不会超时:IO操作将无限期重试。intr选项可以中断安装过程。因此,如果您安装导出并遇到故障,则硬安装将锁定intr选项将使中断挂载成为可能,因此这种组合非常安全,可确保您不会轻易丢失用户的数据。

无论如何,autofs使这一切变得更加容易。

7
wzzrd

HowtoForge发表了一篇标题为 在Debian Lenny上使用GlusterFS创建类似NFS的独立存储服务器 的文章,您可能想查看一下。

GlusterFS 项目页面,这里简要说明了为什么它是NFS的一个“可行”替代品:

GlusterFS会自动自我修复。没有fsck。存储后端可以作为常规文件和文件夹(NFS样式)直接访问。启用复制后,GlusterFS可以承受硬件故障。

可以在项目文档中找到更多信息。

另外,使用GlusterFS的另一点好处是,如果您需要SAN是需要的。

7
faultyserver

无论您采用哪种网络文件系统,都将适用一些一般性建议:许多程序将数据缓存在用户的主目录中,当通过网络访问主目录时,这样做通常弊大于利。

如今,您可以通过在登录脚本中设置XDG_CACHE_HOME环境变量,来告诉许多程序将其缓存存储在其他位置(例如,在本地磁盘上)。但是,许多程序(例如Firefox)仍需要手动配置,因此您可能需要做一些额外的工作才能为所有用户以统一的方式识别和配置它们。

4
Sam Morris

需要注意的一件事是,当NFS服务器出局时-挂载会冻结-进行软挂载不会阻塞,因此可以避免“冻结”本身,但是这不能解决没有主目录的主目录问题目录,无论如何,用户都被搞砸了。

即使NFS服务器恢复了,除非您对其采取任何措施,否则冻结问题仍然存在-您必须在挂载计算机上终止该进程,然后重新挂载。原因是当NFS服务器重新启动时,它分配了一个不同的fsid-因此,您至少可以通过在NFS服务器上硬编码fsids来解决此问题,例如例...

_#. Home Directories
/usr/users \
  192.168.16.0/22(rw,sync,no_root_squash,fsid=1) \
  192.168.80.0/22(rw,sync,no_root_squash,fsid=1)

#. Scratch Space
/var/ftp/scratch \
  192.168.16.0/22(rw,async,no_root_squash,fsid=3) \
  192.168.80.0/22(rw,async,no_root_squash,fsid=3) \
  172.28.24.151(rw,async,root_squash,fsid=3)
_

exports(5)手册页状态...

_fsid=num
          This option forces the filesystem identification portion of the file handle
          and  file attributes used on the wire to be num instead of a number derived
          from the major and minor number of the block device on which the filesystem
          is  mounted.   Any 32 bit number can be used, but it must be unique amongst
          all the exported filesystems.

          This can be useful for NFS failover, to ensure that  both  servers  of  the
          failover  pair use the same NFS file handles for the shared filesystem thus
          avoiding stale file handles after failover.
_

...虽然这表明只要主要/次要数字保持不变(通常不发生变化,除了当您导出SAN /多路径卷时,可能会改变),我发现我们已经完全消除了问题-即,如果NFS服务器恢复了-连接已迅速恢复-我仍然真的不知道为什么这对于诸如_/dev/sdaX_这样的设备产生了影响。

我现在应该指出,我的论点很大程度上是轶事-它为什么解决了这个问题实际上并没有意义,但是它似乎“似乎”已经解决了-某种程度上-我在这里可能还有其他变量在起作用尚未发现。 =)

4
Xerxes

我工作过的很多地方都使用NFS挂载的主目录。通常,性能不会有很大的差异(信息亭用户的需求可能比知道如何掌握本地IT人才的开发人员要少一些)。我看到的一个问题是,当我登录到Gnome桌面并且NFS服务器由于任何原因而消失时会发生什么。事情变得毫无反应。

3
kbyrd

实际上,如果有一个100兆位或更高的交换网络,则NFS在主目录上的性能很好。对于10-20个以上的自助服务亭,服务器应具有千兆位连接能力。您不会赢得性能竞赛,但是Firefox和Open Office之类的东西可以正常运行。

在登录延迟方面(在最大12MB/s的100mbit网络上。在100MB主目录接近10秒的情况下),登录主目录中的复制将是一个主要的痛苦。Rsync将影响您同步Web浏览器缓存... 10分钟和500个文件受伤。

2

我使用NFSed家,并且工作正常。但您必须确保网络速度足够快,并且永远不会宕机。

2
cd1

看看 cachefilesd 。我自己没有使用过,但是看起来很有希望。

Cachefilesd守护程序管理诸如AFS和NFS之类的网络文件系统用来对本地磁盘进行持久缓存的缓存文件和目录。

另外,请不要忘记调整rsize和wsize参数,并在可能的情况下使用巨型帧。

1
Cristian Ciupitu