Mover / var para novo conjunto de discos

4

Atualmente só tenho acesso remoto a essa caixa do CentOS, preciso mover / var do RAID primário para um novo conjunto de discos que foi instalado com mais espaço. Meus pensamentos atuais sobre como fazer isso são montar temporariamente o novo RAID para / tmp / var. rsync tudo de / var para / temp / var, em seguida, modificar o fstab para apontar / var nos novos discos.

Aqui está a minha pergunta. Como excluo o / var existente nos discos primários depois que os novos discos são montados nesse local (supondo que isso seja possível remotamente)?

    
por Brandon 12.12.2011 / 07:09

2 respostas

4

Esta é uma tarefa não trivial em um sistema em execução. A árvore /var tem muitos arquivos abertos que estão sendo gravados continuamente por meio de um fd aberto. Esses arquivos permanecerão abertos no dispositivo original até você informar ao daemon para fechar e reabrir seu arquivo de log. Se você está usando o mysql e está usando o seu datadir padrão, então você precisará fazer uma provisão especial para isso também.

lsof | grep /var 

dará uma ideia da escala da sua tarefa. Cada um desses arquivos exigirá alguma ação de sua parte para migrar para o novo dispositivo. Alguns (a maioria?) Dos daemons exigirão apenas um kill -HUP ou um service servicename restart para que eles fechem e reabram seus arquivos, outros exigirão mais esforço, por exemplo. mysql na configuração padrão.

Você pode acabar tendo que esperar até que você possa reiniciar o sistema para recuperar completamente o antigo /var .

    
por 12.12.2011 / 12:04
2

Isso pode ser um pouco complicado em um sistema ao vivo, eu faria uma abordagem switcheroo:

mv /var /var0
mkdir /var
mount --bind /path/to/raid/var /var

Naturalmente, você vai querer ter certeza de que seu fstab está atualizado para que isso persista na inicialização.

    
por 12.12.2011 / 07:25