[FUG-BR] RES: Replicar Instalação ...

Rafal Mentz Aquino fugspbr em bsdserver.com.br
Terça Agosto 5 08:33:45 BRT 2008


Pessoal, 

Eu uso dois métodos para duplicar um SO FreeBSD para qualquer tamanho
de HD, podendo inclusive alterar os tamanhos de partição, e depois
faço cópia "na mão grande".

Este script faz tudo: zera o HD, torna o MBR bootável, particiona
com FS UFS, cria as partições /, /var, /usr, /home, formata e copia
todo o HD onde ele está rodando no novo HD.

Adaptem como acharem melhor.

Acho que falta também um mtree por aqui pra ficar 100%...

Ah, usando o FreeSBIE com este script criei CD de restauração para
todos os meus servidores.

Abraços!


#!/bin/sh

. /etc/profile

# Inicia disco inteiro

TITLE="Instalacao"
disc=ad2 #Disco para onde o sistema será duplicado.
disc_after_install=ad0 #Poderá ser ad4, dependendo da conf. SATA da BIOS

rm /tmp/part*

dialog --title "$TITLE" --yesno "\nBem vindo ao sistema de instalacao
automatica\ndo sistema operacional Freebsd. Este insta
lador\ndispoe da versao `uname -r`. Deseja instalar o\nservidor?" 10 60 || exit 0

(dd count=128 < /dev/zero > /dev/${disc} )

fdisk -I $disc

disklabel -rw ${disc}s1 auto

setores=`disklabel -r ${disc}s1 | tr -s ' ' | \
  sed 's/^ //g' | grep '^c: ' | \
  cut -f2 -d' '`

tamanho=`expr $setores \/ 2 \/ 1024`

mkdir /var/tmp

# Tamanho das partições.
part_root=512
part_swap=512
part_var=2048
part_usr=5000


disklabel -r ${disc}s1 > /var/modelo

# Define numero de setores do disco:

b_raiz=`expr ${part_root} \* 1024 \* 2`
b_swap=`expr ${part_swap} \* 1024 \* 2`
b_var=`expr ${part_var} \* 1024 \* 2`
b_usr=`expr ${part_usr} \* 1024 \* 2`
b_home=`expr $setores \- $b_raiz \- $b_swap \- $b_var \- $b_usr`

off_var=`expr $b_raiz \+ $b_swap`
off_usr=`expr $b_raiz \+ $b_swap \+ $b_var`
off_home=`expr $b_raiz \+ $b_swap \+ $b_var \+ $b_usr`

cat <<% >> /var/modelo
a: $b_raiz 0 4.2BSD 0 0 0
b: $b_swap $b_raiz swap
d: $b_var $off_var 4.2BSD 0 0 0
e: $b_usr $off_usr 4.2BSD 0 0 0
f: $b_home $off_home 4.2BSD 0 0 0
%

# Cria as particoes no disco e seta o mesmo como bootavel

disklabel -R -B ${disc}s1 /var/modelo

sleep 1

# Gera os sistemas de arquivos...

for i in a d e f
do
  newfs /dev/${disc}s1${i}
done

tunefs -n enable /dev/${disc}s1d
tunefs -n enable /dev/${disc}s1e
tunefs -n enable /dev/${disc}s1f

# Monta o disco

for i in root var usr
do
  if ! [ -d /tmp/${i} ]
  then
    mkdir /tmp/${i}
  fi
done

mount /dev/${disc}s1a /tmp/root
mount /dev/${disc}s1d /tmp/var
mount /dev/${disc}s1e /tmp/usr


cd /

for i in `ls | grep -v rescue | grep -v var | grep -v usr | grep -v dev | grep
-v proc | grep -v tmp | grep -v home`
do
  cp -Rvp $i /tmp/root
done

for i in usr var dev tmp proc home
do
  if ! [ -d /tmp/root/${i} ]
  then
    mkdir /tmp/root/${i}
  fi
done

chmod 755 /tmp/root/usr
chmod 755 /tmp/root/var
chmod 755 /tmp/root/dev
chmod 755 /tmp/root/home
chmod 555 /tmp/root/proc
chmod 777 /tmp/root/tmp
chmod +t /tmp/root/tmp
cd /var
cp -Rvp * /tmp/var
cd /usr
cp -Rvp * /tmp/usr

echo "/dev/${disc_after_install}s1b none swap sw 0 0" > /tmp/root/etc/fstab
echo "/dev/${disc_after_install}s1a / ufs rw 1 1" >> /tmp/root/etc/fstab
echo "/dev/${disc_after_install}s1f /home ufs rw 2 2" >> /tmp/root/etc/fstab
echo "/dev/${disc_after_install}s1e /usr ufs rw 2 2" >> /tmp/root/etc/fstab
echo "/dev/${disc_after_install}s1d /var ufs rw 2 2" >> /tmp/root/etc/fstab
echo "/dev/acd0 /cdrom cd9660 ro,noauto 0 0" >> /tmp/root/etc/fstab

rm /tmp/usr/local/etc/rc.d/makeserver.sh

chmod 700 /tmp/usr/local/etc/rc.d/first.sh

dialog --title "$TITLE" --msgbox "Instalacao concluida!" 5 50

dialog --title "$TITLE" --msgbox "Pressione OK para reiniciar." 5 60

cd /

umount /tmp/root
umount /tmp/var
umount /tmp/usr

fastboot

--
Rafael Mentz Aquino
LK6 Soluções em TI
rafael at lk6.com.br
51 - 4063 - 6269
51 - 9999 - 7030


---------- Original Message -----------
From: "Jean Duarte - Cabral Sistemas" <sistemas at cabralreefer.com.br>
To: "Lista Brasileira de Discussão sobre FreeBSD \(FUG-BR\)" <freebsd at fug.com.br>
Sent: Mon, 4 Aug 2008 22:43:44 -0300
Subject: Re: [FUG-BR] RES: Replicar Instalação...

> Para evitar ficar muito grande, também podem tirar do tar o /usr/src 
> e /usr/ports
> 
> Eu aqui criei um tar separado do /usr/ports e mais do /usr/src. 
> Assim eu utilizo posteriormente caso necessário....
> 
> Atenciosamente
> Jean Duarte
> ----- Original Message ----- 
> From: "Alex Moura" <alexsm at gmail.com>
> To: " Lista Brasileira de Discussão sobre FreeBSD (FUG-BR) " 
> <freebsd at fug.com.br>
> Sent: Monday, August 04, 2008 10:38 PM
> Subject: Re: [FUG-BR] RES: Replicar Instalação...
> 
> tar --exclude "dir1" --exclude "dir2" -cvyf arq.tar.bz /
> 
> Se preferir compactar com gzip, basta trocar o "y" acima por "z".
> 
> On 04/08/2008, at 21:36, "Flávio Barros" <flaviobarros at gmail.com>
> wrote:
> 
> > Coloca ai a linha de comando do tar para compactar e excluir esses
> > diretórios.
> >
> > Abraços,
> >
> >
> > 2008/8/4 Jean Duarte - Cabral Sistemas <sistemas at cabralreefer.com.br>:
> >> Pessoal,
> >>
> >> Minha solução foi criando uma compactação tar de todo o
> >> servidor, excluindo
> >> apenas os diretórios,
> >> /dev /sys /tmp da compactação...
> >>
> >> Depois eu efetuo na própria maquina que vai receber o server uma i
> >> nstalação
> >> mínima do FreeBSD, com as partições corretas...
> >>
> >> Após a instalação Ok e revisão de todos drivers, etc.
> >>
> >> Fazer uma cópia do /etc/fstab original para um backup.
> >>
> >> Movo o arquivo tar de um server para o outro por FTP ou seja lá o
> >> que
> >> for....
> >>
> >> Efetuar um Boot em Single user, montar as partições...
> >>
> >> Descompactar o arquivo a partir da raiz...
> >>
> >> Copiar o /etc/fstab novamente para o local original !
> >>
> >> Reiniciar a maquina e tudo deve estar ok....
> >>
> >> Atenciosamente
> >> Jean Duarte
> >> ----- Original Message -----
> >> From: "Jean Everson Martina" <everson at inf.ufsc.br>
> >> To: ""Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)""
> >> <freebsd at fug.com.br>
> >> Sent: Friday, August 01, 2008 1:02 PM
> >> Subject: Re: [FUG-BR] RES: Replicar Instalação...
> >>
> >>
> >> Jean Duarte - Cabral Sistemas escreveu:
> >>> Jean Everson....
> >>>
> >>> Eu crio apenas uma única Partição no novo HD como /backup?
> >>
> >> Não necessariamente, voce pode fazer do jeito que quiser, so tem q
> >> lebrar de colocar as coisas coerentes no fstab
> >>
> >>>
> >>> Então ele vai copiar tudo para o /backup e depois como eu faço p
> >>> ara o
> >>> Fstab
> >>> do outro HD montar corretamente?
> >>
> >> Dependendo da estratégia nada. Se voce criar as partições na mesma
> >>  orde
> >> no disco novo voce não faz nada.
> >>
> >>> Como vou particionar posteriormente o disco e fazer o fstab achar os
> >>> /dev/a4s1a ... etc....
> >>>
> >>> o mkdir é:
> >>> mkdir /backup/dev
> >>> mkdir /backup/sys
> >>
> >>
> >> -------------------------
> >> Histórico: http://www.fug.com.br/historico/html/freebsd/
> >> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >>
> >
> >
> >
> > -- 
> > Desde já agradeço,
> > +++
> > Flávio de Oliveira Barros
> > Manaus - Amazonas - Brasil
> >
> > Copiar é bom!
> > Seja Legal
> > Use Software Livre
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> 
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Atualizado em 04/08/2008
> 
> --------------------------------------------------------------------------------
> 
> Internal Virus Database is out of date.
> Checked by AVG.
> Version: 8.0.100 / Virus Database: 270.5.7/1580 - Release Date: 
> 29/7/2008 
> 17:26
> 
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> 
> -- 
> Esta mensagem foi verificada pelo sistema de antivírus e
>  acredita-se estar livre de perigo.
------- End of Original Message -------


-- 
Esta mensagem foi verificada pelo sistema de antivírus e
 acredita-se estar livre de perigo.



Mais detalhes sobre a lista de discussão freebsd