Copiando arquivos / permissões para outro servidor sem SMB?

1

Para diagnósticos em um problema que estou enfrentando, eu realmente preciso ser capaz de copiar arquivos entre servidores windows - incluindo as permissões NTFS sem usar o smb . Existe uma maneira pronta para fazer isso? Se eu estivesse trabalhando em Linux, eu usaria apenas um fluxo de tcp ou SSH. As implementações de SSH que eu examinei não fazem permissões NTFS e eu não vi nada além de um fluxo tcp bruto ainda.

Antecedentes:

Estou pré-configurando um compartilhamento DFS que será usado para migrar de um servidor de arquivos 2003r2 para um servidor 2012r2. Eu tenho vários terabytes de dados que precisam ser movidos.

Eu descartei problemas no nível de rede usando o iperf. Estamos obtendo uma taxa de transferência de 800 megabits ou melhor. Também desativei o antivírus e segui as outras etapas de solução de problemas de desempenho padrão.

    
por Tim Brigham 22.04.2015 / 18:18

2 respostas

2

Bem, um método que evitasse completamente o SMB, mas provavelmente seria bastante difícil de construir, seria baseado no iSCSI.

O Windows 2012r2 pode ser um destino iSCSI e o Windows 2003r2 pode atuar como um cliente. Assim, você pode configurar um volume no destino e apresentá-lo por meio do iSCSI, conectar-se a ele por meio do sistema do cliente e montar o volume diretamente na caixa do Windows 2003r2. Então você pode usar suas ferramentas de cópia locais (por exemplo, robocopy) para fazer sua pré-configuração.

    
por 22.04.2015 / 19:09
0

Você deve nos dar mais algumas informações, especialmente em por que você quer evitar smb / cifs em primeiro lugar.

Enfim, presumindo que você não possa realmente usar o SMB, você tem duas possibilidades:

  • siga a sugestão do Zoredache, usando um protocolo de nível inferior (iSCSI) para exportar o sistema de arquivos remoto e, em seguida, copie os dados necessários usando o robocopy;
  • instale o cygwin nos dois servidores e use o rsync para copiar os arquivos necessários.

Deixe-me elaborar sobre o segundo método (rsync). Há um mês, precisei migrar cerca de 200 GB de um servidor de arquivos do Windows 2003 para uma nova configuração do Linux + Samba, tudo sem tempo de inatividade. Minha solução foi usar o rsync para sincronizar incrementalmente os dois servidores de arquivos, com um breve passo final de sincronização durante o qual o compartilhamento original foi colocado no modo somente leitura.

Eu encontrei os seguintes problemas:

  1. no início, o ACL não estava sincronizado. A solução foi passar a opção -A para o comando rsync;
  2. depois disso, a ACL foi sincronizada, mas de maneira incorreta (uid incorreto foi atribuído aos arquivos). A solução foi primeiro conectar o novo servidor Linux ao domínio e configurar corretamente o windbind para que a chamada getent passwd retornasse a lista de usuários do domínio;
  3. a transferência de dados foi lenta. Acontece que a implementação do SSH do CygWin é bem lenta. Para contornar isso, configurei a instância de rsync em execução no Windows no modo de daemon independente, sem exigir SSH.

Os resultados do ene foram uma réplica da ACL quase perfeita na máquina Linux (algumas pequenas diferenças foram devidas a como as ACLs SMBACL e Posic são diferentes).

Você está em uma posição um pouco semelhante, mas melhor: ambos os servidores de arquivos são baseados no Windows, e suponho que eles estejam no mesmo domínio. Isso significa que eles têm acesso ao mesmo banco de dados do usuário, com o mesmo RID no lugar - em outras palavras, você não deve encontrar nenhum problema na replicação de ACLs. Além disso, o rsync é uma ferramenta muito eficiente e versátil, e não deve ter nenhum problema em copiar seus arquivos incrementalmente.

Antes de fazer tudo isso, no entanto, realmente reconsidere por que (e se) você não pode usar o SMB / CIFS para transferência de arquivos. Você realmente, realmente , realmente tem certeza? Se sim, por quê?

    
por 22.04.2015 / 21:46