当我从客户端(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@
- UUID=575701cc-53b1-450c-9981-e1adeaa283f0 / ext4 errors=remount-ro,discard,noatime,user_xattr 0 1
- UUID=16e505ad-ab7d-4c92-b414-c6a90078c400 none swap sw 0 0
- /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
- tmpfs /tmp tmpfs mode=1777 0 0
- igor:/pool2/other /other nfs soft,bg,nfsvers=4,intr,rsize=65536,wsize=65536,timeo=50,nolock
- igor:/pool2/Media /Media nfs soft,nolock,noac
- igor:/pool2/home /nfshome nfs soft,nolock
服务器(igor)上的/ etc / exports:@H_502_3@
- #LAN
- /pool2/home 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
- /pool2/other 192.168.1.0/24(rw,no_root_squash)
- /pool2/Media 192.168.1.0/24(rw,async,no_root_squash)
- /test 192.168.1.0/24(rw,no_root_squash)
- #OpenVPN
- /pool2/home 10.0.1.0/24(rw,no_root_squash)
- /pool2/other 10.0.1.0/24(rw,no_root_squash)
- /pool2/Media 10.0.1.0/24(rw,no_root_squash)
zpool状态:@H_502_3@
- pool: pool2
- state: ONLINE
- scan: scrub repaired 0 in 6h10m with 0 errors on Sat Oct 3 08:10:26 2015
- config:
- NAME STATE READ WRITE CKSUM
- pool2 ONLINE 0 0 0
- mirror-0 ONLINE 0 0 0
- ata-WDC_WD20EFRX-68AX9N0_WD-WMC300004469 ONLINE 0 0 0
- ata-WDC_WD20EFRX-68EUZN0_WD-WCC4MLK57MVX ONLINE 0 0 0
- mirror-1 ONLINE 0 0 0
- ata-WDC_WD20EFRX-68AX9N0_WD-WCC1T0429536 ONLINE 0 0 0
- ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M0VYKFCE ONLINE 0 0 0
- logs
- ata-KINGSTON_SV300S37A120G_50026B7751153A9F-part1 ONLINE 0 0 0
- cache
- ata-KINGSTON_SV300S37A120G_50026B7751153A9F-part2 ONLINE 0 0 0
- errors: No known data errors
- pool: pool3
- state: ONLINE
- scan: scrub repaired 0 in 3h13m with 0 errors on Sat Oct 3 05:13:33 2015
- config:
- NAME STATE READ WRITE CKSUM
- pool3 ONLINE 0 0 0
- ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E5PSCNYV ONLINE 0 0 0
- errors: No known data errors
/ pool2 bonnie在服务器上:@H_502_3@
- Version 1.97 ------Sequential Output------ --Sequential Input- --Random-
- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
- 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@
- [ ID] Interval Transfer Bandwidth Retr
- [ 4] 0.00-10.00 sec 1.10 GBytes 942 Mbits/sec 707 sender
- [ 4] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec receiver
- [ 6] 0.00-10.00 sec 1.06 GBytes 909 Mbits/sec 672 sender
- [ 6] 0.00-10.00 sec 1.06 GBytes 908 Mbits/sec receiver
- [SUM] 0.00-10.00 sec 2.15 GBytes 1.85 Gbits/sec 1379 sender
- [SUM] 0.00-10.00 sec 2.15 GBytes 1.85 Gbits/sec receiver
Bonnie与NFS结合@H_502_3@
- Version 1.97 ------Sequential Output------ --Sequential Input- --Random-
- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
- haze 16G 1442 99 192941 16 89157 15 3375 96 179716 13 6082 77
删除ssd缓存/日志,通过NFS复制,iostat显示了这一点@H_502_3@
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
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@
- 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@