我正在使用基于 Illumos 的 OmniOS。
我有一个包含两个镜像 SSD 的 ZFS 池;池,称为data
报告其%b
为 100;下边是iostat -xn
:
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
0.0 8.0 0.0 61.5 8.7 4.5 1092.6 556.8 39 100 data
不幸的是,实际上并没有太多的吞吐量;每秒iotop
报告字节数。23552
我也跑了iostat -E
,它报告了很多Transport Errors
;我们改变了港口,他们就走了。
我认为驱动器可能有问题; SMART 报告没有问题;我跑过多次smartctl -t short
并且smartctl -t long
;没有报告任何问题。
我跑了一下fmadm faulty
,它报告了以下内容:
--------------- ------------------------------------ -------------- ---------
TIME EVENT-ID MSG-ID SEVERITY
--------------- ------------------------------------ -------------- ---------
Jun 01 18:34:01 5fdf0c4c-5627-ccaa-d41e-fc5b2d282ab2 ZFS-8000-D3 Major
Host : sys1
Platform : xxxx-xxxx Chassis_id : xxxxxxx
Product_sn :
Fault class : fault.fs.zfs.device
Affects : zfs://pool=data/vdev=cad34c3e3be42919
faulted but still in service
Problem in : zfs://pool=data/vdev=cad34c3e3be42919
faulted but still in service
Description : A ZFS device failed. Refer to http://illumos.org/msg/ZFS-8000-D3
for more information.
Response : No automated response will occur.
Impact : Fault tolerance of the pool may be compromised.
Action : Run 'zpool status -x' and replace the bad device.
就像它表明我跑了zpool status -x
并且它报告了一样all pools are healthy
。
我运行了一些 DTrace,发现所有 IO 活动都来自<none>
(对于文件);这是元数据;所以实际上没有任何文件 IO 发生。
当我运行时,kstat -p zone_vfs
它报告以下内容:
zone_vfs:0:global:100ms_ops 21412
zone_vfs:0:global:10ms_ops 95554
zone_vfs:0:global:10s_ops 1639
zone_vfs:0:global:1s_ops 20752
zone_vfs:0:global:class zone_vfs
zone_vfs:0:global:crtime 0
zone_vfs:0:global:delay_cnt 0
zone_vfs:0:global:delay_time 0
zone_vfs:0:global:nread 69700628762
zone_vfs:0:global:nwritten 42450222087
zone_vfs:0:global:reads 14837387
zone_vfs:0:global:rlentime 229340224122
zone_vfs:0:global:rtime 202749379182
zone_vfs:0:global:snaptime 168018.106250637
zone_vfs:0:global:wlentime 153502283827640
zone_vfs:0:global:writes 2599025
zone_vfs:0:global:wtime 113171882481275
zone_vfs:0:global:zonename global
数量之高1s_ops
,10s_ops
令人非常担忧。
我认为是控制器的问题,但我不太确定;有人知道吗?或者我可以在哪里获取更多信息?
答案1
该data
池是一个lofi
加密的 ZFS 容器;这就是问题。
我可以确认这是 lofi 的“虚拟”控制器的性能问题,原因如下:
- lofi + zfs + 加密吞吐量约为10-25MB/s
- lofi + zfs + 无加密吞吐量约为30MB/s
- 没有普通旧式 ZFS 的 Lofi 吞吐量约为 250MB/s
- 控制器
data
报告利用率为 100%,而实际控制器几乎没有。 - 在具有相同设置的多台机器上进行测试,结果基本相同。
这里的问题是lofi
;而不是磁盘控制器。