¿Cómo puedo forzar manualmente un archivo de una unidad Fusion al SSD?

0

Según tengo entendido, la implementación de Fusion Drive se realiza a nivel del sistema operativo (coreStorage). Sin embargo, quiero saber si es posible interferir manualmente en la administración de un archivo o directorio específico.

Por ejemplo, La mayoría de las fotos en iPhoto rara vez se usan, pero me gustaría enviar todo el directorio ~/Pictures/iPhoto Library.photolibrary al SSD.

    
pregunta gentmatt 10.11.2012 - 11:35

4 respuestas

1

Soy consciente de que esta puede no ser la respuesta técnica que busca, pero es la solución pragmática en la actualidad. Es de esperar que se conozca una forma sin fallos de administrar el almacenamiento en niveles de microgestión, pero aquí hay cosas que puede hacer hoy, fuera de la caja.

  • asegúrese de que todos los datos encajen en el SSD para que no se realicen niveles.
  • acceda manualmente a estos archivos para asegurarse de que el algoritmo los vea como leídos más que el resto. Utilizar dd para leer los archivos sería un buen comienzo y la reconstrucción de las bases de datos de la biblioteca iPhoto también debería forzar una lectura completa de los contenidos. No está claro que las lecturas solo afectarán a los niveles en una "promoción obligatoria al almacenamiento de SSD".
respondido por el bmike 10.11.2012 - 18:57
0

No lo creo.

Preparé un Fusion Drive como un experimento para ver si era preferible usar un SSD puro en lugar de un disco de alta velocidad, y las compensaciones, es decir, el tamaño frente al rendimiento.

Con mi Fusion, el SSD estaba en el interior de la unidad y estaba usando una unidad externa Firewire. Lo bueno fue que cuando se encendió la luz de actividad de la unidad Firewire, supe que se estaba accediendo. Tenemos un programa que genera un archivo de caché, y periódicamente cambia. Esto es lo que pasó:

  1. Cuando se inicia el programa, crea el archivo de caché y luego comienza a golpearlo en intervalos de aproximadamente 1 segundo.
  2. Inicialmente, el Firewire, que por supuesto era la parte HD de Fusion, no mostraría ninguna actividad, lo que me dijo que estaba golpeando el SSD.
  3. Después de unos segundos, el Fusion pareció transferir el archivo a la unidad Firewire, y luego comenzaría a parpadear a los mismos intervalos. Esto me dijo que Fusion había cargado el archivo del SSD al disco duro.
  4. Cuando el archivo cambió, los pasos del 1 al 3 se repetirían.

El archivo de caché no era grande, pero lo que estaba claro para mí era que la administración del disco Fusion estaba siguiendo los algoritmos patentados de Apple, que, según mi conocimiento, no se conocen. Eso se hizo hace un tiempo, justo después de que Fusions y la capacidad de darlos a conocer, así que quién sabe si funciona de esa manera.

Si desea controlar dónde van los datos, puede crear una unidad de arranque y sistema con el SSD y luego descargar cosas más lentas que no necesitan ser pegadas tanto al disco duro y vincularlas al sistema operativo. A través de enlaces simbólicos. De esta manera, puede controlar dónde van las cosas, qué copias de seguridad y cuándo, y si una de las unidades falla, sabrá dónde y qué datos se perdieron. Tal como está, con un disco Fusion no se puede saber en qué instante en qué disco. Sé que lo que estoy describiendo es una configuración de dos unidades, pero es posible que también sea más rápido que una unidad Fusion.

Espero que esto ayude.

    
respondido por el ElTorosDog 01.11.2014 - 09:37
0

El script que Howard publicó puede usarse para copiar periódicamente un archivo a / dev / zero. Si coloca una tarea de automator o una tarea cron que llama a este script para los archivos que desea almacenar en caché, lo más probable es que engañe al sistema operativo para que coloque los archivos en la parte del SSD.

Otra opción si desea anclar una aplicación a la SSD es abrir y cerrar el programa en segundo plano con Automator y no solo leer el archivo de la aplicación. Esto asegurará que las bibliotecas / archivos de configuración asociados también se coloquen en el SSD.

    
respondido por el Brad L. 12.11.2015 - 02:47
-3

Prueba el siguiente script

#!/bin/bash
echo $1

dd if="$1" of=/dev/zero bs=1m
    
respondido por el Howard 18.10.2013 - 07:06

Lea otras preguntas en las etiquetas