Certifique-se de que o servidor sempre possa inicializar e que um disco rígido esteja montado antes de compartilhar com o Samba

Certifique-se de que o servidor sempre possa inicializar e que um disco rígido esteja montado antes de compartilhar com o Samba

Eu tenho dois discos rígidos de 2 TB (não as unidades de inicialização/sistema) com uma única partição em cada um, que compartilho com o Samba. Os pontos de montagem estão em /mnt/drive01e /mnt/drive02.

Esses também são o caminho de dois compartilhamentos samba, denominados backup1 e backup2. Assim que esses compartilhamentos são ativados, eles começam a ser preenchidos com (muitos) dados de outras máquinas na rede (algumas máquinas gravam no backup1, outras no backup2, mas nenhuma grava em ambos).

Tudo funciona conforme planejado, sem problemas com o Samba. Este servidor (em local remoto) está configurado para reinicialização automática em caso de perda de energia, etc. Além disso, tenho duas unidades em RAID1 como unidades de sistema/inicialização, para garantir que o servidor possa (quase!) sempre pelo menos inicializar.

O problema é que o sistema inicializa bem, mas por algum motivo não consegue montar um (ou ambos) dos discos rígidos de 2 TB: o samba começaria a compartilhar /mnt/drive01e /mnt/drive02, a(s) unidade(s) de grande capacidade não está(ão) montada(s), então todos os dados de fato acaba na unidade do sistema, enchendo-a e tornando o sistema inutilizável ou impossibilitado de ser acessado remotamente via ssh.

Então não acho uma boa ideia inserir as partições dos dois drives de 2 TB /etc/fstab, pois notei alguns problemas na inicialização caso um dos drives de dados esteja, por exemplo, desconectado. Novamente, isso é importante porque o servidor está em local remoto e não pode contar com a intervenção do operador para corrigir mensagens na tela como "a unidade não está pronta, continue esperando, pressione S para pular a montagem, M para manual..."

Então eu tenho um pequeno script que tenta montar as unidades de dados um minuto após a inicialização, e isso corrige a parte do fstab. Agora vamos ao Samba.

O que eu gostaria é que o Samba iniciasse depois de algum tempo (sem problemas), mas também ativasse ou desativasse "dinamicamente" os dois compartilhamentos. Assim, por exemplo, se a segunda unidade de dados falhar, meu script só será capaz de montar o primeiro disco de dados e o samba anunciará apenas o compartilhamento backup1 (com os dados sendo gravados na unidade de disco de 2 TB); o outro compartilhamento (backup2, mapeado para /mnt/drive02) não seria anunciado/desativado, mas pelo menos tenho um compartilhamento em execução (e algumas de minhas máquinas podem inserir dados nele).

Claro, a maneira mais fácil é iniciar o samba somente se ambas as unidades de dados estiverem montadas, mas esta é uma solução do tipo tudo ou nada.

Alguma ideia?

Responder1

Existem duas opções. Se você não tiver outros compartilhamentos com o Samba, basta iniciar o Samba quando ambos estiverem montados e parar quando ambos estiverem desmontados, usando upstart ou systemd. Com o systemd você deve precisarRequires=estrofee com o arrivistastart on mounted /dev/something. A outra maneira é remover o samba dos scripts de inicialização e inicializar usando seu script. Essas opções dependem do que você já fez.

informação relacionada