A questão sobre a desativação de serviços depende essencialmente dos serviços em si:
- Eles estão escrevendo ativamente no sistema de arquivos que você planeja mover?
- Eles estão armazenando dados persistentes que você deseja manter.
Em qualquer caso, o envio de um sistema de arquivos ZFS pode levar um longo tempo. É possível minimizar a indisponibilidade do serviço, mantendo-os on-line na maior parte do tempo:
- crie um instantâneo
- envia esse instantâneo da maneira sugerida anteriormente, mas mantendo todos os serviços ativos
- quando o fs é recebido no outro conjunto, desative os limites de serviços críticos para esse sistema de arquivos. Certifique-se de que o novo sistema de arquivos no pool de destino não seja modificado, pois as alterações serão descartadas posteriormente de qualquer maneira.
- crie um segundo instantâneo (por exemplo, snapshot2)
-
envia esse segundo instantâneo incrementalmente, que será muito mais rápido que a transferência anterior. por exemplo:
zfs send -i rpool/filesystem@snapshot rpool/filesystem@snapshot2 | zfs receive -F destinationpool/filesystem
-
quando terminar, mova o ponto de montagem do sistema de arquivos do conjunto de dados antigo para o novo. por exemplo:
zfs set mountpoint=/application/directory.old rpool/filesystem
zfs set mountpoint=/application/directory destination/filesystem
Você precisa garantir que nenhum processo esteja vinculado a /application/filesystem
(por exemplo, acessando arquivos ou tendo o diretório atual) para conseguir isso.
- reative o (s) serviço (s) e você está pronto.