Como solucionar problemas do controlador de disco em sistemas baseados no Illumos?

2

Estou usando o OmniOS, que é baseado no Illumos.

Eu tenho um pool ZFS de dois SSDs que são espelhados; o pool, conhecido como data está reportando seu %b como 100; abaixo está 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

Infelizmente, não há muito processamento em andamento; iotop informa sobre 23552 bytes por segundo.

Eu também executei iostat -E e ele relatou um pouco de Transport Errors ; nós mudamos o porto e eles foram embora.

Eu percebi que pode haver um problema com as unidades; SMART não reporta nenhum problema; Eu executei vários smartctl -t short e smartctl -t long ; sem problemas relatados.

Eu corri fmadm faulty e ele relatou o seguinte:

--------------- ------------------------------------  -------------- ---------
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.

Como sugere, eu corri zpool status -x e relata all pools are healthy .

Eu executei alguns DTraces e descobri que toda a atividade de IO é de <none> (para o arquivo); que é metadados; então, na verdade, não há arquivos IO em andamento.

Quando executo kstat -p zone_vfs , ele informa o seguinte:

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

A grande quantidade de 1s_ops e 10s_ops é muito preocupante.

Estou pensando que é o controlador, mas não tenho certeza; Alguém tem alguma ideia? Ou onde posso obter mais informações?

    
por user1529891 03.06.2015 / 21:29

1 resposta

1

O data pool é um contêiner ZFS lofi criptografado; esse é o problema.

Posso confirmar que é um problema de desempenho com o controlador "virtual" do lofi devido ao seguinte:

  • lofi + zfs + encryption tem uma taxa de transferência de cerca de 10-25MB / s
  • lofi + zfs + sem criptografia tem uma taxa de transferência de cerca de 30MB / s
  • Nenhum lofi com o antigo ZFS tem uma taxa de transferência de cerca de 250MB / s
  • O controlador data relata 100% de utilização, enquanto o controlador real não possui praticamente nenhum.
  • Testado em várias máquinas com a mesma configuração e os resultados foram praticamente idênticos.

O problema aqui é lofi ; e não o controlador de disco.

    
por 03.06.2015 / 23:54