Melhor maneira de clonar uma instalação (copiando para hardware idêntico)


53

Como essa pergunta, mas um pouco diferente (eu acho), na medida em que tenho 6 máquinas idênticas Acer Aspire Revo R3610. Uma é (quase) configurada para os meus requisitos - quando terminar de prepará-la, gostaria de tornar as outras 5 máquinas absolutamente iguais. Eu sou muito novo no Ubuntu, qual é a maneira mais direta (mais fácil) de fazer isso?

As máquinas viverão em redes diferentes se isso for um problema (por exemplo, com o Windows, você pode clonar discos, mas será necessário fazer alterações no registro depois, se elas forem executadas na mesma rede etc.). O hardware das 6 máquinas é o mesmo!

Como clonar com eficiência uma imagem de origem nessas máquinas idênticas?

Restrinja um software / solução por resposta

Respostas:


31

O Clonezilla parece adequado às suas necessidades


11
Totalmente a ferramenta certa para o trabalho. Minha mãe executa o 'Mumbuntu' e eu tiro uma foto do Acer Revo periodicamente usando o clonezilla e levo para casa para restaurar um Revo que possuo como backup. Funciona um prazer.
popey

7
Um benefício do uso de ferramentas como partimage e ntfsclone (que é o que o Clonezilla usa para criar a imagem de disco) é que eles entendem o sistema de arquivos subjacente em cada partição, o que lhes permite copiar apenas os blocos usados. Como o dd não possui essa funcionalidade, ele deve copiar todos os bytes da partição, independentemente de ser usado ou não.
Evan

11
Isso é péssimo. Falha ao clonar após dois dias de trabalho. Trava no alocado bitmap ... Use o Windows e o Acronis Trueimage
Olcay Ertaş

O DD não criará o CD de backup inicializável? Esse é o motivo do uso do CloneZilla?

@YumYumYum: ddfaz cópias de um arquivo / partição / unidade. Portanto, se você clonar um CD inicializável ( .isoimagem ou CDFSpartição), o resultado também será inicializável. Mas ddvou não "convertido" um determinado conjunto de pastas / arquivos para uma imagem de arranque.
MestreLion # 9/13

17

dd

Uma cópia de baixo nível usando dd seria suficiente!

Cuidado com endereços IP e nomes de host conflitantes.

Basicamente, coloque a unidade de origem e de destino na mesma máquina, inicialize em um CD ao vivo. E execute algo como o seguinte, onde /dev/sdaestá a origem e /dev/sdbo destino:

dd if=/dev/sda of=/dev/sdb bs=4096

Lembro-me dos operandos por:

if -> arquivo de entrada

of -> arquivo de saída

bs -> tamanho do bloco (quantos bytes devem ser lidos por vez)


3
Claro, por que não? = / Vi pessoas fazendo isso e vi pessoas não fazerem isso. Existe um guia de estilo em algum lugar para respostas?
Derek

se você tiver o IP dinâmico ativado, temporário antes de criar esse CD / USB inicializável / de backup. Não deve haver nenhum problema que eu acredite em IP conflitante. Desde que faça backup de A a Z, isso realmente importa para mim, por causa de muitos drivers que eu tinha.

2
Quão seguro é isso, considerando que qualquer chave pública / privada usada por, por exemplo, OpenSSH seria idêntica? O que precisamos mudar para manter o sistema seguro (diferente de onde não queremos que seja diferente)?
jos

? O que você quer dizer com run "algo como isto Estou positivo da sda e sdb, mas não entendo por que você escolheu esse bs.
SDsolar

3

Crie uma imagem usando o Remastersys , transfira-a para um pen drive usando o utilitário Startup Disk Creator e instale em outro sistema.


3

A maneira mais fácil de fazer isso é executar uma instalação simples do Ubuntu no seu disco rígido, instalar o VirtualBox e configurar uma máquina virtual do Ubuntu. Execute sua máquina virtual e configure essa instalação da maneira que desejar, com todos os avisos e avisos que desejar. Faça todo o seu trabalho e reprodução no computador virtual.

O VirtualBox mantém a máquina virtual como um grande arquivo de imagem de disco (.vdi) junto com alguns outros arquivos de configuração muito menores. Sempre que quiser fazer backup da sua máquina virtual, desligue-a e copie o diretório para o seu local de backup. Eu uso uma unidade externa do Passport para esse fim.

No momento, existe uma máquina virtual Windows 7 e Ubuntu 12 nessa unidade externa. Todas as atualizações, programas, arquivos pessoais, imagens, o que for, são salvas nessas máquinas virtuais. Um backup desse tipo é muito rápido, pois um grande arquivo de imagem de disco é transferido muito mais rapidamente do que um monte de arquivos individuais. Como o VirtualBox mantém os arquivos nesse formato o tempo todo, a máquina virtual é sempre configurada para backup.

Uma vantagem dessa configuração é que eu posso executar essas máquinas virtuais da unidade externa em qualquer computador com o VirtualBox instalado. Agora, em vez de carregar meu computador por toda parte, eu apenas trago minha unidade externa com Windows e Ubuntu, instale o VirtualBox no qualquer computador que eu pretenda usar (eu tenho todos os arquivos de instalação do VirtualBox também no meu hd externo - eles estão disponíveis para todos os principais sistemas operacionais) e estou pronto para usar. Posso copiar minha máquina virtual para o computador que estou usando ou simplesmente executá-la na unidade externa.

Se o seu computador travar e morrer em algum momento, quem se importa, basta pegar o disco de instalação do Ubuntu, instalá-lo em seu computador novo ou reparado, conectar sua unidade externa, instalar o VirtualBox e copiar suas máquinas virtuais de volta para o computador - problema resolvido com estresse mínimo, perda de tempo e perda de dados. A quantidade de dados que você perde depende da última vez que você fez o backup. Para mim, faço um novo backup sempre que faço uma alteração importante ou adiciono um programa difícil de obter. Apenas verifique se sua máquina virtual está funcionando normalmente quando você faz isso. Você não gostaria de copiar uma máquina corrompida por uma boa.

E não, eu não trabalho para o VirtualBox.


Adoro. Voto a favor. Eu poderia fazer isso na minha próxima máquina.
SDSolar 03/07/19


2

Eu pegava um computador do jeito que você queria e instalava o pacote openssh-server. Gere um par de chaves ssh com ssh-keygen -t rsa. Adicione a chave pública a /root/.ssh/authorized_keys2. Então eu inicializava os novos computadores com um CD ao vivo e conectava um pendrive com a chave privada ssh. Use gparted para criar uma nova partição. Em seguida, monte a nova partição e execute algo comosudo rsync -avzx -e "ssh -i /media/disk/path/to/privatekey" --exclude=".gvfs" root@<ImageComputerIP>:/ /path/to/new/partition/

Use o blkidcomando para encontrar o UUID do sistema de arquivos que você acabou de criar. Edite /path/to/new/partition/etc/fstabpara refletir o novo UUID (e o tipo de sistema de arquivos, se você usou um sistema de arquivos diferente.)

Depois, eu seguiria as instruções em https://help.ubuntu.com/community/Grub2/Installing#via_ChRoot sobre como instalar a partir de um chroot.

Uma versão simplificada dessa página (que não conta com lvm, raid de software ou bcache ou separa / inicializa como a página da wiki):

Monte os sistemas de arquivos virtuais críticos. Execute o seguinte como um único comando:

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

Faça chroot no seu dispositivo normal do sistema:

sudo chroot /mnt

Reinstale o GRUB 2 (substitua o dispositivo correto por sda, sdb, etc. Não especifique um número de partição):

grub-install /dev/sdX

Recrie o arquivo de menu do GRUB 2 (grub.cfg)

update-grub

Chroot de saída: CTRL-D no teclado

A propósito, isso também funciona bem para backup. O Ubuntu, ao contrário do Windows, parece não ter problemas para ser transplantado para um hardware diferente. Coloquei discos rígidos de um computador em outro e funcionou bem, copiei as instalações para um hardware diferente e funcionou bem.


Obrigado por isso - eu tenho outro em breve, vou tentar. Cheers
robsoft

O link referenciado atualmente não menciona chroot nem métodos. É por isso que é uma boa ideia citar partes relevantes de suas fontes.
Henno 30/01

@ Henno A página wiki foi movida. O problema de incluir a página é que o wiki se mantém atualizado com coisas novas, como o bcache, e apenas copiar o conteúdo da página perderá essas atualizações, mas a desvantagem de apenas vincular essas coisas pode mudar você. De qualquer forma, link atualizado e uma versão simplificada incluída.
Azendale 30/01


1

G4L

Ghost para Linux

O Ghost for Linux é uma ferramenta de imagem e clonagem de disco rígido e partição semelhante ao Norton Ghost (c) e (tm) da Symantec. As imagens criadas são opcionalmente compactadas e podem ser armazenadas em um disco rígido local ou transferidas para um servidor FTP anônimo. Uma unidade pode ser clonada usando a função Click'n'Clone. O g4l suporta a divisão de arquivos se o sistema de arquivos local não suportar a gravação de arquivos> 2 GB. O kernel incluído suporta unidades ATA, serial-ATA e SCSI. Placas de rede comuns são suportadas. É empacotado como uma imagem de CD inicializável com uma interface gráfica ncurses para facilitar o uso.


AMD. É exatamente isso que eu queria há séculos. Mesmo para Windows. TNX para o post. Vou dar uma olhada imediatamente.
SDSolar 03/07/19

1

Fsarchiver

Não sei por que ninguém mencionou isso. Isso é especialmente útil quando você deseja restaurar o conteúdo da partição em outro tipo de sistema de arquivos (por exemplo, restaurar o conteúdo ext4 para ext2 ou reiserfs) ou deseja restaurar para uma partição menor.

Eu usei e é muito fácil. Por exemplo, para clonar uma partição, digamos que /dev/sda1você use um comando como este

fsarchiver -A -j 2 -z 1 savefs /media/anwar/USB_Drive/myrootpartition /dev/sda1

A -Aopção permite copiar partições, mesmo que sejam usadas! Ótimo recurso!

-j 2diz para usar 2 núcleos de CPU para compactação. Útil para CPU multi-core e se você usar compressão

-z 1 define o nível de compactação.

Para restaurar o sistema de arquivos que você usou

fsarchiver restfs /data/myrootpartition.fsa id=0,dest=/dev/sda2

O id=0diz que você está restaurando o primeiro sistema de arquivos a partir do arquivo (Mesmo se você não salvou várias partições em um único arquivo, você precisa especificá-lo). E dest=/dev/sda2define o destino da restauração.


0

Eu faço muito isso, usando o rsync.

Primeiro, você pode executar o rsync para carregar todos os dados em um disco rígido externo (seu disco rígido externo deve estar no ext4 - eu uso isso, então eu sei que funciona): presumo que você tenha duas partições: / dev / sda1 (root) e / dev / sda2 (swap).

Execute no seu computador original:

sudo rsync -avuorpESHAX /* /your/hard/drive

Após copiar os dados, inicialize o seu próximo computador com um pendrive e formate o disco rígido interno como o disco rígido original.

Monte sua unidade externa /mnte copie os UUIDs de todas as partições. Edite os UUIDs das partições do novo computador e coloque os mesmos UUIDs que você copiou dos dados originais (está dentro /mnt/etc/fstab).

Encerre a troca:

sudo swapoff -a

Crie uma nova troca usando o UUID original, copiado de /mnt/etc/fstab:

sudo mkswap /dev/sda2 -U original-UUID

(Eu suponho que sua troca seja realizada /dev/sda2)

Em seguida, altere o UUID de /dev/sda1: (a partição deve ser desmontada para alterar os UUIDs)

sudo umount /mnt
sudo tune2fs /dev/sda1 -U old-UUID

Feito isso, monte a partição de destino:

sudo mount /dev/sda1 /mnt

Reverta o rsync para o destino:

sudo rsync -avuorpESHAX /media/your-backup /mnt

Reinstale o grub:

sudo grub-install --root-directory /mnt /dev/sda

Isso vai funcionar. Lembre-se de editar /etc/hostnamee /etc/hostsalterar o nome do host de cada máquina para evitar conflitos de rede.


-1

Nunca tendo passado por essa situação (não tenho centenas de servidores - sempre usei imagens de base), só posso lhe dar meu instinto.

Além disso, eu diria que o netboot é provavelmente a sua melhor aposta. Crie um servidor mestre, faça o que quiser e faça com que todas as outras máquinas inicializem e instalem a partir dele. As coisas de script que acontecem automaticamente (ala run-once) não devem ser muito difíceis. Você faz todas as coisas secundárias através do kickstart.

Mais (embora seja um pouco antigo): https://help.ubuntu.com/community/PXEInstallServer

Editar: existe um aplicativo chamado system-config-kickstartque deve ajudar a facilitar a geração do arquivo kickstart. YMMV.

texto alternativo


Tanto quanto sei, isso system-config-kickstarté feito especialmente para fedora.
Shaharia Azam

-1

Outra opção para instalações em massa é a abordagem Ubuntu Landscape / nuvem privada , onde você (basicamente) provisiona servidores dinamicamente com base em um conjunto de hardware. Coisas inteligentes.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.