abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:55 | Nová verze

    Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Nová verze

    Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.

    Ladislav Hagara | Komentářů: 5
    včera 17:11 | Komunita

    Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.

    Ladislav Hagara | Komentářů: 2
    včera 12:55 | Nová verze

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 2
    30.5. 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    30.5. 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 8
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 7
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (90%)
     (3%)
     (4%)
     (4%)
    Celkem 1049 hlasů
     Komentářů: 17, poslední včera 15:31
    Rozcestník

    Jak skamarádit openvswitch a systemd

    19.11.2014 13:23 | Přečteno: 1255× | Za vším hledej Linux | Výběrový blog | poslední úprava: 19.11.2014 13:23

    Původně se měl tento blogpost jmenovat: "Proč spolu openvswitch a systemd neka..?", ale podařilo se mi to lousknout, tak bych tady chtěl popsat v čem spočíval problém, než to - jako obvykle - zapomenu.

    Jak jsem to dělal dřív..

    U "staršího" clusteru Peanuts, na kterém jsem rozjížděl openvswitch zhruba před necelým rokem, jsem řešil konfiguraci sítě takto...

    root@stroj:~# cat /etc/network/interfaces
    auto eth0
    iface eth0 inet manual
        up ip link set $IFACE up
        down ip link set $IFACE down
    
    auto interni
    iface interni inet static
        pre-up service openvswitch-switch start
        address 10.0.0.214
        netmask 255.255.255.0
        broadcast 10.0.0.255

    Vyžaduje to však aby již byl předem vytvořený bridge interni se "zapojeným" síťovým zařízením eth0:

    root@stroj:~# ovs-vsctl show
    458eb0ea-1825-40de-8e3b-028ea61c0faf
        Bridge interni
            Port interni
                Interface interni
                    type: internal
            Port "eth0"
                Interface "eth0"
        ovs_version: "2.1.0"
    

    U strojů clusteru Schrot jsem ale narazil na problém, že s touto konfigurací systém vůbec nenajížděl. Při startu končilo spouštění při konfiguraci sítě v nekonečné smyčce - viz snímek:

    Nezbylo, než přidat do parametrů jádra při zavádění break, najet do ramdisku, namountovat systémový disk a laborovat se souborem /etc/network/interfaces.

    Jak se metodou pokus/omyl ukázalo, příčinou problému byl následující řádek v souboru /etc/network/interfaces:

    ...
        pre-up service openvswitch-switch start
    ...
    

    Po jeho zakomentování systém normálně najel, ale bez nahozeného portu interni.

    Vrtalo mi hlavou proč, až mě napadlo podívat se, zda-li je u systémů staršího clusteru Peanuts nainstalován systemd. Samo že nebyl. Odinstaloval jsem ho, a voilá! Začalo to fungovat.

    Síťová konfigurace Schrotu je ale oproti staršímu clusteru Peanuts složitější v tom směru, že jeho stroje lezou ven pouze prostřednictvím jediného nodu. Aby je bylo možné spravovat přes Puppet, musí mít nastavenou maškarádu a povolený forwarding na vnější a vnitřní síťové rozhraní.

    Vytvořil jsem tedy jednoduchý skript /etc/network/if-up.d/iptables, který se stará o zavedení pravidel pro iptables a do souboru /etc/sysctl.conf přidal následující dva řádky:

    net.ipv4.conf.eth0.forwarding=1
    net.ipv4.conf.interni.forwarding=1
    

    Ale ouha! Při startu je akceptováno pouze nastavení pro eth0. Nikoliv pro port interni. Mohl bych sice forwarding povolit jedním parametrem pro všechna rozhraní najednou, to však nepovažuji řešení. Také jsem nebyl spokojen s odinstalováním systemd což nelze považovat za vyřešení problému. Když je s ním schopen koexistovat Pacemaker, tak to musí být řešitelné pro openvswitch.

    Při hledání řešení pro NAT jsem narazil v ukázkové konfiguraci souboru /etc/network/interfaces na parametr allow-ovs. Nakouknul jsem tedy do souboru /usr/share/doc/openvswitch-switch/README.Debian.gz, upravil podle něj příslušným způsobem konfiguraci, doinstaloval systemd a restartoval.

    Konfigurace při které se openvswitch kamarádí se systemd..

    root@stroj:~# cat /etc/network/interfaces
    allow-ovs interni
    iface interni inet static
        address 10.0.0.214
        netmask 255.255.255.0
        broadcast 10.0.0.255
        ovs_type OVSBrid
        ovs_ports eth0
    
    allow-interni eth0
    iface eth0 inet manual
        ovs_bridge interni
        ovs_type OVSPort
    

    Jak už jsem poznamenal - při konfiguraci rozhraní virtuálního switche je klíčový parametr allow-ovs, kterým se aktivuje síťové rozhraní bridge v ukázkovém příkladu s názvem interni. Kromě obvyklé síťové konfigurace, může obsahovat každá příslušná položka virtuálního switche parametr ovs_type, jimž se implicitně říká, o jaký typ zařízení jde (zda bridge nebo port). A v případě, že se u bridge mají hned po startu nahodit i některé porty parametr ovs_ports s jejich seznamem.

    U konfigurace portu (síťového rozhraní) se parametrem allow-interni implicitně řekne, do kterého bridge port patří a tím dojde při spuštění bridge i k jeho nahození.

           

    Hodnocení: 100 %

            špatnédobré        

    Obrázky

    Jak skamarádit openvswitch a systemd, obrázek 1

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    19.11.2014 21:14 Peter
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Dakujem velmi pekne - práve také niečo riešim. Mimochodom - toho debila, čo "vymyslel v tom pridrbanom systemd tú nekonečnú smyčku" by som nechal umučiť tým najhrôzostrašnejším stredovekým spôsobom. Už sa mi nie raz stalo, že kvôly totálnej blbosti, absolútne nezaujímavej službe mi nenabehol systém a proste som musel chroot, ... Systemd je proste hnus fialový.
    pavlix avatar 20.11.2014 14:15 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Ty smyčky taky nechápu, většinou jsou to věci, které potřebuju nutně přeskočit a opravit z běžícího systému a CTRL+C nic!
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    michich avatar 20.11.2014 14:16 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    V systemd má každá služba nastavitelný timeout. LSB služby ho mají implicitně nastavený na 5 minut. V Debianu ale mají navíc patch, který službám z rcS.d nastavuje TimeoutSec=0, tj. nekonečný timeout.
    20.11.2014 15:40 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Otázka zní: Kde? Velmi bych uvítal možnost tuhle kravinu změnit.
    20.11.2014 12:24 nyan
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    No vida, stravils par hodin resenim problemu kterej by bez systemd neexistoval... a ja furt nechapu proc vsichni ten systemd nenavidi... dyt mame vsichni o praci postarano na dalsich par let :-)
    20.11.2014 12:47 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Díváš se na to ze špatného konce. Díky řešení problému jsem se poučil jak má vypadat správně nakonfigurované síťové rozhraní openvswitche u Debianu. Učení není práce. Práce je aplikace učením získaných poznatků. Zaměstnání IT administrátora tvoří z 90% učení a pouhých 10% času zabírá vlastní práce.
    Jendа avatar 21.11.2014 21:32 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Mně zase systemd práci ušetřil. Například díky tomu, že na rozdíl od původního debianího initu umožňuje zakázat službu. Nestane se tak třeba, že se sám od sebe spustí DHCP server, který zahltí síť nefunkčními adresami.
    Heron avatar 21.11.2014 21:54 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Co? To samozřejmně Debian umí, to je docela podstatná vlastnost.
    Jendа avatar 21.11.2014 22:29 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Už se mi při upgrade zaply samba, ntpd a dnsmasq. Postinst skript prostě udělá /etc/init.d/služba restart a služba si to vyloží jako že se má spustit, i když neběží a byla zakázána (přes update-rc.d služba remove).
    pavlix avatar 21.11.2014 22:25 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    To bych skoro viděl na bugreport, pokud se něco takového děje.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 20.11.2014 14:17 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Takže v čem přesně byl problém? Špatné pořadí služeb při bootu? Špatný obsah /etc/network/interfaces? Výslednou konfiguraci považuješ za korektní řešení nebo workaround?
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    20.11.2014 15:38 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Výsledná konfigurace je vedlejší produkt hledání řešení jiného problému - povolení forwardingu pro virtuální interface. Z hlediska budoucí integrace systemd ji lze považovat za korektní řešení, protože s ním funguje. Více méně. Workaroundem je spíš ta původní konfigurace.

    Jak řešit správným způsobem nastavení pořadí spouštění služeb při použití systemd je pro mne pochopitelně zajímavé téma - o tom, že momentálně nevím jak to správně udělat, se zmiňuji v následujícím blogpostu - Pacemaker - problém se integrací nodu. Bohužel, zatím jsem však na nějaké polopatické how-to nenarazil. Možná ale o něčem víte. Jak jsem z diskuze vyrozuměl, jste tady nejméně dva co do systemd pronikli natolik, že by o nějakém kloudném mohli vědět.
    21.11.2014 12:23 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Výsledná konfigurace je vedlejší produkt hledání řešení jiného problému - povolení forwardingu pro virtuální interface.
    to mi připomíná tenhle čerstvě spravenej bug - při dostatečně novým jádru a userlandu by to tím pádem už mohlo fungovat všude i bez zvláštních obezliček.
    21.11.2014 12:41 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Jo to bude nejspíš ono, až na ten drobný detail, že tahle oprava se týká pouze fedory, nikoliv Debianu. Ale díky. Jestli se v tom budu chtít pohrabat, budu alespoň tušit na co se podívat.
    20.11.2014 17:15 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Tak už jsem se dohrabal k jádru pudla. V instalačních balících pro openvswitch Debian aktuálně nemá nativní unitu pro systemd. Proto se zpracovává (nějak nevím jak) výchozí init skript. Ve zdrojáku ovšem tato unita je, ale pouze v adresáři pro rudé peklo, tudíž ji maintaner debianího balíku nepovažoval za nutné přibalit.
    pavlix avatar 20.11.2014 17:54 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Pak nezbývá než požádat upstream, aby konečně registroval, že systemd není RH-only.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    20.11.2014 18:28 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    No, vzhledem k tomu, že u Debianu není nejmenší problém systemd vykopnout, bych řekl že se budou věci nejspíš ubírat trochu jiným směrem. Přinejmenším tedy v serverové oblasti. On totiž boot Debianu bez systemd je výrazně svižnější a přehlednější, nežli s ním. A navíc, pokud je v běhu Pacemaker, není nejmenší zájem na tom, aby mu do toho, co se má skrze něj spravovat kecal nějaký lokální systemd.
    pavlix avatar 20.11.2014 20:09 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Jo tahkle. Ty se chystáš provozovat Debian bez systemd, tudíž se tě to nebude týkat. Já jsem to pochopil tak, že jsi hledal řešení se systemd a narazil jsi na nedostatečnou podporu.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    20.11.2014 23:15 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Chtěl jsem tomu dát šanci, protože jinak proti systemd vcelku nic nemám. Jenže za současného stavu by to znamenalo jen další opruz navíc. Už tak jsem s tím zabil víc času než jsem chtěl. Potřebuji totiž testovací vícenodový asymetrický cluster pro přepsání agenta Pacemakeru pro DRBD. Ten stávající od Linbitu totiž není pro víc jak dvounodový cluster dělaný. A kromě toho si chci také osahat CEPH. Jenže zatím jsem se místo toho pachtil s takovýma blbostma jako správné nahození sítě, služeb, aj. Být to jeden stroj, tak je to brnkačka, ale identickou konfiguraci sedmi hardwarově odlišných nodů je už lepší spravovat přes puppet. To ovšem sebou nese zase další zpoždění, neboť se snažím ze svých stávajících masterů postupně vydestilovat univerzálně použitelné moduly.

    No a do toho ty uhnívající disky. Dneska chcípnul systémový disk zase v jiném nodu. Nejspíš se vrátím k osvědčenému řešení, s modifikací pro Btrfs - systémové subvolume v rámci Btrfs typu raid6.
    pavlix avatar 21.11.2014 08:33 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Chtěl jsem tomu dát šanci, protože jinak proti systemd vcelku nic nemám. Jenže za současného stavu by to znamenalo jen další opruz navíc.
    Já tomu trochu času navíc věnuju, protože používám systemd na gentoo, kde taky ještě zdaleka není doma.
    To ovšem sebou nese zase další zpoždění, neboť se snažím ze svých stávajících masterů postupně vydestilovat univerzálně použitelné moduly.
    Jo to dává smysl.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    michich avatar 20.11.2014 14:23 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    pre-up service openvswitch-switch start
    Hádám, že tímto vzniknul deadlock. Jelikož systemd dodržuje závislosti služeb mezi sebou, tak spouštění služby z jiné služby je k tomu náchylné. Příkaz service čekal, až openvswitch-switch nastartuje. Ten ale místo startování čekal ve frontě, až doběhne jiná služba, na níž má pořadní závislost. Pokud je skutečně zapotřebí spouštět služby z jiných služeb, hodí se použít systemctl s parametrem --no-block nebo --ignore-dependencies.
    pavlix avatar 20.11.2014 14:46 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Pokud je skutečně zapotřebí spouštět služby z jiných služeb, hodí se použít systemctl s parametrem --no-block nebo --ignore-dependencies.

    Za --no-block jsem dostal od Michala Sekletára vynadáno a měnil jsem to na --ignore-dependencies. Na druhou stranu takové neblokující volání už nebude ani v nejmenším pre-up, takže to nejde použít. Ale --ignore-dependencies normálně blokuje, ne, takže to by mělo případně fungovat, že?
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    25.11.2014 02:02 Martin Matějek | skóre: 12 | blog: Flying_circus | Kladno
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Občas je veselo i s openvswitchem samotným, netřeba do toho motat init systém. Na Gentoo s openrc jsem zažil případ, kdy se ovs-vswitchd dostal do nekonečné smyčky v případě, že se mu něco nezdálo - třeba že jsem chtěl nastavit LACP pro bridge a ve switchi na druhém konci kabelů nebyl LACP zapnutý, nebo něco podobného. Nevím jestli je to bug nebo feature, ale doufám, že už to opravili. Nebýt toho, že kombinace bonding + linux bridge + iSCSI je magická a spíš nefunguje než funguje, tak jsme vážně uvažovali o tom openvswitch zahodit, dokud tohle upstream neopraví.
    Don't judge me by the friends I keep. No, no, no. Judge me by the enemies I have slain!
    pavlix avatar 25.11.2014 09:22 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Nevím jestli je to bug nebo feature, ale doufám, že už to opravili.
    Hláška dne.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    25.11.2014 10:13 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Já teda po něm nechci vcelku žádná kouzla, takže jsem dosud na žádný problém nenarazil. Mé připojení si ovšem vystačí se dvěma bridgi - jedním co propojuje privátní subnet a druhým co zajišťuje vnější konektivitu asi 10 virtuálům do šesti VLAN.
    pavlix avatar 25.11.2014 10:21 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd
    Jakou výhodu má pro tebe použít openvswitch?
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    25.11.2014 10:46 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak skamarádit openvswitch a systemd

    Virtuální infrastruktura.

    Takhle kupříkladu vypadá konfigurace, jakou můj agent pro Pacemaker zpracovává když spouští virtuální disklessový stroj postel.felk.cvut.cz

    primitive postel ocf:dce:kvm \
            params workdir="/root" binfile=qemu-system-x86_64 \
            ifup="/etc/openvswitch/ovs-ifup" \
            ifdown="/etc/openvswitch/ovs-ifdown" \
            cpu=kvm64 memory=4096 monitor="/tmp/7013.monitor" \
            nic="00:0f:b0:46:23:89,virtio,tap,main,17 00:0f:b0:47:23:89,virtio,tap,main,5" \
            serial="file:/var/log/postel.serial" logfile="/var/log/postel.log" \
            pidfile="/var/run/kvm_postel.pid" \
            errlogfile="/var/log/postel.err" \
            meta target-role=Started is-managed=true \
            op monitor interval=20 \
            op start interval=0 timeout=30 \
            op stop interval=0 timeout=30
    

    Skript /etc/openvswitch/ovs-ifup se stará o nahození virtuálního portu a skript /etc/openvswitch/ovs-ifdown zase o jeho zrušení, když Pacemaker stroj vypne. Zařazení virtuálního portu do příslušného bridge a vlan se řeší zpracováním záznamů v parametru nic.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.