﻿﻿{"id":1179,"date":"2025-09-22T22:14:57","date_gmt":"2025-09-22T20:14:57","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/ternfs-un-systeme-de-fichiers-distribue-capable-de-gerer-des-exaoctets\/"},"modified":"2025-09-22T22:14:57","modified_gmt":"2025-09-22T20:14:57","slug":"ternfs-un-systeme-de-fichiers-distribue-capable-de-gerer-des-exaoctets","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/ternfs-un-systeme-de-fichiers-distribue-capable-de-gerer-des-exaoctets\/","title":{"rendered":"TernFS &#8211; Un syst\u00e8me de fichiers distribu\u00e9 capable de g\u00e9rer des exaoctets"},"content":{"rendered":"<p>Et encore un article un peu technique pour finir la journ\u00e9e en beaut\u00e9 ! Si je vous disais que votre serveur Linux pouvait g\u00e9rer 10 exaoctets de donn\u00e9es sans broncher ? Vous ne me croiriez pas je pense\u2026 D\u2019ailleurs c\u2019est quoi 10 exaoctets ?? Et bien \u00e7a correspond \u00e0 10 millions de To. C\u2019est pas mal hein ?<\/p>\n<p>H\u00e9 bien c\u2019est exactement ce que permet de g\u00e9rer TernFS, le syst\u00e8me de fichiers qu\u2019XTX Markets vient de lib\u00e9rer apr\u00e8s trois ans d\u2019utilisation intensive. XTX Markets est une bo\u00eete d\u2019algo-trading qui brasse 250 milliards de dollars par jour et j\u2019avoue que c\u2019est un joli cadeau de presque-No\u00ebl qu\u2019elle vient de nous faire\u2026<\/p>\n<p>\n<img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/ternfs-filesystem-exaoctets-linux-opensource\/ternfs-filesystem-exaoctets-linux-opensource-1.png\" alt=\"\" loading=\"lazy\">\n<\/p>\n<p>\n<a href=\"https:\/\/www.xtxmarkets.com\/tech\/2025-ternfs\/\">D\u2019apr\u00e8s ce qu\u2019ils expliquent sur leur site<\/a><br \/>\n, NFS et les autres solutions classiques ne tenaient plus la charge face \u00e0 leurs 650 p\u00e9taoctets de donn\u00e9es utilis\u00e9es leur machine learning. Alors ils ont fait ce que font les vrais geeks, ils ont cod\u00e9 leur propre solution\u2026 et apr\u00e8s trois ans de production sans perdre \u201c<em>un seul octet\u201d,<\/em> ils ont tout balanc\u00e9 en en open source sur<br \/>\n<a href=\"https:\/\/github.com\/XTXMarkets\/ternfs\">GitHub<\/a><br \/>\n.<\/p>\n<p>Le truc g\u00e9nial avec TernFS, c\u2019est qu\u2019il a \u00e9t\u00e9 pens\u00e9 pour les fichiers immuables, vous savez, ces gros datasets de plusieurs gigaoctets qu\u2019on \u00e9crit une fois et qu\u2019on relit des milliers de fois pour entra\u00eener des mod\u00e8les. Pas de modification apr\u00e8s cr\u00e9ation, pas de prise de t\u00eate avec les locks et la coh\u00e9rence. C\u2019est simple et efficace.<\/p>\n<p>L\u2019architecture repose sur quatre composants principaux qui bossent ensemble : les metadata shards (256 shards logiques pour g\u00e9rer les m\u00e9tadonn\u00e9es), le CDC (Cross-Directory Coordinator) pour les op\u00e9rations entre r\u00e9pertoires, les block services pour stocker les donn\u00e9es, et un registry pour orchestrer tout ce petit monde. Le tout communique en UDP\/TCP avec du Reed-Solomon pour l\u2019erasure coding et du CRC32-C pour v\u00e9rifier l\u2019int\u00e9grit\u00e9. Bref, \u00e7a semble \u00eatre du solide.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/ternfs-filesystem-exaoctets-linux-opensource\/ternfs-filesystem-exaoctets-linux-opensource-2.png\" alt=\"\" loading=\"lazy\"><\/p>\n<p>Et les chiffres qu\u2019ils donnent sur leur production sont assez dingues. Ils parlent de 500+ p\u00e9taoctets r\u00e9partis sur 30 000 disques durs et 10 000 SSD, dans 3 datacenters diff\u00e9rents, avec des d\u00e9bits qui montent \u00e0 plusieurs t\u00e9raoctets par seconde en vitesse de pointe. Et leur syst\u00e8me g\u00e8re \u00e7a tranquille, avec du multi-r\u00e9gion natif et une tol\u00e9rance aux pannes qui ferait p\u00e2lir d\u2019envie n\u2019importe quel admin sys.<\/p>\n<p>Si \u00e7a vous chauffe, pour installer TernFS, c\u2019est du classique. Vous clonez le repo, vous lancez <code>.\/build.sh alpine<\/code> ou <code>.\/build.sh ubuntu<\/code> selon votre distrib, et c\u2019est parti. Il y a un module kernel Linux pour gratter les perfs maximales et toucher les \u00e9toiles, mais vous pouvez aussi utiliser FUSE si vous pr\u00e9f\u00e9rez rester en userspace. Ils ont m\u00eame impl\u00e9ment\u00e9 une API S3 pour ceux qui veulent migrer depuis AWS sans tout r\u00e9\u00e9crire.<\/p>\n<div class=\"highlight\">\n<pre class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">git clone https:\/\/github.com\/XTXMarkets\/ternfs\n<\/span><\/span><span class=\"line\"><span class=\"cl\">cd ternfs\n<\/span><\/span><span class=\"line\"><span class=\"cl\">.\/build.sh alpine\n<\/span><\/span><span class=\"line\"><span class=\"cl\"># Et pour tester en local\n<\/span><\/span><span class=\"line\"><span class=\"cl\">.\/scripts\/ternrun\n<\/span><\/span><\/code><\/pre>\n<p>Par contre, attention aux limitations ! Car TernFS n\u2019est pas du tout fait pour les petits fichiers (genre les millions de fichiers de 1KB d\u2019un projet Node.js). C\u2019est vraiment optimis\u00e9 pour du gros volume du style datasets ML, logs d\u2019applications, archives, ce genre de trucs. Et y\u2019a pas de syst\u00e8me de permissions int\u00e9gr\u00e9 non plus, car ils ont pr\u00e9f\u00e9r\u00e9 garder \u00e7a basique et laisser chacun impl\u00e9menter sa propre couche de s\u00e9curit\u00e9.<\/p>\n<p>Ils ont mis au point \u00e9galement un syst\u00e8me de \u201cblock proofs\u201d o\u00f9 chaque bloc de data a une preuve cryptographique qui permet de v\u00e9rifier que le client n\u2019a pas corrompu les donn\u00e9es avant de les \u00e9crire. \u00c7a \u00e9vite qu\u2019un client bugu\u00e9 ou malveillant ne pourrisse tout le filesystem. Ils ont aussi un syst\u00e8me de \u201cscrubbing\u201d automatique qui d\u00e9tecte et remplace les secteurs d\u00e9faillants sur les disques.<\/p>\n<p>Chouette non ?<\/p>\n<p>\n<a href=\"https:\/\/www.bloomberg.com\/news\/articles\/2025-01-22\/gerko-s-xtx-to-build-1-billion-data-hub-in-machine-learning-bet\">D\u2019apr\u00e8s Bloomberg<\/a><br \/>\n, XTX Markets investit actuellement 1 milliard d\u2019euros dans de nouveaux datacenters en Finlande. Avec leurs 25 000 GPUs (dont 10 000 A100 et 10 000 V100) et maintenant TernFS en open source, ils montrent surtout qu\u2019ils ne rigolent pas avec l\u2019infrastructure. C\u2019est pas pour rien qu\u2019ils arrivent \u00e0 traiter un trillion d\u2019enregistrements par jour pour leurs algos de trading.<\/p>\n<p>Leur code est disponible sous double licence \u00e0 savoir GPLv2+ pour le core et Apache 2.0 avec exception LLVM pour les biblioth\u00e8ques client et les d\u00e9finitions de protocole. \u00c7a permet d\u2019int\u00e9grer TernFS dans \u00e0 peu pr\u00e8s n\u2019importe quel projet, commercial ou non.<\/p>\n<p>Bref, si vous g\u00e9rez des p\u00e9taoctets de donn\u00e9es et que ZFS commence \u00e0 tirer la langue, TernFS vaut vraiment le coup d\u2019\u0153il. Reste \u00e0 voir si d\u2019autres g\u00e9ants du big data vont l\u2019adopter ou si \u00e7a restera un outil de niche pour les vraiment gros volumes, mais avec l\u2019explosion du Machine Learning et des LLMs, je parie qu\u2019on va en entendre parler de plus en plus\u2026<\/p>\n<p>\n<a href=\"https:\/\/www.phoronix.com\/news\/TernFS-File-System-Open-Source\">Source<\/a>\n<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Et encore un article un peu technique pour finir la journ\u00e9e en beaut\u00e9 ! Si je vous disais que votre serveur Linux pouvait g\u00e9rer 10 exaoctets de donn\u00e9es sans broncher ? Vous ne me croiriez pas je pense\u2026 D\u2019ailleurs c\u2019est quoi 10 exaoctets ?? Et bien \u00e7a correspond \u00e0 10 millions de To. C\u2019est pas mal hein ? H\u00e9 bien c\u2019est exactement ce que permet de g\u00e9rer TernFS, le syst\u00e8me de fichiers qu\u2019XTX Markets vient de lib\u00e9rer apr\u00e8s trois ans d\u2019utilisation intensive. XTX Markets est une bo\u00eete d\u2019algo-trading qui brasse 250 milliards de dollars par jour et j\u2019avoue que c\u2019est un joli cadeau de presque-No\u00ebl qu\u2019elle vient de nous faire\u2026 D\u2019apr\u00e8s ce qu\u2019ils expliquent sur leur site , NFS et les autres solutions classiques ne tenaient plus la charge face \u00e0 leurs 650 p\u00e9taoctets de donn\u00e9es utilis\u00e9es leur machine learning. Alors ils ont fait ce que font les vrais geeks, ils ont cod\u00e9 leur propre solution\u2026 et apr\u00e8s trois ans de production sans perdre \u201cun seul octet\u201d, ils ont tout balanc\u00e9 en en open source sur GitHub . Le truc g\u00e9nial avec TernFS, c\u2019est qu\u2019il a \u00e9t\u00e9 pens\u00e9 pour les fichiers immuables, vous savez, ces gros datasets de plusieurs gigaoctets qu\u2019on \u00e9crit une fois et qu\u2019on relit des milliers de fois pour entra\u00eener des mod\u00e8les. Pas de modification apr\u00e8s cr\u00e9ation, pas de prise de t\u00eate avec les locks et la coh\u00e9rence. C\u2019est simple et efficace. L\u2019architecture repose sur quatre composants principaux qui bossent ensemble : les metadata shards (256 shards logiques pour g\u00e9rer les m\u00e9tadonn\u00e9es), le CDC (Cross-Directory Coordinator) pour les op\u00e9rations entre r\u00e9pertoires, les block services pour stocker les donn\u00e9es, et un registry pour orchestrer tout ce petit monde. Le tout communique en UDP\/TCP avec du Reed-Solomon pour l\u2019erasure coding et du CRC32-C pour v\u00e9rifier l\u2019int\u00e9grit\u00e9. Bref, \u00e7a semble \u00eatre du solide. Et les chiffres qu\u2019ils donnent sur leur production sont assez dingues. Ils parlent de 500+ p\u00e9taoctets r\u00e9partis sur 30 000 disques durs et 10 000 SSD, dans 3 datacenters diff\u00e9rents, avec des d\u00e9bits qui montent \u00e0 plusieurs t\u00e9raoctets par seconde en vitesse de pointe. Et leur syst\u00e8me g\u00e8re \u00e7a tranquille, avec du multi-r\u00e9gion natif et une tol\u00e9rance aux pannes qui ferait p\u00e2lir d\u2019envie n\u2019importe quel admin sys. Si \u00e7a vous chauffe, pour installer TernFS, c\u2019est du classique. Vous clonez le repo, vous lancez .\/build.sh alpine ou .\/build.sh ubuntu selon votre distrib, et c\u2019est parti. Il y a un module kernel Linux pour gratter les perfs maximales et toucher les \u00e9toiles, mais vous pouvez aussi utiliser FUSE si vous pr\u00e9f\u00e9rez rester en userspace. Ils ont m\u00eame impl\u00e9ment\u00e9 une API S3 pour ceux qui veulent migrer depuis AWS sans tout r\u00e9\u00e9crire. git clone https:\/\/github.com\/XTXMarkets\/ternfs cd ternfs .\/build.sh alpine # Et pour tester en local .\/scripts\/ternrun Par contre, attention aux limitations ! Car TernFS n\u2019est pas du tout fait pour les petits fichiers (genre les millions de fichiers de 1KB d\u2019un projet Node.js). C\u2019est vraiment optimis\u00e9 pour du gros volume du style datasets ML, logs d\u2019applications, archives, ce genre de trucs. Et y\u2019a pas de syst\u00e8me de permissions int\u00e9gr\u00e9 non plus, car ils ont pr\u00e9f\u00e9r\u00e9 garder \u00e7a basique et laisser chacun impl\u00e9menter sa propre couche de s\u00e9curit\u00e9. Ils ont mis au point \u00e9galement un syst\u00e8me de \u201cblock proofs\u201d o\u00f9 chaque bloc de data a une preuve cryptographique qui permet de v\u00e9rifier que le client n\u2019a pas corrompu les donn\u00e9es avant de les \u00e9crire. \u00c7a \u00e9vite qu\u2019un client bugu\u00e9 ou malveillant ne pourrisse tout le filesystem. Ils ont aussi un syst\u00e8me de \u201cscrubbing\u201d automatique qui d\u00e9tecte et remplace les secteurs d\u00e9faillants sur les disques. Chouette non ? D\u2019apr\u00e8s Bloomberg , XTX Markets investit actuellement 1 milliard d\u2019euros dans de nouveaux datacenters en Finlande. Avec leurs 25 000 GPUs (dont 10 000 A100 et 10 000 V100) et maintenant TernFS en open source, ils montrent surtout qu\u2019ils ne rigolent pas avec l\u2019infrastructure. C\u2019est pas pour rien qu\u2019ils arrivent \u00e0 traiter un trillion d\u2019enregistrements par jour pour leurs algos de trading. Leur code est disponible sous double licence \u00e0 savoir GPLv2+ pour le core et Apache 2.0 avec exception LLVM pour les biblioth\u00e8ques client et les d\u00e9finitions de protocole. \u00c7a permet d\u2019int\u00e9grer TernFS dans \u00e0 peu pr\u00e8s n\u2019importe quel projet, commercial ou non. Bref, si vous g\u00e9rez des p\u00e9taoctets de donn\u00e9es et que ZFS commence \u00e0 tirer la langue, TernFS vaut vraiment le coup d\u2019\u0153il. Reste \u00e0 voir si d\u2019autres g\u00e9ants du big data vont l\u2019adopter ou si \u00e7a restera un outil de niche pour les vraiment gros volumes, mais avec l\u2019explosion du Machine Learning et des LLMs, je parie qu\u2019on va en entendre parler de plus en plus\u2026 Source<\/p>\n","protected":false},"author":1,"featured_media":1180,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-1179","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/1179","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=1179"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/1179\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/1180"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=1179"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}