Clonar particiones usando PerfectClone (Mini Proyecto)

Temas sobre proyectos de código abierto, su promoción, ayuda y todo lo necesario para mantenerlo trabajando.

Moderador: Luli

Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por hipersayan_x » Vie Abr 29, 2011 9:32 pm

Imagen

Este es un mini proyecto de fin de semana que tenia desde hace un tiempo.
Es un pequeño script en Bash con interfaz ncurses para clonar y restaurar particiones desde un LiveCD/USB (de GNU/Linux o BSD por ejemplo).
Quería hacer algo muy simple, al estilo del Norton Ghost.
Algunas de sus características más importantes son:
  • Es Software Libre (GPLv3).
  • Completamente escrito en Bash (A más personas les resultará fácil modificarlo y adaptarlo).
  • Muy fácil de usar, intuitiva y amigable gracias al uso de dialog.
  • Muy bajo consumo de recursos.
  • No requiere que el servidor gráfico esté activo (Corre completamente desde terminal).
Para usar PerfectClone simplemente descompriman y ejecuten ./perfect-clone.sh (se le pedirá privilegios de root).
Recomiendo usar Parted Magic como LiveCD/USB.
Hasta ahora sólo he probado clonar y restaurar GNU/Linux, y ha funcionado perfectamente.
Agradecería que alguien pruebe clonar y restaurar otros sistemas operativos (Windows, Mac, BSD, etc.), y que cuente como le fue :)

O sea, por si no se entendió, cuando tengan el sistema instalado configurado y funcionando bien, hacen la imagen de la partición del sistema, y cuando se les joda restauran la partición desde la imagen, fácil ¿no?

Tutorial completo en mi blog
Pagina del proyecto

Después voy a ir liberando otros mini scripts que tengo por ahí, antes de liberar el plato fuerte 8-)
Espero que les guste :)
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por mcun » Sab Abr 30, 2011 1:34 am

whow hipersayan_x se ve interesante ya tengo un candidato para que lo pruebe en windows luego veo si lo logra y que te cuente como le fue.

saludos
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809
Avatar de Usuario
Fanton
Forista Distinguido
Forista Distinguido
Mensajes: 1339
Registrado: Jue Ene 08, 2009 8:00 am
Ubicación: Magdalena [Argentina]
Contactar:

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por Fanton » Dom May 01, 2011 1:24 am

O_O excelente hipersayan_x, hace un tiempo que vengo probando clonar discos, asi que lo voy a probar ya que con algunos no me a ido muy bien e usado Parted Magic, en SystemRescue y otros pero se me fue de las manos asi que voy a ver como me va y te cuento. Buen aporte. Saludos
Diplomacia, es el arte de saber lo que no se debe decir...
_________________
Hardware: Intel i5-3570k | ASUS P8H77-M |HD [500GB] [1 TB] | Ram 8 GB | GPU: Nvidia GeForce 210/1 GB
S.O. Debian@testing x86_64 Openbox
Linux user #506272
Avatar de Usuario
artzneo
Forista Ancestral
Forista Ancestral
Mensajes: 3188
Registrado: Dom Feb 12, 2006 8:00 am
Ubicación: @artzneo mount /dev/mex /mnt/gdl
Contactar:

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por artzneo » Dom May 01, 2011 5:29 am

esta bueno :)
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por hipersayan_x » Lun May 02, 2011 8:43 pm

Gracias a todos! Después cuenten haber como les fue :)
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Avatar de Usuario
eldelantero
Forista Medio
Forista Medio
Mensajes: 308
Registrado: Dom Oct 10, 2010 6:15 am

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por eldelantero » Mié May 04, 2011 2:51 am

Bueno FELICITACIONES por el trabajo (y sobretodo por compartirlo!!)...

Como siempre yo y mis preguntas idiotas... ya descargue "perfect-clone-1.0.0.tar.gz", antes de todo quisiera saber "para que" y "cuando" necesito usar Parted Magic?? si en tu tutorial no me dice que lo abra NUNCA!!

Ah y otra pregunta (igual de idiota)... si clono la partición " / " de mi maquina y la restauro en otra maquina en su partición " / " ¿se cambiará su S.O? osea si la mia es Debian y en la que voy a restaurar mi clonación es Ubuntu... despues de restaurar ¿¿la maquina será Debian IGUALITA a la mía??

Saludos Cordiales.
Y disculpen las ridiculeses que pregunto.
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por hipersayan_x » Mié May 04, 2011 6:06 am

eldelantero escribió:Bueno FELICITACIONES por el trabajo (y sobretodo por compartirlo!!)...
Gracias! :D
eldelantero escribió:Como siempre yo y mis preguntas idiotas...
A mí no mer parecen preguntas "idiotas", PerfectClone es un programa nuevo y es lógico que tengas tus dudas.
eldelantero escribió: ya descargue "perfect-clone-1.0.0.tar.gz", antes de todo quisiera saber "para que" y "cuando" necesito usar Parted Magic?? si en tu tutorial no me dice que lo abra NUNCA!!
Haber, PerfectClone y en general cualquier sistema/método que tu uses para clonar/restaurar un el sistema, debe hacerse con el sistema operativo dormido, o sea no debes arrancar el sistema a clonar/restaurar, porque si lo haces, los archivos del sistema pueden cambiar durante el proceso de clonación/restauración, y por lo tanto no serviría la imagen.
Por lo tanto lo más recomendable es hacer/restaurar la imagen desde un LiveCD/USB.
El LiveCD/USB que quieras usar para el proceso corre por tu cuenta, es TU decisión.
Yo personalmente he hecho las pruebas desde un LiveCD de Parted Magic, y un LiveUSB de Kubuntu.
En el caso de Parted Magic ya trae todo lo necesario para usar PerfectClone, y en el caso de Kubuntu sólo hay que instalar el paquete dialog, y en ambos casos funciona perfectamente bien.
Pero yo personalmente elijo a Parted Magic por ser una distro diseñada especialmente para hacer mantenimiento de la computadora y porque ya trae todo lo necesario para ejecutar PerfectClone, pero cualquier otro sistema Live es perfectamente valido.
El procedimiento para usar PerfectClone es simplemente arrancar el LiveCD/USB (pej. Parted Magic), navegar hasta la carpeta perfect-clone y ejecutar ./perfect-clone.sh
También, si tienes varios sistemas operativos instalados en tu computadora, puedes clonar la partición de uno desde el otro, pero el sistema operativo desde donde hagas/restaures la imagen debe poder ejecutar los scripts de bash.
eldelantero escribió: Ah y otra pregunta (igual de idiota)... si clono la partición " / " de mi maquina y la restauro en otra maquina en su partición " / " ¿se cambiará su S.O? osea si la mia es Debian y en la que voy a restaurar mi clonación es Ubuntu... despues de restaurar ¿¿la maquina será Debian IGUALITA a la mía??
Si, peeeero... bajo ciertas condiciones:
  • La partición a partir de la cual creas la imagen y la partición a la cual restauras la imagen deben tener el mismo sistema de archivos, pej. que ambas sean ext4.
  • Si el sistema operativo a partir del que se genera la imagen utiliza UUID para montar las particiones, el sistema clon, muy probablemente no arrancará, por ello es recomendable que el sistema sea configurado para montar las particiones por nombre de dispositivo (pej. /dev/sda1) o por etiqueta (ambas particiones deben tener la misma etiqueta), vease fstab. PerfectClone no formatea la partición, simplemente borra todos los archivos dentro de la partición y luego descomprime los archivos que están dentro de la imagen sobre dicha partición, de esa forma su UUID nunca cambia.
  • En principio, la computadora original y la computadora clon deberían tener una configuración de hardware exactamente igual (o similar) o de lo contrario pueden surgir incompatibilidades del sistema clon con el harware y volverse inestable (pej. BSOD en Windows). Esto es completamente ajeno a PerfectClone y a cualquier otro programa de clonación.
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Avatar de Usuario
doc
Forista Ancestral
Forista Ancestral
Mensajes: 3301
Registrado: Mié Ago 11, 2010 10:32 am
Ubicación: Oviedo-es_ES
Contactar:

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por doc » Mié May 04, 2011 11:50 am

y otra pregunta tonta: ¿es muy difícil integrar al PerfectClone un sistema LiveUSB, de manera que arranques con él (por ejemplo con Unetbootin, o MultiSystem, y, automáticamente, o con un solo clic, se lance el script? (quiero decir ahorrar el tener que arrancar con el PartedMagic, o similar, y luego andar rebuscando la ruta del script para lanzarlo)

(como se hace, por ejemplo, con Clonezilla, solo que el PerfectClone me parece de manejo mucho más sencillo)
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por hipersayan_x » Mié May 04, 2011 5:22 pm

doc escribió:y otra pregunta tonta:
Nuevamente, a mí me parece una muy buena pregunta :?
doc escribió:¿es muy difícil integrar al PerfectClone un sistema LiveUSB, de manera que arranques con él (por ejemplo con Unetbootin, o MultiSystem, y, automáticamente, o con un solo clic, se lance el script? (quiero decir ahorrar el tener que arrancar con el PartedMagic, o similar, y luego andar rebuscando la ruta del script para lanzarlo)
Veamos, voy a explicar el caso específico para Parted Magic.

1) Creamos el paquete perfect-clone.txz para instalar en PM (hace un script, copia todo eso y después ejecuta):

Código: Seleccionar todo

wget --retry-connrefused -c "http://perfect-clone.googlecode.com/files/perfect-clone-1.0.0.tar.gz"
tar -xzvf perfect-clone-1.0.0.tar.gz

cd perfect-clone

mkdir -p usr/bin
mkdir -p usr/share/perfect-clone

mv -f perfect-clone.sh usr/bin/perfect-clone.sh
mv -f COPYING usr/share/perfect-clone/COPYING
mv -f README usr/share/perfect-clone/README
mv -f ctrt.sh usr/share/perfect-clone/ctrt.sh
mv -f locale usr/share/perfect-clone/locale
mv -f perfect-clone.pot usr/share/perfect-clone/perfect-clone.pot

tar -Jcvf ../perfect-clone.txz .

cd ..

rm -rf perfect-clone
2) Con Unetbootin creas el LiveUSB a partir de la iso, o también así.

3) Copias el archivo perfect-clone.txz al directorio pmagic/pmodules en tu usb.

Para más información, ver acá

4) Si querés crear un icono para lanzar el programa (una vez instalado), creas un archivo llamado PerfectClone.desktop y adentro copia esto:

Código: Seleccionar todo

[Desktop Entry]
Comment[es]=Partition Cloning Tool
Comment=Partition Cloning Tool
Exec=/usr/bin/perfect-clone.sh
GenericName[es]=Partition Cloning Tool
GenericName=Partition Cloning Tool
Icon=exec
MimeType=
Name[es]=PerfectClone
Name=PerfectClone
Path=
StartupNotify=true
Terminal=true
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=none
X-KDE-SubstituteUID=false
X-KDE-Username=
Si ya se, debería haber previsto estas cosas :P ya después lo voy a ir puliendo cuando tenga algo de tiempo.
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Avatar de Usuario
eldelantero
Forista Medio
Forista Medio
Mensajes: 308
Registrado: Dom Oct 10, 2010 6:15 am

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por eldelantero » Mié May 04, 2011 5:40 pm

Gracias por las respuestas Compadrito... suerte y sigue así... (para seguir aprendiendo nosotros!!) :-)
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por hipersayan_x » Jue May 05, 2011 12:32 am

Ya hice una prueba con Windows XP+NTFS, los resultados son:
  • No obtiene correctamente el nombre del sistema de de archivos ni su tamaño (aparecen como fuseblk y 0Gb respectivamente). Nada grave, las particiones se montan correctamente y la clonación/restauración se lleva acabo con normalidad, hay que arreglar la forma en que PerfectClone obtiene la información de las particiones.
  • Al bootear el sistema recién restaurado, los programas aparecen como recién instalados. Nada grave, aparentemente Windows XP (¿y todos sus sucesores?), toman la fecha de creación del archivo para determinar si el programa a sido recientemente instalado.
  • Posible fragmentación del sistema, y del archivo de imagen. Nada grave, simplemente hay que desfragmentar el sistema después de restaurar.
Como pueden apreciar a pesar de algunos muy pequeños inconvenientes, el proceso de clonación/restauración se lleva acabo correctamente :)
Ahora haría falta probar PerfectClone sobre (por lo menos) Windows Vista, Windows 7, Mac OS X y FreeBSD, ¿alguien se anima?
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Avatar de Usuario
Spooky
Forista Menor
Forista Menor
Mensajes: 84
Registrado: Jue Feb 24, 2011 4:20 am

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por Spooky » Vie May 06, 2011 12:45 am

Muy bueno el mini proyecto. Acabo de probarlo y la restauración no funciono en mi Archlinux.

Para empezar al iniciar perfect-clone este me muestra que la partición ext4 tiene 0 espacio :neutral:
Pero bueno me dispuse a clonar la partición y si clona todos los archivos, pero al final la imagen pesa solo 1gb siendo que la partición de ese sistema esta ocupando 3 gb.
Después procedí a "intentar" restaurar la imagen pero perfect clone se queda trabado en el 33% y parted magic también se traba.


Por lo tanto al intentar iniciar el sistema este no inicia pues aun faltan muchos archivos por restaurar, pero en fin lo bueno que lo hice en un sistema de pruebas :dance:
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por hipersayan_x » Vie May 06, 2011 1:44 am

Spooky escribió:Muy bueno el mini proyecto. Acabo de probarlo y la restauración no funciono en mi Archlinux.

Para empezar al iniciar perfect-clone este me muestra que la partición ext4 tiene 0 espacio :neutral:
Interezante, ¿que resultado te devuelve esto? (sobre parted magic)

Código: Seleccionar todo

parted -ms /dev/sdXY unit B print
y

Código: Seleccionar todo

df --portability --sync -T /dev/sdXY
Reemplaza /dev/sdXY por la partición a clonar.
Spooky escribió: Pero bueno me dispuse a clonar la partición y si clona todos los archivos, pero al final la imagen pesa solo 1gb siendo que la partición de ese sistema esta ocupando 3 gb.
Es lógico, estás comprimiendo todos los archivos que están en la partición, es normal.
Spooky escribió: Después procedí a "intentar" restaurar la imagen pero perfect clone se queda trabado en el 33% y parted magic también se traba.
Habría que ver durante cuanto tiempo se traba, talvez está descomprimiendo un archivo muy grande, ¿El led del disco está encendido durante ese tiempo?
Otra cosa, en el archivo perfect-clone.sh, aproximadamente linea 423, cambia:

Código: Seleccionar todo

tar --posix --preserve-permissions --preserve-order -zxvpf "$src_file" 2>/dev/null 1>"$file_list_tmp" &
por

Código: Seleccionar todo

tar --posix --preserve-permissions --preserve-order -zxvpf "$src_file" 2>~/archivo_error.txt 1>"$file_list_tmp" &
Hace la restauración, y reviza que errores te da en ~/archivo_error.txt
Spooky escribió: Por lo tanto al intentar iniciar el sistema este no inicia pues aun faltan muchos archivos por restaurar, pero en fin lo bueno que lo hice en un sistema de pruebas :dance:
Ufff, que suerte, sino me hubiera sentido culpable :o .
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Avatar de Usuario
Spooky
Forista Menor
Forista Menor
Mensajes: 84
Registrado: Jue Feb 24, 2011 4:20 am

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por Spooky » Vie May 06, 2011 3:01 am

Al hacer un:

Código: Seleccionar todo

parted -ms /dev/sdXY unit B print
Me arroja:

Código: Seleccionar todo

BYT;
/dev/sda3:32754032640B:unknown:512:512:loop:Unknown;
1:0B:32754032639B:32754032640B:ext4::;
Con este:

Código: Seleccionar todo

df --portability --sync -T /dev/sdXY
Me arroja:

Código: Seleccionar todo

Filesystem    Type 1024-blocks      Used Available Capacity Mounted on
-                -      384380      1240    383140       1% /dev
Habría que ver durante cuanto tiempo se traba, talvez está descomprimiendo un archivo muy grande, ¿El led del disco está encendido durante ese tiempo?
No el led del disco esta apagado, y de hechi la lectora no responde esto lo se por que hasta intente retirar el CD pero no pasa nada, tengo que apagar presionando el boton de mi CPU.

Hace la restauración, y reviza que errores te da en ~/archivo_error.txt
Intentando de nuevo...

Saludos
Avatar de Usuario
Spooky
Forista Menor
Forista Menor
Mensajes: 84
Registrado: Jue Feb 24, 2011 4:20 am

Re: Clonar particiones usando PerfectClone (Mini Proyecto)

Mensaje por Spooky » Vie May 06, 2011 3:54 am

No el problema es el mismo, se queda trabajo tanto perfect-clone como parted magic, y sobre el archivo_error no se guarda, pues como te dije el sistema se traba y tengo que forzar el apagado..
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje