Quais são as vantagens / desvantagens de montagens rígidas e flexíveis no UNIX?

23

Essa pergunta pode variar entre as distribuições, mas, em geral, quais são as vantagens / desvantagens do uso de uma montagem rígida ou flexível no mundo UNIX?

Existem certas situações em que alguém é mais benéfico ou os usos são universais?

Aaron K
fonte

Respostas:

21

Uma montagem rígida é geralmente usada para recursos de bloco, como um disco local ou SAN. Uma montagem suave é geralmente usada para protocolos de arquivos de rede como NFS ou CIFS.

A vantagem de uma montagem suave é que, se o servidor NFS não estiver disponível, o kernel atingirá o tempo limite da operação de E / S após um período pré-configurado. A desvantagem é que, se o driver NFS armazenar em cache dados e o tempo limite da montagem suave, o aplicativo poderá não saber quais gravações nos volumes NFS foram realmente confirmadas no disco.

duffbeer703
fonte
8

montagens difíceis e "intr" (interruptível) é um bom compromisso (para kernels anteriores a 2.6.25, veja o comentário de Ryan Horrisberger). O aplicativo não se engana sobre gravações bem-sucedidas, mas você pode matá-las se algo entupir os tubos.

hayalci
fonte
8
a opção intr foi descontinuada e ignorada nas versões recentes no linux em: linux.die.net/man/5/nfs : A opção de montagem intr / nointr foi descontinuada após o kernel 2.6.25. Somente o SIGKILL pode interromper uma operação NFS pendente nesses kernels e, se especificada, essa opção de montagem é ignorada para fornecer compatibilidade com versões anteriores com kernels antigos.
21713 Ryan Horrisberger
5

Uma montagem rígida usando algum tipo de sistema de arquivos de rede (nfs ou fusível) pode (algumas vezes) bloquear para sempre enquanto tenta restabelecer uma conexão interrompida. Isso significa que todo processo que tenta acessar essa montagem entra em suspensão do disco (D) até que o dispositivo esteja disponível novamente ou o sistema seja reiniciado.

O sono em disco não pode ser interrompido ou interrompido. É como o zumbi dos processos zumbis.

Em resumo, nunca use montagens rígidas para sistemas de arquivos de rede. Você deseja que o sistema de arquivos falhe (imediatamente, para processos usando syscalls) se a E / S não for possível. Caso contrário, a memória que eles reivindicam também pode vazar se o FS falhar.

Tim Post
fonte
Eu concordo com sua recomendação geral sobre montagens difíceis. No entanto, algumas pessoas que implantam o VMWare no NFS recomendam o uso de montagens rígidas. Não estou 100% familiarizado com o motivo pelo qual eles fazem isso, mas é algo a considerar e pesquisar com atenção antes de implementar.
Duffbeer703 18/05/09
Dado que as montagens rígidas ficam suspensas para sempre e, nos dias antigos, as máquinas costumavam travar na reinicialização por causa de uma montagem NFS rígida, não é possível perder dados em montagens duras? Imagine que seu servidor de arquivos NFS fica inoperante, agora seus clientes não conseguem alcançá-lo, estão totalmente confusos, você os reinicia ... suas possíveis gravações acabaram. Nos dias anteriores à existência de montagens flexíveis, as montagens rígidas causavam problemas na reinicialização dos computadores. Se você inicializou um servidor de arquivos antes de um cliente, o cliente seria interrompido. Teríamos que dar um ciclo de energia às vezes. Pessoas cometem erros. Ainda é um problema hoje?
Mike S
@ MikeS Existem muitas dessas configurações por aí correndo alegremente. Você nunca sabe o que encontrará em laboratórios ou fábricas onde máquinas com décadas de idade ainda estão controlando os equipamentos com prazer. Não é tanto um problema para as pessoas que trabalham com coisas modernas. Mas sim, montagens duras podem custar dados (mas montagens suaves também!) - mas qualquer sistema de arquivos de rede que não use E / S de cache com bateria tem o mesmo potencial para esse problema. Montagens rígidas apenas tornam isso horrível quando se trata de automatizar a detecção e recuperação.
Tim Post
2

soft é usado apenas por pessoas que não entendem o princípio do nfs. soft / hard depende do uso do sistema de arquivos. para aplicativos de missão crítica, use sempre montagens rígidas para impedir a corrupção de arquivos (esse é o motivo pelo qual é padrão na maioria dos sistemas). para o sistema de arquivos ro, é seguro usar soft e, portanto, o preferido. a propósito nfsv4 não suporta mais soft ....

manitou
fonte
nfsv4 não suporta mais soft? De acordo com a página do manual, "Opções suportadas por todas as versões Essas opções são válidas para uso com qualquer versão do NFS. Soft / hard Determina o comportamento de recuperação do cliente NFS após o tempo limite de uma solicitação NFS. Se nenhuma opção for especificada (ou se o opção difícil for especificada), as solicitações NFS serão repetidas indefinidamente. Se a opção programável for especificada, o cliente NFS falhará uma solicitação NFS após o envio das retransmissões de retransmissões, fazendo com que o cliente NFS retorne um erro ao aplicativo de chamada ". Veja linux.die.net/man/5/nfs
Mike S
Eu acho que você está se contradizendo ... "soft é usado apenas por pessoas que não entendem ..." e "para o sistema de arquivos ro é seguro usar soft ..." Além disso, consulte a publicação de @Tim Post, acima .
Mike S