TheJoe.it Into the (open) source

27apr/140

Bcache: il vantaggio di avere un layer fra SSD e HDD in termini di velocità

Attenzione!

Questo articolo è stato scritto nel 2014, potrebbero esserci stati sviluppi circa l'argomento trattato.
In caso di dubbi lasciate un commento in fondo all'articolo.
Grazie.

hd_crash

Ok, la verità è che in questi giorni non sono molto ispirato con i titoli, purtroppo vi dovrete accontentare. Oggi si parla di velocità e dischi SSD/HDD. Non faremo il solito benchmark per dimostrare la superiorità in velocità del disco allo stato solido (è un dato di fatto che sia più veloce), capiremo invece che può essere utile ed economico aggiungere un layer che si occupi di far comunicare i due dischi per velocizzare il processo di scrittura sul vecchio HDD.

Il problema

Chi di noi non vorrebbe un disco veloce ed economico? Sarebbe bellissimo se a parità di dimensioni i SSD costassero quanto gli HDD. Invece no, essendo il SSD una tecnologia recente, costa di più.

Poniamo il caso di avere (come spesso accade) un computer con due dischi. Sul SSD sarà installato il sistema operativo, con tutti i suoi programmi e le configurazioni, mentre sull'HDD i file (foto, video, musica, documenti, ecc.). Il sistema operativo è sul SSD perché in questo modo sarà più reattivo, i programmi (anche quelli pesanti) si lanceranno in un attimo e non perderemo tempo.

Per accedere ai dati sull'HDD invece dovremo attendere i tempi dell'HDD, che non sono interminabili, ma sono sicuramente più lunghi rispetto ad averli sul SSD.

La soluzione

Il progetto "bcache" nasce proprio per questo. Si tratta di un programma che gira in background e si frappone fra i due dischi creando una vera e propria cache. Quando il file di grosse dimensioni viene richiamato dall'HDD, viene contemporaneamente copiato sul SSD e l'utente lavorerà su quest'ultimo file. In questo modo i salvataggi saranno veloci (es. file multimediali, immagini enormi) perché salvati fisicamente sul SSD. Quando il lavoro sarà finito e il file sarà stato chiuso, bcache sovrascriverà il file modificato nell'HDD in background, così non si avrà l'impressione di lavorare sull'HDD se non all'apertura del file. In realtà lo sovrascriverà ciclicamente, ma la procedura a grandi linee è quella, serve per capire.

Il bello è che con questa soluzione ci avvantaggeremo dei pregi di entrambi i supporti: la velocità del SSD e la capacità dell'HDD.

Come si installa?

Bcache è un progetto così semplicemente utile che è stato integrato nelle prossime release ufficiali del kernel Linux. Ciò significa che non dovrà essere installato dalla versione 3.10 o 3.11, perché sarà già incluso. Fino a quel momento dovremo installarlo in questi seguenti modi:

Un repository git dedicato: http://evilpiepirate.org/git/bcache-tools.git.

Un repository PPA per gli utenti Ubuntu: ppa:g2p/storage.

Un repository git dedicato agli utenti Fedora: http://pkgs.fedoraproject.org/cgit/bcache-tools.git/.

Come si avvia?

Non si avvia, semplicemente funziona. Da solo.

About

Mantengo questo blog a livello amatoriale dal 2009. Sono appassionato di grafica, tecnologia, software Open Source. Fra i miei articoli non sarà difficile trovarne circa la musica, ed alcuni di riflessioni personali, ma preferisco indirizzare la linea del blog principalmente verso la tecnologia. Per informazioni contattami.