linux – 在同一服务器上的NFS / CIFS目录之间进行缓慢复制

前端之家收集整理的这篇文章主要介绍了linux – 在同一服务器上的NFS / CIFS目录之间进行缓慢复制前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请耐心等待,我知道这很重要.这个问题可能适用于其他人,所以有一个答案会很棒.我不得不放弃赏金,因为它将会过期.

当我从客户端(Ubuntu)复制到我的NFS服务器(Debian)或从我的NFS服务器(Debian)复制时,它最大化了千兆位.但是,当我在同一台服务器上的两个目录之间进行复制时,它的速度在< 30MB /秒,最高可超过100MB /秒.大多数时候它大约是50MB /秒. 直接在NFS服务器(本地磁盘)上执行的相同副本我得到100-150 MB /秒,有时更多.此NFS导出与从同一服务器上的同一目录导出的CIFS共享之间的文件副本速度很慢,并且同一服务器上通过CIFS的两个目录之间的副本速度很慢. iperf显示客户端和服务器之间的双向速度为941Mb / 940Mb. 我确保NFS在服务器上使用异步.我还禁用了ZFS数据集上的同步,并尝试删除ZFS缓存和日志设备. 我已经在一个非常快速的4x2TB磁盘ZFS条带镜像上进行了测试,其中包含用于日志和缓存设备的SSD. NFS服务器规范: @H_502_3@

Debian 8.2 core 4Ghz AMD-FX
32GB ram
ZFS raid 10,SSD cache/log
17GB ARC
4x2GB WD red drives
Intel 82574L NIC@H_502_3@

测试客户:@H_502_3@

Ubuntu 15.04,Core2Quad 2.4Ghz
8GB ram
SSD
Intel 82574L NIC@H_502_3@

这就是当前设置的方式. / pool2 / Media是我一直在测试的份额.@H_502_3@

客户端上的/ etc / fstab:@H_502_3@

  1. UUID=575701cc-53b1-450c-9981-e1adeaa283f0 / ext4 errors=remount-ro,discard,noatime,user_xattr 0 1
  2. UUID=16e505ad-ab7d-4c92-b414-c6a90078c400 none swap sw 0 0
  3. /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
  4. tmpfs /tmp tmpfs mode=1777 0 0
  5.  
  6.  
  7. igor:/pool2/other /other nfs soft,bg,nfsvers=4,intr,rsize=65536,wsize=65536,timeo=50,nolock
  8. igor:/pool2/Media /Media nfs soft,nolock,noac
  9. igor:/pool2/home /nfshome nfs soft,nolock

服务器(igor)上的/ etc / exports:@H_502_3@

  1. #LAN
  2. /pool2/home 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
  3. /pool2/other 192.168.1.0/24(rw,no_root_squash)
  4. /pool2/Media 192.168.1.0/24(rw,async,no_root_squash)
  5. /test 192.168.1.0/24(rw,no_root_squash)
  6.  
  7. #OpenVPN
  8. /pool2/home 10.0.1.0/24(rw,no_root_squash)
  9. /pool2/other 10.0.1.0/24(rw,no_root_squash)
  10. /pool2/Media 10.0.1.0/24(rw,no_root_squash)

zpool状态:@H_502_3@

  1. pool: pool2
  2. state: ONLINE
  3. scan: scrub repaired 0 in 6h10m with 0 errors on Sat Oct 3 08:10:26 2015
  4. config:
  5.  
  6. NAME STATE READ WRITE CKSUM
  7. pool2 ONLINE 0 0 0
  8. mirror-0 ONLINE 0 0 0
  9. ata-WDC_WD20EFRX-68AX9N0_WD-WMC300004469 ONLINE 0 0 0
  10. ata-WDC_WD20EFRX-68EUZN0_WD-WCC4MLK57MVX ONLINE 0 0 0
  11. mirror-1 ONLINE 0 0 0
  12. ata-WDC_WD20EFRX-68AX9N0_WD-WCC1T0429536 ONLINE 0 0 0
  13. ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M0VYKFCE ONLINE 0 0 0
  14. logs
  15. ata-KINGSTON_SV300S37A120G_50026B7751153A9F-part1 ONLINE 0 0 0
  16. cache
  17. ata-KINGSTON_SV300S37A120G_50026B7751153A9F-part2 ONLINE 0 0 0
  18.  
  19. errors: No known data errors
  20.  
  21. pool: pool3
  22. state: ONLINE
  23. scan: scrub repaired 0 in 3h13m with 0 errors on Sat Oct 3 05:13:33 2015
  24. config:
  25.  
  26. NAME STATE READ WRITE CKSUM
  27. pool3 ONLINE 0 0 0
  28. ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E5PSCNYV ONLINE 0 0 0
  29.  
  30. errors: No known data errors

/ pool2 bonnie在服务器上:@H_502_3@

  1. Version 1.97 ------Sequential Output------ --Sequential Input- --Random-
  2. Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
  3. Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
  4. igor 63G 100 99 187367 44 97357 24 325 99 274882 27 367.1 27

粘接@H_502_3@

我尝试了绑定和直接连接,平衡-rr绑定,我得到220MB /秒读取和117MB /秒写入,40-50MB /秒复制.@H_502_3@

iperf与粘接@H_502_3@

  1. [ ID] Interval Transfer Bandwidth Retr
  2. [ 4] 0.00-10.00 sec 1.10 GBytes 942 Mbits/sec 707 sender
  3. [ 4] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec receiver
  4. [ 6] 0.00-10.00 sec 1.06 GBytes 909 Mbits/sec 672 sender
  5. [ 6] 0.00-10.00 sec 1.06 GBytes 908 Mbits/sec receiver
  6. [SUM] 0.00-10.00 sec 2.15 GBytes 1.85 Gbits/sec 1379 sender
  7. [SUM] 0.00-10.00 sec 2.15 GBytes 1.85 Gbits/sec receiver

Bonnie与NFS结合@H_502_3@

  1. Version 1.97 ------Sequential Output------ --Sequential Input- --Random-
  2. Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
  3. Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
  4. haze 16G 1442 99 192941 16 89157 15 3375 96 179716 13 6082 77

删除ssd缓存/日志,通过NFS复制,iostat显示了这一点@H_502_3@

  1. sdb 0.80 0.00 67.60 214.00 8561.60 23689.60 229.06 1.36 4.80 14.77 1.64 1.90 53.60
  2. sdd 0.80 0.00 54.60 214.20 7016.00 23689.60 228.46 1.37 5.14 17.41 2.01 2.15 57.76
  3. sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
  4. sde 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
  5. sda 1.60 0.00 133.00 385.20 17011.20 45104.00 239.73 2.24 4.31 12.29 1.56 1.57 81.60
  6. sdf 0.40 0.00 121.40 385.40 15387.20 45104.00 238.72 2.36 4.63 14.29 1.58 1.62 82.16
  7. sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
  8. md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
  9. sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
  10.  

TMPFS@H_502_3@

我通过NFS导出了一个tmpfs并进行了文件复制 – 速度为108MB /秒.从服务器本地,它是410MB /秒.@H_502_3@

zvol挂载在NFS上@H_502_3@

速度在< 50MB /秒至> 180MB /秒,但平均约为100MB /秒.这是我正在寻找的.这个zvol与我测试的同一个池(pool2).这真的让我觉得这更像是ZFS数据集/缓存类型问题. 原始磁盘读取测试 使用此命令 @H_502_3@

  1. dd if=/dev/disk/by-id/ata-WDC_WD20EFRX-68AX9N0_WD-WMC300004469 of=/dev/null bs=1M count=2000

所有4个磁盘我得到146-148MB /秒@H_502_3@

池中磁盘使用缓慢,不均匀@H_502_3@

感谢ZFS邮件列表上非常有帮助的人,我知道如何更好地使用磁盘.@H_502_3@

The reason for ZFS to prefer mirror-1 is that it seems to be added after mirror-0 had been filled quite a bit,now ZFS is trying to rebalance the fill level.@H_502_3@

In case you want to get rid of that and have some time:
Iteratively zfs send the datasets of the pool to new datasets on itself,then destroy the source,repeat until pool is rebalanced.@H_502_3@

我已修复此问题,现在所有磁盘上的数据都是水平的
这导致NFS的复制速度达到75MB /秒.而本地118MB /秒.@H_502_3@

这个问题@H_502_3@

我的问题.如果你能回答任何一个问题,我会接受你的回答:@H_502_3@

>我的问题怎么解决? (通过NFS缓慢复制,但不是本地复制)
>如果您无法回答#1,您是否可以在Linux上使用ZFS的类似NFS服务器上尝试此操作并告诉我结果,以便我可以将其与之进行比较?
>如果您无法回答#1或#2,您是否可以通过NFS在类似但非ZFS服务器上尝试相同的测试?@H_502_3@

解决方法

嗯……我注意到了一些问题,我想我发现了一两把烟.但是,首先我会问几个问题并对你可能的答案做出假设.我将首先介绍一些看起来无关紧要的数据,但我保证,值得一读.所以,请等一下……

猜你在找的Linux相关文章