Bohuzel RedHat to vidi jinak.
The Btrfs file system has been removed in Red Hat Enterprise Linux 8.
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/considerations_in_adopting_rhel_8/file-systems-and-storage_considerations-in-adopting-rhel-8
Hej, to je docela pruser - aspon pre mna, pretoze momentalne mam na domacom serveri CentOS 7.x, ktory ma BTRFS ako systemovu particiu.
Kedze RHEL vyhadzuje podporu BTRFS uz z jadra, docela sa teda bojim upgrade na CentOS 8. Musim si zistit ako je to s EPEL jadrami (neviete nahodou niekto?), pretoze nie som ochotny si buildovat/udrziavat vlastne jadro.
Mne to pripada ako vysloveny trucpodnik zo strany RedHat-u - chapem, ze so stabilitou BTRFS boli problemy (sam som zazil na vlastnej kozi), avsak vyhodit to z jadra (a neumoznit ani len mount) sa mi zda byt docela radikalny krok (aj ked dopredu avizovany).
Kludne to mohli nechat v tech preview a oznacit to ako neodporucanu/nepodporovanu vlastnost, ale zrejme potrebuju dokopat ludi silou-mocou k stratisu...
Redhat to vidi tak, ze backportovanie btrfs do kernelu 3.10 ich stalo neskutocne usilie a pritom to v RHEL nikto(*) nepouziva. Navyse vsetci ich ludia od filesystemov su od xfs, takze vzdy treba alokovat niekoho, kto by robil radsej na niecom inom a cele kvoli comu vlastne? Takze do dalsieho releasu to jednoducho nedali.
Tak nam zostava Synology ako jedina firma, co backportuje btrfs do starych jadier, akurat ze oni si to nechavaju pre seba.
(*) vo vyzname Joela Spolskeho, t.j. menej ako 10 mil. ludi ;)
Ahoj kluci,
znamena to tedy ze pokud na btrfs pouziju prikaz cp bez paramateru, provede se automaticky Copy On Write a v podstate tak udelam pri kopii pouze "hardlink" ?
Tim vlastne dojde k deduplikaci ?
Na redditu jsem zase nasel vlakna, kde uzivatele tvrdi ze btrfs dela deduplikaci automaticky pokud je I/O nizke nebo v idlu - je to pravda ?
Dika za radu panove, rad bych na btrfs postavil fileserver....
hardlink je něco jiného, zápis do hardlinku ovlivní všechny soubory
na btrfs když zapíšu do kopírovaného souboru, tak změněný blok už nebude ukazovat na původní soubor a změna je jen ve druhém
deduplikaci nevím, nejde o defragmentaci? volba mountu autodefrag
nevýhoda je, že defragmentace a deduplikace jde proti sobě
Deduplikaci automaticky nedělá (protože to nejde udělat zadarmo, je to náročný proces). Existuje mnoho offline nástrojů, které to ale ve spolupráci s btrfs dělají.
U cp
je výchozí hodnota --reflink=never
, takže se vždy dělá plná kopie. Já mám z toho důvodu alias cp="cp --reflink=auto"
někde v zshrc.
Fileserver na btrfs doporučuji, jeden mám a další zrovna stavím. Snapshots a btrfs send/receive zlehčuje život. Ale stejně jako s každou jinou technologií ani téhle nevěřím, tak mám i offline zálohy.
Turrisy jedou take s upravenym OpenWrt na BTFRS filesystemu. Mam s tim dobre zkusenosti, zadny problem jsem nezaznamenal. Na modrakovi to tak mam nekolik let, na SD karte - puvodne to tam nebylo, musel jsem migrovat. Na Moxu je to vychozi filesystem, zadny problem jsem tez nikdy nezaznamenal. Zejmena kvuli genialnimu systemu snapshotu bych to rozhodne mohl doporucit. Ale asi bude zalezet na ucelu pouziti, treba na databaze by se asi naslo neco vykonnejsiho myslim - mozna, nejsem znalec.
Používam BTRFS ako domáce úložisko dát. Spôsob ukladania RAID1 v Btrfs mi absolútne vyhovuje. Mám HP Microserver s rôznymi diskami: 2x3TB, 1x6TB, 1x10TB. Disky majú cca 8,7,2,1 rokov. Postupne ich obmieňam podľa potreby zvýšenej kapacity, prípadne podľa fyzickej kondície. Je mi jasné že RAID1 na jednom serveri nie je 100% bezpečnosť, takže zálohy prirodzene mám (aj geolokačne)
Keď BTRFS potrebuje vyhradiť ďalší priestor, pri RAID1 vyhradí vždy 1GB priestoru na 2 diskoch ktoré majú najväčšiu voľnú kapacitu, takže časom sa voľná kapacita diskov vyrovná. Samozrejme na väčších diskoch je uložená väčšina dát. V podstate mi to vyhovuje, väčšie disky (aspoň u mňa doma) sú tie novšie a rýchlejšie.
Mám skúsenosti aj s ZFS. Na FreeBSD je to super fs, v Linuxe v poslednom čase tiež funguje vynikajúco, ale je to fs skôr na výkonné úložiská, kde nehrajú rolu peniaze, alebo ako napríklad u mňa využitie diskov rôzneho veku, výkonu a kapacity.
No myslím má RAID1 nad vším dohromady 3+3+6+10. Btrfs to zařídí tak, že dá jednu kopii bloku na jeden disk a druhou na libovolný jiný. Ochrana dat je proti výpadku jen jednoho disku.
Také nemusí být dobře využito místo, třeba kombinace 1+10 bude z 10 TB disku používat jen 1 TB, t.j. ztráta 9 TB.
V té kombinaci 3+3+6+10 se ztrácí 2 TB jestli dobře počítám.
Zkoušel někdo unraid? Není to lepší?
Nie, nestráca sa nič. Momentálne je na 10TB disku jedna kópia všetkých dát, druhá kópia je rozložená na všetkých ostatných. Nemožnosť využitia kapacity by nastala keby bol jeden disk väčší ako súčet ostatných.
3+3+6 > 10. Momenálne to u mňa vyzerá takto:
btrfs fi usage /mnt/raid/
Overall:
Device size: 20.01TiB
Device allocated: 10.96TiB
Device unallocated: 9.05TiB
Device missing: 0.00B
Used: 10.95TiB
Free (estimated): 4.53TiB (min: 4.53TiB)
Data ratio: 2.00
Metadata ratio: 2.00
Global reserve: 512.00MiB (used: 0.00B)
Data,RAID1: Size:5.46TiB, Used:5.45TiB (99.95%)
/dev/sdd 935.00GiB
/dev/sdc 930.00GiB
/dev/sdb 3.63TiB
/dev/sde 5.46TiB
Metadata,RAID1: Size:28.00GiB, Used:25.83GiB (92.24%)
/dev/sdd 5.00GiB
/dev/sdc 10.00GiB
/dev/sdb 13.00GiB
/dev/sde 28.00GiB
System,RAID1: Size:32.00MiB, Used:848.00KiB (2.59%)
/dev/sdb 32.00MiB
/dev/sde 32.00MiB
Unallocated:
/dev/sdd 1.81TiB
/dev/sdc 1.81TiB
/dev/sdb 1.81TiB
/dev/sde 3.61TiB
Voľná kapacita /dev/sde klesá 3x rýchlejšie ako ostatných diskov, pretože pri alokovaní voľného GB sa použije vždy /dev/sde+(/dev/sdd|/dev/sdc|/dev/sdb). Postupným zaplnením sa voľná kapacita na všetkých diskoch vyrovná, bude to vtedy, keď na všetkých bude unallocated cca 0,9TB.
Šifrovanie nepoužívam, sú tam síce dôležité dáta, napríklad fotky stále sa rozširujúceho príbuzenstva + priateľov, na to mám nextcloud s podporou šifrovania.
Mám zapnutú kompresiu zstd, množstvo subvolumes. Lokálne zálohy mám cez snapper, dôležité dáta zálohujem na desktop a geolokačne niečo na NAS VpsFree a aj inak.
U btrfs nenastavuje, na kterých discích mají části dat být. Zvolí, že data i metadata mají být uložené dvakrát, a "ono samo" si to určí, co kam dát, aby ta podmínka byla splněná. Tzn. když je např. nutné nějaký disk odebrat, mělo by si to samo (nebo skoro samo) ostatní data zase nakopírovat i na další disky, aby vše bylo dvojmo.
RAID je Redundant Array of Disks. Jenže ta zkratka je historická, její význam se dávno posunul (podobně, jako dodnes vytáčíme telefonní číslo, ale už dávno ničím netočíme). Pojem RAID se dnes používá i u enterprise polí, kde také funguje (automatický/automagický) multitiering a s původním významem zkratky to nemá nic společného.
Podle mě to není nikde definované. RAID1 říká, že data jsou dvakrát uložená, ale hlavně bez potřeby počítat paritu. Historicky RAID1 byl pouze pro dva disky, RAID1 přes N disků nebyl (a není) tak běžný. Btrfs funguje na úrovni bloků a tyto bloky jsou skutečně mirrorovány. Proti tomu RAID5, 6 říká, že data jsou uložená nejméně dvakrát či víckrát, ale je potřeba počítat paritu.
Takže zcela spontánně vznikly dva výklady pojmu RAID1, jeden který říká, že data jsou uložena právě dvakrát, druhý, který říká, že data jsou všude 1:1 napříč celými disky.
U Btrfs je poměrně jasně dané, že "disk" není důležitá entita, hlavní entitou je "blok".
Osobně bych tomu, co používá Btrfs říkal RAID1, tomu "druhému" MIRROR.
23. 1. 2020, 20:25 editováno autorem komentáře
Dovolím si tvrdit, že přejmenovávat staré věci a krást jejich názvy pro nové s jinými vlastnostmi je velmi špatný nápad. Člověk si otevře wiki (skripta,...) a dozví se, že "RAID 1 consists of an exact copy (or mirror) of a set of data on two or more disks; " a "The array will continue to operate so long as at least one member drive is operational.". Pak zjistí, že BTRFS RAID1 nesplňuje ani jedno z toho. A pak mu někdo bude tvrdit, že to je MIRROR a RAID1 je něco úplně jiného. Pak se do diskuze zapojí starý praktik a bude tvrdit, že RAID1 se odjakživa choval tak, jak je popsáno v té wiki. A nakonec nebude vědět niko o jakém RAID1 se vlastně kdo baví, a bude třeba z náznaků odhadovat, zda měl dotyčný na mysli RAID1 postaru nebo RAID1 "ponovu".
To tu definici čtete chybně.
Věta: "RAID 1 consists of an exact copy (or mirror) of a set of data on two or more disks" praví: kopie (neurčitý člen a jednotné číslo) sady dat na dvou nebo více discích.
Kdyby se jednalo o přezrcadlení na všechny disky, bylo by to definováno takto: "RAID 1 consists of exact copies (or mirrors) of a set of data on every of two or more disks"
Btrfs vyhovuje definici do puntíku, zatímco systém přezrcadlení na více disků ji funkčně naplňuje, ale rozšiřuje mimo definici.
PS: Myslím, že jsem starý praktik, který RAID používá už od dob Adaptecu se SCSI disky (devadesátá léta), ale nikdy by mě nenapadlo zrcadlit na víc disků a nazývat to RAID1. Některé řadiče uměly vnořené RAID levely (např. 1+0, 0+1, 1+1), ale v praxi z nich zůstaly jen 1+0, 5+0 (a později 6+0) a začaly se zkracovat jako RAID 10, 50, 60.
24. 1. 2020, 00:25 editováno autorem komentáře
Dovolím si tvrdit, že přejmenovávat staré věci a krást jejich názvy pro nové s jinými vlastnostmi je velmi špatný nápad.
On je spíš špatný nápad poléhat na to, že něco bude přesně odpovídat definici, když taková definice neexistuje a různě „definice“ se liší. To, co jste citoval z Wikipedie, je všeobecně uznávaný názor na to, co je to RAID 1. Ovšem když se podíváte na původní popis RAIDu z Berkeley, je oproti dnešku poněkud jiný samotný účel RAIDu. A není tam u RAID 1 ten nesmyslný dovětek o tom, že dokud to úplně nehavaruje, je to pořád v pohodě. Což je druhý problém těch všeobecně uznávaných „definicí“, na kterých staví Wikipedie – že jsou často vnitřně rozporné. Podle té definice na Wikipedii platí to, že když postavím RAID 1 ze dvou disků, pak jeden disk vytáhnu a budu to dalších deset let provozovat s jedním diskem, mám pořád RAID 1. Přitom asi všichni cítíme, že tak RAID 1 myšlen nebyl.
Samozřejmě. Lidé by měli číst dokumentaci a nespokojovat se s chlácholivým pocitem "to přeci znám odjinud".
Stejnou úvahu o vícečetnosti definicí mohlo vést i Btrfs a zavést označení, které riziko nepochopení nepřináší. Na ZFS to označují jako raidz1, raidz2 a raidz3 (odolnost proti výpadku jednoho, dvou a tří disků).