Sistema de arquivos tolerante para um automount com falha

1

(estou executando o openSUSE 13.2)

Minha configuração atual

Eu tenho uma unidade de backup externa que montei na inicialização com a seguinte linha no meu /etc/fstab :

/dev/mapper/cr_backup    /backup    ext4     comment=systemd.automount,nofail 0 2

Eu tenho a opção nofail porque às vezes a unidade de backup não está presente e não quero que a inicialização seja interrompida nesse caso.

O problema

Quando a unidade de backup não está presente, executar ls no meu diretório raiz insere um loop infinito que devo cancelar com ctrl + c. A mensagem de erro é:

ls: cannot access /backup: Interrupted system call

Parece que ls está falhando porque está tentando acessar a unidade de backup e não consegue.

Uma solução seria aninhar a unidade de backup em /backup/backup , para que ls / não desacelere. No entanto, isso parece um truque sujo e eu estou querendo saber se existe uma solução mais elegante (estou interessado em aprender mais sobre como o sistema funciona!).

Na minha experiência (limitada) com mount , se um dispositivo não estiver montado, o ponto de montagem é um diretório vazio. Posso conseguir algo semelhante aqui? Eu precisaria ser cuidadoso, já que eu tenho backups horários automáticos agendados que atualmente não são executados se o dispositivo não estiver montado. Eu definitivamente não quero que o backup apenas despeje tudo no diretório vazio se ele não montou a unidade de backup!

    
por Jack B 20.05.2016 / 19:34

2 respostas

1

Na minha opinião, é uma má prática tentar montar um sistema de arquivos de backup na inicialização, porque se algo der errado (rm -rf / [enter] ops), os dados no backup provavelmente serão excluídos juntos.

Então, se você estiver usando um script para fazer isso, monte dentro do script, ou dentro do cron, e desmonte quando terminar.

Com isso, sua inicialização não será mais interrompida e você terá o sistema de arquivos funcionando.

Mas, outra solução é removê-lo do fstab e colocar como um comando mount em rc.local com "&" char para executá-lo em segundo plano:

mount /dev/mapper/cr_backup /backup -t ext4&

Para dispositivos removíveis, você também tem a solução autofs: link

    
por 20.05.2016 / 19:43
0

Eu sei que você está rodando o SUSE, mas esta declaração do fstab wiki do Ubuntu ( link ) pode apontar você a direção certa:

Removable devices such as flash drives can be added to fstab, but are typically mounted by gnome-volume-manager and are beyond the scope of this document.

ATUALIZAÇÃO: Isso pode ser interessante link , um artigo antigo sobre o SUSE. p>     

por 20.05.2016 / 19:47