Tengo un nuevo SSD, no quiero usarlo, pero todavía quiero usar algunos para almacenar archivos de datos junto con el viejo HDD

9

Compré una nueva unidad SSD Samsung 850 EVO de 250 GB para mi computadora portátil que quiero usar como dispositivo de almacenamiento primario, junto con la unidad de disco duro de 7500 RPM de 250 GB que aún funciona pero que puse en el antiguo compartimento de DVD con un adaptador de caja.

En este momento, el HDD tiene solo una gran partición ext4 que contiene el sistema operativo, las aplicaciones y los archivos de datos. Quiero usar el HDD para almacenar datos, pero no quiero perder la oportunidad de obtener la mejora de la velocidad del SSD al hacerlo.

Quiero combinar, digamos, una partición de 50 GB o incluso más pequeña en la SSD y fusionarla con la partición en la HDD para que los archivos menos modificados y de mayor acceso se muevan automáticamente a la SSD.

He visto cachés como EnancheIO y Bcache , pero no parecen lo que quiero, porque ( corrígeme si me equivoco):

  • El espacio ocupado por la partición de caché se resta de la cantidad de espacio disponible.
  • El caché acelera el acceso a los archivos a los que se accede más independientemente de si también se modifican con menos frecuencia, lo que va en contra del objetivo de no querer desgastar el SSD.

¿Es correcto lo anterior, o podría un caché (¿cuál de esos dos?) Ayudarme a alcanzar mi objetivo? Si lo anterior es correcto, ¿conoce alguna otra solución viable?

¿Sería útil un sistema de archivos de unión , como OverlayFS ? Si monitoreó el HDD para los archivos a los que se accedió más (haciendo un seguimiento de ellos atimea diario) e identificó los menos modificados entre ellos (haciendo un seguimiento de sus mtime), en teoría podría mover esos archivos al SSD, liberando espacio en el HDD, mientras que el sistema de archivos de unión podría hacer todo eso transparente para el usuario.

¿Funcionaría esto?

Fabio A.
fuente
En teoría, sus requisitos son factibles. La solución más factible es publicar una solicitud de función en el rastreador de errores de bcache solicitando otra estrategia para almacenar archivos en el bcache.
Adam Ryczkowski
... Y sí, el tamaño de la partición bcache se "comerá" lejos del almacenamiento total disponible. Es por diseño, porque bcache es independiente del sistema de archivos. Este diseño le da la ventaja de almacenar solo la parte de un archivo que se cambia con más frecuencia , lo que debería ser ventajoso, por ejemplo, con los datos de la base de datos.
Adam Ryczkowski
También revise el proyecto, que puede modificarse fácilmente para satisfacer sus necesidades (o incluso puede ser compatible de inmediato
Adam Ryczkowski
@Fabio: sin comentarios, sin aceptación, pero has estado en línea. ¿Algún problema con la siguiente respuesta?
Fabby
1
@Fabby, ahora tengo el tiempo para revisar las respuestas y los comentarios, aunque estaba en línea no podía pasar tiempo haciendo esto. Voy a llegar a eso ahora.
Fabio A.

Respuestas:

3

Tiene algunas opciones según lo que intente lograr:

  • Uso bcache: Podrás comer tu pastel, pero no conservarlo.

    Sí, la cantidad de espacio que reserva para el almacenamiento en caché será exactamente lo opuesto a un archivo de intercambio: la cantidad que especifique se "quitará" de la cantidad total de espacio en disco y se entregará al subsistema de memoria para que se use como buffers para El otro disco duro.
    Para controlar qué archivos se almacenan en caché, use algo como vmtouchajustar la bcachecaché.

  • Use LVM: podrá conservar su pastel, pero no comerlo.

    Puede usar el Administrador de volumen lógico para crear un volumen que contenga SSD y HDD creando un /homevolumen grande que contenga el espacio de ambos, pero:

    1. No tendrá control sobre qué archivo va en el SSD y cuál en el HDD
    2. ¡Si pierde una de las dos unidades, pierde todos los datos y tendrá que restaurar desde una copia de seguridad!
  • Use un sistema manual: podrá conservar su pastel y comérselo.

    Particione la unidad en sistemas de archivos separados: coloque /el SSD y /homeel HDD. Además de esto, debe colocar todos los archivos a los que desea acceder rápidamente /media/FastDatay vincular los originales a los que están en /media/FastData y solo si estos archivos residen en su/home (de lo contrario, ya residen en el SSD de todos modos)

Nota 1: Tengo un SSD pequeño y un HDD grande, así que uso otro sistema: /en el SSD y /homeen el HDD y no me molesto en optimizar aún más ...
Nota 2: Un sistema de archivos de unión no lo ayudará. más que el sistema manual ...
Nota 3: Aquí hay algunos consejos más para no desgastar su SSD desde el punto 4 en adelante

Fabby
fuente
3
Como nunca antes has aceptado una respuesta en este sitio: si esta respuesta te ayudó, no olvides hacer clic en el gris a la izquierda de este texto, lo que significa que sí, ¡esta respuesta es válida ! ;-)
Fabby
Consejos adicionales proporcionados en una nota adicional! ;-)
Fabby
Gracias por la respuesta y el puntero a vmtouch, pero, para no ser grosero, aparte de esto, no veo información adicional sobre lo que he declarado en la pregunta en sí, ¿está ahí? La idea de utilizar un FS de unión era que habría sido transparente para el usuario en cuanto a dónde se colocaron los archivos, ya sea en el SSD o en el HDD, sobre la base del proceso de mover archivos de un medio a otro. otro sería totalmente automático. Pensando en ello, también podría implementarse con enlaces simbólicos, lo que podría resultar más fácil de implementar.
Fabio A.
En general, parece que no hay una solución adecuada para mi pregunta, pero aceptaré su respuesta como válida ya que me ayudó a aclarar que todavía no hay una solución adecuada. Gracias.
Fabio A.
@FabioA. Bueno, eso depende de tu definición de "adecuado". Symlinking hace el truco "transparentemente" al usuario final (una vez que el administrador lo ha configurado) ... mhddfstiene los mismos inconvenientes de mi lvmsolución. Grazie mille por la aceptación y el favor devuelto: ¡Q votó! ;-)
Fabby