Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).
Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".
Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.
OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.
Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).
Yocto Project byl vydán ve verzi 5.0. Její kódové jméno je Scarthgap. Yocto Project usnadňuje vývoj vestavěných (embedded) linuxových systémů na míru konkrétním zařízením. Cílem projektu je nabídnou vývojářům vše potřebné. Jedná se o projekt Linux Foundation.
Operační systém 9front, fork operačního systému Plan 9, byl vydán v nové verzi "do not install" (pdf). Více o 9front v FQA.
Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové verzi 6.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu. Řešeny jsou také 2 bezpečnostní chyby.
Lennart Poettering na Mastodonu představil utilitu run0. Jedná se o alternativu k příkazu sudo založenou na systemd. Bude součástí systemd verze 256.
Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.
mdadm --create /dev/md1 --level=0 --raid-devices=2 /dev/sda /dev/sdbDisky SDC a SDD spojím do RAIDU 0, čímž vytvořím zařízení/disk "md2" o velikosti 500GB:
mdadm --create /dev/md2 --level=0 --raid-devices=2 /dev/sdc /dev/sddVYTVÁŘENÍ "RAID 1" - zařízení/disk "md0"
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/md1 /dev/md2V tuto chvíli bych tedy měl mít RAID 0+1, dle zadání. Otázka zní, mám-li to dobře, nebo jestli je ještě potřeba udělat něco jiného. Musím potom pole ještě "nějak" inicializovat ? Můj
/etc/mdadm.conf DEVICES /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/md1 /dev/md2 ARRAY /dev/md1 uuid=965f1a15:ae6f4946:1f1e6ffd:32f4b97a ARRAY /dev/md2 uuid=5415c266:4f7b079b:f5151c5c:93ab1f9b ARRAY /dev/md0 uuid=c25d0e8f:210ad27d:f59d369b:28f5e575...kde UUID jsem si zjistil pomocí:
mdadm --detail --scana poté:
mdadm --assemble --scanStačí pak udělat...
mkreiserfs /dev/md0 mount -t reiserfs /dev/md0 /home/storageCo si o tom myslíte ?
Podle mne by to takhle mělo fungovat. Jen by asi bylo jednodušší použít
mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sd{a,b,c,d}
(a případně zvážit, zda místo 1+0 nepoužít RAID 5 nebo 6).
(Píšu to z hlavy, takže možná něco spletu.)
Raid 1+0 bude mít velikost dvojnásobku velikosti disku, odolnost při výpadku určitě jednoho disku (za příznivých okolností i dvou), rychlost čtení (teoreticky) čtyřnásobná, zápisu dvojnásobná.
Raid 5 ze tří disků bude mít dvojnásobnou velikost, odolnost proti výpadku jednoho disku, rychlost čtení trojnásobná, zápisu 1.5-násobná. Výhodou oproti ostatním variantám je, že vám zbyde jeden disk jako spare, takže při výpadku lze okamžitě nahradit mrtvolu a rebuildnout pole a výměnu nechat na později. (viz poznámka 3)
Raid 5 ze čtyř disků bude mít trojnásobnou velikost, odolnost proti výpadku jednoho disku, rychlost čtení čtyřnásobná, rychlost zápisu dvojnásobná.
Raid 6 bude mít dvojnásobnou velikost, odolnost proti výpadku dvou disků (jakýchkoli), rychlost čtení čtyřnásobná, rychlost zápisu 1.33-násobná.
Poznámka 1: hodnoty rychlosti čtení a zápisu jsou teoretické hodnoty při čtení/zápisu dlouhého souvislého bloku za předpokladu, že procesor je dostatečně rychlý, s disky lze komunikovat paralelně a není tam nějaké úzké hrdlo (např. sběrnice).
Poznámka 2: co se týká RAID 5 a RAID 6, jsou náročnější na procesor (RAID 6 víc), ale pokud na systému neběží něco, co by procesor vytěžovalo na doraz, není to tak hrozné. Někdy v roce 1999 jsem dělal SW RAID 5 ze tří disků o rychlosti nějakých 15 MB/s na počítači, o který by se dneska člověk styděl opřít koloběžku, a rychlost čtení byla asi 28 MB/s (a to ještě byla na vině sběrnice a ne procesor).
Poznámka 3: poučky o odolnosti vůči výpadku disku platí jen v případě, že disk odejde civilizovaným způsobem. Podle zákona schválnosti se ale výpadky disků v poli mohou projevovat velmi svérázně: např. nedávno jsem zažil, že disk v mirroru vždy po startu hodinu zcela hladce fungoval a pak způsobil zatuhnutí systému. V takovém případě samozřejmě všechny teoretické poučky přijdou vniveč…
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 0,00 0,00 0,00 0 0 sdb 243,56 31427,72 0,00 31742 0 sdc 0,00 0,00 0,00 0 0 sdd 0,00 0,00 0,00 0 0 sde 0,00 0,00 0,00 0 0 sdf 0,00 0,00 0,00 0 0 sdg 0,00 0,00 0,00 0 0 sdh 0,00 0,00 0,00 0 0 md1 0,00 0,00 0,00 0 0 md0 15461,39 30922,77 0,00 31232 0takze evidentne se rozklad zateze nekona
Hm, tak můj mirror v serveru se chová podobně (SuSE 9.3, dva SATA disky, jeden 58 MB/s, druhý 50 MB/s, pole 55 MB/s). Že by chyba v driveru? Zdá se mi neuvěřitelné, že by si toho nikdo nevšiml…
Příští týden mám shodou okolností v plánu provádět upgrade toho stroje, tak při té příležitosti zkusím i nějaké úplně čerstvé jádro.
Tak jsem se ještě zběžně zkusil podívat do zdrojáků (drivers/md/raid1.c
) a zdá se, že na vině je funkce read_balance()
, viz komentář:
This routine returns the disk from which the requested read should be done. There is a per-array 'next expected sequential IO' sector number - if this matches on the next IO then we use the last disk. There is also a per-disk 'last know head position' sector that is maintained from IRQ contexts, both the normal and the resync IO completion handlers update this position correctly. If there is no perfect sequential match then we pick the disk whose head is closest.
Jestli jsem tu logiku dobře pochopil, tak by sice měla dávat lepší přístupovou dobu, ale u delšího souvislého bloku nutně povede k tomu, že se celý načte z jednoho disku.
Tiskni Sdílej: