Bylo oznámeno vydání Fedora Linuxu 43. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách Fedora Magazinu: Fedora Workstation, Fedora KDE Plasma Desktop, Fedora Silverblue a Fedora Atomic Desktops.
Elon Musk oznámil (𝕏) spuštění internetové encyklopedie Grokipedia (Wikipedia). Zatím ve verzi 0.1. Verze 1.0 prý bude 10x lepší, ale i ve verzi 0.1 je podle Elona Muska již lepší než Wikipedia.
PSF (Python Software Foundation) po mnoha měsících práce získala grant ve výši 1,5 milionu dolarů od americké vládní NSF (National Science Foundation) v rámci programu "Bezpečnost, ochrana a soukromí open source ekosystémů" na zvýšení bezpečnosti Pythonu a PyPI. PSF ale nesouhlasí s předloženou podmínkou grantu, že během trvání finanční podpory nebude žádným způsobem podporovat diverzitu, rovnost a inkluzi (DEI). PSF má diverzitu přímo ve svém poslání (Mission) a proto grant odmítla.
Balík nástrojů Rust Coreutils / uutils coreutils, tj. nástrojů z GNU Coreutils napsaných v programovacím jazyce Rust, byl vydán ve verzi 0.3.0. Z 634 testů kompatibility Rust Coreutils s GNU Coreutils bylo úspěšných 532, tj. 83,91 %. V Ubuntu 25.10 se již používá Rust Coreutils místo GNU Coreutils, což může přinášet problémy, viz například nefunkční automatická aktualizace.
Od 3. listopadu 2025 budou muset nová rozšíření Firefoxu specifikovat, zda shromažďují nebo sdílejí osobní údaje. Po všech rozšířeních to bude vyžadováno někdy v první polovině roku 2026. Tyto informace se zobrazí uživateli, když začne instalovat rozšíření, spolu s veškerými oprávněními, která rozšíření požaduje.
Jste nuceni pracovat s Linuxem? Chybí vám pohodlí, které vám poskytoval Microsoft, když vás špehoval a sledoval všechno, co děláte? Nebojte se. Recall for Linux vám vrátí všechny skvělé funkce Windows Recall, které vám chyběly.
Společnost Fre(i)e Software oznámila, že má budget na práci na Debianu pro tablety s cílem jeho vyžívání pro vzdělávací účely. Jako uživatelské prostředí bude použito Lomiri.
Proběhla hackerská soutěž Pwn2Own Ireland 2025. Celkově bylo vyplaceno 1 024 750 dolarů za 73 unikátních zranitelností nultého dne (0-day). Vítězný Summoning Team si odnesl 187 500 dolarů. Shrnutí po jednotlivých dnech na blogu Zero Day Initiative (1. den, 2. den a 3. den) a na YouTube.
Byl publikován říjnový přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Pracuje se na podpoře M3. Zanedlouho vyjde Fedora Asahi Remix 43. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.
Pacemaker je aplikace se kterou s velkou pravděpodobností většina z vás vůbec nepřijde do styku. A když už, tak zpravidla pouze ve dvou nodovém nasazení. Ovšem kola dějin se točí dál a s pozvolným nástupem distribuovaných souborových systémů už přestávají být vícenodové clustery raritou. A pokud budete chtít v takovém prostředí provozovat Pacemaker, tak dříve či později narazíte na parametr utilization
Utilizační parametry Pacemaker využívá při rozhodování o tom, zda na příslušném nodu může službu pustit, nebo ne.
V podstatě to funguje velice primitivně. Každá služba má nastavenou určitou cenu vyjádřenou číslem, a nod kredit, ze kterého se při spuštění služby její cena odečte. Pokud zbývající kredit ke spuštění další služby nestačí, je spuštěna jinde, nebo vůbec.
Utilizačních parametrů může být více - může to být vázané na počet procesorů, dostupné množství paměti, aj.
Utilizace ovšem v sobě skrývá i jistou záludnost - obzvláště pokud zapomenete na fakt, že s ní pracují služby i nody. A mě pěkně potrápila v uplynulých dnech.
Jak možná někteří z vás vědí, využívám již několik let Pacemaker pro spouštění virtuálních strojů. Pro kterýžto účel jsem si napsal i vlastního agenta. Důvod je celkem prostý - používat libvirt je jako dělat děti s pánskou ochranou. Proč by měl agent Pacemakeru spoléhat na libvirt, když si může všechno zajistit sám?
Jen pro vaši představu uvádím jak vypadá konfigurace takového virtuálu:
stroj :~# crm configure show unstable
primitive unstable ocf:dce:kvm \
params workdir="/root" binfile=qemu-system-x86_64
ifup="/etc/openvswitch/ovs-ifup"
ifdown="/etc/openvswitch/ovs-ifdown"
cpu="kvm64 -smp cpus=2 -M q35" memory=2048
monitor=7001 bus=scsi-hd
drives="sheepdog:localhost:8000:unstable,none,disk,qcow2"
nic="bf:cf:df:00:40:01,virtio,tap,interni, bf:cf:df:02:40:01,virtio,tap,main,1"
serial="file:/var/log/unstable.serial"
logfile="/var/log/unstable.log"
spice="port=4001,password=xY1yZ"
errlogfile="/var/log/unstable.err" \
meta target-role=Started is-managed=true \
op monitor interval=20 \
op start interval=0 timeout=30 \
op stop interval=0 timeout=30 \
utilization cpu=2 memory=2048
Na tomto základě sestaví agent příkaz, kterým spustí na některém z nodů qemu s virtuálem. O porty na virtuálním switchi se postarají skripty ovs-ifup a ovs-ifdown.
Přidat další disk znamená pouze rozšířit parametr drives - podobným způsobem, jako jsou parametrem nic nastaveny dvě virtuální síťovky - jedna do interní a druhá do vnější sítě.
Již v době, kdy jsem psal první verzi (leden 2014) jsem měl v plánu zapracovat i živou migraci virtuálních strojů, ale nakonec k tomu nedošlo protože chyběl základní předpoklad - spolehlivé datové úložiště, dostupné ze všech nodů. Teprve s nasazením sheepdogu (prosinec 2015) začala mít živá migrace smysl.
Nejprve však bylo nutné vyřešit problém aktualizace Pacemakeru. Agent byl totiž napsán a vyzkoušen u verze 1.1.12 ovšem to byla na dlouhou dobu poslední verze, kterou se mi podařilo bezproblémově uchodit. Situace se zlepšila relativně nedávno. Ovšem nemilé překvapení s aktuální verzí 1.1.14 mi na delší dobu vzala chuť pokračovat v ostrém provozu.
Pro další testování jsem si tedy vytvořil virtuální virtualizační cluster. Druhý pokus o aktualizaci jsem spojil s přechodem na ceph, který si vyžádal přepracování agenta tak, aby nebylo nutné používat v konfiguraci přes crm zpětná lomítka.
Použití zpětných lomítek totiž vede k tomu, že utilita crmsh při konfiguraci přestane parsovat xml. Takže místo výše uvedené konfigurace se v editoru otevře rovnou XML kód cib souboru.
Aby mi aktualizace Pacemakeru nenabourala produkční infrastrukturu, přesunul jsem virtuály na nod, který do něj zatím zapojen není a příslušné služby zastavil, aby nedocházelo ke kolizím. Pro první testy jsem zvolil disklessový stroj s názvem unstable. Odladil jsem agenta a začal s testováním live migrace. Jde o asymetrický cluster, složený ze tří původních AMD strojů, který roztahuji přes nody s procesory Intel.
Všechno šlo jako na drátkách. Stroj se překlápěl zaživa bez nejmenším problémů sem tam. Takže jsem přidal další testovací stroj, který ovšem již není disklessový, ale používá ceph - se kterým jsem agenta dosud vyzkoušeného neměl.
Najel bez problémů. První přesun - ok, druhý přesun - ok, třetí přesun - nic. Na nodu s Intelem se nespustil. Aplikuji unmove - najel. Znovu přesun - nic. No. Trápil jsem se s tím opravdu dlouho.
Naťuknul mne včerejší pokus, kdy jsem zkusil spustit stejný stroj pod jiným názvem služby - původně jsem podezříval nějaký zapomenutý element v cib souboru - a najel. Chtěl jsem ho odmigrovat jinam, což ale Pacemaker odmítl s tím, že mne upozornil na to že chybí meta atribut target-role. Použil jsem totiž pouze konfiguraci parametrů původního virtuálu, ne jeho meta atributy. Nastavil jsem je tedy, a migrace bez problémů proběhla. Jenže zpátky už stroj přesunout nešel.
Vrtalo mi to hlavou, ale až dnes ráno mi svitlo v čem nejspíš bude problém. Utilizace - u toho nově přidaného nodu jsem totiž nenastavil - na rozdíl od těch původních AMD strojů - žádný počet cpu. Stroj unstable v konfiguraci žádné utilizační parametry neměl, proto jeho migrace probíhala bez problémů, kdežto ten druhý stroj měl nastaveno, že má vyžadovat 2 cpu. Přidal jsem tedy nodu parametry pro utilizaci a virtuál najel.
Myslím, že by někoho mohlo zajímat i to, jakým způsobem vlastně v prostředí asymetrického clusteru s parametrem placement-strategy na minimal taková migrace probíhá.
Při takto zvolené strategii se snaží Pacemaker koncetrovat virtuální stroje na minimální počet nodů - s tím, že při jejich umisťování postupuje v pořadí dle priority nodů. Jsou-li k dispozici tyto nody:
Online: [ A B C D ]
Postupně spouští zdroje na stroji A dokud nevyčerpá jeho prostředky nastavené přes utilizaci. Pak bude pokračovat na stroji B, atd.
Ovšem jsou situace, kdy chceme (nebo naopak nechceme) aby služba běžela na některém konkrétním nodu. To pacemaker řeší nastavením location pro příslušnou službu. Jak, to ukáži na následujících příkladech.
Pokud chceme, aby virtál unstable běžel na stroji C, musíme dát příkaz:
~# crm resource move unstable C
Efekt tohoto příkazu je takový, že crmsh přidá do konfigurace následující parametr:
~# crm configure show | grep location | grep unstable location cli-prefer-unstable unstable role=Started inf: C
Pro práci se droji ale není nezbytně nutné používat crmsh. Lepší je použít crm_resource:
~# crm_resource -r unstable -M -N C
Případně v ukecanějším módu:
~# crm_resource --resource unstable --move --node C
Pokud bychom neuvedli konkrétní jméno nodu:
~# crm resource move unstable
popř.
~# crm_resource --resource unstable --move
..tak by Pacemaker přesunul stroj unstable na nejbližší volný nod, tedy B. A v konfiguraci by se objevilo místo předchozího nastavení toto:
~# crm configure show | grep location | grep unstable location cli-ban-unstable-on-A unstable role=Started -inf: A
Což v podstatě znamená: Služba unstable může běžet všude jinde, než na stroji A. Ovšem jsou situace kdy naopak nechceme aby nějaká služba běžela na jiném nodu. V takovém případě ji můžeme "připíchnout" ke konkrétnímu nodu přímo nastavením parametru location:
~# crm configure show pin-unstable
location pin-unstable unstable \
rule #uname eq C
Přes crm_resource lze také rychle zjistit zda a kde zdroj aktuálně běží:
~# crm_resource -r unstable --locate resource unstable is running on: C
Tiskni
Sdílej:
Díky za vhodný výraz.
Kolik zvládne Pacemaker nodů? Kdesi jsem četl, že omezení měly mít hlavně starší verze corosyncu. Každopádně na netu jsem narazil na mail (z r. 2012) kde psali, že je to dané tím, kolik strojů zvládne vzájemně komunikovat. A to je věc corosyncu. Ten prý reálně testovali na 32 nodovém clusteru a pro vyšší počet nodů doporučovali udělat menší clustery (viz).
A narazil jsem také na mail člověka, který chtěl sestavit 80 nodový cluster a narazil na limit corosyncu - 64 nodů (viz)
Druhý pokus o aktualizaci jsem spojil s přechodem na cephNějaký zápisek o tomhle bude?
Zrovna nedávno jsem si s tím zoušel hrát taky a byl to docela porod.
# pcs resource describe ocf:heartbeat:VirtualDomain
ocf:heartbeat:VirtualDomain - Manages virtual domains through the libvirt virtualization framework
Resource agent for a virtual domain (a.k.a. domU, virtual machine,
virtual environment etc., depending on context) managed by libvirtd.
Resource options:
config (required): Absolute path to the libvirt configuration file, for this virtual domain.
hypervisor: Hypervisor URI to connect to. See the libvirt documentation for details on supported URI formats. The default is system
dependent. Determine the system's default uri by running 'virsh --quiet uri'.
force_stop: Always forcefully shut down ("destroy") the domain on stop. The default behavior is to resort to a forceful shutdown only
after a graceful shutdown attempt has failed. You should only set this to true if your virtual domain (or your
virtualization backend) does not support graceful shutdown.
migration_transport: Transport used to connect to the remote hypervisor while migrating. Please refer to the libvirt documentation
for details on transports available. If this parameter is omitted, the resource will use libvirt's default
transport to connect to the remote hypervisor.
migration_network_suffix: Use a dedicated migration network. The migration URI is composed by adding this parameters value to the end
of the node name. If the node name happens to be an FQDN (as opposed to an unqualified host name), insert
the suffix immediately prior to the first period (.) in the FQDN. At the moment Qemu/KVM and Xen migration
via a dedicated network is supported. Note: Be sure this composed host name is locally resolveable and the
associated IP is reachable through the favored network.
monitor_scripts: To additionally monitor services within the virtual domain, add this parameter with a list of scripts to monitor.
Note: when monitor scripts are used, the start and migrate_from operations will complete only when all monitor
scripts have completed successfully. Be sure to set the timeout of these operations to accommodate this delay.
autoset_utilization_cpu: If set true, the agent will detect the number of domainU's vCPUs from virsh, and put it into the CPU
utilization of the resource when the monitor is executed.
autoset_utilization_hv_memory: If set true, the agent will detect the number of *Max memory* from virsh, and put it into the
hv_memory utilization of the resource when the monitor is executed.
migrateport: This port will be used in the qemu migrateuri. If unset, the port will be a random highport.
snapshot: Path to the snapshot directory where the virtual machine image will be stored. When this parameter is set, the virtual
machine's RAM state will be saved to a file in the snapshot directory when stopped. If on start a state file is present for
the domain, the domain will be restored to the same state it was in right before it stopped last. This option is
incompatible with the 'force_stop' option.
Díky,
Ondra