如何对基于 Illumos 的系统上的磁盘控制器进行故障排除?

如何对基于 Illumos 的系统上的磁盘控制器进行故障排除?

我正在使用基于 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_ops10s_ops令人非常担忧。

我认为是控制器的问题,但我不太确定;有人知道吗?或者我可以在哪里获取更多信息?

答案1

data池是一个lofi加密的 ZFS 容器;这就是问题。

我可以确认这是 lofi 的“虚拟”控制器的性能问题,原因如下:

  • lofi + zfs + 加密吞吐量约为10-25MB/s
  • lofi + zfs + 无加密吞吐量约为30MB/s
  • 没有普通旧式 ZFS 的 Lofi 吞吐量约为 250MB/s
  • 控制器data报告利用率为 100%,而实际控制器几乎没有。
  • 在具有相同设置的多台机器上进行测试,结果基本相同。

这里的问题是lofi;而不是磁盘控制器。

相关内容