Os servidores RHEL6 podem ser "copiados"?

8

Minha empresa precisa configurar um servidor de desenvolvimento e já temos 2 servidores RHEL 6 de produção trabalhando em um switch L4.

Uma das soluções para configurar o servidor de desenvolvimento era copiar todos os arquivos de um dos servidores de produção e ajustá-lo um pouco.

Eu nunca fiz isso antes, mas soa semelhante à imagem fantasma ... pode ser feito? É recomendado? Seria propenso a erros?

yhware
fonte

Respostas:

7

Copiar todos os arquivos pode funcionar. Vai depender do sistema operacional e que tipo de método de cópia.

Um problema geral é tentar copiar o sistema enquanto estiver em execução. Normalmente, pelo menos alguns dos arquivos serão bloqueados e, portanto, não serão copiados corretamente. Usar algum tipo de software de imagem enquanto o sistema está desligado é geralmente mais seguro (você mencionou o Ghost, que é um exemplo)

Brett
fonte
É RHEL6. Isso pode ser feito?
yhware
O RSYNC foi projetado para espelhamento e está disponível em praticamente qualquer sistema. Você pode usar isso.
Jeff Clayton
Depende inteiramente da aplicação, gostaria de salientar. Se seu aplicativo for o Websphere, por exemplo, você não pode simplesmente trazer todos os arquivos de configuração porque eles fazem referência ao nome do servidor.
precisa saber é o seguinte
4
O que você quer dizer com " trancado "? Essa é uma visão bastante clara do Windows. O problema usual com a cópia de um FS ativo no UNIX é que os arquivos mudam sob você enquanto estão sendo copiados.
MadHatter 23/08
1
... um problema que pode ser evitado com sistemas usando LVM usando instantâneos LVM para obter uma imagem consistente do dispositivo de bloco subjacente e duplicá-lo, em vez de executar operações de cópia no nível do sistema de arquivos.
Charles Duffy
17

Por que não converter os sistemas em execução em máquinas virtuais? A maioria dos hipervisores como VMware ou Hyper-V possui uma ferramenta para converter facilmente um sistema em execução em uma máquina virtual.

Você pode trabalhar com um sistema de não produção como desejar antes de fazer qualquer coisa em um servidor de produção.

Graças a @WernerCD

Vmware

Hyper-V

Dave M
fonte
Tenho medo de que tipo de modificação é fora do quadro ...
yhware
6
@ dK3 Acho que você não entendeu. Você não estaria modificando os servidores de produção (a menos que queira). Você instalaria uma pequena ferramenta em um dos servidores de produção para permitir que sua solução de VM "explore" e crie uma imagem dela. Você instala a solução VM na sua caixa de desenvolvimento e aponta para a imagem "convertida" do seu servidor prod. Então, se você não tem um ambiente de desenvolvimento, esta solução não é uma "mudança" ...
svidgen
2
Google P2VFísico para Virtual - VMware : my.vmware.com/web/vmware/evalcenter?p=converter - HyperV: social.technet.microsoft.com/wiki/contents/articles/… - Virtualize, faça backup, isole (por isso, se está apontando para um banco de dados de produção) e depois divirta
#
9

Isso pode ser feito?

Definitivamente sim. Copiei um servidor Linux inteiro simplesmente empacotando os arquivos tare extraí-los novamente no servidor de destino. A única ressalva que me lembro foi ter que lembrar de usar --numeric-ownerao extrair. Não posso falar por outros sistemas operacionais e outras ferramentas, mas imagino que seja possível com todos os principais sistemas operacionais.

Isso deveria ser feito?

Esta pergunta é um pouco mais complicada de responder. Não recomendo simplesmente a clonagem de um sistema de produção para fins de desenvolvimento. Pode muito bem conter muitos dados do usuário, além de materiais importantes, que você não deseja que estejam presentes nos sistemas de desenvolvimento.

Mas a clonagem do seu sistema de produção pode ser uma boa ideia para outros fins.

A abordagem que eu recomendaria para criar um clone do sistema de produção é restaurar do backup. Você pode evitar o impacto no desempenho do sistema de produção restaurando a partir de um backup e testando seu procedimento de restauração, o que é uma coisa boa.

É importante manter o clone restaurado do backup isolado do resto do mundo. Como foi restaurado a partir de um backup de um sistema de produção, ele pode conter trabalhos automatizados, que se comunicam com outros sistemas de produção e possui credenciais para fazê-lo.

Você poderia causar muito dano se o clone conseguisse se comunicar com sistemas de produção reais.

Mas se você o mantiver isolado, você terá a oportunidade de testar se o sistema restaurado funciona conforme o esperado. Além disso, esse sistema restaurado pode ser um ambiente útil para o último teste do novo código antes de ser implantado na produção. Esta pode ser sua única oportunidade de testar o código em dados reais do usuário, antes que ele esteja realmente em condições de interromper o sistema de produção.

Kasperd
fonte
1
a cópia de um sistema através de uma restauração de backup ... provavelmente o melhor porque realiza vários objetivos ...
Bart Silverstrim
1
Eu acrescentaria que montar um sistema de desenvolvimento do zero pode ser uma boa maneira de verificar a documentação do sistema. Se acontecer que a montagem de um servidor desse tipo não possa ser feita com a documentação disponível, você descobriu um problema que pode ser crítico para o sistema de produção (se você precisar migrá-lo ou instalar o sistema para outra filial, ou ocorrer um desastre recuperação).
SJuan76
6

Viabilidade

Claro, é possível, porque não é difícil "instalar" o Linux usando meios não convencionais. Você pode, por exemplo, replicar o servidor usando o rsync sobre SSH.

  1. Inicialize a máquina de destino em uma imagem de "resgate", seja usando um DVD da Red Hat, inicialização ao vivo do Ubuntu, Knoppix, qualquer que seja.
  2. Particione e formate a máquina de destino e monte os sistemas de arquivos em a /target.
  3. rsync todos os sistemas de arquivos relevantes sobre SSH (pular /proc, /sys, swap).
  4. Corrija /target/etc/fstab, especialmente se as partições forem referidas pelo UUID.
  5. Ajuste o nome do host e a configuração de rede, conforme apropriado.
  6. Instale o carregador de inicialização.

A etapa 3 pode consistir em várias passagens rsync, possivelmente auxiliadas por capturas instantâneas de LVM na máquina de origem, a última passagem com todos os serviços na máquina de origem interrompida para garantir a consistência dos dados.

Desejabilidade e melhores práticas

Só porque você pode, não significa que deveria. Eu recomendei o processo acima como uma maneira de fazer uma migração de data center. No entanto, seu caso de uso é bem diferente. O recurso à clonagem destaca algumas deficiências:

  • A virtualização seria uma boa capacidade de ter e facilitaria a replicação.
  • Você possui backups dos seus servidores de produção? Por que não apenas restaurá-los? Este seria um bom teste para o seu procedimento de restauração de backup.
  • Você tem documentação de como reproduzir tudo do zero? Eventualmente, você provavelmente precisará instalar do zero, talvez ao atualizar o sistema operacional. Isso seria uma boa validação para sua documentação.
  • Melhor ainda, você possui automação que ajuda a reproduzir sua configuração? Um script de shell pode funcionar; uma solução de gerenciamento de configuração como CFengine, Puppet, Chef ou Ansible seria ainda melhor.

Se você clonar cegamente o servidor de produção, perderá uma oportunidade valiosa de esclarecer exatamente o que está sendo executado nele.

200_success
fonte