web-dev-qa-db-fra.com

Raisonnement derrière l'hébergement d'images de disque virtuel sur le système de fichiers BTRFS

J'ai lu sur BTRFS et ZFS pendant un moment et que j'apprécie les avantages de la vache lors de l'hébergement de fichiers importants que je suis actuellement perplexe par le dilemme suivant:

Étant donné que les ZFS et les BTRFS semblent subir une dégradation des performances lors de l'hébergement de fichiers volumineux soumis à des écrivies aléatoires (par exemple, Qcow2, VDIS, etc.), pourquoi quelqu'un utiliserait-il des BTRFS comme FS de choix pour accueillir VMS ?

Je sais que dans le cas O BTRFS, vous pouvez éteindre sélectivement la vache à l'aide de CHATTR ou de l'option de montage Nodatacow, réduisant ainsi la dégradation imposée par la fragmentation et la vache ...

Cependant, selon redhat cela aussi "désactive la vérification de la somme de contrôle des données et des métadonnées, entraînant une intégrité de données réduite." (en plus de la compression perdue et naturellement la vache si désirée).

Sur la base de celle que je demande: Pourquoi quelqu'un choisirait-il que BTRFS surveille, XFS sur LVM sur MD RAID?

14
Andre de Miranda

Si le cas d'utilisation principale stocke VM images ou bases de données, et que vous n'êtes pas intéressé à accepter les problèmes de performance potentiels afin d'obtenir les avantages de l'intégrité des données de BTRFS, je ne peux penser à aucune raison pour laquelle Vous voudriez choisir BTRFS sur XFS ou EXT4.

Désactivation de la copie-on-écrit pour simplement le répertoire d'images VM (UTILISER ChatTR + C) est principalement pertinente lors de la conservation des images VM Images n'est que l'une des nombreuses utilisations que vous avez pour votre système de fichiers. Ensuite, il peut être très pratique de simplement désactiver Copy-on-Write pour ce répertoire unique, tout en conservant toujours tous les avantages de BTRFS pour le reste du système de fichiers.

13
Quantumboredom

Utilisation de BTRFS, même avec nodatacow et vous êtes toujours en mesure de créer instantanés de données manuellement avec CoW comportement, il est donc rapide et ne consomme pas beaucoup de mémoire. De plus, ces instantanés sont plus flexibles que d'utiliser LVM, car vous n'avez pas besoin de réserver de la place sous le système de fichiers que le système de fichiers n'est pas au courant et ne peut pas être utilisé s'il n'est pas nécessaire du tout. Comme avec ZFS, des instantanés peuvent être envoyés et reçus sur le réseau, ce qui pourrait vous aider à améliorer votre stratégie de sauvegarde. Donc, même avec nodatacow BTRFS semble être supérieur à l'aide de LVM.

5

BTRFS a un format de disque différent qui surperformera les autres systèmes de fichiers sur certains modèles d'écriture. En particulier, une grande quantité d'efforts a été consacré à l'amélioration de la manière dont les méta-données sont écrites sur le disque et prend en charge certaines fonctionnalités avancées telles que la checkinguming de données, la compression et les instantanés. Pour les fichiers volumineux, l'amélioration des performances de méta-données n'est généralement pas importante.

Par rapport à ZFS, BTRFS est une solution plus simple et mieux supportée sur Linux. L'inconvénient majeur est qu'il n'abalte pas également (lors de l'ajout d'un grand nombre de disques) et n'a pas le même ensemble de fonctionnalités.

Par rapport à XFS, ce sera une solution de performance inférieure. C'est à dire. Il faudra plus de temps de processeur pour écrire un morceau de données sur le disque et il sera limité au débit maximal. Cela peut être atténué dans une certaine mesure en faisant des choses comme la désactivation de la vérification de la somme de contrôle, mais vous perdez ensuite le principal avantage de BTRFS sur XFS, ce qui est amélioré les informations métadonnées. C'est à dire. checksumming et journalisation différente (ce qui peut être meilleur dans certaines situations).

En termes de copie sur la prise en charge de l'écriture (vache), XFS favorise la performance sur une vache strictement. C'est à dire. XFS dispose de très bonnes caractéristiques de la méta-de-données et de la journalisation en termes d'évolutivité et ne remplacera généralement pas les données de fichier sur l'écriture à l'exception de l'exception qu'il permettra des blocs de disque existants à sous-écrit si l'application demande spécifiquement de sur-écrivant ces données. Cela peut être bon dans le cas d'un VM lorsque votre allocation de disque peut être contiguë et dans ce cas resterait contiguë pour la durée de vie du VM.

5
Clarus

Après avoir travaillé avec des plates-formes de cloud computing, je suis venu d'adopter leur vision de machines virtuelles en tant que conteneur pour les données et les fonctionnalités où la machine virtuelle est de moins d'importance.

Je préférerais avoir de bonnes processus de sauvegarde et d'installation - déployer-déployer des processus en place et vous inquiétez moins sur l'intégrité du VM et plus sur la performance.

C'est à dire. Optez pour JFS/XFS/EXT4 sur LVM sur MD-RAID plutôt que BTRFS. Assurez-vous de ne jamais stocker rien qui n'est pas sauvegardé sur le VM pour une période de temps plus longue ... et avez des scripts et des procédures en place pour obtenir une nouvelle installation du =VM Sauvegarder dans un délai raisonnable devrait arriver quelque chose.

Mais ceci est plus d'un scénario de dev/expérimenté que toute autre chose.

3
Erk