Restaurar Servidor Gentoo desde un stage4 - Arrancar la maquina con el LiveCD Cuando arranque preguntara por el kernel a usar, por ejemplo: Gentoo Linux Installation LiveCd http://www.gentoo.org/ Enter to boot; F1 for kernels F2 for options. boot: Despues de "boot:" hay que teclear: gentoo dolvm2, de manera que quede asi: boot: gentoo dolvm2 Y precionar Enter para que arranque el sistema. esperar a que el prompt este asi: livecd root # Configurar la interfaz de red: # net-setup eth0 Para seguir la instalacion de manera remota: Cambiar contraseña de el usaurio root: # passwd root Iniciar el servicio sshd para manejo remoto: # /etc/init.d/sshd start Crear las particiones iniciales: - Crear la tabla de particiones Si se tiene un respaldo de la tabla de particiones, entonces hacer la restauracion desde ese respaldo si no entonces crearlas manualmente con cfdisk, ver apendice para erspaldar tabla particione. 1 - Con respaldo de tabla de particiones USAR SFDISK Asumiendo que anteriormente se guardo la informacion de el MBR como: hostname-mbr.backup Y la tabla de particiones como hostname-partitions.backup Entonces lo restauraremos asi: # dd if=hostname-hda-mbr.backup of=/dev/hda # sfdisk /dev/hda < hostname-hda-partitions.backup 2 - Manualmente con cfdisk NOTA: El esquema de particiones se encuentra en el documento de installacion de cada servidor. # cfdisk /dev/hda - Crear sistema de archivos para las particiones: - Formatear la particion para /boot # mke2fs /dev/hda1 - Formatear la particion para / # mke2fs -j /dev/hda3 Configurar y activar particion swap: # mkswap /dev/hda2 # swapon /dev/hda2 Montar particiones base: # mount /dev/hda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount -t ext2 /dev/hda1 /mnt/gentoo/boot - Formatear la particion para /usr # mke2fs -j /dev/hda5 - Formatear la particion para /var # mke2fs -j /dev/hda6 - Formatear la particion para /tmp # mke2fs -j /dev/hda7 - Formatear la particion para /home # mke2fs -j /dev/hda8 - Crear los puntos de montaje y montar las demas particiones: # mkdir /mnt/gentoo/usr # mount /dev/hda5 /mnt/gentoo/usr # mkdir /mnt/gentoo/var # mount /dev/hda6 /mnt/gentoo/var # mkdir /mnt/gentoo/tmp # mount /dev/hda7 /mnt/gentoo/tmp # mkdir /mnt/gentoo/home # mount /dev/hda8 /mnt/gentoo/home - Comprobar que todo este montado correctamente: # mount tmpfs on / type tmpfs (rw) /dev/cdroms/cdrom0 on /mnt/cdrom type iso9660 (ro) /dev/loop/0 on /mnt/livecd type squashfs (ro) proc on /proc type proc (rw,nodiratime) sysfs on /sys type sysfs (rw) udev on /dev type tmpfs (rw,nosuid) devpts on /dev/pts type devpts (rw) cachedir on /mnt/livecd/lib/splash/cache type tmpfs (rw) tmpfs on /lib/firmware type tmpfs (rw) tmpfs on /usr/portage type tmpfs (rw) /dev/hda3 on /mnt/gentoo type ext3 (rw) /dev/hda1 on /mnt/gentoo/boot type ext2 (rw) /dev/hda5 on /mnt/gentoo/usr type ext3 (rw) /dev/hda6 on /mnt/gentoo/var type ext3 (rw) /dev/hda7 on /mnt/gentoo/tmp type ext3 (rw) /dev/hda8 on /mnt/gentoo/home type ext3 (rw) Como podemos ver todas las particiones estan montadas en su respectivo punto de montaje bajo /mnt/gentoo y estan en modo (rw) (read,write). - Ahora copiar el archivo de el stage4 correspondiente al servidor a restaurar y copiarlo a /mnt/gentoo/ - Desempaquetar el stage4 en /mnt/gentoo # cd /mnt/gentoo # tar -xvjpf servername-stage4-31.03.2006-minimal.tar.bz2 - Puesto que en el respaldo exluimos el directorio /dev, necesitamos crear dos dispositivos nodos necesarios para que incie el sistema. # mknod -m 660 /mnt/gentoo/dev/console c 5 1 # mknod -m 660 /mnt/gentoo/dev/null c 1 3 - Montar /dev y /proc dentro de el chroot: # mount -o bind /dev /mnt/gentoo/dev # mount -t proc none /mnt/gentoo/proc - Entrar al chroot dentro de /mnt/gentoo # chroot /mnt/gentoo /bin/bash # /usr/sbin/env-update # source /etc/profile - Revisar que la configuracion de los siguientes archivos sea correcta: - /boot/grub/grub.conf - /etc/fstab Si no se restauro la informacion de el MBR con un respaldo entonces instalar grub en el MBR manualmente: - Instalar grub en el MBR: # grub-install /dev/hda Si no funciona hacerlo manual: En la consola teclear: # grub Probing devices to guess BIOS drives. This may take a long time. [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub> root (hd0,0) Filesystem type is ext2fs, partition type 0x83 grub> setup (hd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded. succeeded Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded Done. grub> quit Salir del chroot: # exit Preparar para desmontar particiones: # cd / # umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo/usr /mnt/gentoo/home /mnt/gentoo/tmp /mnt/gentoo/var /mnt/gentoo Reiniciar y cruzar los dedos: # reboot Reiniciar Despues de que haya iniciado el ssitema correctamente se recomienda tambien sincronizar el arbol de portage ya que en el respaldo se exluyo /usr/portage/ por lo que se recomienta hacer: # cd /usr/portage # rsync -avz -vP --rsh=/usr/bin/ssh root@local-mirror:/usr/portage/* . Despues hacer una sincronizacion con el mirror: # emerge --sync APENDICE: Respaldando tu tabla de particiones y el MBR: - Respaldar el MBR de /dev/hda: # dd if=/dev/hda of=hostname-hda-mbr.backup count=1 bs=512 Este comando copia el MBR de /dev/hda y lo guarda como hostname-mbr.backup, le agregamos el hostname ya que mantendremos respaldos para varios sistemas. Para restaurarlo hacemos: # dd if=hostname-hda-mbr.backup of=/dev/hda - Respaldar tabla de particiones de /dev/hda sfdisk es un pequeño programa que te permite guardar tu tabla de particiones. Si borras una particion accidentalmente, puedes tratar de restaurar la tabla de particiones. El respaldo es hecho en un archivo. Por supuesto, debes de mantener este archivo en un medio removible (como un disquete), o en otra computadora. Si tu disco duro esta dañado, no seras capaza de leer el respaldo de el disco! Este comando te permite respaldar la tabla de particiones completa de tu disco HDA: # sfdisk -d /dev/hda > hostname-hda-partitions.backup Ahora, este comando te permite hacer la restauracion desde el archivo: # sfdisk /dev/hda < hostname-hda-partitions.backup Por supuesto, este comando es muy peligroso, porque sobreescribira la tabla de particiones existente !!! Antes e restaurar, debes de respaldar la version actual, aun si parece estar dañada. Esto te permitira deshacer la restauracion.