première version courte : je recherche un logiciel compatible Linux capable de mettre en cache de manière transparente les écritures du disque dur à l'aide d'un SSD. Cependant, je ne veux faire tourner le disque dur qu'une ou deux fois par jour (pour écrire les données mises en cache sur le disque dur). Le reste du temps, le disque dur ne devrait pas tourner en raison de problèmes de bruit.
Maintenant, la version plus longue : j'ai construit un ordinateur complètement silencieux exécutant Xubuntu. Il a un APU A10-6700T, un énorme refroidisseur sans ventilateur, un bloc d'alimentation sans ventilateur, un SSD. Le problème est: il a également (et a besoin) un disque dur bruyant et je veux interdire de le faire tourner pendant la nuit. Toutes les écritures doivent être mises en cache sur le SSD, les lectures ne sont pas nécessaires dans la nuit.
Tout au long de la journée, cet ordinateur télécharge automatiquement environ 5 Go de données qui seront conservées pendant environ un an, ce qui donne une capacité totale de disque nécessaire légèrement inférieure à 2 To. Ces données sont actuellement stockées sur un disque dur bruyant de 3 To qui tourne jour et nuit. Parfois, j'ai besoin d'accéder à certaines données d'il y a plusieurs mois. Cependant, la plupart du temps, je n'aurai besoin que des données des 14 derniers jours, qui tiendraient sur le SSD. Idéalement, j'aimerais une solution transparente (toutes les données sur un système de fichiers) qui met en cache toutes les écritures sur le SSD, n'écrivant sur le disque dur qu'une seule fois par jour. Les lectures seraient servies par le cache si elles étaient encore sur le SSD, sinon le disque dur devrait tourner.
J'ai essayé bcache sans grand succès (en utilisant cache_mode = writeback, writeback_running = 0, writeback_delay = 86400, sequential_cutoff = 0, congested_write_threshold_us = 0 - quelque chose manque?) Et j'ai lu sur ZFS ZIL / L2ARC mais je ne suis pas sûr de pouvoir atteindre mon objectif avec ZFS. Des pointeurs?
Si tout le reste échoue, je vais simplement utiliser certains scripts pour copier automatiquement les fichiers sur le gros disque tout en supprimant les fichiers les plus anciens du SSD.
Edit : Cache est vraiment le mauvais terme pour ce que je voulais. Il semble que la solution initiale prévue ne soit pas possible pour moi pour le moment. Merci à tous ceux qui ont contribué!
Réponses:
Ce n'est pas vraiment comment ni pourquoi la mise en cache fonctionne - la mise en cache est censée profiter de la vitesse plus rapide et d'un meilleur accès aléatoire du SSD ou d'une autre mémoire, plutôt que de minimiser les écritures sur le disque dur. La mise en cache est conçue pour maximiser la vitesse, et non pour réduire l'écriture, en ayant un tampon plus petit et plus rapide qui sauvegarde un grand périphérique de stockage lent.
En fait, bcache, qui fait partie du noyau Linux principal, transmettra simplement les écritures séquentielles au disque dur, plutôt que de le passer via le SSD car il n'y a aucun avantage en termes de performances.
ZIL / L2Arc utilise le SSD pour stocker les journaux (dans le cas de ZIL) et les clusters de fichiers couramment utilisés (avec L2Arc). ZIL accélère les écritures synchrones en les stockant jusqu'à ce qu'elles soient toutes prêtes à être écrites. L2Arc stocke les fichiers fréquemment consultés sur un stockage plus rapide. Aucun de ces éléments ne vous permettra de faire ce dont vous avez besoin.
Le lecteur Fusion utilise également un SSD et un disque dur en plaçant de manière transparente les fichiers couramment utilisés sur le SSD pour des lectures plus rapides et des disques durs pour le stockage en vrac des fichiers moins souvent utilisés. Il ne vous permet pas non plus d'utiliser le SSD comme espace de travail et de sauvegarder régulièrement des fichiers sur le lecteur principal.
Ce que vous regardez n'est pas du tout la mise en cache, mais plutôt des sauvegardes périodiques du système sur le disque dur. Je suppose que vous pourriez être en mesure de truquer quelque chose avec Aufs -la première branche sur le disque dur avec des fichiers plus volumineux (donc il faut de la précaution), et une branche sur le SSD, puis exécutez un script qui déplace les fichiers du SSD vers le HDD périodiquement, tout en ayant accès au même endroit. Je n'ai pas encore testé cela, mais contrairement à la mise en cache, le déplacement périodique de fichiers et l'utilisation d'aufs seront probablement exactement ce que vous voulez.
Le moyen le plus simple de trier les fichiers par âge est ls -tr - t trie par heure (du plus récent au plus ancien) et r inverse l'ordre. (Si vous avez une plage spécifique en tête, cela
find . -mtime n
fonctionne très bien car un nombre spécifique vous donne des fichiers modifiés il y a n jours, -n vous donne des fichiers modifiés au cours des n derniers jours et + n vous donne des fichiers modifiés il y a n jours). Vous pouvez trouver quelques idées sur la façon de l'utiliser iciPuisque le silence est votre véritable objectif, vous pouvez vérifier si votre lecteur prend en charge le mode silencieux avec
hdparm -M /dev/sda
- cela devrait produire quelque chose commeacoustic = 254 (128=quiet ... 254=fast)
, auquel cas vous pouvez rendre votre disque dur plus silencieux avec la commandehdparm -M 128 /dev/sda
. Exécutez la commande opposéehdparm -M 1254 /dev/sda
lorsque vous avez besoin de plus de vitesse.la source
Comme les autres réponses ont traité le problème du point de vue logiciel, j'ai pensé inclure quelques informations sur les solutions matérielles.
L'article Sound Proof your Hard Drive répertorie les options suivantes:
Je peux témoigner de ma propre expérience que je ne peux jamais entendre mon nouveau disque dur de 4 To, même lors de la copie de très gros fichiers.
Avec quelques recherches, on peut également trouver des matériaux d'amortissement acoustique pour les disques durs tels que le SilentDrive HD Enclosure & Acoustic Materials ou le NoiseMagic NoVibes III Silent Hard Drive Mounting System . Je ne sais pas où ceux-ci sont vendus, et les élastiques ci-dessus me semblent presque aussi efficaces.
On peut également insonoriser tout l'ordinateur. Quelques exemples de sites Web qui vendent des matériaux d'insonorisation sont Quiet PC USA , AcousticPC ou Dynamat , mais ils sont nombreux.
Certains boîtiers d'ordinateur sont déjà conçus pour un fonctionnement silencieux. Voir par exemple
Six cas à faible bruit axés sur les performances, testés .
Comme dernière remarque, un disque dur bruyant qui claque, clique ou hurle peut être un signe que votre disque dur commence à tomber en panne, alors faites attention.
la source
Plusieurs variantes de Puppy Linux sont basées sur Ubuntu mais utilisent Aufs .
Puppy fonctionne entièrement à partir de la RAM, il n'y a pas d'accès au disque dur en fonctionnement normal.
Si vous dites à Puppy que votre disque dur est un lecteur flash, il videra périodiquement le système de fichiers RAM sur le disque plutôt que de façon continue. Cela a été conçu pour réduire l'usure des écritures fréquentes sur les clés USB, mais fonctionne également très bien sur les disques durs.
Comme avec à peu près tout dans Puppy, vous pouvez utiliser une interface graphique pour définir la fréquence à laquelle vous souhaitez que le système de fichiers RAM soit enregistré. En règle générale, ce sera toutes les 10 minutes environ, mais rien n'empêche de le configurer pour un vidage toutes les 720 minutes (12 heures) par exemple.
Cet extrait de mon
menu.lst
fichier de chargeur de démarrage Grub4DOS montre le réglage de l'pmedia
option du noyau qui dit qu'il utilise flashdrive au lieu d'un disque dur ...Une note sur les "variations" de Puppy Linux ...
J'utilise Puppy Linux 5.2.8 "Lupu" qui est basé sur (construit en réduisant) Ubuntu 10.04 Lucid Lynx. Cette version est aussi souvent appelée "Lucid" au lieu de "Lupu" en raison de ses origines. Il existe également des versions basées sur Slackware et certaines autres distributions. Puisque vous utilisez déjà Xubuntu, Puppy Linux Lupu serait le plus familier. Ce serait également beaucoup plus rapide. J'ai utilisé Xubuntu pendant environ un an avant de trouver Puppy.
Il existe également une version beaucoup plus récente basée sur "Ubuntu Precise Pangolin" appelée "Puppy Linux Precise". Il y a des changements majeurs au noyau utilisé dans la nouvelle version qui peuvent ne pas fonctionner correctement avec du matériel plus ancien. Si votre machine est inférieure à 5 ans, vous pourriez être plus satisfait de Precise. Je crois que la technique décrite ci-dessus fonctionnera toujours sur Precise bien que les options exactes, etc. puissent être différentes mais je ne suis pas en mesure de le tester.
la source
La solution courte et rapidement implémentable (mais ne répond pas exactement à ce que vous voulez) est: transférer le disque de stockage ailleurs. il peut s'agir d'un serveur de fichiers netowrk chassi (comme l'édition mondiale de WD) ou d'un disque USB3 et vous pouvez l'avoir dans la même pièce que le PC silencieux, ou dans une autre pièce afin d'éviter de l'écouter complètement.
C'est mieux à mon avis, car vous n'utiliserez sûrement le lecteur que lorsque vous souhaitez transférer des données sur le réseau - le système d'exploitation peut effectuer un autre rééquilibrage ou un rééquilibrage de l'arborescence du système de fichiers que vous ne pouvez pas éviter et qui vous dérangerait. . Donc, une pièce différente est un gros plus.
La mise en cache devrait être assez facile - il suffit de sauvegarder les données de la journée sur le disque externe, ce que vous pouvez accomplir en utilisant des solutions comme
rsync
ouunison
.La solution plus longue n'est pas encore idéale (c'est-à-dire pas d'application unique) mais vous obtiendrez le lecteur dans la même boîte avec le ssd et atteindrez des vitesses plus élevées (mais avez-vous vraiment besoin d'une vitesse plus élevée que le réseau pour seulement 5 Go / jour?):
vous pouvez utiliser
smartctl
pour définir le temps de rotation de votre disque et conserver ce disque dans un état non monté - pour éviter que le système d'exploitation ne fasse des choses sur le disque. Ensuite, écrivez simplement un scriptmount
et sauvegardez (comme ci-dessus) les données dont vous avez besoin.la source
Vous n'aimerez pas ma réponse, mais vous abusez en fait du terme cache, vous décrivez en fait une solution de sauvegarde. Jetez un œil à rsync ou recherchez d'autres solutions de sauvegarde si vous souhaitez quelque chose de plus complet.
la source