¿Cómo puedo usar mi pequeño SSD como caché para un disco duro más grande?

58

Me gustaría usar un disco SSD (pequeño) como caché para un disco duro grande. Me doy cuenta de que hay productos basados ​​en hardware que hacen esto: HighPoint RocketHybrid HBA , Intel SmartResponse y otros. Solo puedo encontrar un producto de software: ExpressCache by Diskeeper :

ExpressCache combina de manera inteligente y automática los mejores atributos de SSD y HDD sin ningún esfuerzo o conocimiento previo del usuario, para que los usuarios obtengan lo mejor de ambos mundos; Rendimiento dinámico y capacidad escalable. Dado que se pueden utilizar SSD de hasta 4 GB, ofrece una solución increíblemente asequible para los fabricantes.

Compuesto por el modo Usuario y los componentes del Modo Kernel, ExpressCache utiliza el SSD como caché inteligente, junto con un HDD, para mejorar el rendimiento general del sistema y acelerar en gran medida el inicio de PC con Windows, el lanzamiento de aplicaciones y la velocidad de acceso a datos.

Sin embargo, este producto es OEM solamente .

Busqué alternativas, sin ningún éxito ... No puedo entender esto: parece una gran idea, no se necesita hardware adicional y realmente podría aumentar el rendimiento del disco sin gastar una fortuna.

Entonces, pregunto si alguien conoce algún software que haga esto, ya sea para Windows o Linux. O si crees que es una mala idea, me gustaría saber por qué.

Nota: ReadyBoost no es realmente adecuado para esto. Está construido con la suposición de que las escrituras en disco son realmente costosas, tienen muy poco efecto en los sistemas con mucha RAM y no se escala correctamente si su SSD es de 100GB +.

haimg
fuente
PrimoCache (para Windows) puede hacer esto; se especializa en usar RAM como caché, pero puede usar una partición SSD como caché L2; no creo que tenga un tamaño limitado, y dice que puede acelerar los tiempos de arranque incluso (suponiendo que esté usando un SSD y no solo RAM).
BrainSlugs83

Respuestas:

52

Hay varias formas de usar un SSD como caché para su disco duro normal. Esta no es una idea nueva, y ya tiene varias implementaciones.

En Windows:

La mejor implementación es NVelo: Dataplex : tiene almacenamiento en caché de lectura y almacenamiento en caché de escritura opcional. Desafortunadamente, como ExpressCache, está disponible solo para OEM. La forma más económica de obtenerlo es comprar un SSD OCZ que empaqueta un adaptador PCIE con un pequeño SSD y utiliza el software dataplex para almacenar en caché su disco duro existente.

Sin embargo, también existen implementaciones de software puro: FancyCache : funciona como es de esperar que realice el almacenamiento en caché de lectura y escritura en la capa de bloque. Principalmente existe como un caché de memoria, pero recientemente ha obtenido soporte para un caché SSD de segunda capa (un poco como el ZFS L2ARC), que puede ser arbitrariamente grande.

Si solo está buscando maximizar el IOPS a costa de la durabilidad de la escritura (perfectamente bien junto con un UPS, por ejemplo), una alternativa podría ser algo como: SuperCache : esto solo usará RAM, no SSD. Pero a diferencia de los demás, felizmente superará los 100,000 IOPS en hardware básico. Muy útil para almacenar en caché el dispositivo de bloque que contiene índices de bases de datos, por ejemplo. Básicamente, brinda un rendimiento similar al de RAM-Disk para volúmenes de cualquier tamaño (suponiendo que el dispositivo subyacente pueda mantenerse al día con el volumen de escritura).

En Linux, las cosas son un poco más agradables:

Como se mencionó en un póster anterior, tiene Flashcache : funciona bastante bien, pero su rendimiento varía mucho con su carga de trabajo. En muchos casos, la localidad de acceso deficiente no funcionará tan bien como podría esperarse. No estoy seguro de por qué, pero para la mayoría de las cargas de trabajo, esta es una gran opción.

La mejor opción (aunque el código aún no está "listo para la producción") es bcache (más información aquí , aunque alguna de si está desactualizada): tiene el mejor rendimiento de cualquier caché SSD que he probado, y a diferencia de todos los demás Las opciones mencionadas admiten el almacenamiento en caché de múltiples dispositivos de bloque en un solo caché. También es compatible (aunque no lo he probado personalmente, puede que aún no funcione) múltiples dispositivos de caché, por lo que puede usar múltiples SSD más baratos para maximizar sus IOPS. El código está en un repositorio de git: git: //evilpiepirate.org/~kent/linux-bcache.git . Se habla de fusionarlo en la próxima versión del kernel, aunque aún no se ha decidido con seguridad.

Personalmente, creo que la mejor opción es bcache (mi carga de trabajo está relacionada principalmente con la base de datos, aunque también guardo en caché mi computadora portátil principal en su totalidad). En mi experiencia, el rendimiento de escritura secuencial del HDD es a menudo el cuello de botella, ya que el caché se llena rápidamente y el HDD necesita escribir los sectores en caché, por lo que cuanto más rápido mejor. Por supuesto, esto es para una carga de trabajo de escritura pesada, en una carga de trabajo de lectura-escritura más equilibrada las cosas probablemente serán diferentes.

También debería advertirte que, a toda velocidad, superarás los límites de escritura de tu SSD con bastante rapidez. Actualmente estoy en mi tercer OCZ Vertex 3. Las SSD, aunque son muy muy rápidas, simplemente no son muy duraderas, así que espere reemplazarlas cada pocos meses.

Arrogante
fuente
2
Gracias por la gran respuesta! En cuanto a la tasa de "agotamiento", creo que ahora esta es la razón principal por la mayoría de estos productos son OEM-solamente, por ejemplo OCZ Synapse (caché SSD incluido con Dataplex) es 50% overprovisioned ...
haimg
2
@Supercilious ¿Por qué no solo usar un SSD SLC o eMLC? Eso debe ser más eficiente (y ciertamente más confiable) que el reemplazo frecuente de flash MLC poco confiable.
Miles Erickson
66
@Supercilious Aquí es donde me estás perdiendo. Ligeramente mayor longevidad? La longevidad del flash SLC y eMLC es un orden de magnitud mayor, no ligeramente mayor.
Miles Erickson
1
@ Firebug He estado inactivo en la pila durante algún tiempo, pero la respuesta que publiqué se mantiene. Si bien los SSD más nuevos ofrecen una resistencia de escritura mucho mayor, todavía fallan bastante rápido. En mis máquinas (principalmente HP DL360 G9 + algunos Lenovo) grabo docenas de SSD por cada unidad mecánica SAS o SATA. En 2017, promedié una vida útil de 8 meses con mis SSD Samsung SM863a, que son las mejores que he encontrado. Esto está completamente bien y vale la pena el costo de mi carga de trabajo, pero vale la pena tenerlo en cuenta y la actividad de escritura constante matará cualquier SSD dentro de un año.
Supercilioso el
1
@Firebug Sí, todo el trabajo pesado se realiza en mis servidores (principalmente HP DL360 Gen9), y la carga de trabajo es de 30% / 70% de lectura / escritura y los SSD básicamente se están trabajando 24/7 a alrededor de 300-350MB / s con poco picos de más de 500 MB / s. Todas las E / S son aleatorias con un tamaño de bloque de 64 KB y TRIM masivas ocasionales de todo el SSD. Bajo el uso de escritorio, llevaría años eliminar estas unidades de estado sólido de centro de datos, pero las unidades de estado sólido de consumo tienen 180-300 TB TBW, que sigue siendo una OMI bastante baja.
Supercilioso el
10

Hay una pieza de software muy interesante para Linux, utilizada por servidores muy ocupados:

https://github.com/facebook/flashcache

En un SATAII, 8 unidades rotativas magnéticas en una configuración RAID6 obtengo un gran aumento del rendimiento. La lectura aleatoria con el dispositivo SSD SATAIII flashcache (540 lecturas, 420 escrituras) satura mi bus SATAII a casi 90-95% - Tengo 280MB de lectura (en horas pico), 270MB de escritura (solo en carga simulada ... nunca alcanzada en producción) . Tiene una duración de aproximadamente medio año ahora. Las escrituras de la unidad de disco son ... 20-30 MB / s: utilice el tiempo de E / S de reserva ...

Matej Kovac
fuente
5

¿Qué tan grande es su SSD?

Probablemente el mejor efecto que logrará al instalar todo el sistema operativo y el software en SSD, mientras almacena grandes cantidades de datos en su HDD.

Si su SSD es pequeña, podría ser útil ponerle un archivo de paginación. Dudo que Windows ponga gran parte de sus archivos en caché, pero, al menos, le permitirá tener memoria de aplicaciones usadas recientemente y caché de archivos en RAM, al tiempo que permite un cambio rápido a aplicaciones usadas no tan recientes (que residir en un archivo de paginación que, a su vez, está en SSD).

penartur
fuente
1
Mi SSD es de 120GB. Si bien esto es suficiente para un conjunto de trabajo o caché , definitivamente no es suficiente para alojar todos mis archivos de sistema + aplicaciones. En segundo lugar, no quiero guardar, digamos, el código de muestra MSSDK (leído raramente) en SSD y mi propio código al que se accede 100 veces al día, en el disco. Además, necesitaría dos SSD para RAID: nunca confío mis datos en un solo disco, ya sea magnético o en estado sólido ... ''
dijo
2
Puede usar enlaces simbólicos y mover el caché del instalador MSSDK / Windows / etc. a su disco duro (mientras tiene enlaces simbólicos que apuntan a nuevas ubicaciones desde las rutas requeridas en la unidad del sistema); y coloque su propio código en SSD (la parte que necesita acceso aleatorio rápido). Y el uso de copias de seguridad probablemente sería una mejor solución que confiar en RAID.
penartur
3
+1 para esta solución. En realidad, usar un SSD producirá un rendimiento mucho mejor. Es poco probable que haya un beneficio significativo de otro nivel de caché, mientras que el uso de un SSD para la partición de su sistema lo hará.
Jesse
1
Estoy usando ssd para archivos de sistema y hdd para carpeta de inicio. Me he dado cuenta de que el disco duro es un cuello de botella, entonces debes leer muchos archivos de él, por ejemplo, el zorro de fuego comienza primero después del arranque.
aisbaa
2

FancyFlash hizo el trabajo. Tengo mi propio servidor Hyper-V R2 @home para mis laboratorios y obtuve una unidad OCZ Revo Hybrid PCIe. Desafortunadamente, el controlador de caché integrado solo funciona con Windows 7. No hay planes para Windows Server 2008 R2. Así que instalé el controlador FancyFlash en mi host Hyper-V y configuré mi SSD en Revo Hybrid para que actúe como caché para el disco incrustado de 1tb (donde están mis VHD). TaDa! ¡Funciona y acelera mucho mis máquinas virtuales! :)

Espero que el lanzamiento final sea asequible $$$ ...

Spider_s
fuente
3
¿Tienes un enlace para este software?
Haimg
Me pregunto si se refería a "FancyCache" (ahora conocido como PrimoCache). - Estaba en beta (y se desconoce el precio final) cuando se publicó esta respuesta (IIRC). Pero han pasado dos años y tiene una puntuación de 21 puntos, así que dudo que vuelva a iniciar sesión y nos lo diga. : - /
BrainSlugs83
2

eBoostr es una aplicación que almacena en caché grandes partes de aplicaciones utilizadas regularmente para acelerar su sistema. Por lo general, está destinado a usar unidades USB o RAM no utilizada, pero no hay una razón real por la que no pueda usar una SSD.

Está disponible para todas las versiones principales de Windows y se parece mucho a lo que busca.

  • eBoostr rastrea el uso de aplicaciones en su sistema y puede almacenar en caché los datos de los más utilizados, esto reduce los retrasos de carga y optimiza el rendimiento
  • La interfaz fácil de usar de arrastrar y soltar le permite mejorar selectivamente las aplicaciones en su sistema, así como priorizar las aplicaciones mejoradas por eBoostr
  • Los tiempos de carga reducidos y el menor acceso al disco duro ayudan a prolongar la vida útil de la batería de las computadoras portátiles y netbooks con eBoostr

Leer más: http://www.eboostr.com/feature

Mokubai
fuente
2

Si bien es posible cargar un sistema operativo completo y aplicaciones en un solo SSD, probablemente no debería hacerlo. Con el tiempo, los SSD se ralentizan mediante la reescritura continua y deben "actualizarse" para acelerar su copia de seguridad. Es mejor utilizar el disco duro más rápido que pueda encontrar, como una unidad SATA de 600 Gbps y obtener una placa base u otro controlador que admita almacenamiento en caché SSD a nivel de hardware. Las placas base Asus ROG Maximus son compatibles con esta función incorporada.

Sin embargo, hasta que construya este nuevo sistema, he encontrado una manera de obtener algún beneficio de un SSD. Construí un caché de memoria en el SSD y, aunque hay uno en mi disco duro principal, Windows parece usar automáticamente el SSD más rápido. También moví todo mi caché de Internet Explorer al SSD, que ha acelerado la navegación y los videos de Internet al menos 2 o 3 veces.

Construiré mi nuevo sistema en torno a la placa base Asus Maximus VI Hero con un procesador Intel i7 de cuarta generación en el formato de socket 1150. Parece ser un buen nivel de rendimiento sin gastar miles para llegar allí. Se proyecta que el costo total estará en el rango de $ 800-900, para incluir una nueva versión de Windows.

JDinFL
fuente
2

Se pueden usar las tecnologías de E / S de Windows de ReadyDrive y ReadyBoost . Debido a que estas tecnologías datan de antes de que se introdujeran los SSD, hay poca información sobre si funcionan con SSD o qué tan bien.

Para ReadyBoost, vea alguna pista sobre ¿Cómo puedo usar mi SSD como un disco de caché ReadyBoost? , aunque este otro hilo afirma lo contrario.

ReadyDrive es una característica de Windows Vista que permite a las computadoras con Windows Vista o posterior equipadas con una unidad híbrida u otras memorias caché de memoria Flash (como Intel Turbo Memory) arrancar más rápido y reanudar la hibernación en menos tiempo.

También se puede colocar el archivo de página en el SSD, aunque con una mejora esperada limitada si la memoria de su sistema es suficiente.

La mejor mejora vendrá, como comentó penartur, al instalar Windows en el SSD.

harrymc
fuente
1
La tasa de falla de SSD es significativamente más baja que los discos duros tradicionales; una vez pudo haber sido al revés, pero no en el momento de esta pregunta y respuesta. Hubo una gran preocupación por los ciclos de borrado de escritura de SSD hace unos años y todos parecían olvidar temporalmente que los HDD son extraordinariamente frágiles y fallan regularmente, a menudo sin advertencia. La preocupación por los ciclos de escritura casi nunca es un problema con la nivelación de desgaste moderna, a menos que esté escribiendo terabytes de datos cada semana durante varios años.
thomasrutter
1

Descargar ExpressCache

¿Has buscado en Google ExpresCache? Puedo ver que uno puede descargarlo de

  • SanDisk - enlace a la derecha; solo funciona con SanDisk SSD
  • Lenovo : enlace a continuación en la guía; podría tener dependencia de hardware también

Especialmente en Lenovo, puede descargar una versión x86 o x64. Sandisk parece ofrecer ExpressCacheSetup.exe y no sé qué arquitectura admite. Tal vez uno tal vez ambos ...

Robert Koritnik
fuente
Ambos requieren hardware de los respectivos proveedores. El software no se instalará correctamente a menos que pase las comprobaciones de hardware.
Dom
0

ExpressCache es solo un producto OEM. Estoy razonablemente seguro de que tiene controles internos que evitan que se use en hardware que no sea OEM original con licencia.

Parece que en este momento, FancyCache es la única herramienta viable para uso general / no-oems. Puedo malinterpretar las cosas, pero creo que algo como readyboost en un SSD se quemaría a través de sus ciclos de escritura bastante rápido. Para mí, la idea aquí es tener solo una letra de unidad para cubrir el HDD principal y el SSD, colocando los archivos más comúnmente accesibles y generalmente estáticos en el SSD y almacenando los archivos menos utilizados y a menudo modificados en el disco duro. Esto daría el beneficio de rendimiento de un SSD y la viabilidad a largo plazo de un HDD y no requeriría que el usuario tuviera que intentar equilibrar el espacio en el SSD con el del HDD. La necesidad de esto es tan obvia, al menos para mí, que me sorprende la falta de soluciones para esta necesidad.

Tumbleweed_Biff
fuente
-2

No se nombra aquí es VeloSSD. No puedo darle una buena reputación a este software, ya que a menudo destruía mis datos, pero otro usuario informó que funcionaba bien

vander
fuente
2
Simplemente agregar un nombre de producto a una lista de productos no se considera una respuesta, y esta "recomendación brillante" no es muy útil. Con un poco más de representación, puedes publicar esto como un comentario.
Fixer1234