Como manter um diretório inicial redundante para uso offline?

1

Cenário: Meu diretório home está no NFS, as identidades estão no LDAP e a autorização é via Kerberos. Meus servidores NFS, LDAP e Kerberos são todos VMs - estou expandindo um pouco de hardware em casa.

A vida é boa ... até - há sempre um até - meu servidor VM está em manutenção (planejado ou pior), o que me tira muitas conveniências para o trabalho de manutenção / reparo.

Para maior clareza aqui: $ HOME e $ USER são os reais normais, enquanto $ CHOME e $ CUSER são os clones locais.

Opção 1: rsync -av $ HOME / $ CHOME / Fácil, mas enquanto sssd armazenará em cache minhas credenciais para o período off-line $ USER aponta para $ HOME (que é inacessível) e não $ CHOME.

Opção 2: semelhante, mas faça $ CHOME de $ CUSER. Agora, $ USER tem acesso negado a $ CHOME ou, alternativamente, $ CUSER tem acesso negado $ HOME. Não consigo usar root porque $ HOME é exportado com root_squash e gostaria de continuar assim.

Opção 3: como a opção 2, mas use ACLs de alguma forma. Eu não deveria ser capaz de setfacl ACLs padrão em $ CHOME antes do primeiro rsync e tê-los sobreviver? Tudo que eu tentei requer setfacl -R $ CHOME novamente após cada rsync e parece que estou apenas fazendo algo errado.

Eu realmente só preciso da replicação unidirecional, mas a melhor solução seria algo como Unison para que isso pudesse ir além de uma simples ajuda de recuperação / manutenção para também suportar nosso laptop usando o NFS enquanto estiver online em casa, mas operando normalmente offline .

    
por JFlo 11.03.2015 / 00:47

1 resposta

0

Algumas variações na sua opção 2 parecem plausíveis. Continuarei supondo que você geralmente efetua login com $USER on $HOME , exatamente como em seu cenário. Você declarou que não é possível copiar os arquivos de $HOME para $CHOME devido a problemas de permissão ( $USER não pode acessar $CUSER ) e não é possível ignorar isso com raiz devido à sua root_squash .

2a. Ajuste as permissões para $USER e $CUSER de forma que elas pertençam a um grupo primário comum. Defina o umask 002 para ambos para que eles criem arquivos com permissões de grupo iguais aos do usuário. Atualize todos os arquivos em $HOME e $CHOME para que a propriedade do grupo seja esse novo grupo. Use rsync -avH --no-owner [--delete] $HOME/ $CHOME/ para copiar arquivos alterados. Execute um par de cron jobs (um para $USER e um para $CUSER ) para corrigir permissões incorretas e associações a grupos de todos os arquivos.

2b. Deixe tudo "como está" e copie os arquivos de uma conta para outra usando rsync do cliente para si, alterando a identidade na conexão: rsync -avH [--delete] $HOME/ ${CUSER}@localhost:

    
por 26.03.2015 / 23:35

Tags