Precisa de conselhos sobre a clonagem de disco rígido

1

O disco rígido principal do servidor my cent os tem muitos 'setores não corrigíveis off-line' e, portanto, estou planejando clonar o disco. Mas clonar a unidade inteira não é uma solução viável, pois é um servidor ao vivo com dados de 450G. Além disso, a unidade está respondendo lentamente.

Eu preciso encontrar uma solução que ajude a minimizar o tempo de inatividade. Eu tenho um plano para particionar outro disco mesmo que o primário. Então clone o mbr somente. rsync os dados em todas as partições. Em seguida, remova o disco principal e inicie a partir da segunda unidade.

Não tenho certeza se funciona. Por favor, deixe-me saber suas sugestões. Quaisquer soluções alternativas também são apreciadas.

Obrigado Ajo

    
por Ajo Augustine 10.05.2011 / 11:25

2 respostas

3

Em detalhes, assumindo:

- / dev / sda é o disco ativo e / dev / sdb é a substituição (você pode minimizar ainda mais o tempo de inatividade instalando o sdb em um gabinete / chassi USB e fazendo toda a formatação / sincronização por meio disso)
-sdb tem pelo menos o mesmo tamanho que sda

CERTIFIQUE-SE de revisar e ajustar. Eu estou fazendo isso sem nenhum conhecimento prévio de como suas partições são dispostas e quais são seus pontos de montagem, etc. Publicar sincronização de arquivos embaralhados etc. Será necessário. Preste muita atenção para a linha rsync, como eu estou assumindo / é sda1 e você quer em sdb1.

  
# copy over the mbr. This has the added benefit over sfdisk in that the
# bootloader is also cloned over  
dd if=/dev/sda of=/dev/sdb bs=512 count=1

#OPTIONAL: grow partition of sdbX, where X is the target partition number  
#parted /dev/sdb  
#(parted) print
#(parted) resize X 

# make the new filesystem(s) and mount  
for i in $(ls -1 /dev/sdb?);do mkfs.ext3 $i;done  
for i in $(ls -1 /dev/sdb? | cut -f3 -d"/");mkdir -p /mnt/$i;\
umount /dev/$i;mount /dev/$i /mnt/$i;done  

# start the sync. exclude stuff we don't need to save time/space.  
echo "+ /dev/console\n+ /dev/initctl\n+ /dev/null\n+ /dev/zero\n\n- /tmp/*\n- \
/proc/*\n- /dev/*\n- /sys/*\n- /tmp/*\n- /mnt/*\n- /media/*" >> /tmp/exclude.rsync.lst  
rsync -az --exclude-from=/tmp/exclude.rsync.lst /. /mnt/sdb1/.  

#INSERT POST-SYNC TWEAKINGS HERE. doublecheck file/path locations, etc.

Parabéns! feito. As partes importantes são a exclusão e certificando-se de que você tenha dd o mbr ANTES de modificar a tabela de partições.

    
por 10.05.2011 / 20:44
0

Eu acho que seu plano está ok, você também pode rsync primeiro para transferir todos os dados e, em seguida, fazê-lo novamente no final para sincronizar as alterações restantes que aconteceram durante o primeiro rsync. Eu fiz algo parecido quando estava substituindo um servidor antigo por um novo hardware e funcionou.

    
por 10.05.2011 / 11:47