当我从客户端(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服务器规范:
Debian 8.2 core 4Ghz AMD-FX
32GB ram
ZFS raid 10,SSD cache/log
17GB ARC
4x2GB WD red drives
Intel 82574L NIC
测试客户:
Ubuntu 15.04,Core2Quad 2.4Ghz
8GB ram
SSD
Intel 82574L NIC
这就是当前设置的方式. / pool2 / Media是我一直在测试的份额.
客户端上的/ etc / fstab:
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:
#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状态:
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在服务器上:
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
粘接
我尝试了绑定和直接连接,平衡-rr绑定,我得到220MB /秒读取和117MB /秒写入,40-50MB /秒复制.
iperf与粘接
[ 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结合
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显示了这一点
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
我通过NFS导出了一个tmpfs并进行了文件复制 – 速度为108MB /秒.从服务器本地,它是410MB /秒.
zvol挂载在NFS上
速度在< 50MB /秒至> 180MB /秒,但平均约为100MB /秒.这是我正在寻找的.这个zvol与我测试的同一个池(pool2).这真的让我觉得这更像是ZFS数据集/缓存类型问题. 原始磁盘读取测试 使用此命令
dd if=/dev/disk/by-id/ata-WDC_WD20EFRX-68AX9N0_WD-WMC300004469 of=/dev/null bs=1M count=2000
所有4个磁盘我得到146-148MB /秒
池中磁盘使用缓慢,不均匀
感谢ZFS邮件列表上非常有帮助的人,我知道如何更好地使用磁盘.
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.
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.
我已修复此问题,现在所有磁盘上的数据都是水平的
这导致NFS的复制速度达到75MB /秒.而本地118MB /秒.
这个问题
我的问题.如果你能回答任何一个问题,我会接受你的回答:
>我的问题怎么解决? (通过NFS缓慢复制,但不是本地复制)
>如果您无法回答#1,您是否可以在Linux上使用ZFS的类似NFS服务器上尝试此操作并告诉我结果,以便我可以将其与之进行比较?
>如果您无法回答#1或#2,您是否可以通过NFS在类似但非ZFS服务器上尝试相同的测试?