Clonezilla parece adequado às suas necessidades
Tipo como esta questão , mas ligeiramente diferente (eu acho), em que eu tenho 6 máquinas idênticas Acer Aspire Revo R3610. Um deles é (quase) configurado para meus requisitos - quando eu terminar de prepará-lo, eu gostaria de fazer as outras 5 máquinas absolutamente iguais. Eu sou muito novo no Ubuntu, qual é a maneira mais simples (mais fácil) de fazer isso?
As máquinas vão viver em redes diferentes se isso poderia ser um problema (por exemplo, com o Windows você pode clonar discos, mas você tem que fazer alterações no registro depois, se eles vão rodar na mesma rede, etc). O hardware em todas as 6 máquinas é, eu enfatizo, o mesmo!
Como posso clonar com eficiência uma imagem de origem nessas máquinas idênticas?
Por favor, restrinja um software / solução por resposta
Clonezilla parece adequado às suas necessidades
Uma cópia de baixo nível usando dd faria o truque!
Cuidado com endereços IP e nomes de host conflitantes.
Basicamente coloque a unidade de origem e a unidade de destino na mesma máquina, inicialize em um CD ao vivo. E execute algo como o seguinte, em que /dev/sda
é a origem e /dev/sdb
é o destino:
dd if=/dev/sda of=/dev/sdb bs=4096
Eu lembro dos operandos por:
if
- > arquivo de entrada
of
- > arquivo de saída
bs
- > tamanho do bloco (quantos bytes para ler por vez)
Crie uma imagem usando Remastersys , transfira-a para um pen drive usando o Utilitário Startup Disk Creator e instalado em outro sistema.
A maneira mais fácil de fazer isso é executar a instalação 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 exatamente como você quer com todos os sinos e assobios que você deseja. Faça todo o seu trabalho e jogando 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 você quiser fazer backup da sua máquina virtual, basta desligá-la e copiar seu diretório para o local de backup. Eu uso uma unidade externa do Passport para essa finalidade.
Neste momento, existe tanto uma máquina virtual do Windows 7 quanto uma do Ubuntu 12 nessa unidade externa. Todas as atualizações do sistema, programas, arquivos pessoais, imagens, qualquer coisa, são salvos nessas máquinas virtuais. Um backup desse tipo é muito rápido, já que um grande arquivo de imagem de disco será transferido muito mais rápido do que seria o caso de vários arquivos individuais. Como o VirtualBox mantém os arquivos nesse formato o tempo todo, a máquina virtual está sempre configurada para fazer o backup.
Uma vantagem dessa configuração é que eu posso rodar essas máquinas virtuais na unidade externa de qualquer computador com o VirtualBox instalado, então agora, em vez de carregar meu computador por aí, eu trago minha unidade externa com o Windows e o Ubuntu, Instale o VirtualBox em qualquer computador que eu planeje 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 começar. Eu posso copiar minha máquina virtual para o computador que estou usando ou apenas executá-la fora da unidade externa.
Se o computador travar e morrer em algum momento, quem se importa, basta pegar o disco de instalação do Ubuntu, instalá-lo no computador novo ou consertado, conectar sua unidade externa, instalar o VirtualBox e copiar suas máquinas virtuais de volta para seu computador - problema resolvido com o mínimo de estresse, perda de tempo e perda de dados. Quanto de dados você perde depende de quando você fez o backup pela última vez. Para mim, eu faço um novo backup sempre que faço uma grande mudança ou adiciono um programa difícil de conseguir. Apenas certifique-se de que sua máquina virtual esteja funcionando normalmente quando você fizer isso. Você não gostaria de copiar uma máquina corrompida por uma boa.
E não, eu não trabalho no VirtualBox.
Gostaria de obter um computador todo o caminho que você deseja, e instalar o pacote openssh-server. Gere um par de chaves ssh com ssh-keygen -t rsa
. Adicione a chave pública para /root/.ssh/authorized_keys2. Então eu iria inicializar os novos computadores com um live cd e conectar um pendrive com a chave privada ssh. Use o gparted para criar uma nova partição. Em seguida, monte a nova partição e execute algo como sudo rsync -avzx -e "ssh -i /media/disk/path/to/privatekey" --exclude=".gvfs" root@<ImageComputerIP>:/ /path/to/new/partition/
Use o comando blkid
para encontrar o UUID do sistema de arquivos que você acabou de criar. Edite o /path/to/new/partition/etc/fstab
para refletir o novo UUID (e o tipo de sistema de arquivos, se você usou um sistema de arquivos diferente).
Então, eu seguiria as instruções no link sobre como instalar a partir de um chroot.
Uma versão simplificada da página (que não conta para lvm, raid de software ou bcache, ou separada / boot como a página wiki faz):
% bl0ck_qu0te%for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
% bl0ck_qu0te%
sudo chroot /mnt
% bl0ck_qu0te%
grub-install /dev/sdX
% bl0ck_qu0te%
update-grub
% bl0ck_qu0te%
Aliás, isso funciona bem para o backup também. O Ubuntu, ao contrário do Windows, parece não ter problemas em ser transplantado para um hardware diferente. Eu coloquei discos rígidos de um computador em outro e tudo correu bem, e eu já copiei instalações para um hardware diferente e não deu certo.
Eu uso ddrescue
exatamente para essa tarefa. Ele funciona perfeitamente. Super simples.
Ghost para Linux
O Ghost for Linux é uma ferramenta de imagem e clonagem de disco rígido e de 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. Um drive pode ser clonado usando a função Click'n'Clone. O g4l suporta a divisão de arquivos se o sistema de arquivos local não suportar gravação de arquivos > 2GB. O kernel incluído suporta unidades ATA, serial-ATA e SCSI. Placas de rede comuns são suportadas. Ele é empacotado como uma imagem de CD inicializável com uma GUI ncurses para fácil uso.
Eu não sei porque 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, restaurando 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/sda1
você usa um comando como este
fsarchiver -A -j 2 -z 1 savefs /media/anwar/USB_Drive/myrootpartition /dev/sda1
A opção -A
permite que você copie a partição mesmo se ela for usada! Ótimo recurso!
-j 2
diz usar 2 núcleos de CPU para compactação. Útil para CPU com vários núcleos e se você usar compactação
-z 1
define o nível de compactação.
Para restaurar o sistema de arquivos usado
fsarchiver restfs /data/myrootpartition.fsa id=0,dest=/dev/sda2
O id=0
diz que você está restaurando o primeiro sistema de arquivos do archive (mesmo que você não tenha salvo várias partições em um único arquivo, é necessário especificá-lo). E dest=/dev/sda2
define o destino da restauração.
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 sei que funciona): Eu suponho que você tenha duas partições: / dev / sda1 (root) e / dev / sda2 (swap).
Execute no seu computador original:
sudo rsync -avuorpESHAX /* /your/hard/drive
Depois de copiar os dados, inicialize seu próximo computador com um pendrive e formate o disco rígido interno como o disco rígido original.
Monte sua unidade externa em /mnt
e 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á em /mnt/etc/fstab
).
Encerre a troca:
sudo swapoff -a
Crie um novo swap usando o UUID original, copiado de /mnt/etc/fstab
:
sudo mkswap /dev/sda2 -U original-UUID
(suponho que seu swap esteja em /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
Reverse rsync para o destino:
sudo rsync -avuorpESHAX /media/your-backup /mnt
Reinstale o grub:
sudo grub-install --root-directory /mnt /dev/sda
Isso funcionará.
Lembre-se de editar /etc/hostname
e /etc/hosts
para alterar o nome do host de cada máquina para evitar conflitos de rede.
Nunca tendo estado nessa situação (eu não tenho centenas de servidores - eu sempre usei imagens de base), eu só posso dar a você meu instinto.
Além disso, eu diria que o netboot é provavelmente sua melhor aposta. Crie um servidor mestre, faça-o fazendo o que você quer e, em seguida, faça com que todas as outras máquinas sejam inicializadas e instaladas a partir dele. Script de coisas para acontecer automaticamente (ala run uma vez) não deve ser muito difícil. Você faz todas as coisas secundárias através do kickstart.
Mais (embora seja um pouco antigo): link
Edit: Existe um aplicativo chamado system-config-kickstart
que deve ajudar a tornar o arquivo de kickstart um pouco mais fácil. YMMV.
Outra opção para instalação em massa é a abordagem Nuvem do Outlook / nuvem privada onde você (basicamente) provisiona servidores dinamicamente com base em um pool de hardware. Coisas inteligentes.