Segunda entrevista com o desenvolvedor do Reiser4 Eduard Shishkin

Recentemente, Eduard Shishkin me contatou e pediu para publicar uma entrevista (que tenho o prazer de fazer) em formato de pergunta e resposta.

A primeira entrevista (2010) pode ser consultada aqui .





- Para começar, lembre aos leitores onde e com quem você trabalha.





Trabalho como Arquiteto Principal de Armazenamento na Huawei Technologies, Centro de Pesquisa Alemão. No departamento de virtualização, lido com vários aspectos do armazenamento de dados. Minha atividade não está relacionada a um sistema operacional específico.





- Você está se comprometendo com a linha principal agora?





, . , , 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