Mécanisme de copie-écriture (vache)
Les deux systèmes de fichiers utilisent le mécanisme de copie-écriture. Cela signifie que si vous essayez de modifier un fichier, aucun des systèmes de fichiers n'essaiera de remplacer les données existantes sur le disque avec les données plus récentes. Au lieu de cela, les données plus récentes sont écrites ailleurs et une fois l'opération d'écriture terminée, le système de fichiers pointe simplement vers les blocs de données plus récents et les anciens blocs sont recyclés au fil du temps. Ce mécanisme permet aux deux systèmes de fichiers d'avoir des fonctionnalités telles que des instantanés et un clonage.
La vache empêche également les cas de bord comme les écritures partielles, ce qui peut se produire en raison de la panique du noyau ou de la défaillance de puissance et potentiellement corrompre l'ensemble de votre système de fichiers. Avec la vache en place, une écriture s'est produite ou non, il n'y a pas entre les deux.
Envoi et raid
Les deux systèmes de fichiers ont l'intention d'éliminer le besoin d'un gestionnaire de volume, d'un raid et d'autres abstractions qui se trouvent entre le système de fichiers et les disques. C'est plus robuste et fiable que d'avoir un contrôleur de raid matériel, simplement parce qu'il élimine un seul point de défaillance - le contrôleur RAID lui-même.
OpenZFS propose un mécanisme RAID stable, fiable et convivial. Vous pouvez refléter entre les disques, utiliser RAIDZ1 qui diffuse vos données sur 3 ou plus de disque avec un bloc de parité. Il peut donc résister à l'échec du disque Upton 1 par VDEV. De même, RAIDZ2 peut utiliser 4 disques ou plus et résister à 2 disques défaillants et de même nous avons RAIDZ3.
BTRFS a également ces fonctionnalités implémentées, la différence est simplement qu'il les appelle RAID, au lieu de Raidz et ainsi de suite. Certaines configurations de tableau RAID plus compliquées comme RAID56 sont buggy et ne sont pas adaptées à une utilisation, au moment de la rédaction du présent.
Licence
L'une des raisons pour lesquelles OpenZFS est arrivé si tard sur l'écosystème GNU / Linux est dû à son incompatibilité avec GNU GPL. Sans entrer dans trop de détails, BTRFS est sous GPL qui permet aux utilisateurs de prendre le code source et de le modifier, mais les modifications doivent également être publiées sous GPL et rester open source.
OpenZFS, d'autre part, est licencié sous CDDL qui est beaucoup plus permissive et permet aux utilisateurs de modifier et de distribuer du code avec un plus grand degré de liberté.
Communautés et entreprises derrière elles
OpenZFS a une communauté massive derrière elle. La communauté FreeBSD, la communauté illumos et de nombreux autres projets open source comptent sur OpenZFS et contribuent ainsi au système de fichiers. Il a augmenté plusieurs fois en termes de base de code, de base d'utilisateurs, de fonctionnalités et de flexibilité depuis sa création. Des entreprises comme Delphix, IxSystems, Joyent et bien d'autres en comptent et que leurs développeurs travaillent parce que c'est une composante centrale de leur entreprise. De nombreuses autres organisations pourraient utiliser OpenZFS à notre insu, grâce à la licence CDDL, ils n'ont pas à sortir et à dire à droite qu'ils l'utilisent.
BTRFS avait Red Hat comme l'un des principaux intendants de sa communauté. Cependant, cela a reçu un coup majeur il y a quelque temps lorsque Red Hat a déprécié le système de fichiers, cela signifie que vous ne le verrez pas dans un futur rhel et que la société ne fournira pas de prise en charge commerciale pour elle hors de la boîte. SUSE, cependant, est allé jusqu'à faire de leur défaut et il est toujours une communauté prospère derrière le système de fichiers avec les contributions de Facebook, Intel et d'autres gorilles de 800 livres de la Silicon Valley.
Fiabilité
ZFS était conçu être fiable dès le début. Les gens ont des Zpools datant du début des années 2000 qui sont toujours utilisables et garantis pour ne pas retourner de données erronées en silence. Oui, il y a eu quelques snafus avec des fichiers qui disparaissent pour OpenZFS sur Linux, mais étant donné sa longue histoire, les antécédents ont été surprenants.
BTRFS, en revanche, a eu des problèmes dès le début. Avec les interfaces de buggy pour redresser la perte de données et la corruption de fichiers. Même maintenant, c'est un peu une risée dans la communauté. Fais-en ce que tu veux.
Os soutenu
BTRFS a eu son origine a un système de fichiers pour Linux tandis que ZFS a été conçu à l'intérieur du soleil, pour Solaris OS. Cependant, OpenZFS a depuis longtemps été porté sur FreeBSD, OS X d'Apple, dérivés open source de Solaris. Son soutien à Linux est venu un peu plus tard que ce qu'il ne l'aurait prédit, mais il est ici et les entreprises comptent sur elle. Un projet pour le faire fonctionner sur Microsoft Windows fait également un peu de progrès, bien qu'il ne soit pas encore tout à fait là.
Conclusion: une note sur les monocultures
Tous ces discours peuvent vous convaincre d'utiliser OpenZFS pour assurer la sécurité de vos données, et ce n'est pas un mauvais plan d'action. Il est objectivement meilleur que BTRFS en termes de fonctionnalités, de fiabilité, de communauté et bien plus. Cependant, à long terme, cela pourrait ne pas être bon pour la communauté open source, en général.
Dans un article intitulé Similaire à celui-ci, l'auteur parle du dangereux des monocultures. Je vous encourage à passer par ce post. L'essentiel est ceci - Les options sont importantes. L'une des plus grandes force des logiciels open source (et des logiciels, en général) est que nous avons plusieurs options à adopter. Il y a Apache et puis il y a nginx, il y a des bsds et des linux, il y a openssl et il y a libressl.
S'il y a un défaut fatal dans l'une de ces technologies clés, le monde n'arrêtera pas de tourner. Mais avec la prévalence des OpenZFS, la technologie de stockage s'est transformée en quelque chose d'une monoculture. Donc, j'aimerais beaucoup pour les développeurs et les programmeurs système qui lisent ceci, pour adopter non OpenZFS mais des projets comme BTRFS et Hammer.