Articles of nfs

使用同步选项挂载NFS,但没有noac选项

当我使用sync选项进行挂载时: sudo mount -o vers=4,soft,sync,sec=none -t nfs 192.168.1.198:/js.js /mnt/self 同步选项似乎没有得到应用: $ cat /proc/mounts | grep nfs 192.168.1.198:/js.js /mnt/self nfs4 rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,soft,proto=tcp,port=0,timeo=600,retrans=2,sec=null,clientaddr=192.168.1.198,local_lock=none,addr=192.168.1.198 0 0 但是,如果我使用noac选项,这意味着sync : sudo mount -o vers=4,soft,noac,sec=none -t nfs 192.168.1.198:/js.js /mnt/self 那么我确实看到它被应用: $ cat /proc/mounts | grep nfs 192.168.1.198:/js.js /mnt/self nfs4 rw,sync,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,acregmin=0,acregmax=0,acdirmin=0,acdirmax=0,soft,noac,proto=tcp,port=0,timeo=600,retrans=2,sec=null,clientaddr=192.168.1.198,local_lock=none,addr=192.168.1.198 0 0 另外,如果我装入服务器的根目录而不是一个子目录: sudo mount -o vers=4,sync,sec=none -t nfs 192.168.1.198:/ /mnt/self 那么我也看到正在应用的同步选项: […]

rsync chgrp在NFS上失败

我正在尝试在两台服务器上设置NFS来共享文件。 相关文件的所有者在NFS服务器和每个NFS客户端上具有相同的UID和GID。 NFS服务器在Ubuntu 14.04上运行,客户端都是12.04。 NFS共享位于ZFS池中。 我正在使用NFSv4和/ etc / export /mnt/share client1(rw,sync,no_root_squash,no_subtree_check,nohide) /mnt/share client2(rw,sync,no_root_squash,no_subtree_check,nohide) 当从本地文件运行rsync到networking共享时,出现以下错误: sudo rsync -av /home/ubuntu/data/ /nfs_test/data/ sending incremental file list rsync: chgrp "/nfs_test/data/file" failed: Invalid argument (22) 其中一些文件将成功完成,而其他文件将有相同的chgrop错误。 这是每个文件的统计。 在服务器上: root@nfs_server:~# stat /mnt/share/data/file File: '/mnt/share/data/file' Size: 9095168 Blocks: 17919 IO Block: 131072 regular file Device: 1ch/28d Inode: 1827 Links: 1 Access: (0700/-rwx——) […]

在NFS导出上执行“cp -al”的性能较差

我正在实施WD My Book Live Duo的备份过程。 该设备configuration有软件RAID0。 备份源目录是设备的根目录,目标是同一文件系统内的一个目录(适当注意避免备份文件本身的recursion复制)。 备份文件有一层encryption(源文件是明文),需要比NAS能够提供更多的计算能力。 因此,在同一networking中的服务器上执行耗费CPU的操作。 NAS正在通过NFS导出两个目录。 一个是只读的,包含整个文件系统(它是备份源),另一个是读写(它是备份根目录)。 configuration细节在post结尾处陈述。 备份服务器使用encfs作为encryption层,使用encfs rsnapshot执行备份。 问题是:备份的第一步是将上一个备份目录的cp -al到一个新的目录中,需要大约两个小时才能完成。 到目前为止,我已经在NFS服务器端执行了以下testing: 如果直接在NAS中执行,则相同的cp -al操作需要五分钟 dd /dev/zero ~/test.tmp显示的吞吐量非常接近100 MiB / s top显示CPU消耗低。 然而, 平均负荷很高(〜4) iperf传输速率为1000 Mpbs,因此networking链路正在以预期的满容量运行 vmstat 1显示非常高的wa (等待IO)值(〜80-90%) 设置MTU为9000(用ping -M do mybackuptestingping -M do mybackup )似乎没有任何影响 用async导出似乎没有任何效果 以下testing已经在NFS客户端进行了: dd /dev/zero /e/test.tmp (已encryption)显示与dd /dev/zero /b (未encryption)相同的吞吐量。 所以encryption层似乎不成问题。 传输速率是〜30 MiB / s,这是相当低的,艰难的。 […]

适用于多个EC2服务器的Amazon Linux AMI for NFS

所以我一直在试图创build一个像系统一样的Dropbox来允许多个EC2实例使用相同的文件。 我正在编写实际上自己修改文件的程序,而且我并不担心并发修改错误的问题,因为我已经devise了解决scheme。 现在,我能find的最接近的办法就是使用NFS,这看起来像是来自天堂的一线阳光。 (而且它也没有看起来那么复杂!)现在,我几乎把它全部设置好了,然后我头撞到了一堵砖墙上。 我一直在以下教程: http : //hunterford.me/amazon-ec2-and-nfs/ 我做的唯一不同的是取代这条线: /var/www/test ec2-180-71-131-129.compute-1.amazonaws.com(rw,async) 用这一行: /home/ec2-user/Players *(rw,async) 我改变了第一部分,因为那是我想要放置我想要分享的文件的地方。 第二部分我改变了,因为我不知道我应该放在那里,他说我可以放一个通配符。 (我知道你们现在都在c,,我也是)我没有得到一个错误,所以我去了。 其他一切顺利,我确实设立了所有开放的港口的安全组织。 当我去我的另一台机器上安装文件时: mount -t nfs {MY_FIRST_MACHINES_DNS_HERE}:/home/ec2-user/Players /home-ec2-user/Players 现在,先坐在那里一会儿,然后眨眼间。 最终超时。 有没有人看到我做错了什么? 坦率地说,这可能是任何事情,因为我不知道我在做什么,当谈到NFS。 我一直在t1.micro实例上使用标准(Free Tier)Amazon Linux AMI,以及16GB的通用SSD存储。

设置多主机SAN

我正在寻找关于在我们的SAN上设置多主机I / O访问的build议: 我有一个包含Equallogic PS-M4110存储刀片的刀片机箱(PowerEdge1000e),其中一个RAID6卷目前格式为ext4。 这通过iSCSI连接到其他刀片(所有运行的Ubuntu服务器14.04)之一,并安装在那里作为一个标准的驱动器。 现在,我正尝试将机箱中的另一个刀片以允许多主机I / O的方式连接到SAN。 最好尽量避免使用NFS的明显解决scheme,因为我们使用的一些稍微有些可编码的工具在进行NFS的高I / O时有一个崩溃和烧毁的习惯。 这是特别有问题的,因为这些工具需要数周的时间才能运行,而且没有太多的机会检查点(你猜这是一个学术环境了吗?)。 然而,一切都与当前的iSCSI设置很好地发挥。 所以我倾向于一个集群感知或分布式文件系统+ iSCSI作为最好的select,但我担心裂脑问题等,因为我们只有一个节点。 1)上面的任何一个都是远程理智的吗? 2)你有什么build议使用哪个fs(最好是FOSS和linux兼容)?

避免使用Kerberized NFSv4的客户端密钥表

我想设置一个Kerberized NFSv4服务器,这样客户端不需要一个keytab来挂载一个卷(但是这样用户就像往常一样根据他们的Kerberos票据获得他们的权限)。 可能吗? 更确切地说:我的理解是,在Kerberized NFsv4的“常规”设置中,我们有三种校长。 一个用于服务器,名为nfs/[email protected] 。 每个客户端一个,名为host/[email protected] 。 每个用户名为[email protected] 。 使用客户端票据,可以挂载卷,但是无法访问任何文件,因为权限是在用户级别进行控制的。 一旦用户获得了用户票据,他们实际上可以访问这些文件,受到授予该主体的特权的支配。 它是否正确? 我想删除客户票据,基本上说,每台电脑都可以挂载音量(但当然还要有一个有效的用户票据才能访问文件)。 这可能吗? 我想这样做,因为在我的环境中有很多客户,他们经常变化。 我不想关心给所有人一个校长和一个keytab,而且必须跟踪事情。 作为一个中间人(在我的情况下只能部分满足),可以接受的是,客户仍然需要一张票,但是有一个通配符主体可以分发给所有的客户。 像host/*@EXAMPLE.COM 。 这可能吗? (据我所知,一般来说,Kerberized服务通过反向DNS查询查询客户主体与其FQDN名称相匹配;但在我的情况下,我的客户甚至可能没有反向DNSlogging)。

LDAP用户的NFS文件被映射到nogroup(用户ID映射正确)

在我的办公室环境中,我使用LDAP&NFSv4服务器hostS设置了多个使用LDAPauthentication的Ubuntu机器。 LDAP / NFS服务器hostS导出系统中所有用户的/home目录。 我使用ldap用户hostClogin的客户机hostC正确映射我的UID,但不是我的GID。 我通过在机器hostC上的/tmp/创build一个文件来testing它,并使用正确的GID创build它。 换一种说法: sonny@hostC:~ $ ls -li .bashrc 4875596 -rw-r–r– 1 sonny nogroup 5884 Mar 26 10:52 .bashrc sonny@hostC:~ $ 但: sonny@hostC:~ $ cd /tmp/ sonny@hostC:/tmp $ touch something sonny@hostC:/tmp $ ls -li something 6162694 -rw-r–r– 1 sonny users 0 Sep 6 09:16 something sonny@hostC:/tmp $ 我正在使用NFSv4,并configuration/etc/idmap.conf像这样: [General] Verbosity = 0 […]

尝试sVmotion迁移时,NFS数据存储断开连接

我有一台EMC VNXe 3100,我已经testing了iSCSI和NFS连接到我的主机,而NFS看起来是两者中最好的。 所以我设置了它,并在我testing与1虚拟机一切似乎工作正常。 现在我正在尝试将其投入生产,并且在将2个虚拟机迁移到该单元之后,它已停止工作。 现在,当我尝试将任何其他VM迁移到VNXe 3100时,数据存储会与执行迁移的ESXi 5.5主机断开连接。 它会重新连接,当我取消迁移(挂在23%),我让它超时。 我在主机上安装了EMC VAAI NAS插件,而VNXe 3100 NFS数据存储则报告硬件加速正在运行。 在我的故障排除中,我还将每个主机上的NFS队列深度更改为64。 有任何想法吗?

我可以使用NFSv4使用基于用户的Kerberosauthentication吗?

是否可以设置NFSv4 + Kerberos来执行基于用户的身份validation? 据我所知,你需要在Kerberos服务器上为客户端机器创build一个主体(即它仍然是基于主机的),这需要pipe理员访问KDC。 在我的情况下,我有一个工作的Kerberos环境,我只能获得用户的票据,并且没有pipe理员权限。 所以这个问题非常多 – 我能不能让NFSv4使用Kerberos身份validation? 我的NFSv4服务器和客户端运行CentOS 5,我不知道Kerberos端是什么。 我的问题可能不清楚,我还是个新手。

NFS可以取消链接并在比赛条件中重新创build结果?

我看到奇怪的行为,我想知道这是否是一个竞争条件。 奇怪的行为是MySQL试图创build一个临时文件时得到EEXIST 。 MySQL默认重用临时文件名,并且因为它从名称池中按顺序select名称,所以如果名称#sql_<pid>_0.<ext>总是被选中,如果它尚未被使用(最后0表示名称在池中的位置)。 我知道NFS模拟取消链接,因为要求在打开的文件上保留块。 当您取消NFS卷上的文件链接时,客户端将重命名该文件,然后当客户端上的进程closures时,最后执行取消链接。 但是如果我断开文件链接,然后第二个线程试图在解除链接之后毫秒内重新创build一个具有相同名称的文件呢? 是否有可能重命名是asynchronous的,可能会被延迟到第二个线程得到一个EEXIST错误,即使我的线程认为它已经完成了它的unlink()调用成功?