Baru-baru ini, Eduard Shishkin menghubungi saya dan meminta untuk mempublikasikan wawancara (yang dengan senang hati saya lakukan) dalam format tanya jawab.
Wawancara pertama (2010) dapat ditemukan di sini .
- Untuk memulainya, harap ingatkan para pembaca di mana dan dengan siapa Anda bekerja.
Saya bekerja sebagai Principal Storage Architect di Huawei Technologies, German Research Center. Di departemen virtualisasi, saya menangani berbagai aspek penyimpanan data. Aktivitas saya tidak terkait dengan sistem operasi tertentu.
- Apakah Anda berkomitmen ke jalur utama sekarang?
, . , , 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- , " ". . !