Montaje de solo lectura ZFS en Linux + montaje simultáneo de lectura y escritura en Solaris

Montaje de solo lectura ZFS en Linux + montaje simultáneo de lectura y escritura en Solaris

Tenemos que copiar periódicamente archivos bastante grandes de Solaris a Linux (usando la red). Actualmente, un archivo tarda casi medio día. Los archivos en Solaris están en un sistema de archivos ZFS.

Así que pensé qué diablos: probablemente podríamos montar ese ZFS en Linux.

Pero ZFS no es un sistema de archivos agrupado (o agrupable).

Hipótesis: Entonces pensé que podríamos, ya que solo estamos copiando desde Solaris: podemos montar ese mismo sistema de archivos ZFS de solo lectura, por lo que no tiene que estar agrupado en este caso. Como las escrituras serán solo en el lado de Solaris (no podemos desmontarlo allí).

Esa caja de Solaris está muy ocupada y las NIC de red casi siempre también están muy ocupadas. Entonces, mover la copia del archivo a FC debería ser mucho más rápido.

Esa máquina Linux es un invitado virtual en un host VMWare. Entonces sí, es posible presentar el mismo tejido FC a ese invitado de Linux.

¿Pensamientos? Creo que esa pieza de hipótesis es sobre la que busco comentarios. No estoy seguro de si es posible realizar un montaje de solo lectura ZFS en Linux + montaje simultáneo de lectura y escritura en Solaris.

Respuesta1

Eso no es posible en absoluto. ZFS no permite montarlo en dos hosts al mismo tiempo, independientemente de los permisos de lectura/derechos. Si intenta montarlo en Linux mientras está montado en Solaris, tendrá que forzarlo. Si hace eso, Solaris fallará con el pánico del kernel. Esto me sucedió con dos Solaris al forzar la importación en la segunda caja Solaris mientras estaba montada en la primera caja. Además, la versión ZFS también influirá si puede importar o no zpool en Linux. Si quieres probar te sugiero lo siguiente:

  1. Clonar el lun en el almacenamiento
  2. Asigne el lun clonado a la caja de Linux
  3. Intente montar el zpool en Linux

Respuesta2

Lo que impide esto es el hecho de que ZFS almacena en caché los metadatos en la memoria porque supone que es el único que cambia el estado del disco. Cualquiera que sea el host que esté montado en lectura/escritura debería estar bien. En otro host que esté montado en modo de solo lectura, los metadatos cambiarán y, en algún momento (bastante rápido), leerá un bloque del disco en una ubicación que pensó que tenía metadatos válidos, pero que fue sobrescrito por el otro sistema.

Puede probar el método de clonación de lun descrito por BitsOfNix, o puede intentar configurar un script de instantánea/envío/recepción periódico para intentar mantenerse actualizado. O podría intentar compartir el conjunto de datos desde el host Solaris y montarlo mediante NFS en el host Linux.

información relacionada