Zvažuji přechod z Linuxu na FreeBSD

CPU

  • *****
  • 1 040
    • Zobrazit profil
    • E-mail
Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #45 kdy: 24. 03. 2025, 11:45:30 »
Ja by som oponoval, ze ak na freebsd v open source robi menej ludi, tak je to naopak lepsie,

Takže každá část má být ideálně One-man-Show?  Dej do kopie Torvaldse, že to všechno dělá blbě a měl to celé dělat sám :-)

Lenoch jeden líná ...komunita mu musí pomáhat. Zajeď za ním, že bys mu radil :-)
« Poslední změna: 24. 03. 2025, 11:47:48 od CPU »


hknmtt

  • ****
  • 254
    • Zobrazit profil
    • E-mail
Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #46 kdy: 24. 03. 2025, 12:55:52 »
Takže každá část má být ideálně One-man-Show?  Dej do kopie Torvaldse, že to všechno dělá blbě a měl to celé dělat sám :-)

Lenoch jeden líná ...komunita mu musí pomáhat. Zajeď za ním, že bys mu radil :-)

Sledujem vyvoj programovacieho jazyka jai alebo aj odin a sledoval som rozne podcasty o nich a okolo nich a ineho sw a otazka open source prisla na debatu dost casto a generalny konsenzus je taky ze open source(tym nemam na mysli verejny kod ale skor verejne pull / merge requesty) su praveze na skodu a je to zly system. Osobne to vidim totozne. Cim viac ludi sa do niecoho babre, tym viac to stoji, tym viac sa debatuje, tym menej roboty sa urobi. Kazdu cast kodu by mal mat na starosti jeden clovek ktory to cele vedie a komunia by sa do kodu vobec nemala starat, len davat namietky, rady, a podobne. Diskusia je fajn ale kod by mal mat gatekeepera. Ono aj ani do linuxoveho kernelu si nemoze hocikto len tak commitnut zmeny.

mhepp

  • ***
  • 180
    • Zobrazit profil
    • E-mail
Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #47 kdy: 24. 03. 2025, 13:30:12 »
Jenže tady motáte více věcí dohromady.

Nechat vše na jednom člověku je cesta do pekel a vyhoření, zabřednutí do stereotypů a opakování chyb. To, co vlastně chcete je hierarchické vedení. Chcete jednoho člověka zodpovědného za určitý subsystém, který rozhoduje o tom, co a jak se bude dělat a má na to lidi, kteří to zrealizují.

Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #48 kdy: 24. 03. 2025, 20:32:37 »
Takže každá část má být ideálně One-man-Show?  Dej do kopie Torvaldse, že to všechno dělá blbě a měl to celé dělat sám :-)

Lenoch jeden líná ...komunita mu musí pomáhat. Zajeď za ním, že bys mu radil :-)

Sledujem vyvoj programovacieho jazyka jai alebo aj odin a sledoval som rozne podcasty o nich a okolo nich a ineho sw a otazka open source prisla na debatu dost casto a generalny konsenzus je taky ze open source(tym nemam na mysli verejny kod ale skor verejne pull / merge requesty) su praveze na skodu a je to zly system. Osobne to vidim totozne. Cim viac ludi sa do niecoho babre, tym viac to stoji, tym viac sa debatuje, tym menej roboty sa urobi. Kazdu cast kodu by mal mat na starosti jeden clovek ktory to cele vedie a komunia by sa do kodu vobec nemala starat, len davat namietky, rady, a podobne. Diskusia je fajn ale kod by mal mat gatekeepera. Ono aj ani do linuxoveho kernelu si nemoze hocikto len tak commitnut zmeny.

Pochybuji, že se to dá generalizovat - znám vývoj databází - a když bych se podíval na MySQL, SQLite, Firebird a Postgres, tak každá z těch databází má úplně jiný typ vývoje, jinou komunitu, a v podstatě platí, že to, co je někdy výhoda, je v jiné chvíli nevýhodou. V 90 měl MySQL nebo Firebird výrazně větší progres než Postgres, právě díky relativně malému týmu. Dneska do Firebirdu skoro nikdo nejde, právě kvůli jeho malému týmu. SQLite je skoro one man show, ale zas jak je to výrazně menší projekt, tak to zase tolik nevadí, a nikdo ani nečeká větší progres. Postgres je tou komunitou, kde každý kecá do všeho, a vývoj jde pomalu - ale "každý si jede za své" a není až tak velký problém s financováním projektu - což třeba u MySQL nebo MariaDB problém je. Navíc s vývojem Postgresu se setkalo mnohem víc lidí, takže je větší šance najít talenty. Vývoj programovacího jazyka (navíc, který jede nad llwm) je relativně "jednoduchá" omezená záležitost. A souhlasím, že je pro konzistenci programovacího jazyka lepší menší vývojový tým než větší. Ale je to možné, že velkou část těžké a špinavé práce se udělá v týmu llwm.

CPU

  • *****
  • 1 040
    • Zobrazit profil
    • E-mail
Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #49 kdy: 24. 03. 2025, 23:33:08 »
Vývojáři jsou vždy základem komunity. Bez vývojářů se základ komunity zužuje a uživatelska zkušenost vadne. Vedlejším dopadem je málo odvozených projektů. Ostatně FreeBSD pomalu mizí, třeba naposled FreeNAS / TrueNAS už BSD nahradili.


Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #50 kdy: 25. 03. 2025, 10:41:39 »
Vývojáři jsou vždy základem komunity. Bez vývojářů se základ komunity zužuje a uživatelska zkušenost vadne. Vedlejším dopadem je málo odvozených projektů. Ostatně FreeBSD pomalu mizí, třeba naposled FreeNAS / TrueNAS už BSD nahradili.

Pro mne osobně jsou důležité jen tři věci.

  • Jestli existuje balíček, nebo jde kompilovat software, který používám
  • Vydávají se bezpečnostní záplaty na core funkce a jádro - je jasné, že jich nebude potřeba mnoho, neb se věci moc nemění
  • Je možné pořídit hardware na server - veškerý stávající hardware funguje bez potíží

To že se to moc nemění a nevyvíjí je pro mne podstatná výhoda. Protože vše pro mne podstatné to umí a vývoj nových věcí představuje zvýšený počet problémů, bezpečnostních děr a nestability.
To je právě to proč se mi Linux nelíbí. Než se pořádně odladí jedna věc, už je zastaralá. V androidu je to ještě výrazně horší tam má všechno kvůli tomu jepičí život.
Já potřebuji, aby to co udělám bez větších změn fungovalo 10 a více let a bylo neměnné a stabilní.
Samozřejmě ty jednotlivé aplikace upgradovat budu, ale zásahů chci co nejméně.
A v tomto ohledu je pro mne Linux horší volba. V Linuxu je moc lidí, moc možností a moc lidí si honí ego tím, že věci pro mne nesmyslně komplikují a to jen s minimální přidanou hodnotou.
Za dobu co pamatuji se třikrát předělávalo jak funguje firewall a kontejnerová virtualizace. Celková spolehlivost je horší, nebo alespoň není lepší než před 15 lety. Pro mne Linux jen bobtná bez reálného užitku.
Linux nehodlám úplně opouštět, takže se případně budu moci třeba za 15 let vrátit, pokud by freebsd úplně umíralo.

Nepotřebuji, aby se uživatelská zkušenost zlepšovala. Mě bohatě stačí, když se nebude zhoršovat, jak je to bohužel z mého pohledu u Linuxu. Uživatelská zkušenost na dekstopu se samozřejmě zlepšuje. Ale pro mé použití na serveru je to nyní horší než to bylo a moc se to na můj vkus mění.
« Poslední změna: 25. 03. 2025, 10:44:45 od xsouku04 »

Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #51 kdy: 25. 03. 2025, 10:59:03 »
UFS umí nativně snapshot

Tady bych jen upozornil, že UFS snapshoty fungují pouze pokud NEJSOU zapnuté journaled soft-updates. A standardně je newfs zapne.
Na to jsem náhodou narazil, když jsem se snažil zálohovat dumpem.

Prosím jak mohu zjistit nastavení UFS ?  Např. u odolnosti proti výpadkům elektřiny se to hodně liší, podle toho jaké žurnálování je zapnuté. Ale nevím jak to zjistit. Často se píše že  UFS SU+J, bylo fuj, ale dost možná je to hlavně v bug v jedné verzi freebsd, což už bylo dávno opraveno.  Někdo jiný si zase pochvaluje jiný typ journalování, ale nikdo jsem se o tom nenačetl nějaké shrnutí.

A pokud nepoužijí journálování vůbec, mělo by to znamenat, že oprava po výpadku bude trvat déle - musí projít vše, ale nekonzistence by nastat neměla a mělo by to být spolehlivější než oprava na pozadí s journalováním. Také je trochu lepší výkon.

Pokud jednou za deset let vypnout proud. Počítám s tím, že budu opravovat ručně a déle, ale nechtěl bych aby z dat byla fašírka. Pokud se několik posledních záznamů neuloží vůbec nevadí, ale nemělo by se poškodit nic předešlého.

Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #52 kdy: 25. 03. 2025, 11:55:57 »
Prosím jak mohu zjistit nastavení UFS ?

Zkus manuál;D

Kód: [Vybrat]
-p      Show  a summary of what the current tunable settings are on the
selected file system. More detailed  information  can  be  obtained from the dumpfs(8) utility.

Počítám s tím, že budu opravovat ručně a déle, ale nechtěl bych aby z dat byla fašírka.

No, já bych počítal s tím, že neopravíš nic. Zálohovat, zálohovat, zálohovat.

Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #53 kdy: 25. 03. 2025, 12:27:36 »
Prosím jak mohu zjistit nastavení UFS ?  Např. u odolnosti proti výpadkům elektřiny se to hodně liší, podle toho jaké žurnálování je zapnuté. Ale nevím jak to zjistit. Často se píše že  UFS SU+J, bylo fuj, ale dost možná je to hlavně v bug v jedné verzi freebsd, což už bylo dávno opraveno.  Někdo jiný si zase pochvaluje jiný typ journalování, ale nikdo jsem se o tom nenačetl nějaké shrnutí.

A pokud nepoužijí journálování vůbec, mělo by to znamenat, že oprava po výpadku bude trvat déle - musí projít vše, ale nekonzistence by nastat neměla a mělo by to být spolehlivější než oprava na pozadí s journalováním. Také je trochu lepší výkon.

Pokud jednou za deset let vypnout proud. Počítám s tím, že budu opravovat ručně a déle, ale nechtěl bych aby z dat byla fašírka. Pokud se několik posledních záznamů neuloží vůbec nevadí, ale nemělo by se poškodit nic předešlého.

tunefs -p /dev/device nebo tunefs -p /mountpoint

LolPhirae má pravdu v tom, že téměř žádný z těch režimů UFS (bez ničeho), UFS SU, UFS SU+J není tak odolný proti náhlým výpadkům hw nebo napájení jako třeba ext4 nebo ZFS.
Nejbezpečnější varianta z tohohle hlediska je UFS bez dalších povolených fíčur.
SU vzniklo kdysi primárně kvůli dvěma věcem - zrychlení metadatových operací s inody a rychlejší fsck, kdy to nekontroluje všechno. Ty metadatové operace se zrychlí proto, že se při zápisu dělá fs reordering a sdružuje je a řeší jejich závislosti. Hlavně na  točivých discích s dlouhou příst. dobou to přineslo razantní zrychlení při operacích s mnoha soubory v rozsáhlejších adr. strukturách a zvýšení propustnosti při přístupu z více procesů.
Nevýhodou je pak to, že se to proti normálnímu orderingu v UFS ty operace zpožďují (klidně i desítky vteřin) a při náhlém výpadku to může ovlivnit hodně souborů, do kterých se zapisovalo.
SU+J je přidání fixního 16MB žurnálu pro metadatové operace (tváří se jako soubor .sujournal v rootu), který hlavně dál zrychluje kontrolu a opravu na větších úložištích.
Bohužel se může stát, když se správně trefíte (aspoň když jsem to před pár lety testoval), že zatímco s UFS máte zasažených pár posledních souborů, co se nedopsaly. S UFS SU je jich razantně víc a u SU+J jich značná část skončí úplně prázdných, což pravděpodobně souvisí s tím, že to fsck rychle vymete a ihned uvolní data.
Takže, jestli si pro váš workload řeknete, že nevadí delší fsck, a případný pokles výkonu nebude zásadní, tak vypněte SU (tunefs -n disable /dev/neco).
Ještě je tam další režim, geom journal. A to je ještě něco jiného, to udělá v podstatě virtuální zařízení (jako dm v Linuxu), kde se pak prování žurnálování na úrovni bloků. Filesystém je nad tím, všechny zápisy jdou přes žurnál.
Vždycky mi to přišlo jako hack, co ten primární problém moc neřeší.

Nicméně, jestli si to pamatuju dobře, tak s LolPhirae jsme o tomhle přesně mluvili. A já jsem trochu oponoval tím, že se sice je to dost blbé (a bylo by fajn, aby i FreeBSD mělo robustní ne-COW systém), ale prakticky vzato jsem žádné tragédie i po výpadcích s SU, kdy bych se z toho nedostal, něměl. Část toho je pravděpodobně klika, část je daná tím, že také hodně závisí na konkrétní aplikaci, jak přesně zapisuje. Jestli používá standardně page cache, nebo O_DIRECT příp O_SYNC. Jestli třeba sama nepoužívá fsync() nebo "jen" fdatasync() atp.
Když tam byla nějaká data, co jsem chtěl mít celá (třeba logy nebo malou db), tak jsem měl mountpoint s vynuceným syncem, což je samozřejmě trochu extrém, protože daň za to pak je, že je to líné jak vandrácká hůl.

Upřímně, za posledních pár let jsem na FreeBSD téměř vždy používal jen ZFS. To, že je součástí systému a plně integrované, mi přišlo jedna z mála výhod, které to má oproti Linuxu, a byl to také hlavní důvod nasazení FreeBSD jako takového.
A také si odhaduji, že to tak má většina uživatelů, což je možná důvod, proč UFS a řešení těch problémů nevypadá jak nějaká extra priorita.

Jinak vcelku extenzivní test ohledně odolnosti je třeba tady:
https://unixdigest.com/articles/battle-testing-php-fopen-sqlite-postgresql-and-mariadb-on-ffs-ufs-ext-xfs-and-zfs.html

Já si pár let zpět dělal něco podobného, byť jen se simulovanými pády QEMU virtuálu s FreeBSD, OpenBSD a Linuxem. Používal jsem dd, případně něco, co jsem si narychlo spácal na testy. Ve smyčce to zapisovalo a modifikovalo soubory, věděl jsem kontrolní součty, takže jsem po opravě fs byl schopen rychle kontrolovat, jak to dopadlo. Zkoušel jsem různé variace přístupů, syncování. Dopadlo to víceméně stejně, jako v linkovaném článku.
Můj závěr byl, že v Linuxu to není třeba extra řešit, na FreeBSD pak ZFS. UFS bez SU jako bezpečnější volba, pokud nějakého důvodu nemůžu, nechci COW. OpenBSD strašně líné, neškláluje se, ale je konzistentní.

Tom5

  • ***
  • 113
    • Zobrazit profil
Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #54 kdy: 25. 03. 2025, 13:54:35 »
Jinak vcelku extenzivní test ohledně odolnosti je třeba tady:
https://unixdigest.com/articles/battle-testing-php-fopen-sqlite-postgresql-and-mariadb-on-ffs-ufs-ext-xfs-and-zfs.html

Můj závěr byl, že v Linuxu to není třeba extra řešit, na FreeBSD pak ZFS. UFS bez SU jako bezpečnější volba, pokud nějakého důvodu nemůžu, nechci COW. OpenBSD strašně líné, neškláluje se, ale je konzistentní.

To je hodně zajímavé. Provozoval jsem jeden čas mongo na ext4 na dvou nezávislých strojích a bylo to v jedné konkrétní aplikaci naprosto nepoužitelné. Neustále se to rozsypávalo. Každý měsíc se musela DB restorovat (na druhém stroji to bylo tak jednou za 2 měsíce). Přechod na XFS to zcela vyřešil. Pozdější migrace na FreeBSD/UFS+SU neměla nikdy (je to tak 1,5 roku) problém.

Pravda, je to trochu jiný případ. Nešlo o HW fail, ale o rozsypání dat na běžících strojích. Tím hůř pro ext4. Trochu jsem naivně doufal v nějaký posun od dob ext2, ale tímhle u mne na Linux strojích s DB workloadem definitivně skončil.

Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #55 kdy: 25. 03. 2025, 13:57:29 »
Prosím jak mohu zjistit nastavení UFS ?  Např. u odolnosti proti výpadkům elektřiny se to hodně liší, podle toho jaké žurnálování je zapnuté. Ale nevím jak to zjistit. Často se píše že  UFS SU+J, bylo fuj, ale dost možná je to hlavně v bug v jedné verzi freebsd, což už bylo dávno opraveno.  Někdo jiný si zase pochvaluje jiný typ journalování, ale nikdo jsem se o tom nenačetl nějaké shrnutí.

A pokud nepoužijí journálování vůbec, mělo by to znamenat, že oprava po výpadku bude trvat déle - musí projít vše, ale nekonzistence by nastat neměla a mělo by to být spolehlivější než oprava na pozadí s journalováním. Také je trochu lepší výkon.

Pokud jednou za deset let vypnout proud. Počítám s tím, že budu opravovat ručně a déle, ale nechtěl bych aby z dat byla fašírka. Pokud se několik posledních záznamů neuloží vůbec nevadí, ale nemělo by se poškodit nic předešlého.

tunefs -p /dev/device nebo tunefs -p /mountpoint

LolPhirae má pravdu v tom, že téměř žádný z těch režimů UFS (bez ničeho), UFS SU, UFS SU+J není tak odolný proti náhlým výpadkům hw nebo napájení jako třeba ext4 nebo ZFS.
Nejbezpečnější varianta z tohohle hlediska je UFS bez dalších povolených fíčur.
SU vzniklo kdysi primárně kvůli dvěma věcem - zrychlení metadatových operací s inody a rychlejší fsck, kdy to nekontroluje všechno. Ty metadatové operace se zrychlí proto, že se při zápisu dělá fs reordering a sdružuje je a řeší jejich závislosti. Hlavně na  točivých discích s dlouhou příst. dobou to přineslo razantní zrychlení při operacích s mnoha soubory v rozsáhlejších adr. strukturách a zvýšení propustnosti při přístupu z více procesů.
Nevýhodou je pak to, že se to proti normálnímu orderingu v UFS ty operace zpožďují (klidně i desítky vteřin) a při náhlém výpadku to může ovlivnit hodně souborů, do kterých se zapisovalo.
SU+J je přidání fixního 16MB žurnálu pro metadatové operace (tváří se jako soubor .sujournal v rootu), který hlavně dál zrychluje kontrolu a opravu na větších úložištích.
Bohužel se může stát, když se správně trefíte (aspoň když jsem to před pár lety testoval), že zatímco s UFS máte zasažených pár posledních souborů, co se nedopsaly. S UFS SU je jich razantně víc a u SU+J jich značná část skončí úplně prázdných, což pravděpodobně souvisí s tím, že to fsck rychle vymete a ihned uvolní data.
Takže, jestli si pro váš workload řeknete, že nevadí delší fsck, a případný pokles výkonu nebude zásadní, tak vypněte SU (tunefs -n disable /dev/neco).
Ještě je tam další režim, geom journal. A to je ještě něco jiného, to udělá v podstatě virtuální zařízení (jako dm v Linuxu), kde se pak prování žurnálování na úrovni bloků. Filesystém je nad tím, všechny zápisy jdou přes žurnál.
Vždycky mi to přišlo jako hack, co ten primární problém moc neřeší.

Nicméně, jestli si to pamatuju dobře, tak s LolPhirae jsme o tomhle přesně mluvili. A já jsem trochu oponoval tím, že se sice je to dost blbé (a bylo by fajn, aby i FreeBSD mělo robustní ne-COW systém), ale prakticky vzato jsem žádné tragédie i po výpadcích s SU, kdy bych se z toho nedostal, něměl. Část toho je pravděpodobně klika, část je daná tím, že také hodně závisí na konkrétní aplikaci, jak přesně zapisuje. Jestli používá standardně page cache, nebo O_DIRECT příp O_SYNC. Jestli třeba sama nepoužívá fsync() nebo "jen" fdatasync() atp.
Když tam byla nějaká data, co jsem chtěl mít celá (třeba logy nebo malou db), tak jsem měl mountpoint s vynuceným syncem, což je samozřejmě trochu extrém, protože daň za to pak je, že je to líné jak vandrácká hůl.

Upřímně, za posledních pár let jsem na FreeBSD téměř vždy používal jen ZFS. To, že je součástí systému a plně integrované, mi přišlo jedna z mála výhod, které to má oproti Linuxu, a byl to také hlavní důvod nasazení FreeBSD jako takového.
A také si odhaduji, že to tak má většina uživatelů, což je možná důvod, proč UFS a řešení těch problémů nevypadá jak nějaká extra priorita.

Jinak vcelku extenzivní test ohledně odolnosti je třeba tady:
https://unixdigest.com/articles/battle-testing-php-fopen-sqlite-postgresql-and-mariadb-on-ffs-ufs-ext-xfs-and-zfs.html

Já si pár let zpět dělal něco podobného, byť jen se simulovanými pády QEMU virtuálu s FreeBSD, OpenBSD a Linuxem. Používal jsem dd, případně něco, co jsem si narychlo spácal na testy. Ve smyčce to zapisovalo a modifikovalo soubory, věděl jsem kontrolní součty, takže jsem po opravě fs byl schopen rychle kontrolovat, jak to dopadlo. Zkoušel jsem různé variace přístupů, syncování. Dopadlo to víceméně stejně, jako v linkovaném článku.
Můj závěr byl, že v Linuxu to není třeba extra řešit, na FreeBSD pak ZFS. UFS bez SU jako bezpečnější volba, pokud nějakého důvodu nemůžu, nechci COW. OpenBSD strašně líné, neškláluje se, ale je konzistentní.
Moc děkuji za perfektní rozsáhlé vysvětlení.
Kód: [Vybrat]
tunefs -p /dev/ada0p1
tunefs: POSIX.1e ACLs: (-a)                                disabled
tunefs: NFSv4 ACLs: (-N)                                   disabled
tunefs: MAC multilabel: (-l)                               disabled
tunefs: soft updates: (-n)                                 enabled
tunefs: soft update journaling: (-j)                       disabled
tunefs: gjournal: (-J)                                     disabled
tunefs: trim: (-t)                                         disabled
tunefs: maximum blocks per file in a cylinder group: (-e)  4096
tunefs: average file size: (-f)                            16384
tunefs: average number of files in a directory: (-s)       64
tunefs: minimum percentage of free space: (-m)             8%
tunefs: space to hold for metadata blocks: (-k)            6400
tunefs: optimization preference: (-o)                      time

Takže zbývá případně vypnut SU - soft updates. A možná mohu povolit trim.

Nevím proč, ale mariadb na freebsd a UFS dovede klonovat hlavní databázi cca tak 100 krát rychleji, než na Linuxu.
Když klonování zastavím na 10 minut a pak opět pustím , za jednu vteřinu na freeBSD dožene 100- 150 vteřin. Na Linuxu (ext4 na LVM) tak 1-2 vteřiny a je to dost proměnlivé a občas to klonovat prostě vůbec nestíhá.  Nějak se zasekává zpracovávání logu s sql příkazy co se mají provést. Databáze se fláká, ale přitom nestíhá klonovat.

Vyzkouším ještě jak to stejné  funguje na FreeBSD pokud použiji pro databázi ZFS.  Tam byl na Linuxu se ZFS kromě mizerného výkonu hlavně neskutečné velké zápisy na disky, že by životnost lepšího SSD disku měla být vypotřebována cca za rok. Prostě obrovská write amplifikation, které se nešlo zbavit, experimentování s nastavováním sshift a blocksize pomáhalo jen pramálo. Prostě to pro databázi z hodně zápisy a updaty nedělalo dobrotu. Možná je problém se zarovnáním ZFS na fyzické bloky na disku nebo něco takového.

Vyzkouším to FreeBSD a dám vědět.

Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #56 kdy: 25. 03. 2025, 16:03:13 »
Odporúčam knižku FreeBSD Mastery: Advanced ZFS od Michael W Lucasa (kúpiť sa dá napríklad na https://www.tiltedwindmillpress.com/product/fmaz/).

Okrem iného tam na pár stranách rozoberá aj optimalizáciu ZFS pre MySQL/PostgreSQL.

Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #57 kdy: 28. 03. 2025, 11:26:08 »
Odporúčam knižku FreeBSD Mastery: Advanced ZFS od Michael W Lucasa (kúpiť sa dá napríklad na https://www.tiltedwindmillpress.com/product/fmaz/).

Okrem iného tam na pár stranách rozoberá aj optimalizáciu ZFS pre MySQL/PostgreSQL.

Díky. Knížku mám, ale k řešení jak se  pod Linuxem se ZFS zbavit write applification mne to nenavedlo.

Nicméně dobrá zpráva pro mne je, že to vypadá, že pod freebsd se výrazná write aplification prostě nekoná.
Tedy mohu provozovat bez obav ZFS.

Měřím to pomocí iostat. Měřím množství přenesených dat  vždy za 10 minut = 600 vteřin.

Kód: [Vybrat]
iostat -w 600 -I
       tty             nda0             nda1             ada0             cpu
 tin  tout KB/t  xfrs    MB KB/t  xfrs    MB KB/t  xfrs    MB  us ni sy in id
   0    40 39.5 5906776 227821 42.8 5454707 228138  122 9270042 1104661   0  0  0  0 100
   0    15 51.4 28209  1416 51.2 28298  1416 40.2 25716  1009   0  0  0  0 100
   0    32 51.9 28138  1427 49.5 29527  1427 40.6 26021  1031   0  0  0  0 99
   0    22 51.1 29321  1465 54.9 27304  1465 41.0 23886 956.1   0  0  0  0 100

nda0 a nda1 jsou disky se ZFS v režimu mirror, proto se zapisuje na oba  to stejné.
Na nich běží jail, který klonuje hlavní databázi.

ada0 je SATA SSD disk na kterém běží jiný jail, který klonuje to stejnou databázi, používá ale souborový systém UFS +SU .

Obě databáze klonují ty stejná data v reálném čase a já mohu pozorovat o kolik zapisuje ZFS více, když zapisuje ta stejná data.


Write applification tam jen cca 1,4 násobná (mění se v čase) s čímž se dá žít. Tedy disk by měl v pohodě dožít důchodu. Na Linuxu to byly desetinásobky.

Pokud ale provedu příkaz:
Kód: [Vybrat]
sysctl vfs.zfs.txg.timeout=60
vfs.zfs.txg.timeout: 5 -> 60

Tedy změním maximální dobu držení zápisů na disk v paměti z 5 vteřin na 60.  Pak naměřím:


Kód: [Vybrat]
iostat -w 600 -I
       tty             nda0             nda1             ada0             cpu
 tin  tout KB/t  xfrs    MB KB/t  xfrs    MB KB/t  xfrs    MB  us ni sy in id
   0    40 39.5 5906776 227821 42.8 5454707 228138  122 9270042 1104661   0  0  0  0 100
   0    15 35.0 11371 388.6 33.8 11718 386.2 41.0 12676 508.0   0  0  0  0 100
   0    15 52.6  7913 406.1 52.3  7961 406.7 40.6 18653 739.6   0  0  0  0 100
   0    15 57.5  7988 448.9 59.0  7803 449.2 40.6 19213 760.9   0  0  0  0 100
   0    15 62.4  6880 419.3 52.0  8251 419.3 40.8 19882 792.1   0  0  0  0 100
   0    15 64.3  7143 448.3 59.0  7797 449.6 40.9 19778 790.5   0  0  0  0 100
   1   106 69.3  6869 464.6 64.1  7422 464.4 40.9 21398 853.7   0  0  0  0 100
   0    31 69.3  6654 450.5 68.7  6719 450.8 40.9 20786 830.1   0  0  0  0 100
   0    17 67.7  7100 469.7 68.6  7008 469.7 41.1 23351 937.8   0  0  0  0 100

Vypadá to, že ZFS provede méně zápísů než UFS+SU. Tedy write applification je něco jako 0.6 .
Pokud by se za 10 minut zapsalo 1 GB, za hodinu je to 6 GB, za den 12*6=72 GB (v noci zápisy zanedbávám) za rok *365 = cca 26 TB.   Tedy disk 2000TB má v podstatě neomezenou životnost.


Odpovídá to i tomu co ukáže
Kód: [Vybrat]
smartctl -a /dev/nvme1
Za dopoledne to ukázalo 12 GB dat.

Recordsize mám na 8K, nastavení mysql jsem zatím nechal defaultní.

V Linuxu byly disky zralé na výměnu po roce, ty nejlepší po několika letech, takže to nebylo moc reálné používat.

Také jsem se dnes dočetl, že writing overhead může zvyšovat to, když se dělá hodně snapshotů.
Doporučuji tak více snapshotů dělat pomocí jediného příkazu, což je efektivnější na zápisy i rychlost.
https://www.reddit.com/r/zfs/comments/u70q9o/deleted_by_user/



Tedy to vypadá, že minimálně v mém případě se přechodem na freebsd vyřeší dva zásadní problémy s kterými jsem se trápil roky. Zpožďování klonovaných databází a špatně fungující ZFS, kterou kvůli tomu nejde použít na hodně zapisující databázi.
Nastavováním freebsd jsem strávil mnohonásobně méně času než Linuxu a výsledná konfigurace je mnohem kratší, přehlednější, tedy lépe udržovatelná. Ale je to částečně tím, že jsem zkušenější. Dobrou knížku o lxc jsem nenašel, o jailech existuje a stojí 10 dolarů....
« Poslední změna: 28. 03. 2025, 11:27:47 od xsouku04 »

Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #58 kdy: 28. 03. 2025, 22:28:41 »
Vypadá to, že jsem objevil ještě další podstatnou výhodu freeBSD. Balíčkoví systém a porty.

Jde o to, že balíčky se aktualizují standardně čtvrtletně.  Tedy jsou často jen jednu verzi pozadu oprati nejnovější vydané verzi daného projektu. Tedy běžně mohou být třeba jen 4  měsíce staré.  Tedy ideální na nasazení.

Dá se také přejít live větev (podobně jako debian testing), kde jsou i novější balíčky. Tam mohou být staré třeba jen měsíc. Tohle bych asi využil, když dělám nový jail a následně jak se to nasadí a vyzkouší, bych přešel pak už na čtvrtletní aktualizace.  Mohu se ale vyhnout tomu, abych začínal na zastaralé větvi.

U debianu jsou balíčky často i 3 roky staré, což je mnohdy fakt nepoužitelné a nezbývá, než si důležité programy kompilovat sám a nebo používat repozitář projektu, ale ten ne vždy existuje. V debian backports téměř nic důležitého není.

Co jsem se koukal tam má balíčky např. s mariadb k dispozici ve třech různých verzích. Když se ukázalo, že s nejnovější jsou nějaké záhadné potíže (to se stalo), prostě nainstaluji balíček se starší verzí  a problém dočasně vyřešen.

Také jsou k dispozici např. 3 různé verze Ruby. Nabalíčkované jsou i gemy - obrovské množství.
Debian někdy také nabízí dvě verze, např pythonu a mariadb, ale ve stable jsou vždy mnohem starší  a verzí je méně.

No a kdyby bylo potřeba něco ještě novějšího, tak je možné si balíčky sám zkompilovat a vytvořit vlastní repozitář. Na rozdíl od debianu to není přesložitělé. Posun o několik verzí  dopředu obvykle nemění závislosti ani patche a drobné změny se dají zvládnout. Ale nemělo by to být hlavně potřeba, protože držet se několik měsíců pozadu je vesměs rozumné.

Někdy děláme i sami drobné úpravy ve zdrojáku, tedy mít jednoduchý způsob jak si to sám kompilovat a vytvářet balíčky se hodí, jen přidám vlastní patche - i kdyby to měla být stejná verze jen s drobnými vlastními úpravami. Ano tohle by šlo realativně jednoduše i v debianu, ale dělat patche na něco 3 roky starého nedává smysl.
« Poslední změna: 28. 03. 2025, 22:31:15 od xsouku04 »

CPU

  • *****
  • 1 040
    • Zobrazit profil
    • E-mail
Re:Zvažuji přechod z Linuxu na FreeBSD
« Odpověď #59 kdy: 28. 03. 2025, 23:03:40 »
To už je na tom BSD tak bídně, že se musí snažit dělat skrytou reklamu a nahánět užíváky po rootu?
Že máš balíček maximálně Q starý vůbec nemusí znamenat, že ho někdo korektně udržuje.