[MASOCH-L] arquivo corrompendo mesmo com chattr

Fabio Martins fm+regbr+masoch-l+list at phosphorusnetworks.com
Tue Feb 2 17:49:09 -03 2021


Sistema de arquivos somente leitura parece ser a melhor soluçao, como
sugerido pelo Hamilton Vera.

No caso de uma VM nova:

1) Cria partiçao pequena com uns 10 megas na instalaçao
2) Monta ela no diretorio e coloca o arquivo la
3) Edita o fstab pra montar ela no boot e coloca o flag "ro" em vez de "rw"


No caso se um servidor "legacy" onde voce nao pode mexer no layout do
disco, crie um sistema de arquivos em memoria, e coloque as instruçoes no
/etc/rc.local . Usei /mnt/cdrom somente como exemplo.

Passos:

# cria o sistema de arquivos temporario
[root at debian ~#]mount -t tmpfs size=1M /mnt/cdrom/

# remonta como somente leitura
[root at debian ~#]mount -o remount,ro /mnt/cdrom/

# checa se esta como somente leitura
[root at debian ~#]mount | grep cdrom
size=1M on /mnt/cdrom type tmpfs (ro,relatime)

# tenta escrever no arquivo e observe o erro
[root at debian ~#]echo 'teste' > /mnt/cdrom/appserver.ini
-bash: /mnt/cdrom/appserver.ini: Read-only file system

Fabio Martins
(+5521)979148106 (Signal)
PHOSPHORUS NETWORKS
https://phosphorusnetworks.com/

> Bom, com certeza pau na aplicação.
>
> Para vc não ter dor de cabeça, monta uma partição, move o arquivo e
> depois
> monta ela apenas como RO.
>
> Nunca na vida tive boas experiências com a totvs.
>
>
> On Wed, Jan 27, 2021 at 5:10 PM Lulyis <lulyis at gmail.com> wrote:
>
>> Rejane,
>>
>> O arquivo não tem nenhum link físico?
>>
>>
>> --lulyis
>>
>>  .
>> ..:
>> UL236783
>> *I.F.T.*
>>
>>
>>
>> On Wed, Jan 27, 2021 at 4:51 PM Rejaine Silveira Monteiro <
>> rejaine at bhz.jamef.com.br> wrote:
>>
>> > Sim, ja passei isso pra eles avalarem, mas nossa versão é bem mais
>> recente
>> > do que essa..
>> > Inclusive já tem gente da Totvs analisando esse problema nessa
>> última
>> > versão ...
>> > Eu só queria mesmo tentar ajudar a analisar o problema por fora ,
>> pois
>> está
>> > nos dando muita dor de cabeça ter q reiniciar o app que apresentar
>> > problema, para voltar o backup do arquivo e configuração  (já fiz
>> ate um
>> > script para checar e acertar de hora em hora..)
>> > Queria ver um jeito de tentar descobrir quando isso ocorre e porque..
>> o
>> > debug q colocaram nao pegou isso.. mas vou aguardar eles enviarem uma
>> nova
>> > versao para debugar...
>> >
>> >
>> >
>> > Em qua., 27 de jan. de 2021 às 16:37, Conrado De Biasi <
>> debiasi at gmail.com>
>> > escreveu:
>> >
>> > > Qual versão do protheus ?
>> > >
>> > > Parece que tem esse bug e foi corrigido a partir desta versão:
>> > >
>> > >
>> >
>> https://tdn.engpro.totvs.com.br/display/tec/Application+Server+-+17.3.0.19
>> > >
>> > >
>> > > -----
>> > > De Biasi, Conrado
>> > > debiasi at gmail.com
>> > >
>> > >
>> > > Em qua., 27 de jan. de 2021 às 15:58, Rejaine Silveira Monteiro <
>> > > rejaine at bhz.jamef.com.br> escreveu:
>> > >
>> > > > isso já foi feito, não tem nada além do próprio app quem está
>> > > > acessando/escrevendo o arquivo.. a questão é descobrir em que
>> ponto
>> ele
>> > > faz
>> > > > isso..
>> > > >
>> > > >
>> > > >
>> > > > Em qua., 27 de jan. de 2021 às 15:52, Jardel Fabricio Fortkamp De
>> > Araujo
>> > > <
>> > > > jardel.araujo at redeunifique.com.br> escreveu:
>> > > >
>> > > > > Acredito que você consiga pegar quais processo acessam esse
>> arquivo
>> > > > usando
>> > > > > o comando lsof.
>> > > > > Daria para rodar um loop do lsof em backgroup para ficar
>> monitorando
>> > e
>> > > > ver
>> > > > > se aparece algum processo diferente que acessa esse arquivo.
>> > > > >
>> > > > >
>> > > > > Jardel Fabricio Fortkamp de Araujo
>> > > > > Data Center | Unifique - Timbó
>> > > > > [ mailto:jardel.araujo at redeunifique.com.br |
>> > > > > jardel.araujo at redeunifique.com.br ]        [
>> > https://unifique.com.br/
>> > > ]
>> > > > >
>> > > > >
>> > > > > ----- Mensagem original -----
>> > > > > De: "Rejaine Silveira Monteiro" <rejaine at bhz.jamef.com.br>
>> > > > > Para: "Mail Aid and Succor, On-line Comfort and Help" <
>> > > > > masoch-l at eng.registro.br>
>> > > > > Enviadas: Quarta-feira, 27 de janeiro de 2021 14:39:02
>> > > > > Assunto: [MASOCH-L] arquivo corrompendo mesmo com chattr
>> > > > >
>> > > > > Oi pessoal,
>> > > > >
>> > > > > Estou com uma situação um tanto bizarra.. Rodo um app  no
>> Liniux
>> > SLES12
>> > > > >  de terceiros (Totvs/Protheus)
>> > > > >
>> > > > > Esse app lê um arquivo de configuração (um txt chamado
>> appserver.ini
>> > )
>> > > e
>> > > > > volta e meia esse arquivo de configuração aparece corrompido.
>> > > > >
>> > > > > O desenvolvedor já tentou colocar um debug na aplicação , mas
>> ainda
>> > não
>> > > > > encontrou nada.. Disseram que o app não deveria  escrever no
>> arquivo
>> > > > > (exceto em situações muito pontuais e que , segundo ele, não
>> parece
>> > > ser o
>> > > > > caso) Logo sobrou a culpa para o SO, que supostamente (e por
>> algum
>> > > motivo
>> > > > > muito bizarro) estaria despejando algum lixo no arquivo... (o
>> que
>> > acho
>> > > > > difícil, mas vamos lá)
>> > > > >
>> > > > > De início já descartamos problema de hardware/memória e
>> afins, pois
>> > > > ocorre
>> > > > > o problema em máquinas diferentes (sejam virtuais ou físicas)
>> > > > >
>> > > > > Executo o comando file para detectar quando o arquivo está
>> > corrompido e
>> > > > ao
>> > > > > inves dele retornar, por exemplo, "ASCII text", ele retorna algo
>> do
>> > > tipo:
>> > > > >
>> > > > > # file appserver.ini
>> > > > > appserver.ini: data
>> > > > >
>> > > > > Quando edito o arquivo, há caracteres estranhos no início,
>> meio ou
>> > > final
>> > > > do
>> > > > > arquivo.
>> > > > >
>> > > > > Já tentei rodar um strace no PID do processo, mas não me
>> esclareceu
>> > > muita
>> > > > > coisa:
>> > > > >
>> > > > > unfinished ...>
>> > > > > 4645  write(384,
>> > > > >
>> "C\0\0\0(\0\0\0\v\0\0\0\0\0\0\0\0\0\0\0S\1\20\0\0\0\0\0\0\0\0\0"...,
>> > > 71)
>> > > > =
>> > > > > 71
>> > > > > 8913  <... write resumed> )             = 80
>> > > > > <...etc>
>> > > > > 9069  write(1, "/appserver.ini RESTORED IN MEMOR"..., 4096) =
>> 4096
>> > > > > <etc...>
>> > > > > 22886 write(242, "\25\3\3\0\32}u\f\274\210
>> > > > > \320X\334\227xnW\347\\cCH\227\354\365\20/\206g,", 31) = -1 EBADF
>> (Bad
>> > > > file
>> > > > > descriptor)
>> > > > > 22886 write(7, "\n2021-01-27T13:06:21.617032-03:0"..., 130) =
>> 130
>> > > > > 22886 write(7, "\n2021-01-27T13:06:21.620391-03:0"..., 154) =
>> 154
>> > > > > 22886 write(7, "\n2021-01-27T13:06:21.620615-03:0"..., 113) =
>> 113
>> > > > > 22886 write(1, "/jss/jobservice7/appserver.ini *"..., 4096) =
>> 4096
>> > > > > 22886 write(7, "\n2021-01-27T13:06:21.620902-03:0"..., 135) =
>> 135
>> > > > >
>> > > > > Me parece ser algo do tipo: algum child process/fork no processo
>> PAI
>> > > > tenta
>> > > > > ler/escrever no arquivo enquanto algum outro child está com o
>> mesmo
>> > > > aberto
>> > > > > ou algo do tipo..
>> > > > > Mas como posso descobrir isso (sem debugar por dentro da
>> aplicação,
>> > > pois
>> > > > > não temos acesso ao código?) Há alguma coisa que eu poderia
>> fazer
>> > para
>> > > > > tentar mitigar o problema e descobrir exatamente o processo que
>> está
>> > > > > escrevendo, de forma aleatoria, no arquivo?
>> > > > >
>> > > > > --
>> > > > > *Esta mensagem pode conter informações confidenciais ou
>> > privilegiadas,
>> > > > > sendo seu sigilo protegido por lei. Se você não for o
>> destinatário
>> > ou a
>> > > > > pessoa autorizada a receber esta mensagem, não pode usar,
>> copiar ou
>> > > > > divulgar as informações nela contidas ou tomar qualquer ação
>> baseada
>> > > > > nessas
>> > > > > informações. Se você recebeu esta mensagem por engano, por
>> favor
>> > avise
>> > > > > imediatamente ao remetente, respondendo o e-mail e em seguida
>> > apague-o.
>> > > > > Agradecemos sua cooperação.*
>> > > > > __
>> > > > > masoch-l list
>> > > > > https://eng.registro.br/mailman/listinfo/masoch-l
>> > > > > __
>> > > > > masoch-l list
>> > > > > https://eng.registro.br/mailman/listinfo/masoch-l
>> > > > >
>> > > >
>> > > > --
>> > > > *Esta mensagem pode conter informações confidenciais ou
>> privilegiadas,
>> > > > sendo seu sigilo protegido por lei. Se você não for o
>> destinatário
>> ou a
>> > > > pessoa autorizada a receber esta mensagem, não pode usar, copiar
>> ou
>> > > > divulgar as informações nela contidas ou tomar qualquer ação
>> baseada
>> > > > nessas
>> > > > informações. Se você recebeu esta mensagem por engano, por
>> favor
>> avise
>> > > > imediatamente ao remetente, respondendo o e-mail e em seguida
>> apague-o.
>> > > > Agradecemos sua cooperação.*
>> > > > __
>> > > > masoch-l list
>> > > > https://eng.registro.br/mailman/listinfo/masoch-l
>> > > >
>> > > __
>> > > masoch-l list
>> > > https://eng.registro.br/mailman/listinfo/masoch-l
>> > >
>> >
>> > --
>> > *Esta mensagem pode conter informações confidenciais ou
>> privilegiadas,
>> > sendo seu sigilo protegido por lei. Se você não for o destinatário
>> ou a
>> > pessoa autorizada a receber esta mensagem, não pode usar, copiar ou
>> > divulgar as informações nela contidas ou tomar qualquer ação
>> baseada
>> > nessas
>> > informações. Se você recebeu esta mensagem por engano, por favor
>> avise
>> > imediatamente ao remetente, respondendo o e-mail e em seguida
>> apague-o.
>> > Agradecemos sua cooperação.*
>> > __
>> > masoch-l list
>> > https://eng.registro.br/mailman/listinfo/masoch-l
>> >
>> __
>> masoch-l list
>> https://eng.registro.br/mailman/listinfo/masoch-l
>>
> __
> masoch-l list
> https://eng.registro.br/mailman/listinfo/masoch-l
>


-- 




More information about the masoch-l mailing list