Como posso detectar o tempo da última atividade do harddisk / samba ou zfs para uma ação semelhante ao ifplugd?

1

Eu construí um pequeno dispositivo semelhante ao NAS no armbian, que usa discos rígidos externos para suas finalidades de arquivo. A interface (hardware) fornece apenas um conjunto de comandos SATA reduzido e sobrepõe algumas funções APM / AAM / standby, mas eu gostaria de ter um intervalo mais longo até o estado de espera.

Eu consegui manter as unidades ativas repetidamente emitindo alguns comandos SATA, mas tenho problemas para implementar uma determinada lógica.

Gostaria de imitar o modo de espera em disco após xx minutos da última atividade.

Existe alguma maneira inteligente ou utilitário de monitoramento que me diria da última vez, quando o SMBD, o ZFS ou, idealmente, o disco rígido realizava alguma atividade de leitura / gravação?

Algo parecido com o intervalo em ifplugd ... Devo conhecer "dtrace"?

    
por Martin 30.09.2017 / 23:26

1 resposta

2

Talvez você possa simplesmente pesquisar os contadores do número de operações de leitura / gravação no dispositivo de bloco e fazer sua ação quando eles não mudarem mais. Para um dispositivo de bloco como sda , as estatísticas estão em /sys/block/sda/stat e as colunas são descritas no kernel Documentation / iostats.txt . Em particular, as colunas 1 e 5 somadas fornecem o total das operações de E / S concluídas.

    
por 02.10.2017 / 11:08