lageIBUSP / abacus

Documentação e scripts de administração do cluster Abacus
0 stars 1 forks source link

/tmp temporariamente desmontado #19

Open renatocoutinho opened 7 years ago

renatocoutinho commented 7 years ago

Tanto eu quanto o Danilo não conseguíamos rodar o R, ele sequer abria, e dava o seguinte erro:

abacus0008 ~ $ R
Fatal error: cannot create 'R_TempDir'

Aí vi que o /tmp não estava montado. Dá pra contornar isso usando

mkdir ~/tmp
export TMPDIR=~/tmp

No tempo que me levou pra verificar o df de todas as máquinas, o sistema re-montou sozinho (?) o tmp de todos os pcs, então agora tá OK de novo, mas achei melhor deixar isso registrado aqui caso alguém encontre o problema de novo (e tenha enorme urgência em rodar o R...).

andrechalom commented 7 years ago

Que estranho... só podem ser os gnomos que brincam com o cluster qd ninguém tá olhando.

Vc acha que faz sentido fazer uma configuração global de tmpdir do R pra evitar o problema?

renatocoutinho commented 7 years ago

Investigando melhor, acho que o buraco é mais embaixo... meu bash completion não tá mais funcionando e acabo de ganhar um erro assim:

bash: cannot create temp file for here-document: No space left on device

E então:

abacus ~ $ df -h
/dev/sdb1        40G   38G     0 100% /
abacus ~ $ ssh abacus0004 df -h
10.1.1.1:/var/lib/nfsroot   40G   38G     0 100% /

Acho que de alguma forma o /tmp tá sendo sincronizado através dos nós via o nfsroot!? Se for o caso, acho completamente desnecessário, o tmpfs pode ser montado na RAM localmente (ou seja, isoladamente em cada nó), não?

piklprado commented 7 years ago

Meio óbvio, mas pode ser falta de espaço mesmo na partição? Em qui, 15 de jun de 2017 às 00:43, Renato Coutinho < notifications@github.com> escreveu:

Investigando melhor, acho que o buraco é mais embaixo... meu bash completion não tá mais funcionando e acabo de ganhar um erro assim:

bash: cannot create temp file for here-document: No space left on device

E então:

abacus ~ $ df -h /dev/sdb1 40G 38G 0 100% / abacus ~ $ ssh abacus0004 df -h 10.1.1.1:/var/lib/nfsroot 40G 38G 0 100% /

Acho que de alguma forma o /tmp tá sendo sincronizado através dos nós via o nfsroot!? Se for o caso, acho completamente desnecessário, o tmpfs pode ser montado na RAM localmente (ou seja, isoladamente em cada nó), não?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/lageIBUSP/abacus/issues/19#issuecomment-308620278, or mute the thread https://github.com/notifications/unsubscribe-auth/AGBVlenFJeBg6RTJ1zbU_01iCjKUq73iks5sEKhhgaJpZM4N6sEp .

--

Paulo Inácio de Knegt López de Prado Depto. de Ecologia - Instituto de Biociências - USPhttp://ecologia.ib.usp.br/let http://ecologia.ib.usp.br/get Rua do Matão, travessa 14, nº 321 Cid. Universitária, São Paulo - SP - Brasil CEP 05508-900 +55-11-30910963 (sala) +55-11-30917600 (Secretaria)

renatocoutinho commented 7 years ago

Pensando um pouco melhor, faz todo o sentido que esse problema tenha estourado agora, porque o Danilo tá rodando um monte de simulações em R que chamam um programa em C++ e pegam a saída deste via um arquivo temporário, criado usando o tmpfile() do R, que cria arquivos você sabe onde...

piklprado commented 7 years ago

Ok ... mas então entope o temp durante a execução ou não o limpa qdo encerra e vai acumulando? Em qui, 15 de jun de 2017 às 00:45, Renato Coutinho < notifications@github.com> escreveu:

Pensando um pouco melhor, faz todo o sentido que esse problema tenha estourado agora, porque o Danilo tá rodando um monte de simulações em R que chamam um programa em C++ e pegam a saída deste via um arquivo temporário, criado usando o tmpfile() do R, que cria arquivos você sabe onde...

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/lageIBUSP/abacus/issues/19#issuecomment-308620538, or mute the thread https://github.com/notifications/unsubscribe-auth/AGBVlaq_8z4sM6Jo4nU-YMxamCOXavZhks5sEKjzgaJpZM4N6sEp .

--

Paulo Inácio de Knegt López de Prado Depto. de Ecologia - Instituto de Biociências - USPhttp://ecologia.ib.usp.br/let http://ecologia.ib.usp.br/get Rua do Matão, travessa 14, nº 321 Cid. Universitária, São Paulo - SP - Brasil CEP 05508-900 +55-11-30910963 (sala) +55-11-30917600 (Secretaria)

renatocoutinho commented 7 years ago

Meio óbvio, mas pode ser falta de espaço mesmo na partição?

Putz, Paulo, era tão óbvio que eu até esqueci de falar isso, só colei a saída do df hahaha

andrechalom commented 7 years ago

tmp compartilhado por nfs realmente n faz sentido. Eu nunca mexi nisso, mas achei que o /tmp seria montado via tmpfs por padrão... acho que essa é a coisa certa a ser feita

On Jun 15, 2017 12:43 AM, "Renato Coutinho" notifications@github.com wrote:

Investigando melhor, acho que o buraco é mais embaixo... meu bash completion não tá mais funcionando e acabo de ganhar um erro assim:

bash: cannot create temp file for here-document: No space left on device

E então:

abacus ~ $ df -h /dev/sdb1 40G 38G 0 100% / abacus ~ $ ssh abacus0004 df -h 10.1.1.1:/var/lib/nfsroot 40G 38G 0 100% /

Acho que de alguma forma o /tmp tá sendo sincronizado através dos nós via o nfsroot!? Se for o caso, acho completamente desnecessário, o tmpfs pode ser montado na RAM localmente (ou seja, isoladamente em cada nó), não?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lageIBUSP/abacus/issues/19#issuecomment-308620278, or mute the thread https://github.com/notifications/unsubscribe-auth/AB5w9V_Olz0T7lI-eDWJPvx7tVJg1vRaks5sEKhhgaJpZM4N6sEp .

renatocoutinho commented 7 years ago

Ok ... mas então entope o temp durante a execução ou não o limpa qdo encerra e vai acumulando?

Acho que a resposta aqui é "as duas coisas", e ainda por cima o tmp é sincronizado entre as máquinas (o meu all -a ls /tmp dá as mesmas pastas), ocupando precioso (e muito limitado) espaço do nfsroot.

Acho que não tinha que fazer nem uma coisa nem outra: nada de usar o nfsroot nem de sincronizar através dos nós...

piklprado commented 7 years ago

Claro! Deve estar assim pq este é o padrão para armazenamento em disco no Abacus, certo? Em qui, 15 de jun de 2017 às 00:57, Renato Coutinho < notifications@github.com> escreveu:

Ok ... mas então entope o temp durante a execução ou não o limpa qdo encerra e vai acumulando?

Acho que a resposta aqui é "as duas coisas", e ainda por cima o tmp é sincronizado entre as máquinas (o meu all -a ls /tmp dá as mesmas pastas), ocupando precioso (e muito limitado) espaço do nfsroot.

Acho que não tinha que fazer nem uma coisa nem outra: nada de usar o nfsroot nem de sincronizar através dos nós...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lageIBUSP/abacus/issues/19#issuecomment-308621851, or mute the thread https://github.com/notifications/unsubscribe-auth/AGBVldElsDAhVVfAy4EoNo-iBUXRzHlDks5sEKubgaJpZM4N6sEp .

--

Paulo Inácio de Knegt López de Prado Depto. de Ecologia - Instituto de Biociências - USPhttp://ecologia.ib.usp.br/let http://ecologia.ib.usp.br/get Rua do Matão, travessa 14, nº 321 Cid. Universitária, São Paulo - SP - Brasil CEP 05508-900 +55-11-30910963 (sala) +55-11-30917600 (Secretaria)

renatocoutinho commented 7 years ago

Como solução temporária, Paulo, acho que é uma boa ideia apagar todos os arquivos do /tmp e o Danilo usar a solução com TMPDIR na home mesmo.

piklprado commented 7 years ago

Concordo. Vc já explicou isso a ele? Em qui, 15 de jun de 2017 às 01:06, Renato Coutinho < notifications@github.com> escreveu:

Como solução temporária, Paulo, acho que é uma boa ideia apagar todos os arquivos do /tmp e o Danilo usar a solução com TMPDIR na home mesmo.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lageIBUSP/abacus/issues/19#issuecomment-308622961, or mute the thread https://github.com/notifications/unsubscribe-auth/AGBVlcSp0igo4_cD8Jy_UXQVZ0N0lX15ks5sEK3JgaJpZM4N6sEp .

--

Paulo Inácio de Knegt López de Prado Depto. de Ecologia - Instituto de Biociências - USPhttp://ecologia.ib.usp.br/let http://ecologia.ib.usp.br/get Rua do Matão, travessa 14, nº 321 Cid. Universitária, São Paulo - SP - Brasil CEP 05508-900 +55-11-30910963 (sala) +55-11-30917600 (Secretaria)

renatocoutinho commented 7 years ago

Avisei agora. Um efeito colateral deste problema é que as simulações poderiam novamente deixar a rede toda lenta em função do volume de transmissão desses arquivos. É muito útil nesse caso ter onde guardar arquivos temporários localmente, sem sincronizar, e o lugar natural é justamente o /tmp.

renatocoutinho commented 7 years ago

Acho que esse problema é só um efeito colateral de o nfsroot ser montado no /, e o /tmp ficar dentro do /. Isso seria corrigido facilmente com uma entrada específica no fstab:

tmpfs   /tmp         tmpfs   nodev,nosuid,size=4G          0  0

Olhando pra saída do df, tem outros pontos de montagem com tmpfs, por exemplo /run/user/uid, mas acho que seria sujo demais usar isso pras simulações agora hehehe.

renatocoutinho commented 7 years ago

Como as máquinas podem passar muito tempo sem rebootar, e os usuários podem jamais limpar o tmp por conta própria, dá pra usar o tmpfiles pra limpar a sujeira temporariamente. Por exemplo:

/etc/tmpfiles.d/tmp.conf:
# see tmpfiles.d(5)
# remove files in /var/tmp older than 10 days
D /var/tmp 1777 root root 10d
andrechalom commented 7 years ago

Concordo plenamente com as duas recomendações do @renatocoutinho.

piklprado commented 7 years ago

Posso fazer. Basta alterar os dois arquivos de configuração?

renatocoutinho commented 7 years ago

Posso fazer. Basta alterar os dois arquivos de configuração?

Isso. O 2o precisa mudar /var/tmp pra /tmp. É uma boa ideia apagar tudo que tem no /tmp agora. Finalmente tem que rodar mount -a em todos os nós (ou rebootar).