Articles of nfs

中央“/ home”使用SSHFS?

在Linux工作站上设置中央“/ home”目录的标准方法是使用NFS。 问题是我不喜欢在NFS中缺乏真正的安全性。 所以我想尝试使用SSHFS。 SSHFS in-and-of本身工作正常,问题是在启动时挂载它。 如果我为SSHFS共享添加一行“/ etc / fstab”,工作站会抱怨它无法联系到SSH服务器。 这是真的,因为“/ etc / fstab”行是在networking实际上运行之前执行的! 现在我正在使用下面的init脚本来挂载“/ home”: #!/bin/sh # Mounts "/home" over SSHFS at boot start () { while true; do ping -c 1 "10.0.0.200" 1> /dev/null if [ "$?" = 0 ]; then break fi sleep 1 done sshfs [email protected]:/home/ /home/ -o transform_symlinks,allow_other,nonempty,hard_remove } case […]

NFScaching适合caching大文件(200kb到50mb?)

我有一个服务器上的1TB磁盘,其他4个服务器通过NFS频繁访问通过HTTP分发文件。 我看到中央服务器的负载很高,并且希望将这些文件caching在本地服务器上,因为它们很less发生变化。 NFScaching是否合适,还是应该看别的东西? 谢谢

NFS服务器正在导出错误的目录

承认是有点尴尬,但我有问题让我的NFS服务器导出正确的目录。 我正在客户端和服务器上使用最新的CentOS 6.2。 服务器启动并运行,防火墙在testing过程中被禁用。 在服务器端,我创build了这个/etc/exports : /home/user1/documents/ *(ro,sync) 这个目录是一个软件RAID的卷的根。 输出如下: /dev/mapper/lvm–raid-lvol0 on /home/user1/documents type ext4 (rw,nosuid,nodev) 服务器上的命令showmount -e显示正确的输出: Export list for servername: /home/user1/documents (everyone) 我尝试从客户端挂载该共享并获得以下输出: mount.nfs: access denied by server while mounting servername:/home/user1/documents 然而,当我在文件/proc/fs/nfsd/exports查看服务器后,我看到多个挂载点,但不是正确的 # Version 1.2 # Path Client(Flags) # IPs / *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,fsid=0,uuid=696f3ea6:3d7641f3:b6315631:bd63c833) /home *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,uuid=696f3ea6:3d7641f3:b6315631:bd63c833) /home/user1 *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,uuid=696f3ea6:3d7641f3:b6315631:bd63c833) 这些条目来自哪里,为什么没有以/home/user1/documents ? 我尝试挂载/home/user1而不是/home/user1/documents从客户端,这奇怪的作品。 用户的UID在服务器和客户端上是相同的。 难道这是一个问题,要导出的目录本身被挂载? 编辑 文件/var/lib/nfs/xtab是空的。

如何重新排列文件树,然后通过NFS导出?

我有一个备份服务器,将增量备份存储在树中,如下所示: /backups hourly.0 server 1 server 2 hourly.1 server 1 server 2 hourly.2 server 1 server 2 daily.0 server 1 server 2 etc… 不用改变实际的备份源树,我想创build一个重新组织的树,看起来像这样: /share server1/1 Hour Ago -> /backups/hourly.0/server1 server1/2 Hours Ago -> /backups/hourly.1/server1 server2/1 Hour Ago -> /backups/hourly.0/server2 server2/2 Hours Ago -> /backups/hourly.1/server2 … …然后将此树导出为单个 NFS安装。 NFS客户端应该看到: /backups server 1 1 Hour Ago […]

NFSv3是否尊重ZFS ACL?

NFSv3当然不支持ZFS ACL,但如果我有以下设置,会发生什么情况? +—————————————–+ +————-+ | FreeBSD ZFS serv1 | NFSv3 | Linux serv2 | | user1: read/write to /zfs/project1 | <——— | user1 | | user2: deny read/write to /zfs/project1 | | user2 | +—————————————–+ +————-+ 已经通过NFSv3在serv1和serv2上安装了ZFS ACL。 题 我假设uers1将能够读/写,因为这是NFSv3世界通常所做的事情。 但是user2会被拒绝吗?

ZFS,NFS和基于用户的配额

我正在使用NFSv3的ZFS存储(FreeNAS 9.1)。 NFS安装在Debian机器上,在那里创build了linux用户(它们不在FreeNAS上)。 我如何启用标准的基于Linux用户的配额? 我想在Debian上获得/设置配额,FreeNAS应该进行会计核算。 这甚至有可能吗? NFSv4会为此提供帮助吗? 如果是的话,我怎么能在FreeNAS上没有相同的Linux用户的情况下挂载一个NFSv4共享。 谢谢

在首次login时创build用户chroot

我使用ldap进行远程用户身份validation,我基本上需要弄清楚如何: 一个。 从机器a通过nfs chroot机器b上的用户(如果没有安装更多的目录,似乎不可能) 要么 – – – – 湾 将用户添加到计算机a上的ldap数据库之后,强制脚本在用户login期间在计算机b上执行,这将在用户首次login时自动根据用户chroot进行操作。 我想我的第二个select可能是最好的select,并且正在考虑使用pam_exec.so来调用脚本。 但是,我对这种方法有一些担忧。 首先,我不确定将要运行的脚本是否具有执行chroot所需的root权限。 其次,我不确定pam_exec是否在login过程中足够早地成为一个有效的选项。 最后,我需要确保代码在pam.d / ssh和pam.d / su中都起作用,认为这是一个有效的解决scheme。 我的担心是否有效?看起来这是一个很好的解决scheme吗? 还是有更好的方法来解决这个问题。

一个客户端上有多个相同的NFS共享?

我将webspace内容移至NFSv3共享。 由于suexec限制,我有不同的path到客户端上不同的内容子集。 我想知道是否我仍然可以在一个导出的nfs共享上的一个path中拥有所有的内容。 例: 我需要 /home/content/foo 和 /var/www/content/bar 出口份额“/出口”可能有 /export/foo /export/bar AFAICS有三个选项: 在nfs客户端的不同path上安装/导出两次 安装/导出一次,并进行绑定安装 将foo和bar放在不同的目录中,并分别导出/安装它们 你会推荐哪些选项?

NFS客户机密钥表:多台机器

应该如何设置每个客户端机器的客户端密钥表文件来访问networking服务? 我的工作示例是NFSv4,它要求每个客户机在客户机(以及NFS服务器主机)上本地有一个Kerberos密钥表。 所有需要访问NFS主机的客户端机器之间共享同一个密钥(通常用于NFS目的)可能会产生什么坏处? 如果从#1的结果来看,我们确实需要在每个客户端的不同密钥表中使用一个单独的密钥,那么为每个客户端自动创build密钥表的方式是一种有效的(更重要的)安全方法几千台机器? 我不想在每个盒子上生成和导出密钥!

ZFS over NFS并发写入问题

我运行一个Proxmox集群,在这个集群上,我有一些专用networking上的虚拟机,一个(Proxmoxpipe理的)CEPH存储后端用于VM磁盘。 运行“Ubuntu 16.04 server minimal vm”的一台(KVM)VMconfiguration了第二个“硬盘”,设置为一个磁盘ZFS池“存储”,使用 zpool create storage /dev/sdb1 它被自动挂载到/存储。 这个虚拟机也运行nfs-kernel-server。 然后通过/ etc / exports中的以下行通过nfs导出该目录: /storage 10.10.0.0/16(rw,sync) 我从另外两台机器(一台运行Ubuntu 14.04的虚拟机,一台运行Ubuntu 16.04服务器的物理机器)挂载这个导出 mount -t nfs4 10.10.3.1:/storage /mnt 由于这是testing存储设置的操作环境,因为这两个Web服务器托pipe一个写入Berkeley DB文件的旧Perl应用程序,所以我决定使用一个简单的PHP脚本以简单的方式testing我的共享存储后端并发写入: <?php $line = str_repeat($argv[1], 30) . "\n"; for ($i = 1; $i <= 10000; $i++) { $of = fopen("test.txt", "a") or DIE("can't open output file\n"); fwrite($of, sprintf("%04d-", […]