FlashStore contre Crimson : deux réécritures du même OSD
Crimson est la réécriture de l’OSD par Ceph lui-même, en C++ sur le framework Seastar, avec un nouveau magasin natif appelé SeaStore ; FlashStore est la réécriture de croit, en Rust, avec un magasin à lui. Les deux sont en préversion et les deux visent le NVMe et les réseaux rapides. Cet article les compare tels que Ceph 21.2.0 Umbrella livre Crimson, à partir du code source et de la documentation de Ceph et du snapshot ceph-rust de croit : d’où vient chacun et sous quelle licence, pourquoi Rust satisfait les recommandations des Five Eyes sur la sûreté mémoire et pas le C++, pourquoi Crimson exige ses propres pools et une option expérimentale alors que FlashStore entre dans les pools existants, pourquoi Umbrella n’offre aucun moyen de transformer un pool existant en pool Crimson, si bien que les données doivent être copiées, ce que chacun dit au moniteur au démarrage, les réacteurs Seastar contre les cœurs épinglés en polling, le fait qu’un OSD Crimson par défaut fait encore tourner BlueStore, les arbres onode, OMAP et LBA de SeaStore contre l’arbre unique par shard de FlashStore, l’ordre dans lequel chacun valide une écriture, le nettoyeur de segments de SeaStore, et le matériel et les pools que chacun accepte.