Copie o host Linux para o novo hardware

13

Eu preciso fazer migrações de host para host do hardware antigo para o novo hardware. Especificamente, do HP BL460G7 ao HP BL460G8. Tanto os servidores antigos quanto os novos têm unidades de 2 x 600 GB de 2,5 "e estão configurados para RAID1. Posso pagar 30 minutos de inatividade por servidor.

Existem quatro servidores a serem migrados, o menor tem um total de 120 GB alocados em volumes lógicos e o maior tem 510 GB alocados. Três servidores estão executando o RHEL5 e um está executando o RHEL6.

Estive pensando em como fazer isso dentro do prazo especificado e sem destruir o SO e os dados críticos.

Meu único pensamento é este:

  • remova uma unidade do servidor antigo (o servidor está ativado)
  • remova as duas unidades do novo servidor (servidor desativado)
  • remova a unidade G7 do transportador e reserve
  • remova a unidade G8 do transportador e instale-o no transportador G7
  • instale a unidade G8 no caddy G7 no servidor antigo
  • aguarde o controlador RAID reconstruir a matriz RAID1
  • quando terminar o servidor antigo de desligamento
  • remova a unidade G8 no transportador G7
  • instale a unidade G8 no caddy G8 e insira-a no G8 (unidade única instalada)
  • servidor de inicialização G8
  • aguarde a inicialização do SO
  • quando o SO inicializar, insira a unidade restante
  • aguarde a reconstrução da matriz RAID

Isso soa sensato?

EDIT: O RHEL5 é RHEL5.10 e o RHEL6 é RHEL6.6

Eu também deveria ter notado que dois dos sistemas fazem parte de um cluster quente de quatro nós que quase replicam constantemente os "eventos" de aplicativos (parte de um sistema crítico de infraestrutura). Temos backups, mas apenas o usamos no caso de falha total do sistema.

Testes anteriores mostraram um "dd" máximo entre sistemas de cerca de 50 MBps, o que é muito lento.

EDIT: Eu iria contar com o kudzu para capturar e lidar com as alterações de hardware.

user1174838
fonte
Quais versões específicas do RHEL5 e RHEL6 estão sendo usadas?
ewwhite
Respondidas em editar
user1174838
Não tente instalar os discos G7 no servidor Gen8 - há mais alterações do que apenas a bandeja física.
Chopper3
A degradação intencional de um RAID com dados importantes não soa como um bom plano.
Kasperd #

Respostas:

18

Deve-se notar que pode haver outras etapas necessárias, dependendo da distribuição. Mais notavelmente os drivers (obrigado por apontar isso para @whwhite).

  1. Inicialize o novo servidor a partir do livecd / usb.
  2. Prepare partições e bootblock nas novas unidades.
    • Dependendo da configuração, isso pode ser feito copiando o MBR / bootblock.
  3. Faça os sistemas de arquivos.
  4. Faça um rsync do servidor antigo para o novo.
    • Você pode fazer isso novamente para ver quanto tempo o rsync de acompanhamento levará - se for menos de 30 minutos, continue.
    • Este é o momento, você pode realmente tentar, se o novo sistema inicializar. Apenas tome cuidado para não causar nenhum conflito de IP (ou outro).
  5. Encerre todos os serviços que gravariam no sistema de arquivos
    • De preferência, reinicie no livecd / usb
  6. Rsync dados do servidor antigo para novo novamente
  7. Reinicie o novo servidor e use-o

Fazendo dessa maneira, você ainda mantém o servidor original intacto; portanto, se algo der errado, haverá um caminho mais fácil. Mas isso requer algum conhecimento (grub / rsync / partitions), então eu sugiro fazer alguns trabalhos de preparação e testes com antecedência, antes de fazê-lo ao vivo.

Raposa
fonte
Na verdade, existem diferenças de driver entre as duas plataformas, por isso é importante saber quais versões menores do RHEL ele está usando.
ewwhite
Ah, sim, eu não deveria responder nada relacionado a distros empresariais ... desculpe por isso ... #
1818 Fox Fox
@ Fox: Não eliminado pela demanda popular. Sua resposta é boa.
Sven
1
@ user1174838 que não deve ser um obstáculo ... o único problema que eu vejo é uma quantidade muito grande de arquivos pequenos.
Fox
1
E, não se esqueça dessa solução maravilhosa, que o rsync duplo minimiza o tempo de inatividade do servidor: como a maioria dos dados é transferida no servidor em execução, o segundo rsync (no servidor agora fora de serviço) copia apenas o últimas diferenças.
peterh - Restabelece Monica
6

Duas coisas:

  • Eu criaria dados novos e rsync.
  • Sua colocação / janela de tempo de inatividade parece muito curta. 30 minutos podem funcionar em situações específicas, mas VOCÊ não deveria ditar o requisito realista de tempo de inatividade com base no que é necessário para realizar o trabalho?

Dependendo dos dados contidos em cada servidor, da quantidade de rotatividade de dados e do esquema de provisionamento, pode fazer sentido instalar o SO necessário no novo Gen8 ProLiant e sincronizar as configurações e outras partes de dados em um ponto em que você pode desativar o dados.

Talvez faça uma cópia inicial e deduza seu requisito de tempo de inatividade da quantidade de tempo que leva para selecionar as alterações do arquivo nos rsyncs subsequentes. Se você precisar acelerar o processo de transferência ou possuir muitos arquivos pequenos, existem técnicas que podem ajudá-lo .

Eu faço esses tipos de transições frequentemente. Em instalações Linux semelhantes, você raramente precisa de mais do que uma lista de pacotes precisa (facilmente obtida via Yum ou RPM), os diretórios de configuração (por exemplo /etc) e suas partições de dados. Se você ainda não possui um sistema de provisionamento de kickstart, pode aproveitar o /root/anaconda-ks.cfgarquivo para ter uma idéia de como o sistema G7 foi construído.

Para responder sua pergunta sobre simplesmente mover os discos, com base nas versões específicas do RHEL mencionadas, isso é absolutamente possível. Você pode mover os discos / caddies e os metadados do HP Smart Array são compatíveis entre os controladores P410 e P420 que podem estar em seus sistemas. No entanto, eu não faria isso sem atualizar completamente o firmware das unidades e componentes no novo sistema.

ewwhite
fonte
Alguns comentários muito bons neste tópico, obrigado a todos. Vou voltar para o PM e solicitar uma janela de alteração maior.
User1174838
1

Se a sua versão anterior do sistema operacional é capaz de lidar com o novo hardware (principalmente o controlador RAID), você pode tentar o CloneZilla .

Para verificar se é possível passar de um hardware para outro, você passa todos os dados do servidor antigo para o novo, executando alguns truques com o dd.

Inicialize o novo servidor com uma distribuição ao vivo como SystemRescueCD , configure com um endereço IP e um comando dd como este:

nc -l 8000 | dd of=/dev/sda

No servidor atual, execute

dd if=/dev/sda | nc ${newserverip} 8000

Isso fará uma cópia bruta do / dev / sda do seu servidor para o novo servidor / dev / sda. Dessa forma, você pode executar um teste sem tempo de inatividade no servidor original e correndo quase zero riscos.

alphamikevictor
fonte
2
Se você deixar processos em execução no servidor antigo que gravam em arquivos no disco antigo, especialmente servidores de banco de dados e similares, é muito provável que isso o deixe com um sistema de arquivos corrompido (copiado) e dados corrompidos nos arquivos (copiados). Nunca dd um disco bruto, a menos que seja desmontado ou montado como somente leitura.
Guntram Blohm apoia Monica
@GuntramBlohm Eu sei, é apenas para verificar se você é capaz de clonar o servidor antigo para novo, sem tempo de donw. Após o teste, você pode clonar o servidor, é claro, desligando-o ou interrompendo os principais serviços.
Alphamikevictor
O CloneZilla e as técnicas relacionadas levarão mais de 30 minutos para copiar os dados entre os sistemas.
user1174838
0

O gerente de projeto negou minha solicitação de uma janela de interrupção maior.

O procedimento proposto descrito na pergunta funcionou bem nos testes. O tempo de inatividade foi inferior a 20 minutos. Eu usei o utilitário hpacucli para monitorar o progresso no G7 e depois no Gen8, foi muito útil para isso.

Ainda não fiz isso com raiva, mas, como afirmado, isso funcionou bem nos testes do RHEL 5.10 nos BL460G7 a BL460 Gen8.

Eu não atualizei o firmware.

A ressincronização RAID1 inicial no G7 levou um pouco mais de uma hora. A ressincronização no Gen8 levou menos de 50 minutos. Isso me preocupou, mas não consegui encontrar nenhum problema.

Obrigado novamente por todos os comentários e sugestões úteis.

user1174838
fonte