Btrfs

Ievads Btrfs failu sistēmā

Ievads Btrfs failu sistēmā
Btrfs (B-Tree Filesystem) ir moderna Linux failu kopēšanas un rakstīšanas (CoW) failu sistēma. Btrfs mērķis ir ieviest daudzas uzlabotas failu sistēmas funkcijas, vienlaikus koncentrējoties uz kļūdu toleranci, labošanu un ērtu administrēšanu. Btrfs failu sistēma ir izstrādāta, lai atbalstītu augstas veiktspējas un lielu krātuves serveru prasības. Tas ir piemērots petabaitu mēroga datu centriem, kā arī mobilajiem viedtālruņiem.Šajā rakstā es apspriedīšu Btrfs failu sistēmu un tās funkcijas. Tātad, sāksim darbu.

Kopēt uz rakstīšanas - CoW failu sistēma:

Btrfs ir kopēšanas uz rakstīšanas (CoW) failu sistēma. CoW failu sistēmā, mēģinot modificēt datus par failu sistēmu, failu sistēma kopē datus, modificē tos un pēc tam modificētos datus pārraksta citā brīvā failu sistēmas vietā.

Failu sistēmas Copy-on-Write (CoW) galvenā priekšrocība ir tā, ka datu apjoms, ko tā vēlas mainīt, tiek kopēti citā vietā, modificēti un saglabāti citā failu sistēmas apjomā. Sākotnējo datu apjoms nav mainīts. Tātad, btrfs failu sistēma var novērst datu sabojāšanas vai daļējas atjaunināšanas risku strāvas padeves pārtraukuma gadījumā datu modifikācijas laikā, jo sākotnējie dati tiek nemainīti.

Failu sistēmas Copy-on-Write (CoW) galvenais trūkums ir tas, ka lielie faili, tos modificējot, mēdz sadalīties. Tātad, defragmentēšana ir nepieciešama reizi pa reizei. Par laimi, btrfs failu sistēma atbalsta tiešsaistes defragmentēšanu. Tātad, lai defragmentētu btrfs failu sistēmu, jums nav jānoņem failu sistēma.

Btrfs failu sistēmas galvenās iezīmes:

Btrfs failu sistēmas galvenās iezīmes ir:

i) Failu glabāšana pēc apjoma: Failu sistēmā, kas balstīta uz apjomu, krātuvi sauc par pakāpi. Apjoms ir blakusesošs krātuves apgabals, kas rezervēts failam. Vienam failam ir vajadzīgs viens apjoms, neatkarīgi no tā, cik mazs fails ir. Lielākiem failiem (faila izmērs ir lielāks par apjoma lielumu) būs nepieciešami vairāki apjomi. Lielākiem failiem metadati tiks izmantoti, lai sekotu faila izmantotajiem apjomiem. Btrfs failu sistēmā metadatu izmērs ir ievērojami mazāks. Mazāki metadati uzlabo krātuves efektivitāti un failu sistēmas veiktspēju.

ii) Milzīgs faila lieluma atbalsts: Btrfs failu sistēmā viens fails var būt apmēram 264 baitu vai 16 EiB (eksbibītu) lieluma. Neatkarīgi no tā, cik liels ir jūsu fails, Btrfs to var atbalstīt.

iii) Mazu failu iesaiņošana kosmosa ziņā: Parasti neatkarīgi no tā, cik mazs fails ir, faila glabāšanai būs nepieciešams viens bloks vai viens apjoms. Tas iztērē daudz vietas diskā. Lai atrisinātu šo problēmu, Btrfs failu sistēma metadatos iekļauj mazākus failus, lai efektīvi uzglabātu mazākus failus.

iv) Kosmosa ziņā efektīvi indeksēti direktoriji: Btrfs failu sistēmas direktoriji tiek indeksēti divos dažādos veidos. Failu nosaukumu uzmeklēšanai tiek izmantota atslēgu indeksēšana. Lai atsauktos uz datiem, tiek izmantota atslēgu indeksēšana, kuras pamatā ir inode. Divu līmeņu indeksēšana uzlabo direktoriju / failu uzmeklēšanas veiktspēju un samazina indeksu glabāšanas prasības.

v) Dinamiskā inoda piešķiršana: Lai atsauktu 1 failu, jums ir nepieciešams 1 inode. Daudzas failu sistēmas (t.i.e., Ext4) ir noteikts skaits inodu. Tātad, ja izveidojat pārāk daudz mazu failu, diskā var būt daudz vietas, taču nevarēsit izveidot jaunus failus. Pēc failu sistēmas izveides jūs arī nevarat palielināt maksimālo inodu skaitu.

Btrfs atrisina šo problēmu, dinamiski piešķirot inodus, kā tas nepieciešams. Tātad, ja vien jums ir brīva vieta diskā, varat izveidot tik daudz failu, cik vēlaties.

vi) Rakstāmi momentuzņēmumi un tikai lasāmi momentuzņēmumi: Btrfs failu sistēma atbalsta momentuzņēmumus. Jūs varat uzņemt pašreizējās failu sistēmas momentuzņēmumu, kuru varat izmantot datu atjaunošanai, ja esat nejauši izņēmis dažus failus vai bojājis dažus datus.

Pēc noklusējuma btrfs momentuzņēmumi ir tikai lasāmi. Kad esat uzņēmis tikai lasāmu momentuzņēmumu, tajā nevar mainīt nevienu failu / direktoriju. Jebkurā gadījumā, ja vēlaties mainīt failus / direktorijus pēc tam, kad esat uzņēmis esošās Btrfs failu sistēmas momentuzņēmumu, varat mainīt tikai lasāmu momentuzņēmumu uz rakstāmu momentuzņēmumu un modificēt visus failus / direktorijus šajā momentuzņēmumā.

vii) Apjomi: Btrfs failu sistēmā var būt daudz apakšapjomu. Apakšapjoms ir nosaukts binārā koks (B-koks) (vai iekšēja / loģiska failu sistēmas sakne) esošajam btrfs failu sistēmas failu sistēmas saknes kokam (galvenais). Apakšapjoms nav pati sava bloķēšanas ierīce. Bet jūs varat atsevišķi uzstādīt Btrfs apakšapjomus. Apakšapjomus var uzskatīt par nosaukumvietām.

viii) Apjoms, kas apzinās kvotu atbalstu: Jūs varat piešķirt kvotas arī apakšapjomiem. Kad kvota būs pārsniegta, apakšapjomā nevarēsit pievienot jaunus datus. Lai izveidotu Btrfs apakšapjoma kvotas, jums nebūs vajadzīgas atsevišķas programmas.

ix) datu un metadatu pārbaudes summas: Lai izvairītos no datu bojāšanas, Btrfs pēc noklusējuma datiem un failu sistēmas metadatiem izmanto crc32c kontrolsummas algoritmus. Kontrolsummas tiek saglabātas failu sistēmā, lai automātiski pārbaudītu, vai fonā nav failu sistēmas kļūdu un datu bojājumu.

Btrfs atbalsta daudzus citus kontrolsummas algoritmus: xxhash, sha256 un blake2b.

x) saspiešana: Btrfs failu sistēma atbalsta caurspīdīgu failu saspiešanu. Failu saspiešana un dekompresēšana btrfs failu sistēmā tiek veikta automātiski fonā.

Btrfs atbalsta 3 saspiešanas algoritmus: ZLIB, LZO un ZSTD.

ZLIB ir noklusējuma saspiešanas metode btrfs failu sistēmā.

xi) Integrēts vairāku ierīču atbalsts: Btrfs failu sistēmās ir iebūvēts loģiskā apjoma pārvaldnieka (LVM) atbalsts. Vienā btrfs failu sistēmā var pievienot vairākas atmiņas ierīces. Varat arī konfigurēt RAID masīvus btrfs failu sistēmā, neprasot papildu programmatūru.

Btrfs failu sistēma atbalsta datu svītrošanu, datu spoguļošanu, datu svītrošanu + spoguļošanu un vienas un divu paritātes ieviešanu.

Datu svītrošana: Ja tajā pašā btrfs failu sistēmā esat pievienojis vairākas atmiņas ierīces, btrfs var vienu un to pašu failu glabāt dažādās fiziskās ierīcēs / nodalījumos. To sauc par datu svītrošanu. Datu svītrošana uzlabo failu sistēmas lasīšanas / rakstīšanas veiktspēju. RAID-0 plaši izmanto datu noņemšanas funkciju.

Datu atspoguļošana: Ja tajā pašā btrfs failu sistēmā esat pievienojis vairākas atmiņas ierīces, visi vienā atmiņas ierīcē ierakstītie dati tiks ierakstīti visās pārējās atmiņas ierīcēs. To sauc par datu atspoguļošanu. RAID-1 plaši izmanto datu atspoguļošanas funkciju.

Datu svītrošana + viena paritāte: RAID-5 izmanto datu svītrošanu un vienotu sadalītu paritāti. Ja btrfs failu sistēmā esat pievienojis vairākas atmiņas ierīces, tad RAID-5 noņems datus no vairākām atmiņas ierīcēm un aprēķinās un uzglabās paritātes blokus visās atmiņas ierīcēs. RAID-5 var uzturēt viena diska kļūmi.

Datu svītrošana + dubultā paritāte: RAID-6 izmanto datu svītrošanu un divkāršu sadalītu paritāti. Ja btrfs failu sistēmā esat pievienojis vairākas atmiņas ierīces, RAID-6 noņems datus no vairākām atmiņas ierīcēm un aprēķinās un glabās dubultās paritātes blokus visās atmiņas ierīcēs. RAID-6 var noturēt divas diska kļūmes. Izņemot to, tas ir tas pats, kas RAID-5 (datu svītrošana + viena paritāte).

Datu svītrošana + atspoguļošana: RAID-10 vienlaikus izmanto datu svītrošanu un datu atspoguļošanu. RAID-10 nepieciešams, lai vienai btrfs failu sistēmai tiktu pievienots pāra skaits vienāda lieluma atmiņas ierīču. Minimālais RAID-10 btrfs failu sistēmā pievienojamo atmiņas ierīču skaits ir 4. Puse glabāšanas ierīces tiks izmantota datu svītrošanai, bet otra puse tiks izmantota glabāšanas ierīču pirmās puses datu atspoguļošanai (kur dati ir svītroti).

xii) SSD izpratne un optimizācija: Btrfs failu sistēma ir informēta par SSD, un tai ir dažas SSD optimizācijas funkcijas. Btrfs failu sistēmai ir arī TRIM / Discard atbalsts SSD atmiņas ierīcēm.

TRIM funkcija var noteikt un atzīmēt datus, kas vairs netiek izmantoti. Kad paplašinājumi ir atzīmēti, btrfs failu sistēma var tos automātiski noslaucīt, lai pārējie faili varētu izmantot šos datu apjomus.

Funkcija Izmest noņems visus SSD datu paplašinājumus. Ja vēlaties pārdot savu SSD, šī funkcija var būt noderīga.

xiii) Efektīva papildu dublēšana: Btrfs atbalsta papildu dublēšanu. Pirmo reizi dublējot btrfs failu sistēmu, tiek uzņemts pašreizējās failu sistēmas momentuzņēmums. Pēc tam visas nākamās dublējumkopijas tiks salīdzinātas ar pirmo momentuzņēmumu, un diskā tiks saglabātas tikai izmaiņas. Tātad jebkurš nākamais dublējums aizņem mazāk vietas diskā, un dublēšana būs ātrāka.

xiv) fona skrubis: Tas ir Btrfs failu sistēmas process, ko izmanto, lai atrastu un labotu kļūdas failos, kuru Btrfs failu sistēmā ir saglabātas liekas kopijas (vairākas kopijas).

xv) Tiešsaistes failu sistēmas defragmentēšana: Iepriekš esmu paskaidrojis, kā darbojas Btrfs failu kopēšanas un rakstīšanas sistēma. Lielie faili tiek glabāti vairākos Btrfs failu sistēmas līmeņos. Modificējot lielus failus, modificējamie apjomi tiek kopēti uz dažādiem failu sistēmas brīvajiem apjomiem un tiek modificēti tur. Tātad nemodificētie datu apjomi tiek saglabāti arī gadījumā, ja tas ir nepieciešams failu sistēmas atkopšanai. Tas izraisa sadrumstalotību (liela faila datu apjomi nebūs nepārtraukti un tiks izkaisīti pa visu atmiņas ierīci) failu sistēmā, mainot lielus failus. Pārāk liela sadrumstalotība negatīvi ietekmē failu sistēmu (padara failu sistēmu lasīšanas / rakstīšanas darbību lēnāku).

Lai atrisinātu šo problēmu, btrfs failu sistēma atbalsta tiešsaistes failu sistēmas defragmentēšanu. Izmantojot tiešsaistes defragmentēšanu, jums nav jānoņem failu sistēma, lai defragmentētu failu sistēmu. Varat saglabāt un palaist failu sistēmu un joprojām to defragmentēt. Defragmentēšana pārvietos failu apjomus ap failu sistēmu, lai tā paša lielā faila apjomi būtu pēc iespējas nepārtraukti. Defragmentēšana uzlabo failu sistēmas veiktspēju.

xvi) Bezsaistes failu sistēmas pārbaude: Btrfs failu sistēmā ir daudz iebūvētu rīku, kurus varat izmantot, lai pārbaudītu failu sistēmas kļūdas un tās novērstu. Izmantojot šos rīkus, varat arī salabot bojātu Btrfs failu sistēmu (kuru nevar uzstādīt).

xvii) Esošo Ext2 / 3/4 un ReiserFS failu sistēmu pārveidošana uz vietas: Btrfs failu sistēmā ir iebūvēta utilīta btrfs-convert, kuru varat izmantot, lai esošo Ext2 / 3/4 un ReiserFS failu sistēmas pārveidotu par Btrfs failu sistēmu.

Btrfs failu sistēmas pārveidošanas programma nolasa esošās Ext2 / 3/4 (vai ReiserFS) failu sistēmas metadatus, izveido Btrfs metadatus un saglabā tos failu sistēmā. Failu sistēma saglabā gan Btrfs, gan Ext2 / 3/4 (vai ReiserFS) metadatus. Btrfs failu sistēma norāda uz tiem pašiem failu blokiem, kurus izmanto Ext2 / 3/4 (vai ReiserFS) failu sistēmas faili. Esošā failu sistēma un datu bloki netiek turēti neskarti, jo Btrfs ir kopēšanas - rakstīšanas (CoW) failu sistēma. Kad fails tiek modificēts, Btrfs failu sistēma kopē sākotnējos datu blokus uz jauniem bezmaksas apjomiem un tos tur modificē.

xviii) Sēklas ierīces: Btrfs failu sistēma atbalsta sēklas ierīces. Jūs varat izveidot tikai lasāmu failu sistēmu un izmantot to kā veidni (sākuma ierīci), lai izveidotu citas Btrfs failu sistēmas. Ieguvums no tā ir tas, ka tikai modificētie dati tiks ierakstīti jaunajā failu sistēmā. Sākotnējie dati (par sēklu ierīcēm) tiks saglabāti tādi, kādi tie ir. Šo funkciju var izmantot, lai ietaupītu daudz vietas diskā un datu atlaišanu.

xix) Nosūtīt / saņemt apakšapjoma izmaiņas: Btrfs failu sistēma var nosūtīt / saņemt apakšapjoma izmaiņas. Btrfs failu sistēma var nosūtīt apakšapjoma pakāpeniskas izmaiņas citai Btrfs failu sistēmai (var arī atrasties citā datorā), kas var saņemt apakšapjoma izmaiņas. Šī funkcija tiek izmantota, lai Btrfs failu sistēmā dublējumkopijas veiktu lokāli vai attālināti. Šī metode ir ātrāka un efektīvāka nekā rsync.

xx) Partijas / ārpus joslas deduplikācija: Btrfs failu sistēma atbalsta partijas vai ārpus joslas deduplikāciju. Dublēšanās notiek pēc faila ierakstīšanas failu sistēmā. Btrfs failu sistēma aktīvi skenē visu failu sistēmu pēc identiskiem apjomiem un saglabā tikai vienu katra apjoma kopiju (noņem liekos / dublētos apjomus). Šim uzdevumam tiek izmantots tas pats princips copy-on-write (CoW). Deduplikācija ietaupa daudz vietu diskā.

xxi) Apmaiņas failu atbalsts: Ja izmantojat Linux kodolu 5.0 vai jaunāka, Btrfs failu sistēmā varat izveidot mainīgos failus.

Btrfs failu sistēmā ir daži Swapfile ierobežojumi:

- Apmaiņas fails ir jāpiešķir kā NoCoW (nevis uz rakstīšanas kopiju)

- Pārmaiņas failā nedrīkst būt iespējota saspiešana.

Btrfs failu sistēmas stabilitāte:

Btrfs failu sistēmu Btrfs komanda aktīvi attīsta. Šīs rakstīšanas laikā lielākā daļa failu sistēmas funkciju ir stabilas. Dažas uzlabotās funkcijas vēl nav pietiekami stabilas ražošanas videi. Btrfs komanda cītīgi strādā, lai atrisinātu šos stabilitātes jautājumus.

Ja vēlaties izmantot Btrfs failu sistēmu ražošanas serverī, pārbaudiet oficiālo lapu Status - btrfs Wiki, lai uzzinātu, vai nepieciešamās failu sistēmas funkcijas jums ir pietiekami stabilas vai nav. Pirms Btrfs failu sistēmas pēdējās izvietošanas noteikti veiciet dažus testus un neaizmirstiet saglabāt svarīgu datu dublējumus. Rezerves kopēšana vienmēr ir svarīga ražošanas vidē.

Turpmākā Ext4 failu sistēmas nomaiņa:

Btrfs failu sistēma tiek strauji attīstīta. Btrfs izstrādes komandai rūp arī failu sistēmas stabilitāte. Tātad, viņi cenšas visu iespējamo, lai padarītu to pēc iespējas stabilāku, vienlaikus izstrādājot btrfs failu sistēmu. Kad btrfs failu sistēma ir pilnībā izstrādāta un visas funkcijas ir pietiekami stabilas, tā var aizstāt Ext4 failu sistēmu.

Atsauces:

[1] btrfs Wiki - https: // btrfs.wiki.kodols.org / index.php / Main_Page
[2] BTRFS - kodola koka dokumentācija - https: // www.kodols.org / doc / html / latest / filesystems / btrfs.html
[3] BTRFS - glosārijs - https: // btrfs.wiki.kodols.org / index.php / Glosārijs
[4] Failu sistēmas “Btrfs” funkcijas - https: // www.dienasgrāmata.com / features-of-the-btrfs-failu sistēma /
[5] Failu sistēmu salīdzinājums - https: // lv.vikipēdija.org / wiki / Failu_sistēmu salīdzinājums
[6] Btrfs dizains - btrfs Wiki - https: // btrfs.wiki.kodols.org / index.php / Btrfs_design
[7] iespējams, ka inodu trūkumu varētu uztvert “nopietnāk”? - https: // lwn.net / Raksti / 724522 /
[8] Btrfs tikai lasāmu momentuzņēmumu izveidošana rakstāmā - https: // markandruth.līdz.uk / 2016/12/29 / making-a-btrfs-only-read-snapshot-writeable
[9] Datu svītrošana - https: // lv.vikipēdija.org / wiki / Data_striping
[10] FAQ - btrfs wiki - https: // btrfs.wiki.kodols.org / index.php / FAQ
[11] Standarta RAID līmeņi - https: // lv.vikipēdija.org / wiki / Standard_RAID_levels
[12] Trim (skaitļošana) - https: // lv.vikipēdija.org / wiki / Trim_ (skaitļošana)
[13] Cietvielu disks - ArchWiki - https: // wiki.archlinux.org / index.php / Solid_state_drive # TRIM
[14] Btrfsck - btrfs Wiki - https: // btrfs.wiki.kodols.org / index.php / Btrfsck
[15] Reklāmguvums no Ext3 / 4 un ReiserFS - btrfs Wiki - https: // btrfs.wiki.kodols.org / index.php / Conversion_from_Ext3
[16] Papildu dublējums - btrfs Wiki - https: // btrfs.wiki.kodols.org / index.php / Incremental_Backup
[17] Deduplikācija - btrfs Wiki - https: // btrfs.wiki.kodols.org / index.php / Deduplication
[18] Statuss - btrfs Wiki - https: // btrfs.wiki.kodols.org / index.php / Statuss

Microsoft Sculpt Touch bezvadu peles apskats
Es nesen lasīju par Microsoft Sculpt Touch bezvadu pele un nolēma to nopirkt. Pēc kāda laika izmantošanas es nolēmu dalīties savā pieredzē ar to. Šo b...
AppyMouse ekrāna skārienpaliktnis un peles rādītājs Windows planšetdatoriem
Planšetdatoru lietotājiem bieži pietrūkst peles rādītāja, it īpaši, ja viņi parasti lieto klēpjdatorus. Skārienekrāna viedtālruņiem un planšetdatoriem...
Vidējā peles poga nedarbojas sistēmā Windows 10
The peles vidējā poga palīdz jums ritināt garas tīmekļa lapas un ekrānus ar lielu datu daudzumu. Ja tas apstājas, jūs galu galā izmantosiet tastatūru,...