samovolné spuštění vypnutého stroje

Poradna při řešení nejrůznějších problémů spojených s provozem virtuálních serverů.
kapetr
Příspěvky: 224
Registrován: stř 12. říj 2011 7:14:21

samovolné spuštění vypnutého stroje

Příspěvek od kapetr »

Dobrý den,

zatím mám stroj trvale vypnutý. Již několikrát se mi ale stalo, že se nějak sám od sebe (tedy bez mého příkazu) spustil.
Zjistím to až nárůstem ceny z týdenního vyúčtování.

Naposledy se tak stalo (dle Vyúčtování za systémové prostředky vašeho VPS ID: 189) 14.11.2012 mezi 19:55 a 20:00 hod.

Pokud to způsobují nějaké restarty/údržba HW strojů, nelze to nějak lépe ošetřit, aby byl zachován předchozí stav (stopped/running) ?

Tato chyba mě stále sice jen 2Kč, ale přesto bych byl rád, aby se to nestávalo - nemusel bych to tak včas jako tentokrát zachytiti.

Díky
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: samovolné spuštění vypnutého stroje

Příspěvek od 4smart.cz »

Dobrý den,

samovolné (ne)spouštění VPS je záležitost, která je na 4smart.cz implementována.
V průběhu (re)startu domovského HW uzlu by tak ke startu VPS, dříve zastaveného, nemělo dojít.

Pokud ovšem VPS zastavíte zevnitř, příkazem halt, neexistuje zatím na 4smart.cz mechanizmus, který by
změnu tohoto stavu trvale uložil. Implementaci je ale možné časem doplnit.

V případě zastavení VPS přes www rozhraní se tato změna stavu také ukládá a k nežádoucímu startu VPS
se spouštěním HW uzlu nedojde.

Usuzuji tedy, že jde buď o individuální problém nebo o případ zastavení VPS "zevnitř".

J.M.
kapetr
Příspěvky: 224
Registrován: stř 12. říj 2011 7:14:21

Re: samovolné spuštění vypnutého stroje

Příspěvek od kapetr »

No ... nemohu s jistotou tvrdit, že jsem tehdy stroj nevypnul příkazem poweroff.

Nicméně - kdykoli jsem (právě po dřívějších zkušenostech se samospouštěním) občas koukl na svůj účet, tak bylo u stroje jasně stav "stopped".

Pokud to tedy ví rozhraní mého účtu, proč to samé není zohledněno při restartu HW ?
Kdyby se i po poweroff v www účtu ukazovalo running, tak neřeknu. Ale to není tento případ.

P.S.: "individuální problém" vylučuji. Já stroj na 100+% nespustil, neb jsem ho už delší dobu nespouštěl - takže se to snadno pamatuje :-)
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: samovolné spuštění vypnutého stroje

Příspěvek od 4smart.cz »

Dobrý den,

jak jsem již odpověděl, pokud jste VPS zastavil zevnitř, pak v tomto případě není změna stavu ukládána, neboť toto není implementováno.
To je pravděpodobný důvod startu Vašeho VPS.

Vaši poznámku jsem si zaevidoval jako chybu, kterou doplněním implementace v budoucnu opravím.

J.M.
kapetr
Příspěvky: 224
Registrován: stř 12. říj 2011 7:14:21

Re: samovolné spuštění vypnutého stroje

Příspěvek od kapetr »

Děkuji - to budu rád.

Zjevně stačí brát informaci o stavu stroje (stopped/running) tam, kde to bere to www rozhraní účtu - tam je to zdá se správně tak jako tak.

Ještě poddotaz:

Vypnutí tlačítkem ve www rozhraní je tedy vlastně co - uložení akt. stavu stroje (něco jako Suspend 2 RAM ovšem bez spuštění příslušných APM/ACPI rutin) ?
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: samovolné spuštění vypnutého stroje

Příspěvek od 4smart.cz »

Vypnutí VPS přes www rozhraní se od příkazu halt liší navíc v tom, že po zastavení se v konfiguraci OpenVZ virtuálního serveru nastaví navíc příznak onboot=no.

Oba případy nemají vůbec nic společného s uspáváním.
Procesy ve VPS se nejprve ukončí (SIGTERM, SIGKILL), VPS se následně zastaví, jádro uvolní některé prostředky, které jsou s provozem VPS spojeny a to je celé.

J.M.
kapetr
Příspěvky: 224
Registrován: stř 12. říj 2011 7:14:21

Re: samovolné spuštění vypnutého stroje

Příspěvek od kapetr »

Tak to mě překvapilo.
Čekal jsem obdobu zastavení virtuálu jako v VirtualBox či VMware Player (== +-STR) umožňující obnovení činnosti přesně tam, kdy byla zastavením přerušena.

Dle vašeho popisu mi tedy vypnutí VPS přes www rozhraní připadá, jako by stroj dostal ACPI signál vypnutí - a jeho obsluha pak zavolala poweroff.

Aneb <vypnutí VPS přes www rozhraní> == <poweroff> + <v konfiguraci OpenVZ virtuálního serveru set příznak onboot=no>.

Je to tedy takto ? Pokud ne, je to někde podrobněji popsáno ? Tedy co se přesně při spuštění (např. spouštění init skriptů, ...) a ukončování děje ("www tlačítkem") ?
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: samovolné spuštění vypnutého stroje

Příspěvek od 4smart.cz »

Dobrý den,

myslím, že bych se v další odpovědi trochu opakoval.

Pokud toužíte po více informacích, použijte Google a hledejte pod klíčovými slovy: OpenVZ, vzeventd, netlink socket, Virtualizace na úrovni jádra operačního systému. ACPI je rozhraní pro komunikaci mezi jádrem OS a Hardwarem, přesněji souvisí s spíš s napájením a uspáváním, než s provozním stavem, v tomto případě kontejneru virtuálního serveru. VirtualBox a VMware pracují na zcela jiných principech virtualizace. OpenVZ je virtualizace využívající patchovaného jádra Linuxu, z čehož plynou odlišné principy, výhody a nevýhody. Na rozdíl od Virtualboxu se zde nevirtualizují další jádra (i jiných) operačních systémů, proto není ani potřeba implementovat ACPI a další HW-blízké vrstvy proto, aby operační systém ve virtualním prostředí fungoval. V případě OpenVZ tak ve virtuálních serverech nenajdete žádné Linuxové či jiné jádro. Procesy, které ve VPS běží, využívají služeb jádra HW uzlu (systémová volání), sdílí stejnou fyzickou paměť, atd.

J.M.
kapetr
Příspěvky: 224
Registrován: stř 12. říj 2011 7:14:21

Re: samovolné spuštění vypnutého stroje

Příspěvek od kapetr »

Já psal ... jako by .... - samozřejmě jsem nemyslel, že se generuje nějaká, byť virtuální, ACPI událost.

Chtěl jsem jen reagovat na Vaše vysvětlení, které mi připadá obdobné vypnutí (píšete o ukončení procesů, ...).

Myslím, že má otázka byla a je jasná a relevantní. Hodná jednoduché odpovědi - samozřejmě zhruba, bez velkých detailů.

Respektive - jaký je rozdíl mezi poweoff zevnitř a vypnutím přes www.

Vy jste napsal - cituji "Vypnutí VPS přes www rozhraní se od příkazu halt liší navíc v tom, že po zastavení se v konfiguraci OpenVZ virtuálního serveru nastaví navíc příznak onboot=no."

Dávám důraz na slovo "navíc", které by dle Vašeho následujícího vysvětlení mělo být spíš "pouze" čí "hlavně".

Proto jsem se ptal: <vypnutí VPS přes www rozhraní> == <poweroff> + <v konfiguraci OpenVZ virtuálního serveru set příznak onboot=no>

To "==" nemyslím absolutně! Ale co do iluze/chování spouštěcího/vypínacího procesu. To je, oč tu běží.
Je přece důležité vědět, jak se virtuál spouští - jaké fázi spouštění HW stroje to (zhruba!) odpovídá (spuštění init ?).

Samozřejmě za odkazy děkuji, ale je to příliš obecné a (pro mě) vyžadující příliš studia. Mě zajímala jen tato věc. která pro Vás je jistě triviální, stejně jako odpověď na ni.
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: samovolné spuštění vypnutého stroje

Příspěvek od 4smart.cz »

Rozdíl mezi obema zpusoby zastaveni je v tom, ze www rozhrani ma informaci o aktualnim stavu VPS a pokud bezi, nabidne logicky tlacitko k zastaveni.
Kliknutim na nej spustite totez, co by jinak vyvolal prikaz "halt". Diky tomu, ze webove rozhrani ma informaci o stavu, a soucasne diky tomu, ze spoustecem akce zastaveni VPS je webove rozhrani,
je cely proces synchronni a je tedy mozne jej, diky teto vyhode, doplnit o pozadovanou volbu, ktera ma zajistit nespusteni VPS v pripade (re)startu HW uzlu. Ve sve podstate jde o samostatny prikaz z pohledu vykonavani kodu,
ktery zaruci nastaveni parametru "onboot=no" v konfiguracnim souboru OpenVZ virtualniho serveru.

Zastaveni VPS prikazem halt je asynchronni akce. Spoustecem je zmineny prikaz "halt" zadany v prostredi VPS, ktery vede k ukonceni procesu ve VPS a s tim spojenemu uklidu systemovych prostredku tohoto VPS, jenz jadro v jeho kontextu alokuje.
Stav vsech VPS je sledovan na pozadi na kazdem HW stroji periodicky kazdych n-minut - asynchronne, zvlastnim scriptem. Aktualni implementace sledovani pouze aktualizuje hodnoty stavu v databazi a nepracuje blize s pojmem "prechod mezi stavy".
Proto zarazeni pripadneho doplnkoveho parametru do konfigurace OpenVZ "onboot=no", jako synchronniho naslednika operace zastaveni VPS v tomto druhem pripade, ktery by jinak mel zarucit ono pripadne nespousteni pri (re)startu HW uzlu, je komplikovane a vyzadovalo by implementacni zasah bud v oblasti jadra (cos by nebylo nejlepsi reseni), nebo rozsireni stavajici implementace vz-nastroju (cistsi reseni) a nebo upravu zmineho scriptu, ktery sktualizuje stavy VPS v databazi a jenz by navic pri rozpoznani prechodu "running->stopped" provedl nastaveni "onboot=no". Nicmene bylo by nutne sledovat i opacny prechod mezi stavy, jiste si vydedukujete proc.
Treti moznost je z meho pohledu ta nejjednodussi a implementacne nejrychleji realizovatelna.

Doufam, ze toto vysvetleni je pro Vas dostatecne srozumitelne,
bohuzel nelze toto cele vyjadrit jednou vetou a pro blizsi pochopeni dalsich souvislosti je studium nezbytne.

J.M.
Zamčeno