我正在阅读有关 ZFS 的 L2ARC 的信息。我目前有两个池,一个用于数据,另一个用于 Linux 容器和虚拟机。我需要一些有关 L2ARC 的帮助,我知道如何添加它,但不知道它是否会对我有益。
我正在运行带有 6-8 个 LXC 容器的 Ubuntu 16.04,有时在 headless-virtualbox 中还有一个或两个虚拟机,我想知道添加 L2ARC 是否有助于提高我的虚拟机和 LXC 容器的性能。
当前设置
pool: black
state: ONLINE
scan: scrub repaired 0 in 3h57m with 0 errors on Mon Jul 11 04:12:35 2016
config:
NAME STATE READ WRITE CKSUM
black ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ata-WDC_WD10JFCX-68N6GN0_WD-WX91A65P0T3Z ONLINE 0 0 0
ata-WDC_WD10JFCX-68N6GN0_WD-WXA1EA4CSNJF ONLINE 0 0 0
errors: No known data errors
pool: raid
state: ONLINE
scan: scrub repaired 0 in 26h32m with 0 errors on Tue Jul 12 04:04:11 2016
config:
NAME STATE READ WRITE CKSUM
raid ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N6LTTK5S ONLINE 0 0 0
ata-WDC_WD30EFRX-68EUZN0_WD-WCC4NJTT02XC ONLINE 0 0 0
ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N6LLTRUY ONLINE 0 0 0
raidz1-1 ONLINE 0 0 0
ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N0UHPYUR ONLINE 0 0 0
ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N2ET6YU3 ONLINE 0 0 0
ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N6TZJ7ZF ONLINE 0 0 0
errors: No known data errors
如您所见,我的所有驱动器都是 WD Reds。我会将 L2ARC 添加到 Pool black,这是我的 LXC 和虚拟机存储。我刚刚对池进行了写入测试,20GB 文件(视频文件)的写入速度为 70-80MBPS,读取速度为 80-90MBPS。我会将 120GB 或 240GB 的 ssd 作为 L2ARC 添加到其中。
这对我的工作池性能有帮助吗?
Linux 容器;Emby 媒体服务器、Apache、Web Dev Apache、Gitlab、Torrent、OpenWrt Dev、VPN 服务器、Mysql
虚拟机;Windows 主要用于测试,奇怪的 Linux 服务器/桌面也用于测试。
规格 AMD Phenom™ II X6 1090T 32GB DDR3 内存
答案1
您的池black
当前由两个镜像 WD10JFCX 驱动器组成,根据西部数据的规格表是:
- 5400 转/分(旋转延迟约 5 毫秒一般,最坏情况为 11 毫秒)
- 16 MB 缓存
- 1 TB
- 2.5 英寸外形尺寸
- SATA 6 Gb/秒 (SATA 3)
5400 rpm 的转速和微不足道的 16 MB 驱动器缓存都不利于实现最高性能,而按照当今 SATA 驱动器的标准,1 TB 相当小。理论上,5400 rpm 可为盘片提供大约 90 IOPS,假设盘片平均距离数据半圈,其 11 ms 的旋转时间会为您带来平均大约 5 ms 的旋转延迟。
与此相比,你可以获得英特尔540S 系列这款产品在亚马逊 (美国) 的售价约为每台 308 美元,英特尔给出的规格如下:
- 随机读取高达 78,000 IOPS,随机写入高达 85,000 IOPS(延迟 50 µs)
- 连续读取速度高达 560 MB/s,连续写入速度高达 480 MB/s
- 1 TB
- 2.5 英寸外形尺寸
- SATA 6 Gb/秒 (SATA 3)
即使我们表现良好,你也会看到延迟减少 1000 倍,增加IOPS 约为 600 美元左右。从性能与美元的比率来看,我确信不通过将 L2ARC 添加到您的池中来解决这个问题,这是一个替换掉落。如果您资金紧张,您甚至可以一次用相应的 SSD 替换一个驱动器,并且仍然可以立即开始获得收益。
用 SSD 替换那些 5400 rpm 磁盘对您的black
池性能的影响比您实际投入的任何 L2ARC 都要大,几乎无论您的工作量如何。此外,虽然英特尔 540S 系列可能会也可能不会非常适合你的要求(另请参见此处),即使是如此便宜的 SSD 也几乎肯定会提供比仅仅添加 L2ARC 更好的投资回报。如果你想要更高规格的产品,那就看看英特尔吧,DC S3500 1.2 TB 固态硬盘每件售价约 900 美元,DC S3710 1.2 TB 固态硬盘每台售价约 1,000 美元,两台设备性能相似,但随着时间的推移,其使用效果可能会更好。
并不以明示或暗示的方式认可所提及的任何具体产品或经销商。
答案2
一般建议是最大化您的系统 RAM(ARC),然后在有需要时添加 L2ARC。
arcstat
这可以使用服务器中的命令来测量。
就像是:
arcstat.py -f "time,read,hit%,hits,miss%,miss,arcsz,c" 1
输出显示每秒读取的次数、命中率、命中/未命中的次数以及当前和目标 ARC 大小:
time read hit% hits miss% miss arcsz c
15:15:21 1.5K 99 1.5K 0 2 55G 55G
15:15:22 221K 99 220K 0 584 55G 55G
15:15:23 245K 99 245K 0 544 55G 55G
15:15:24 262K 99 262K 0 551 55G 55G
15:15:25 321K 99 321K 0 489 55G 55G
15:15:26 262K 99 261K 0 479 55G 55G
15:15:27 203K 99 203K 0 585 55G 55G
15:15:28 207K 97 202K 2 5.3K 55G 55G