PowerFlex: get_info logs do gateway falham quando o file system no qual o /tmp reside é criado com ftype 0
Summary: A coleta de registros de get_info dos gateways apresenta falha com erro: O arquivo de registros no nó x.x.x.x não foi encontrado executando o comando. LogCollectionCommand.
Symptoms
Getinfo A coleta de logs do gateway falha com o erro abaixo:
(scaleio.log do gateway)
[executor-4] INFO c.e.s.s.i.s.i.c.LIANodeConnection - downloadInfo called on UnknownSystemNode[nodeName=4640301440918548081,nodeIPs=[192.168.180.x, 192.168.190.x],credentials=<null>].
[executor-4] INFO c.e.s.s.i.s.i.c.LIANodeConnection - getLogFilePathByUniqueFlowId called on UnknownSystemNode[nodeName=4640301440918548081,nodeIPs=[192.168.180.x, 192.168.190.x],credentials=<null>]. uniqueFlowId: getInfoDump
[executor-4] ERROR c.e.s.s.d.i.c.LogCollectionCommand - Error The logs file in node 192.168.180.x,192.168.190.x wasnt found executing command .LogCollectionCommand (retry) : com.emc.s3g.scaleio.im.services.installation.connectors.LIANodeConnection.getLogs(LIANodeConnection.java:1850)
com.emc.s3g.scaleio.im.services.installation.connectors.LIANodeConnection.downloadInfo(LIANodeConnection.java:1522)
Faça log-in no nó do ScaleIO no qual a coleta de logs do get_info apresentou falha. Nos logs de rastreamento, o LIA não consegue localizar nenhum arquivo relevante no diretório, embora o getinfo arquivo foi criado:
# ls -l
total 50508
-rw-------. 1 root root 51717813 Oct 16 03:57 getInfoDump.tgz
# date
Fri Oct 16 03:57:01 CDT 2020
* /opt/emc/scaleio/lia/logs/trc.0 logs from LIA folder or node 192.168.180.x **
7f17ac10bdb0:liaNet_RecvRequest:00351: 10 minutes since last login
7f17ac10bdb0:liaNet_RecvRequest:01112: GET LOG FILES START
7f17ac10bdb0:liaCmd_GetLogFilesHelper:01239: Number of files 0 <<<-----------
7f17ac10bdb0:liaNet_RecvRequest:01145: GET LOG FILES ENDCause
O código do LIA usa "Directory Entry" para localizar o getInfoDump.tgz criado como parte da coleção. O LIA usa uma determinada função chamada "readdir()" para obter o conteúdo do diretório.
Depois que o LIA chama "readdir()", ele espera obter o campo "d_type". Este campo indica se "getInfoDump.tgz" é um arquivo regular ("DT_REG"). Nem todos os file systems são compatíveis com d_type
Nos casos em que o file system criado não é compatível com "d_type", o valor retornado após a chamada de função "readdir()" é: "DT_UNKNOWN" e o LIA localizam o número zero de arquivos no diretório.
Se você tiver um sistema de arquivos XFS criado, execute o comando abaixo para verificar se há ftype=0:
Resolution
Solução temporária:
Certifique-se de que o file system criado onde /tmp reside seja Btrfs, ext2, ext3 e ext4.
Para o file system XFS, verifique se ele foi criado com "ftype=1"