<p>mc mirror sobrescribir actualmente roto</p>

Creado en 29 ene. 2020  ·  12Comentarios  ·  Fuente: minio/mc

Comportamiento esperado

mc mirror --overwrite debería detectar archivos modificados

Comportamiento real

Parece que actualmente no

Pasos para reproducir el comportamiento

$ mc mb myminio/mybucket 
Bucket created successfully `myminio/mybucket`.

$ echo one > testdir/testfile.txt

$ cat testdir/testfile.txt 
one

$ mc mirror --overwrite testdir myminio/mybucket 
...estfile.txt:  4 B / 4 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 227 B/s 0s

$ mc cat myminio/mybucket/testfile.txt
one

$ echo two > testdir/testfile.txt

$ cat testdir/testfile.txt 
two

$ mc mirror --overwrite testdir myminio/mybucket 
 0 B / ? ┃░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓┃ 0s

$ mc cat myminio/mybucket/testfile.txt
one

mc --versión

mc versión RELEASE.2020-01-25T03-02-19Z

Información del sistema

Cliente y servidor: Fedora 31 con XFS como sistema de archivos
versión minio 2020-01-25T02: 50: 51Z

community medium stale

Comentario más útil

Con --sobrescribir y - preservar:

$ mc mb myminio/mybucket
Bucket created successfully `myminio/mybucket`.

$ echo one > testdir/testfile.txt

$ cat testdir/testfile.txt 
one

$ mc mirror --overwrite --preserve testdir myminio/mybucket 
...estfile.txt:  4 B / 4 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 283 B/s 0s

$ mc cat myminio/mybucket/testfile.txt
one

$ echo two > testdir/testfile.txt

$ cat testdir/testfile.txt 
two

$ mc mirror --overwrite --preserve testdir myminio/mybucket 
 0 B / ? ┃░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓┃ 0s

$ mc cat myminio/mybucket/testfile.txt
one

Todos 12 comentarios

Con --sobrescribir y - preservar:

$ mc mb myminio/mybucket
Bucket created successfully `myminio/mybucket`.

$ echo one > testdir/testfile.txt

$ cat testdir/testfile.txt 
one

$ mc mirror --overwrite --preserve testdir myminio/mybucket 
...estfile.txt:  4 B / 4 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 283 B/s 0s

$ mc cat myminio/mybucket/testfile.txt
one

$ echo two > testdir/testfile.txt

$ cat testdir/testfile.txt 
two

$ mc mirror --overwrite --preserve testdir myminio/mybucket 
 0 B / ? ┃░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓┃ 0s

$ mc cat myminio/mybucket/testfile.txt
one

@sebschlue esto es realmente conocido y esperado. mc mirror no detecta cambios en un archivo si su tamaño no cambia, como one & two tiene la misma longitud.

@vadmeste ¿Cuál es la limitación que provoca esto? Parece inconveniente en el mejor de los casos.

@vadmeste ¿Cuál es la limitación que provoca esto? Parece inconveniente en el mejor de los casos.

No hay suma de comprobación almacenada en el lado del servidor (ETag no es igual a la suma md5 del objeto en algunos casos)

En el canal de Slack, algunos confirmaron que debería funcionar cuando se usa --preserve

@vadmeste ¿Cuál es la limitación que provoca esto? Parece inconveniente en el mejor de los casos.

No hay suma de comprobación almacenada en el lado del servidor (ETag no es igual a la suma md5 del objeto en algunos casos)

Ay. Eso significa que para tomar instantáneas de ciertas cosas necesitaríamos confiar en rsync.
¿Hay alguna forma de agregar / cambiar algunos metadatos inofensivos que se verifican para forzar esto? ¿O asegurarse de que etag sea igual a hash?

No hay suma de comprobación almacenada en el lado del servidor (ETag no es igual a la suma md5 del objeto en algunos casos)

Ay. Eso significa que para tomar instantáneas de ciertas cosas necesitaríamos confiar en rsync.
¿Hay alguna forma de agregar / cambiar algunos metadatos inofensivos que se verifican para forzar esto? ¿O asegurarse de que etag sea igual a hash?

Para eso, use rclone @seqizz que calcula la suma de comprobación de todo el contenido - ETag no es md5sum, no siempre ve SSE-C, Multipart, etc. - y md5sum no es confiable, muchos objetos simplemente pueden coincidir con el mismo md5sum - https: //www.mscs.dal.ca/~selinger/md5collision/ y aparentemente es bastante común a gran escala.

A menos que, por supuesto, podamos calcular la suma de comprobación de objetos completos utilizando técnicas como blake2b; necesitamos calcular esto antes de cargar el contenido, lo que ralentiza significativamente el que va a cargar.

rsync está diseñado para un disco local a un disco remoto usando el protocolo delta que lee ambos extremos para la suma de verificación, esto sería inesperado en el caso del almacenamiento de objetos, debido a los costos de la nube.

Ah, por supuesto, solo estoy disparando gratis ya que actualmente no estoy limitado por los "costos del tráfico en la nube" :) Revisaré el rclone. Gracias.

Solo por curiosidad, ¿sería posible agregar otro encabezado como etag pero que contenga hash para minio (al crear / modificar), sin romper la compatibilidad?

Solo por curiosidad, ¿sería posible agregar otro encabezado como etag pero que contenga hash para minio (al crear / modificar), sin romper la compatibilidad?

Definitivamente es posible que @seqizz sea ​​muy mc específico, lo que significa que no tenemos control sobre su backend de almacenamiento de todos modos, por lo que cualquier cambio de estado allí no sería entendido correctamente por mc .

esto puede dar lugar a problemas de copia doble, etc., como por ejemplo, se omite a propósito, ya que no pudimos encontrar una manera rentable de hacerlo de manera adecuada para todos los casos de uso generalizados.

Entonces, ¿se puede resolver este problema?

En mi humilde opinión, esto debe documentarse con más claridad, preferiblemente en la sección espejo de la documentación de mc directamente.
Pero sí, si así es como funciona minio, no suena como un error. 👍

Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará después de 21 días si no se produce más actividad. Gracias por sus aportaciones.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

zllovesuki picture zllovesuki  ·  19Comentarios

silvernode picture silvernode  ·  8Comentarios

accaldwell picture accaldwell  ·  5Comentarios

richarson picture richarson  ·  5Comentarios

tru2dagame picture tru2dagame  ·  6Comentarios