0 votos

¿Puedo clonar un disco duro externo bit a bit, de forma incremental?

Tengo un disco duro USB externo con muchos volúmenes APFS cifrados en él.

Tengo un segundo disco duro USB externo idéntico.

¿Existe algún programa de MacOS que me permita clonar el primero en el segundo sin montar los volúmenes encriptados y en un manera incremental (por ejemplo las copias posteriores sólo copian los cambios )?

Creo que todos los programas de copia de seguridad basados en MacOS son como rsync en el sentido de que operan sobre los archivos (no sobre los discos).

Disk Util tiene "Restore", pero esto copia muchos datos si sólo he cambiado unos pocos bytes.

0 votos

Probablemente no quieras ir poco a poco, eso sería muy lento :-)

2 votos

2voto

Jose Chavez Puntos 645

No, lo que pides simplemente no es posible, dado que te refieres a lo habitual por "montaje" e "incremento".

Un volumen encriptado y sin montar es, en términos simples, indistinguible de un montón de bytes aleatorios. No hay manera de saber, a partir de este volumen, si algún bloque de datos está "cambiado" o no.

Definitivamente puedes copiar los datos de una unidad a la otra. Es sólo cuestión de hacer una copia bit a bit utilizando un programa como el incorporado dd en MacOS.

Si se hace caso omiso de la forma habitual de trabajar con discos no montados, y se imagina un programa que descifre el volumen (si se tiene la contraseña), analice el sistema de archivos y utilice marcas de tiempo, instantáneas u otro método para encontrar los cambios y asignarlos de nuevo a los bytes de origen, entonces sí, teóricamente se podría crear una herramienta de este tipo. Sin embargo, en ese momento podrías haber montado la unidad.

También se puede desvirtuar la concepción habitual de las copias de seguridad incrementales, e imaginar un programa que lea toda la unidad de origen mientras lee toda la unidad de destino, y que luego copie sólo lo que se ha modificado. Sería casi trivial de hacer, pero no recuerdo que ningún programa de MacOS haga esto. En Linux podrías usar programas como diskrsync y Bscp para hacer esto - aunque ambos están construidos para transferir el disco a una computadora remota, podrías hacer que la computadora local y la remota sean la misma. No sé si estos programas pueden ser compilados y utilizados con éxito en MacOS, pero si quieres construir tu propia herramienta, podrías hacerlo portando diskrsync.

Esto tendría sentido si tienes una unidad donde las lecturas son rápidas y las escrituras son lentas. Todavía sería un proceso muy lento comparado con las herramientas habituales de copia de seguridad incremental, como por ejemplo Time Machine, donde el conjunto de cambios se puede calcular rápidamente mirando sólo el volumen de origen.

Existen otras herramientas para clonar discos e intentar hacer ese proceso más rápido. Por ejemplo el partclone_apfs permite clonar sistemas de archivos APFS de disco a disco, copiando sólo los bloques que realmente contienen datos. Si el volumen tiene mucho espacio libre en el disco cuando se monta, esto acelerará el proceso considerablemente. Sin embargo, no funciona con volúmenes cifrados.

Por último, se podría imaginar soluciones que funcionaran mediante el seguimiento de los cambios utilizando instantáneas en la unidad local. Como eso significaría modificar la unidad que estás tratando de clonar, esto normalmente no sería una opción.

0 votos

Gracias. "montón de bytes aleatorios" - pero ¿estos bytes están ordenados/tienen regiones, de modo que si añado 1KB de datos a un archivo, una pequeña cantidad de esos bytes encriptados cambiará? O bien todo de los bytes se barajan? Estaba pensando en un árbol de merkle para rangos de bytes para detectar los bytes cambiados.

0 votos

Depende de lo que se entienda por "ordenado". Como tal, no hay más orden en los datos que el hecho de que los discos duros pueden considerarse como un almacén de datos en ubicaciones numeradas. Por supuesto, no se barajan todos los bytes: sólo una pequeña cantidad cambiará en ese escenario. ¿Has aprendido a conocer los árboles de Merkle leyendo el enlace que te he proporcionado? Si la pregunta es exactamente como la planteas, no puedes usar árboles de Merkle - porque dónde lo pondrías. Pero si tienes un tercer disco para el árbol de Merkle, entonces sí podrías usar un árbol de Merkle. Sin embargo, un árbol de Merkle no tiene sentido aquí. Sólo hay que utilizar una lista.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X