abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 16:38 | Komunita

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 5. a 6. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu. Celkově bylo zpracováno 65 hodin z 89 přednášek a workshopů.

Ladislav Hagara | Komentářů: 0
včera 11:30 | Komunita

Bylo oznámeno, že bude proveden bezpečnostní audit zdrojových kódů open source softwaru pro implementaci virtuálních privátních sítí OpenVPN. Audit provede Matthew D. Green (blog), uznávaný kryptolog a profesor na Univerzitě Johnse Hopkinse. Auditována bude verze 2.4 (aktuálně RC 1, stabilní verze je 2.3.14). Audit bude financován společností Private Internet Access [reddit].

Ladislav Hagara | Komentářů: 2
včera 06:00 | Komunita

Na YouTube byl publikován Blender Institute Reel 2016, ani ne dvouminutový sestřih z filmů, které vznikly za posledních 10 let díky Blender Institutu. V institutu aktuálně pracují na novém filmu Agent 327. Dění kolem filmu lze sledovat na Blender Cloudu. Videoukázka Agenta 327 z června letošního roku na YouTube.

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

Minulý týden byly vydány verze 1.2.3 a 1.1.7 webového poštovního klienta Roundcube. V oznámení o vydání bylo zmíněno řešení bezpečnostního problému nalezeného společností RIPS a souvisejícího s voláním funkce mail() v PHP. Tento týden byly zveřejněny podrobnosti. Útočník mohl pomocí speciálně připraveného emailu spustit na serveru libovolný příkaz. Stejně, jak je popsáno v článku Exploit PHP’s mail() to get remote code execution z roku 2014.

Ladislav Hagara | Komentářů: 1
8.12. 16:00 | Nová verze

Byla vydána verze 0.98 svobodného nelineárního video editoru Pitivi. Z novinek lze zmínit například přizpůsobitelné klávesové zkratky. Videoukázka práce s nejnovější verzí Pitivi na YouTube.

Ladislav Hagara | Komentářů: 1
8.12. 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 5
7.12. 21:21 | Nová verze Ladislav Hagara | Komentářů: 0
7.12. 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

Ladislav Hagara | Komentářů: 2
7.12. 00:10 | Nová verze

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

Ladislav Hagara | Komentářů: 10
6.12. 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 28
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 807 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Systemd a synchronizace času

7.6.2013 17:17 Radek Hladik | skóre: 20
Systemd a synchronizace času
Přečteno: 511×
Mám jeden poměrně nepodstatný, ale principielně snad alespoň trochu zajímavý dotaz. Server s Fedorou 17, standardní systemd, atd... A při kontrole sshd jsem si všiml, že prý běží už rok a něco " Active: active (running) since Fri, 09 Mar 2012 03:57:41 +0100; 1 years and 2 months ago", přičemž uptime serveru je 60 dní.

Příčina je jasná, když server startoval, byly špatně hodiny, což je bohužel vlastnost použitého supermicro serveru :-( Na serveru normálně běží chrony a o synchronizaci času se stará, takže teď je čas správně.

Samozřejmě se na to můžu vykašlat, ale když už tam je ten new'n'shiny systemd a má tuhle poměrně užitečnou informaci, mohlo by být zajímavé to nějak pořešit. Ale jak?
  1. Neřešit
  2. rozdělit služby na ty, co můžou mít závislost na chrony a zbytek. Protože asi nemůžu mít network závislý na chrony, když by chrony bylo závislé na network. Navíc potřebuju mít závislost ne na startu chrony, ale na okamžiku, kdy usoudí, že čas je správně (alespoň přibližně)
  3. Nacpat chrony co nejdřív do nějakého targetu, třeba sysinit
  4. Někam "brzo" narvat ntpdate
  5. Nepoužívat HW, co má takhle blbé hodiny
  6. Pokud chrony (nebo něco jiného) detekuje velkou změnu v čase, zrestartovat co nejvíc (ideálně celý server)
  7. Nějaká podpora systemd
Ad 2) Vždycky zůstane minimálně chrony a jeho prerekvizity a vše, co se spustilo před tím, což je u systemd poměrně hodně (všechny mounty, konzole a já nevím, co ještě). Navíc je potřeba reagovat na moment, kdy je čas správně, což ovšem chrony může trvat i několik hodin (pokud dělá takovéto jemné dorovnávání), takže potřebuju spolupráci od chrony typu "tak a teď už je čas docela dobrý"... Navíc budu mít hodně věcí závislých na chrony, což může způsobit problém...

Ad 3) Skoro stejné problémy jako 2), jen mi odpadne ta závislost na chrony. A v obou případech budu mít služby, co mají čas správně smíchané se službami, co mají čas špatně.

Ad 4) Tohle má skoro ty samé problémy jako 2+3, jen je to trochu jinak realizované

Ad 5) Jo, ale podobné rozcházení se času je docela bežné, jen ne v takovém měřítku, ale už jsem viděl rozdíl půl dne za měsíc vypnutí. A co platformy, které nemají RTC, kam se systemd pomalu taky tlačí?

Ad 6) Tohle by byla "teoreticky" správná varianta, server se rozjede v režimu, kdy si syncne hodiny a pak se rebootuje (doufaje, že se hodiny nezmastí) v plnohodnotném režimu. Restart třeba jen některých služeb problém nevyřeší.

Ad 7) To by si systemd musel počítat jak dlouho služba běží místo od kdy, což by nebylo úplně jednoduché. Nebo by musel nějak docela komplikovaně reagovat na změny času ("čas nám poskočil o rok, tak si o rok posuneme počítadla...." :-) ). Ikdyž když o tom tak přemýšlím, tak používat stejný zdroj, jako používá uptime, by nemuselo být tak těžké. Systemd by věděl, že služba startovala, když uptime byl 5 minut, zbytek je otázka dopočítání z aktuálního data a uptime. Případně by šel použít jiný (přesnější) čítač uptime, ale hlavně, aby nepřetékal :-)

Dřív jsem tenhle problém řešil tak, že poměrně brzo se spouštělo ntpdate, které udělalo alespoň hrubou synchronizaci. Jenže tehdejší init nedělal paralelení start a nevypisoval čas, od kdy služba běží...

Odpovědi

9.6.2013 17:18 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Pokud ten HW nemá zálohované HW hodiny tak bych to řešil že po startu sítě by se okamžitě spouštěl ntpdate pro počáteční nastavení.

Případně ještě v kombinaci s vypínáním by se mohl aktuální čas uložit do souboru a pak zase obnovit okamžitě při startu ještě před ntpdate, sice podle délky vypnutí serveru by tam byl skluz, ale už by to nedělalo roky.
9.6.2013 22:11 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
On ten HW má dokonce celý BMC (management modul) s NTP clientem, jen prostě nějak zlobí :-) Problém s ntpdate po startu sítě je, že a) budu muset zařídit, ať na něj ostatní služby počkaj b) služby, které se spustí před ním budou mít čas pořád špatně.

Jinak řeším to opravdu spíš filosoficky, protože chrony ten čas velice rychle sesynchronizuje a všechny služby se bez problému přizpůsobí, jen ten systemd píše "kraviny".
10.6.2013 11:27 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Já bych to asi neřešil - čekání a pod.... prostě po spuštění bych načetl uložený čas ze souboru co si při vypnutí uložím a po startu sítě bych jednorázově spustil ntpdate.

Pak bude maximálně počítáno s časem kdy se server vypnul kdyby služby naběhly před ntpdatem - tj nepsalo by to blbiny s rozdílem roků a víc bych to neřešil.

Kolikrát a jak dlouho ten server bývá vypnutý? Podle mě je převážně zapnut takže když tam bude max že ssh běží o den déle kdyby se náhodou spustil před ntpdatem?
10.6.2013 12:37 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
To načtení ze souboru mi připadá poměrně nadbytečné, protože zdroj přesného času mám. Takže jediný rozdíl mezi ntpdate a načtením ze souboru je v tom, že to druhé nepotřebuje síť.

Problém toho HW je, že ten čas prostě není spolehlivý a ten mgmt modul občas nějak ten svůj čas "zresetuje" na nějaké defaultní datum,... No detaily jsem moc neřešil, je to levný atom a hlavní důvod toho mgmt modulu je přístup na konzoli a vypínání/zapínání... Proto to řikám řeším spiše ve filosofické rovině, protože když se systemd dostane na různé ty WRT routery a jiné, co nemají hodiny, tak to bude o řád horší.

S těmi službami je to pravda, jenže v systemd jsou "služby" skoro všechno, takže třeba:
# systemctl status -- '-.mount'
-.mount - /
          Loaded: loaded
          Active: active (mounted) since Fri, 09 Mar 2012 03:57:30 +0100; 1 years and 3 months ago
           Where: /
            What: /dev/md127
pavlix avatar 10.6.2013 11:38 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Popravdě jsou řečeno závislosti v systemd paradoxně řešeny ještě hůře než před ním. Pokud jde o sítě, tak s tím mám kupu zkušeností ;). Tam je taky skutečná závislost na funkční síti a ne na forknutí procesu, který se má o síť postarat.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
10.6.2013 12:56 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Nerad bych, aby se toto zvrhlo v další flame :-) Takových vláken už všude je, tady jsem chtěl opravdu znát názor lidí, co systemd používají, zda tenhle problém řešili/řeší a co si o něm myslí...

pavlix avatar 10.6.2013 13:55 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Pak zřejmě nejsem člověk, protože ostatní podmínky zcela jistě splňuju, navíc se s tím potýkáme v oblasti sítí, což je těsně vedle řízení času ze sítě.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
10.6.2013 14:03 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Nemyslel jsem to nijak zle, dokonce i plně souhlasím s tvým příspěvkem. Jen jsem chtěl zůstat u toho jednoho konkrétního problému a pokud možno v neemotivní rovině :-)
pavlix avatar 10.6.2013 16:51 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Stejně jsou to pořád dokola iterace toho stejného problému. Špatně nastavené požadavky a předpoklady a na jejich základě špatně postavený systém. Služby určené k běhu před synchronizací času by jednoduše neměly pracovat s globálním časem. V tomhle by třeba mohla pomoci služba typu journald, která odděluje vnitřní logiku od prezentace, stejně jako tomu dělá unixový timestamp u časových zón.

Na co je vlastně potřeba globální čas? Na zobrazení hodin. Na prezentování časových údajů lidem, kteří je chtějí srovnat s časem, který znají z jiných zdrojů. Na detekci exporovaných certifikátů, což má i nějaké bezpečnostní a provozní důsledky. Na co jsem zapomněl?

Těch pár služeb, co se jich globální čas nějak víc týká, by měly buď specifikovat závislost na úspěšně synchronizovaném čase (což by měl nabídnout zřejmě chronyd ve spolupráci se systemd), nebo by měly na seřízení času čekat (zřejmě pomocí nějakého API v chronyd). Druhá možnost je aby si poradili s tím, že čas není garantovaný.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
10.6.2013 17:24 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Na co jsem zapomněl?
Na to skoro nejdůležitější. Na obecnou synchronizaci, fyzikálně by se dalo říct určení bodu v čase. T.j. článek se má zveřejnit o půlnoci 11.6., každé pondělí se má něco stát, zaměstnanec se smí přihlásit pouze v pracovní době...

Ale jinak souhlas, že je to o požadavcích a předpokladech...
Těch pár služeb, co se jich globální čas nějak víc týká, by měly buď specifikovat závislost na úspěšně synchronizovaném čase (což by měl nabídnout zřejmě chronyd ve spolupráci se systemd), nebo by měly na seřízení času čekat (zřejmě pomocí nějakého API v chronyd). Druhá možnost je aby si poradili s tím, že čas není garantovaný.
To API by právě nemělo být v chronyd, ale nějaké obecné (zde je právě prostor pro systemd+dbus,atd...) a chronyd by měl být pouze jeho implementátor (ideálně jeden z mnoha). Stejně tak to nastavení sítě, to je to samé v bledě modrém.

Ale to jsme se dostali i trochu dál, mně "vadí", že s tím časem neumí správně pracovat ani sám systemd :)
little.owl avatar 10.6.2013 17:41 little.owl | skóre: 22 | Brighton
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Ale to jsme se dostali i trochu dál, mně "vadí", že s tím časem neumí správně pracovat ani sám systemd :)
A k tomu jste dosel jak? Systemd po startu predpoklada, ze systemove hodiny jsou nastaveny dobre - odhlednemeli od male casove deviace - coz je celkem korektni pozadavek. Vy mu prestavite systemove hodiny pres chronyd, o mesice, a pak se divite, ze runtime vam vraci podivne hodnoty. Co ma podle vas systemd delat? Apriory predpokladat, ze systemove hodiny jsou po startu nefunkcni a pak provest korekci?
M-x butterfly
10.6.2013 18:02 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Nechci používat citation needed, ale máte ten požadavek někde zdokumentovaný? Teď jsem ho hledal na homepage systemd a nikde jsem ho nenašel... Já jsem tam dokonce nenašel ani ten seznam požadavků (ale neříkám, že tam někde ve sklepě za dveřmi s nápisem "Pozor divoký leopard" není...) :-)

Ono je jednoduché, když někdo objeví nějaký problém, zpětně říct, že je požadavek takový a makový. Trochu mi to připomíná přístup jistého člověka, nějakého Poeteringa, možná ho znáte, docela se teď o něm hodně mluví v souvislosti s jedním jeho projektem...
Vy mu prestavite systemove hodiny pres chronyd, o mesice, a pak se divite, ze runtime vam vraci podivne hodnoty.
Je zajímavé, že uptime mi vrací hodnoty správné, ikdyž mu posunu čas o 10 let...
Apriory predpokladat, ze systemove hodiny jsou po startu nefunkcni a pak provest korekci?
Ano, jak jsem psal, spousta zařízení nemá k dispozici HW hodiny vůbec, takže předpoklad, že jsou po startu nefunkční je naprosto správný. A můžu se zeptat, jakou korekci provádí ten výše zmíněný uptime?

little.owl avatar 10.6.2013 18:21 little.owl | skóre: 22 | Brighton
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Pozadavek zalohovanych CMOS RTC je standardni requirement Windows a Microsoft to chce rozsirit na pouziti HPET, ktere ubastlili spolu s Intelem. Ve vasem pripade, na vasi platforme se jedna o selhani, poruchu HW.

Na HW bez RTC se to resi ruzne, viz CLOCK_MONOTONIC, CLOCK_MONOTONIC_RAW a CLOCK_REALTIME.

Urcite by to slo resit lepe, je to cele dalsi pandorina skrinka plna problemu, ale obavam se ze pokus integrovat spravu RTC do systemd by zde nekteri lide uz psychicky neustali ;-).
M-x butterfly
10.6.2013 18:34 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Pozadavek zalohovanych CMOS RTC je standardni requirement Windows a Microsoft to chce rozsirit na pouziti HPET, ktere ubastlili spolu s Intelem. Ve vasem pripade, na vasi platforme se jedna o selhani, poruchu HW.
Co mají požadavky Windows a Microsoftu společného se systemd? Nebo snad chcete říct, že je to požadavek Intel x86_64 platformy? Ano, na této platformě je často běžné, že čas je správně, ale rozhodně si nemyslím, že je to nějaký požadavek, jehož nesplnění=závada HW.
Urcite by to slo resit lepe, je to cele dalsi pandorina skrinka plna problemu, ale obavam se ze pokus integrovat spravu RTC do systemd by zde nekteri lide uz psychicky neustali ;-).
Já už to opravdu déle nevydržím :-) Kdyby to byla jediná pandořina skřínka, ale systemd je jak Pandořino DHL :-)

Ale zpátky do objektivní neemoční roviny... Všimněte si, že já nepotřebuju integrovat správu RTC do systemd. Mně by bohatě stačilo použít ten čítač vteřin od startu systému a odečíst ho od aktuálního stavu. Protože, když někdo píše, že "... 1 years and 3 months ago", tak určuje časový interval a ten by se takto velice snadno a elegatně vyřešil. To že by se s tím dalo pracovat dále (například si pamatovat i ten čas a zjistit, že se ty dva časy "rozešly" o rok...), to by bylo hezké, ale to je už nadstandard...
pavlix avatar 10.6.2013 18:52 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
A tím jsme zpět u toho, co jsem psal já. Bylo by fajn, kdyby se i vývojáři smířili s tím, že čas je monotonní, běží plynule a nikam neskáče. Linux/glibc pro to prostředky nabízejí.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
10.6.2013 19:23 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Jak jsem psal, jsou dva typy hodin. Jedny takové, jaké píšeš (ty by se hodily tady) a pak "absolutní", kde je snaha o jejich co nejpřesnější globální synchronizaci.
pavlix avatar 10.6.2013 19:46 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Já jsem ale výše nepsal ani o jedněch z nich, ale o obecné vlastnosti času.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
10.6.2013 20:40 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
To je spíš fyzika, ne? A do té bych se se svými jen dvěma semestry pouštět nechtěl :-)
pavlix avatar 10.6.2013 20:42 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Ani ne. Spíš je to praktické vnímání světa, kdysi se tomu říkalo filosofie, než to jméno dostalo dnešní význam. Dneska už by to asi spadalo spíš pod common sense.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
little.owl avatar 10.6.2013 21:46 little.owl | skóre: 22 | Brighton
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Co mají požadavky Windows a Microsoftu společného se systemd?
Systemd nema spolecneho s Windows nic. Pokud ale systemd provozujete na PC platforme kompatibilni s PC AT BIOSem nebo UEFI BIOSem, budete backupovane RTC mit. Bez nich HW neni kompatibilni s Windows, ani s PC specifikaci dohodnutou Intelem, Microsoftem, HP a dalsimi velkymi hraci.
Ale zpátky do objektivní neemoční roviny...
My jsme byli v nejake emocni rovine?
Mně by bohatě stačilo použít ten čítač vteřin od startu systému a odečíst ho od aktuálního stavu.
Urcite by bylo lepsi pouzit monotonni timer, nulovany pri startu, osetrit preteceni a kombinovat to s RTC. Nicmene to neni reseni treba problemu s logy ci cronem; RTC vam proste nesmi prilis ulitnout.
M-x butterfly
10.6.2013 23:19 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Bez nich HW neni kompatibilni s Windows, ani s PC specifikaci dohodnutou Intelem, Microsoftem, HP a dalsimi velkymi hraci.
Opravdu to v nějaké té specifikaci je? Abysme si rozuměli, já to nezpochybňuju, ale nevím, jestli to tvrdíte na základě nějaké znalosti nebo jen de facto zkušenosti nebo doměnky.
My jsme byli v nejake emocni rovine?
My ne, jenom já. A jenom na chvilku v té poznámce o Pandořině DHL :-)
Urcite by bylo lepsi pouzit monotonni timer, nulovany pri startu, osetrit preteceni a kombinovat to s RTC. Nicmene to neni reseni treba problemu s logy ci cronem; RTC vam proste nesmi prilis ulitnout.
Je jasný, že RTC nesmí moc ulítnout, k tomu se koneckonců používá to chronyd. A já ani nezpochybňuju to, že budou špatně logy atd... Tohle se dá opravdu řešit jen tak, že se systém rozjede v nějakém "předrežimu", seřídí si hodiny a teprve pak kompletně nastartuje.

Ale co mi připadá selským rozumem (nebo jak používá Pavlix common sensem :-) ), tak když něco píše since xxxx nebo xxxx something ago, tak to určuje dobu, která by (teoreticky) měla být na změnách času nezávislá.

A teď exkurze do jiné paralelní reality, kde je systemd navržen v souladu s unixovým "dělám jen jednu věc, ale pořádně..." Fakt: systém má k dispozici příkaz uptime, který dokáže s minutovou přesností vypsat dobu od startu systému. Závěr: I kdyby nebyla lepší možnost, tak je možné změřit dobu od spuštění služby do teď s minutovou přesností. Je tedy možné napsat cosi jako "Služba běží 30 minut, pokud je aktuální čas správný, startovala v 10.6.2013 22:41. V mých záznamech je, že startovala 10.5.2012 20:00. To je rozdíl větší než xxx, takže od startu do teď došlo ke změně času v systému."

A jen tak malý chyták na konec, co je třeba udělat, aby z prvního výpisu dostal člověk ten druhý?: :-)
 Active: active (running) since Mon, 10 Jun 2013 23:15:46 +0200; 5s ago
 Active: active (running) since Mon, 10 Jun 2013 23:15:46 +0200
little.owl avatar 10.6.2013 23:55 little.owl | skóre: 22 | Brighton
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Opravdu to v nějaké té specifikaci je?
Ano. PC/AT BIOS, cca od 1984, pozadavek od PC DOS 3.0, interrupt 0x1A - RTC Services, viz. treba zde. Od te doby se to vlece az do UEFI BIOSu.
M-x butterfly
11.6.2013 00:24 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Zajímavé, díky.
pavlix avatar 11.6.2013 09:59 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Tohle se dá opravdu řešit jen tak, že se systém rozjede v nějakém "předrežimu", seřídí si hodiny a teprve pak kompletně nastartuje.
Není pravda. Stačí počítat logy pomocí monotonních hodin a po seřízení spočítat offset.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
pavlix avatar 10.6.2013 18:42 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Apriory predpokladat, ze systemove hodiny jsou po startu nefunkcni a pak provest korekci?
I to je možnost. Když pořád mluví o tom, jak cílí na embedded, tak by měli počítat s tím, že systém nemusí mít ve vypnutém stavu hodiny vůbec žádné.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
little.owl avatar 10.6.2013 21:48 little.owl | skóre: 22 | Brighton
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Asi by to slo. S tim jeho cilenim na embedded veci to neni zdaleka tak horke.
M-x butterfly
pavlix avatar 10.6.2013 18:49 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
To API by právě nemělo být v chronyd, ale nějaké obecné
To je zajímavá teorie. Nicméně pak je potřeba používat nějakou obecnou registrační službu a v ní registrovat obecné události. D-Bus tohle neřeší. Zato systemd to řeší blbě, protože se s něčím takovým vůbec nepočítalo. V systemd je bohužel možné toto řešit jen různými hacky typu že se služba ohlásí jako spuštěná až když úspěšně proběhne synchronizace. OpenRC má něco podobného, jen je to trochu flexibilnější.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
little.owl avatar 10.6.2013 17:14 little.owl | skóre: 22 | Brighton
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Popravdě jsou řečeno závislosti v systemd paradoxně řešeny ještě hůře než před ním.
Krasy paralelizace. To casem poladite ;-).
Tam je taky skutečná závislost na funkční síti a ne na forknutí procesu, který se má o síť postarat.
A jak je ted network-online.target spolehlivy?
M-x butterfly
pavlix avatar 10.6.2013 19:01 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
A jak je ted network-online.target spolehlivy?
Je to Microsoft-style řešení. Nedělá to vůbec nic, ale hlavně, že se o tom ví. Je to jen přejmenovaný network.target. Navíc je to jen target, který se musí nějak implementovat.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
little.owl avatar 10.6.2013 21:49 little.owl | skóre: 22 | Brighton
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
To vysvetluje vse. A implementovat to budes ty v NM?
M-x butterfly
pavlix avatar 11.6.2013 10:32 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Pro mě ani pro další kolegy ve zbroji to nic nemění, jen místo network.target bude network-online.target, který je podle mě úplně zbytečný. Buď chci čekat na dokončení, pak použiju After, nebo chci jen aby se síť taky nějak časem vyřešila, pak použiju Wants.

Já jsem představil řešení na základě nápadu Michala Schmidta. K dispozici zde:

https://bugzilla.gnome.org/show_bug.cgi?id=700651

Implementace je bohužel netriviální a sahá hluboko do NetworkManageru. Nevím, jestli bych měl na něco takového čas, budu mít dost jiných povinností. Zatím se mi ale nepodařilo prosadit ani to, že je něco takového potřeba řešit a stávající nm-wait-online je v kruzích NM považován za dostačující řešení.

Ale osobně si myslím, že při nahrazování network scriptů nám budou chtít nakopat prdel za každou drobnost, kde se bude NetworkManager odlišovat od původního řešení. A hle, máme tu případ něčeho, co mají network skripty uspokojivě vyřešení a NetworkManager to nedává.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
10.6.2013 16:34 jurmel
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
brainwash: mam podobny problem. potrebuju po zmene ip adresy pustit wget na https:// jenze protoze se ip adresa meni pres tim nez se zesynchronizuje cas nemuzu pouzit primo script v nm dispatcher.d. resenim asi je unita s After=chrony a Requires=chrony a s PreExecStart=sleep 60. S tim ze musim doufat ze chrony stihne zaktualizovat cas dostatecne rychle. a v nm dispatcher.d mit systemctl start moje_unita.
10.6.2013 18:41 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Jenom něco trochu mimo....

Já mám ze starého routeru udělané hodiny, ovšem router nemá HW hodiny - nechce se mi je dělat na zálohu, buď funguje síť a je čas OK a nebo ne a pak čas je blbý.

V programu který jsem si napsal na rozsvěcovaní displeje je test a pokud je rok z SW hodin menší než rok překladu programu tak se hodiny nezobrazí - pouze "-- --" a čeká...
10.6.2013 19:00 miros
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Mam pocit, ze systemd uz ted sleduje kdy se posune systemovy cas a pise to do logu. Mozna by mohl ty stare casove udaje o ten skok opravit. Zkusil bych na to udelat bug, treba by Lennart nebyl proti.

Jinak pro sluzby, ktere potrebuji presny cas pri startu, existuje time-sync.target poskytovany sluzbami chrony-wait.service, ntp-wait.service a ntpdate.service.
pavlix avatar 10.6.2013 19:03 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Jinak pro sluzby, ktere potrebuji presny cas pri startu, existuje time-sync.target poskytovany sluzbami chrony-wait.service, ntp-wait.service a ntpdate.service.
To se hodí.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
10.6.2013 19:21 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Bug here, ať mi LP vynadá, že to co řeším já, je můj problém, že on se stará o spoustu jiných typů uživatelů, atd...
little.owl avatar 10.6.2013 22:43 little.owl | skóre: 22 | Brighton
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
Hmm, v kontextu tohoto se to skutecne jevi jako bug.
M-x butterfly
11.6.2013 11:09 Skokan, Pavel | skóre: 28
Rozbalit Rozbalit vše Re: Systemd a synchronizace času
http://hacksr.blogspot.cz/2012/07/synchronize-clock-in-initial-ramdisk.html

Založit nové vláknoNahoru

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

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