Deuxième entretien avec le développeur de Reiser4, Eduard Shishkin

Récemment, Eduard Shishkin m'a contacté et m'a demandé de publier une interview (ce que je suis heureux de faire) dans un format question-réponse.

Le premier entretien (2010) peut être trouvé ici .





- Pour commencer, veuillez rappeler aux lecteurs où et avec qui vous travaillez.





Je travaille en tant qu'architecte de stockage principal chez Huawei Technologies, centre de recherche allemand. Dans le département de virtualisation, je m'occupe de différents aspects du stockage des données. Mon activité n'est pas liée à un système d'exploitation spécifique.





- Vous engagez-vous maintenant sur la ligne principale?





, . , , 9p ( - VirtFS). : , , , " ", . , - , . , - - .





— , , , . (, , ) -, ? , , -, ?





- . - , , , , " ", , . Computer science, , . - 2x2 , 4, "Linux way", , . , . , . , , . , " ". - . , , - .





— Btrfs? ? — « » ?





. , 11 , . Btrfs, , - . , , . - . , . ( Linux 5.12). , , . . . - 50% ( 15%). - " ". 4 . : , ( 85%) - . , , , (, ), . , , 15% "" , , , . Btrfs ( , .), , ( "" , ) - .





( ). : Btrfs B-, . , "" , . , "" . "". , . Btrfs B-, .. Btrfs. 8-10 , " ", ( ) "Linux way". , , . . , 10 . , . " ", , "- ". "" . B- - , , !





Btrfs? , , . - , " ", c Btrfs . , , , , 30 . - Btrfs .





, , . . . , .





— Btrfs RHEL.





, . "technology preview". , "preview". ! by-design . RHEL - , - . Red Hat , Btrfs. : , , , , , . ? . Red Hat , . , , DoS-, Btrfs. , ? , GPL, , , : " !" Red Hat, , ! , Red Hat- , QA-, .





— Btrfs -?





, "" . - , . , GNU/Linux - RHEL. , , , . , , - , ( ""). , .. . , - .





, - , Facebook Btrfs . , .





— XFS? — , ext4 . Red Hat' XFS? — ext4 XFS?





, . , Red Hat. , : - . XFS ext4. . , - . , . ext4 XFS . , . . , , , . - , (", , !").





— layer violation ( ) ext4, F2FS ( RAID Btrfs)?





, - - , - . , "", , , block layer. "" . : , . , , block layer, . . , "" (bit rot). , -, .. , (, bitmap-, - .), kernel panic. , , block layer (.. RAID 1) . , : - ? , , . ( , ) -. . (, ) - . "" . layering violation - - . - RAID-5 . ( RAID / LVM ) . , layering violation " " . - , , .





Reiser4 "". , , , , , , (VFS).





— ReiserFS v3.6 , , JFS? . ?





, . , ( , ) - . , JFS ( ), ReiserFS (v3) ( ). , , , . , , , . " " . , , , . -. , ReserFS v3 Reiser4, .





Tux3 HAMMER/HAMMER2 ( DragonFly BSD)?





, . Tux3 - (.. " "), Reiser4 , , . (snapshots) , Reiser4 . , "" , , B-. . , Reiser4, "" - , .





HAMMER: . . , B-. . .





— CephFS/GlusterFS/etc? ?





, . . , - . . , - , . - , " " " ", , : ", !". , . , , . . "Big Data" , , , ..





— , , ?





, . , , - " ". , . . page cache . " " . . IO-forwarding () . (server node) . ( , , ). , server node backend storage - (.. , ) . , , "" "" . - , (- ). . , ( -). backend storage , . (SSD, NVRAM .), " " , , . . , , 9p- QEMU - VirtFS. , , , . - . - . , GlusterFS . , NetBSD.





— ?





, , , , - . , , 4 , : , , , . , , , - (, ).





. -, . .. "" " ", LVM ( layering violation, ZFS). , ( ) (.. , -). , ( ), block layer , "" . , , , . : , . ZFS- ( LVM) ( , ..). ! , ( , ), , . . , - , . , ! , - . , - , , ! , , , / . -, , , .





, +LVM , . , , . , - . discard-, - , .. . , LVM, . , - . . . , ?





.. "Write-Anywhere" ( Reiser4, ). . , . , - . , . , - . , , . , "broken design". , . , . . , . ( , ). ( GlusterFS). - (fsck). , . , .





, (snapshots). LVM ZFS- , . . A ( / ) . . , , 100 , S . , S. : S? , , 100, 3 - A, B C, , (A B). C , C , , , C A B. , , S C . , , () ( ) c (, "" ). , - . : - , ? ! , . "3D-" , .





, - , ( -). , , , . +LVM : LVM , , ( ). LVM +LVM , - , . ZFS Btrfs, , - , layering violation ., ? , LVM. , (storage nodes). , . - DHT GlusterFS CRUSH map Ceph. , , . . 2015 , -, , . , . . , . , ? , , " " . - , . .





— (, blk-mq) ?





. , block layer, . . , block layer, ( reiser4 ).





— (, SMR, SSD) ?





. . . , , - . , - , . , , "".





— Reiser4 ?





, , . Reiser4 . " " - . " - !" - , . - , , , . , . "", "" , , .





— - Reiser4?





, , .. . , . , 30 , .





— Reiser4 ?





"" (resize) , ReiserFS(v3). , DIRECT_IO. , " ", , . , " ". , , ( ). Reiser4 - RAID-Z, , , 128- , .





— , , ?





(), , . , , . , - , instruction pointer, , X, , . "", , X ( X, ). , ( ), , "" - . - , , , . , , "" , . , . , " " . (, ).





— — Reiser4 ? , ? ?





, . , . - . , "" . . , , - . - ( , ). , - , . " " .





, , . , , - . - - . - , , . ? , - .





— Reiser4 ?





, , . , "" . , . , Reiser4 - : -.





, , - . Reiser4 -. . , (snapshots) - "OVERWRITE SET". Reiser4 . (Write-Anywhere) OVERWRITE SET ( ..), "" ( ). . OVERWRITE SET ( , ). , Reiser4 . ReiserFS (v3). , . ( ..), . Reiser4 , , , .





"" " ( ). - Reiser4 -. , ZFS Btrfs : . "" , . "".





, , , , ZFS, Btrfs, block layer, FS+LVM - , O(1)- , . . "" . , , , , , fsync(2). , block layer, bcache, . ( ). , , .. - - .





10. , , - "" -, reiser4. "format41".





— Reiser4 xfstests?





, , .





— Reiser4 () ?





, ! , ! backend storage, . . block layer, - ! , - . , , . ( .). -, , - . . !





— Reiser4 Linux' , FreeBSD ( : «…FreeBSD … … , »)?





, , : Reiser4 - . FreeBSD ! ! c , FreeBSD. : - , .





— Linux ? «»?





. . . - , - . . , , : .





— - ? , -, ?





, . . . . . . "", "" . "Btrfs" , . . . "", " ". , , . : , . ! "", "" - Btrfs systemd, docker, .. - .





- . Reiser4 . (, ) . - VFS, XFS ext4. VFS, , . VFS . Ext4 , , , . , - . , Linux, , - , ( , , , B-, ). . , , "". , "" , , "" , . , , . , - ZFS , . , , : - , . , - ZFS , , , ZFS : . ZFS - . ext4 XFS - .





"Linux file system of next generation". , , , " " Linux . , Linux "just for fun". . , . , , "" , - : , - , "". , . , - , ! : , , "": " ", .. , , "" , .. , " ": , ", .. . , - , "" . - , . . - . . , . .





, " " - , . Btrfs "" Bcachefs, Linux block layer ( ). : , Btrfs. , - - ! Bcachefs Btrfs, , , . " ". , . "" ( ). , , . "" , , "" , . . , , , -: , . , , .





, " ". , - . , , , "" . , - , . , , - . , . , , . . -. , (", "), . . . , , , . , : " " . , Linux VFS. , , , , , . . , 29- , " ". . !









All Articles