Come posso forzare manualmente un file di un Fusion Drive su SSD?

0

Da quanto ho capito, l'implementazione di Fusion Drive è a livello di sistema operativo (coreStorage). Tuttavia, voglio sapere se è possibile interferire manualmente nella gestione per un file o una directory specifici.

es. La maggior parte delle foto in iPhoto vengono utilizzate raramente, tuttavia vorrei spingere l'intera directory ~/Pictures/iPhoto Library.photolibrary nell'SSD.

    
posta gentmatt 10.11.2012 - 11:35
fonte

4 risposte

1

Sono consapevole che questa potrebbe non essere la risposta tecnica che cerchi, ma al momento è la soluzione pragmatica. Si spera che diventerà noto un modo non bacato di gestire in micro lo storage multilivello, ma qui ci sono cose che puoi fare oggi, out of the box.

  • assicurati che tutti i dati si adattino all'SSD in modo che non avvenga alcun tiering.
  • accedi manualmente a questi file per assicurarti che l'algoritmo li veda come letti più degli altri. Usare dd per leggere i file sarebbe un buon inizio e ricostruire i database delle librerie iPhoto dovrebbe anche forzare una lettura completa dei contenuti. Non è chiaro che solo le letture influenzeranno il tiering in un senso di "promozione obbligatoria per l'archiviazione SSD".
risposta data 10.11.2012 - 18:57
fonte
0

Io non la penso così

Ho creato un Fusion Drive come esperimento per vedere se era preferibile utilizzare un SSD puro rispetto a un'unità ad alta velocità e le compensazioni, ovvero la dimensione rispetto alle prestazioni.

Con il mio Fusion, l'SSD era all'interno dell'unità e stavo usando un'unità esterna Firewire. La cosa bella era che quando la luce di attività dell'unità Firewire lampeggiava, sapevo che era in corso l'accesso. Abbiamo un programma che genera un file di cache e periodicamente cambia. Ecco cosa è successo:

  1. All'avvio del programma, crea il file cache e quindi inizia a colpirlo a intervalli di circa 1 secondo.
  2. Inizialmente, il Firewire, che era ovviamente la parte HD della Fusion, non mostrava alcuna attività, il che mi diceva che stava colpendo l'SSD.
  3. Dopo alcuni secondi, Fusion sembra trasferire il file sull'unità Firewire e quindi inizierà a lampeggiare agli stessi intervalli. Questo mi ha detto che Fusion aveva spento il file dall'SSD al disco rigido.
  4. Quando il file è cambiato, i passaggi da 1 a 3 si ripetono.

Il file cache non era grande, ma quello che mi era chiaro era che la gestione del drive Fusion stava seguendo gli algoritmi proprietari di Apple, che, per quanto ne so, non sono noti. È stato fatto qualche tempo fa, subito dopo le fusioni e la possibilità di farle diventare note, quindi chissà se funziona anche in quel modo.

Se si desidera controllare dove vanno i dati, si potrebbe voler creare un'unità di avvio e di sistema con l'SSD, quindi scaricare elementi più lenti che non hanno bisogno di essere colpiti così tanto sul disco rigido e collegarli al sistema operativo tramite collegamenti simbolici. In questo modo puoi controllare dove vanno le cose, cosa viene eseguito il backup e quando, e se una delle unità fallisce, saprai dove e quali dati sono stati persi. Così com'è, con un'unità Fusion non è possibile sapere in un determinato istante cosa è su quale unità. So che quello che sto descrivendo è una configurazione a due dischi, ma potresti trovare che è generalmente più veloce di un'unità Fusion.

Spero che questo aiuti.

    
risposta data 01.11.2014 - 09:37
fonte
0

Lo script pubblicato da Howard può essere usato per copiare periodicamente un file su / dev / zero. Se si inserisce un'attività di automazione o un processo cron che chiama questo script per i file che si desidera memorizzare nella cache, molto probabilmente ingannerà il sistema operativo per inserire i file nella porzione SSD.

Un'altra opzione se si desidera aggiungere un'app all'SSD è di aprire e chiudere il programma in background usando l'automatore e non solo di leggere il file dell'app stesso. Ciò assicurerà che anche i file di configurazione / librerie associati vengano messi nell'SSD.

    
risposta data 12.11.2015 - 02:47
fonte
-3

Prova il seguente script

#!/bin/bash
echo $1

dd if="$1" of=/dev/zero bs=1m
    
risposta data 18.10.2013 - 07:06
fonte

Leggi altre domande sui tag