Pregunta

Esto es un poco relacionado con mi pregunta anterior Solaris: montaje de un sistema de archivos en los manipuladores de una aplicación excepto que esta pregunta es para un propósito diferente y es más simple ya que no hay / cierre / bloqueo es sólo un bloque de longitud fija de bytes con las operaciones de lectura / escritura.

¿Hay alguna forma de crear un sector virtual, un poco como un disco RAM o una rebanada SVM .. pero quiero la lectura y escritura a pasar por mi aplicación.

Tengo la intención de utilizar ZFS para tomar múltiples de estas rebanadas / discos virtuales y convertirlos en una más grande para el almacenamiento de copia de seguridad distribuida con instantáneas. Me gusta mucho la compresión y el apilamiento de que las ofertas de ZFS. Si es necesario puedo garantizar que sólo hay una instancia de ZFS que acceden a estos discos virtuales a la vez (para evitar conflictos de caché y tal). Si la instancia uno se cae, podemos estar seguros de que no se iniciará una copia de seguridad y luego podemos empezar otra instancia de que ZFS.

Estoy planeando tener esos discos en trozos de aproximadamente 4 GB o menos ,, entonces puedo mover alrededor de cada trozo y decidir dónde almacenar ellos (varias veces de espejo, por supuesto) y luego tiene ZFS acceder a los trozos y ponerlos juntos a trozos más grandes para el uso real. También ZFS permitiría la adición de estos pequeños trozos si es necesario para aumentar el tamaño de la porción más grande.

Soy consciente no habría tráfico de latencia / red adicional si utilizamos mi propia aplicación en Java, pero esto es sólo para el almacenamiento de copia de seguridad. El almacenamiento de producción es totalmente diferente configuración que no se relacionan.

Editar Tenemos un sistema que utiliza todo el espacio disponible y, básicamente, cuando no hay suficiente espacio que eliminará las instantáneas antiguas y aumentar los espacios entre viejas instantáneas. El propósito de mi propuesta es permitir que el espacio no utilizado del equipo de producción para ser objeto de un uso sin costo adicional. En diferentes momentos diferentes unidades de nuestro equipo de producción tendrán espacio libre. También el sistema que estoy describiendo debería eliminar cualquier punto único de fallo al intentar acceder a los datos. Tengo la esperanza de no tener que comprar dos unidades grandes y mantenerlos sincronizados. Yo prefiero sólo para tener dos puntos de acceso y después podemos mezclar pequeñas unidades grandes / en cualquier forma que queremos y mover datos en torno a la perfección.

Este es un puesto de cruz, porque esto es más relacionados con el software de administrador de sistemas relacionados con la pregunta original está aquí: https: // serverfault. com / preguntas / 212072 . puede ser una buena idea para el original que se cierre

¿Fue útil?

Solución 2

Parece que cualquier archivo de longitud fija en cualquier sistema de archivos va a hacer por un dispositivo de bloque para su uso con ZFS. No sabe cómo se reinicia el trabajo, pero estoy seguro de que podemos conseguir escribir algo de arranque comandos para trabajar en eso.

Edit:. El archivo de longitud fija sería en un sistema de archivos de red, tales como NFS

Otros consejos

Una forma sería escribir un controlador de dispositivo de Solaris, precisamente, un dispositivo de bloque de la emulación de un disco real, sino que se comunicará de nuevo a su aplicación en su lugar.

Comience con la lectura de la controlador de dispositivos Tutorial , a continuación, echar un vistazo a OpenSolaris código fuente de código de pilotos reales.

Como alternativa, es posible investigar la modificación de destino iSCSI de Solaris para ser la interfaz con la aplicación. Una vez más, mirando a OpenSolaris COMSTAR será un buen comienzo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top