jueves, 17 de mayo de 2018

Clonación desde discos grandes a más pequeños con Clonezilla

                                                         (P) Hugo Napoli, 2018                                                       

Es sabido que la clonación de unidades de almacenamiento (método por el cual puede ser "replicada" de manera exacta la información digital), es realizada, en general, de 2 maneras: 
  • desde una unidad "más pequeña" hacia otra "mayor" (1)
  • entre unidades de igual "tamaño".
(1) por ejemplo, desde un disco de 500 GB hacia otro de 1000 GB.

¿Por qué?

En este caso, cuando estamos clonando discos (o también unidades de almacenamiento que no sean exactamente discos, tales como unidades de estado sólido), resulta lógico pensar en que la información ocupa cierto espacio, y que ese espacio no puede volcarse (clonarse, replicarse) en un "lugar" más pequeño que el que la misma ocupa (ver nota "1").


En la imagen superior, intento explicar de manera gráfica lo que sucede cuando intentamos guardar algo en un contenedor más pequeño...

Ahora, bien... ¿Qué sucede si en un disco de 1000 GB poseo 200 GB de información, y quiero clonarlo en uno de 500 GB?

Los programas de clonación, tales como Clonezilla, no "se fijan" en los 200 GB de información contenida dentro de una unidad, sino en el "tamaño" o capacidad de la unidad entera, es decir, 1000 GB. Poco importa si dicha unidad posee 100, 300, 600 o 1000 GB de información dentro de ella.
Por lo tanto, la ecuación es simple: no se pueden volcar 1000 GB en un espacio en donde quepan tan solo 500, tal como no puede agruparse a 50 personas en un lugar en donde quepa un máximo de 20.

Si para que pueda clonarse, copiarse, trasegarse la información -mediante el clonado- de un lugar a otro de manera correcta, Clonezilla (y cómootros programas por el estilo) poseen rutinas y configuraciones de control que "le advierten" cuando se intenta clonar una unidad en otra más pequeña... ¿Qué sucedería si anuláramos esas configuraciones y rutinas?

Pueden ocurrir solamente 2 cosas:
  • una clonación fallida,
  • una clonación "desatendida", "no vigilada" (o no parametrada) que puede llegar al éxito.
Clonezilla permite configurar absolutamente cada paso que da al clonar, siendo este un software de lujo que se consigue sin dinero... ¿No es maravilloso?

Si sabemos qué parámetros "silenciar" u obviar en Clonezilla, es altamente probable que una clonación "de disco grande a disco pequeño" funcione 100% bien.

Veamos qué hacer.


1. En primer lugar, he de aclarar que intenté iniciar Clonezilla tanto en modo UEFI ("moderno") para estructuras lógicas para GPT, como en modo MS-DOS para discos con estructuras para MBR (compatible/"legacy"), obteniéndose como único posible resultado el modo UEFI para tablas GPT.

De modo que lo primero que haremos -sin importar si nuestro disco está estructurado lógicamente bajo estándares MS-DOS (MBR) o GPT (UEFI)-, será iniciar Clonezilla en modo UEFI.


2. Luego de esto, Clonezilla nos permitirá realizar las siguientes configuraciones:

  • idioma,
  • mapa de teclado.

Esto no influirá demasiado en lo que haremos ahora, por lo tanto, puedes simplemente dar Enter 2 veces y continuar. En lo personal, elijo siempre el idioma español, y para el mapa de teclado, acepto la configuración por defecto -la cual no corresponde al teclado en nuestro idioma, pero en este caso eso no es gravitante-.

El paso que sigue a estas configuraciones, es simplemente iniciar Clonezilla. Es lo que haremos.

3. Modo de clonación.

De todas las opciones que nos brinda este programa, he elegido la primera: device-image (Disco/Partición a/desde Imagen). Con esta opción es que he realizado esta experiencia, y por lo tanto, también este artículo.

4. Destino.

La imagen de un ordenador con disco de 1 TB (1000 GB) ya fue realizada con anterioridad. Aquí estamos volcándola en un medio más pequeño, de 1/2 TB (500 GB).
Por eso es que el destino es el disco interno del ordenador, y el origen será, en el próximo paso, una unidad externa USB de casi 700 GB de capacidad.

Nuevamente, entonces, de todas las opciones posibles, he vuelto a usar la primera de ellas: local_dev (Usar dispositivo local...).
Esto es para indicar a Clonezilla cuál de las unidades internas de almacenamiento es la que estará involucrada en el proceso de clonación, en caso de existir más de una.
En esta oportunidad, existe solo un disco interno, por lo tanto, aparece solo esa unidad, la cual podemos ver que es de 500 GB:


5. Origen.

Según lo explicado en el paso 4, será elegido en este punto un disco externo USB 3 de 694,7 GB como origen. Aquí es donde se encuentra la imagen de software previamente realizada.


Es lo que se explicaba al principio: estamos clonando una imagen de software realizada con Clonezilla de alrededor de unos 40 GB, contenida en un disco de unos 700 GB, cuyo destino es uno de 500 GB...
Pero, lo más importante, ¡es que esa imagen de software, fue tomada de un disco de 1 TB!
Es decir que por más que "pese" 40 GB, al desplegarse en la unidad de destino, buscará hallar un disco del doble del tamaño que el que estamos utilizando...

6. Vista y comprobación de la unidad de origen: vemos cómo Clonezilla nos muestra el contenido de la unidad USB externa previamente elegida.


7. Modo.

En este momento, debemos seleccionar el modo (principiante o experto).
Elegiremos la 2a opción: modo experto.

8. Ahora elegiremos "restoredisk" (Restaurar_imagen_a_disco_local).

9. Selección de la imagen de software a volcar en la unidad de destino.


Como puede apreciarse, estamos seleccionando, de entre todas, la imagen ETPC (Escuela Técnica Paso Carrasco), de 2SO (2 Sistemas Operativos), 1TB (tomada de un disco de 1 TeraByte), el 7/5/2018 a las 17 horas, detectada por Clonezilla como de imagen de software de 1000 GB.

10. Visualización y confirmación de unidad de destino:


Se aprecia claramente que el disco de destino es de 500 GB, siendo la imagen de software (ver punto 9) del doble de tamaño que el "recipiente".

     11. Lo más importante.     

Es aquí en donde debemos indicar a Clonezilla qué hacer, para que el proceso no sea automático y con opciones predefinidas para la mayoría de los casos, y termine fallando.

Para una clonación efectiva de disco "grande" a disco "chico", debemos marcar solamente las siguientes 6 opciones, y desmarcar el resto, de ser necesario:

  1. -g auto
  2. -e1 auto
  3. -e2
  4. -c
  5. -icds
  6. -j2

  • 1: sirve para reinstalar el cargador de arranque por defecto en gran cantidad de distribuciones Linux: GRUB (o sus derivados), en caso de existir este cargador. De otro modo, Clonezilla no reinstalará GRUB, saltándose este paso, pese a que pueda estar marcado.
  • 2: "la geometría de una partición se refiere a su colocación física en la unidad de disco [y] (...) se puede especificar en términos de cilindros de comienzo y final, cabezales y sectores, aunque a menudo las particiones comienzan y terminan en los límites del cilindro. El tamaño de una partición se define como la cantidad de almacenamiento entre el cilindro de comienzo y el del final".

    Tomado de la web oficial de Red Hat Enterprise Linux.
  • 3: CHS y EDD.

    CHS.
    Se refiere a "Cylinder-Head-Sector" (Cilindro-Cabezal-Sector), y "es un modo de acceso para unidades de discos duros (...)" el cual "ya no se utiliza porque su límite máximo son 8 GB y son insuficientes para los discos duros de última generación. En su lugar se utiliza Logical Block Addressing (LBA) o direccionamiento de bloque lógico, que tiene un límite de hasta 8 zettabytes (ZB). https://es.wikipedia.org

    EDD.
    La especificación de soporte BIOS de unidad de disco mejorada de Phoenix Technologies, es una completa solución a los problemas resultantes de los avances en la industria de unidades de disco.
    El propósito de esta especificación es proporcionar un método compatible hacia abajo, para expandir las tablas de parámetros del disco fijo actual, así como un nuevo método de acceso a ellas.
    Esta nueva especificación, no solo contempla la expansión ilimitada de sistemas más allá de dos unidades; también proporciona información sobre las características compatibles con IDE habilitado por el BIOS para el sistema operativo y las aplicaciones de software. http://www-pc.uni-regensburg.de

    Los servicios existentes de BIOS Enhanced Disk Drive Services (...), definen una extensión, "Get Device Parameters (...)", para que el firmware del sistema devuelva detalles relacionados con la geometría (...), capacidades y conexiones físicas [del] dispositivo. http://www.t13.org
  • 4. Para confirmar el último paso de la clonación, por si algo salió mal y no queremos continuar con la misma, para empezar nuevamente (por ejemplo).
  • 5. Esto es de enorme importancia. Le indica a Clonezilla que no debe "mirar" el tamaño del disco de destino, a los efectos de que clone y no registre, controle ni calcule el espacio disponible en la unidad mencionada (más pequeña).
  • 6. En cierto sentido, la unidad HDD está "construida" desde su cilindro (...).
    MBR es el sector 0 en el cilindro 0. Cualquier partición es inicio (y final) en el límite del cilindro.
    Entonces (...), si tu primera partición comenzó desde, digamos, [el] cilindro 10, entonces todos los datos en los cilindros 1-9 (...) se perderán / ocultarán. (Valery Reznic, https://www.linuxquestions.org)

    Para ser más específico, hay 62 sectores entre el MBR y la primera partición. Sí, esa es una "pista" que vale la pena, no un cilindro que valga la pena en discos modernos, pero el sector 63 se considera el inicio del cilindro 1. Y para una tabla de partición "estilo DOS clásico", la primera partición debe comenzar aquí por razones históricas.
    [El cargador de arranque] lilo ha guardado los datos en el (los) sector (es) siguiendo el MBR por edades: grub también los usa a menudo (...) (cualquier virus de arranque que se precie de tal, también usaría estos sectores). (syg00, https://www.linuxquestions.org)



¿Tienes comentarios para realizar o experiencias para compartir? Puedes escribirlos aquí; serán muy bien recibidos.



Documentos consultados: