Je me demande quel est le but d'un BBU. Ma première compréhension était que cela permet au cache d'écrire les données sur le disque pendant une panne de courant. Mais certaines spécifications disent qu'un BBU peut contenir ses données jusqu'à 72h. Je m'attendrais à ce que les données soient écritures sur le disque dans des millisecondes (données, que le disque a toujours du pouvoir, aussi).
Donc, un BBU doit-il non seulement protéger le cache, mais tout le disque pendant quelques secondes aussi? Cela ne serait-il pas encore plus sûr, car les données de cache sont écrites sur le disque au lieu d'être autour du cache et d'attendre le pouvoir à nouveau? Après une seconde ou plus, le disque pourrait être arrêté.
Pensez à ce cache BBU comme ajout d'un niveau de protection similaire à celui fourni par un système de fichiers journalisé. Il est là pour permettre aux transactions, les écrires simples dans ce cas, à remplir s'ils sont interrompus par une panne de courant. Une fois que les gouttes d'alimentation, le contrôleur ne peut pas continuer à écrire, car cela entraînerait des résultats complètement imprévisibles. Au lieu de cela, il contient les données aussi longtemps qu'il le peut et finira l'écrire si/lorsque la puissance reprend. Ce qu'il ne fait pas, c'est agir comme une UPS pour les lecteurs.
Obtenir cette batterie de 100 $ est un must, en particulier sur un serveur DB, même si les défaillances de puissance sont rares. Même si vous avez des transactions activées, et votre serveur perd la puissance avant que ces modifications ne quittent le cache et que vous êtes attachés à un disque, vous serez laissé avec une requête incomplète ou des données corrompues.
Si votre serveur se bloque, se bloque ou que quelqu'un tire le câble d'alimentation, un BBU vous protégera des données corrompues ou perdues, si vous utilisez un cache en écriture. L'utilisation d'un USV ne vous protège que de la panne de courant.
Si vous ne voulez pas utiliser de cache en écriture, vous n'avez pas besoin d'un BBU.
Une carte RAID peut avoir 1 Go de cache; Même s'il ne sera généralement pas utilisé pour un cache en écriture, vous pouvez supposer qu'il stockera une longue file d'attente de données non écrites.
Les systèmes de fichiers et les bases de données supposent que leurs écritures synchrones ne sont pas ré-commandées même dans le cas d'une panne de courant. Normalement, une écriture synchrone ne reviendra que lorsque les données sont sur le disque, mais cela est relativement lent. Les cartes RAID améliorent les performances en regroupant les plus petites écrivies et en les ré-ordonnant d'être moins aléatoires.
S'il n'y avait pas de BBU, une panne de courant sous charge aurait des résultats désastreux, avec écrit que la carte RAID avait promis d'être perdue (comme dans le cas d'un système de fichiers, vous pouvez avoir des références à un nouveau fichier ou à un nouveau répertoire, mais manquent. Fichier ou répertoire, même si le système de fichiers a spécifiquement créé le nouveau fichier avant toute référence pour l'éviter), vous obligeant à restaurer des sauvegardes ou d'espérer que vos données ne sont pas trop mal salées. Pire encore, si une personne a supprimé un fichier secret et que quelqu'un d'autre a créé un fichier lisible dans le monde, il peut arriver que certains des contenus du fichier secret se trouvent dans le fichier lisible dans le monde. Une fois que vous avez cassé les hypothèses, le système de fichiers est construit, tout est possible.
En supposant que A UPS garantit une puissance ininterrompue est naïve; Et si la machine se bloque et que vous devez tirer le cordon d'alimentation ou que quelqu'un vous y quitte?
Les disques de consommation SATA (et SSD) parfois cache écris synchrones aussi, mais leurs caches sont beaucoup plus petites et que l'utilisation des consommateurs est moins exigeante afin qu'elles puissent généralement s'en tirer.
Les contrôleurs RAID modernes ont également flash, auquel ils copient le contenu du cache d'écriture en cas de panne de courant. La batterie n'a donc pas besoin de durer plus de quelques secondes.