Fórum Root.cz
Hlavní témata => Server => Téma založeno: freex 22. 10. 2012, 23:35:18
-
Ahoj, mám domácí server s Ubuntu 12.04. Je nainstalován na SSD disku a ještě jsou k němu připojeny dva normální. Oba jsou sdílené přes sambu, jeden je také přes fstab nalinkován do adresáře v home uživatele pro FTP přístup. Oba disky se při nečinnosti uspávají. Všiml jsem si jedné podivné věci - když se přihlásím na server přes SSH jako jiný uživatel (který v home nic nemá), chvilku se nic neděje, potom se roztočí disk a až poté mě Putty přihlásí do bashe.
Připadá mi hloupé při každém přihlašování roztáčet disk, který k ničemu nepotřebuji. Můžete mi prosím poradit, jak zjistit, který process to dělá a zatrhnout mu to?
-
Zkuste, jestli by se to nedalo odpozorovat v iotop.
-
V iotop se kromě známých procesů objevují ještě:
- sshd: <username> [priv]
- [jbd2/dm-0-8]
Ale přiznám se, že mě to nikam neposunulo. Z iotop ani nezjistím, odkud a jaká data se vlastně čtou.
-
No tak co se děje.
A) se spouští skripty pro všechny uživatele z etc a pak pro konkrétního uživatel z jeho složky/defaultní
B) se může spustit skript definovaný sshčkem něco jako sshrc
C) se zapisuje do logů
Jestli si nebyl moc chytrý a náhodou třeba nepřesunul logy z SSDčka na obyč disk ;D
Pak, když chce SSH zalogovat úspěšné přihlášení, musí k vůli tomu roztočit disky.
To by totiž celkem slušně odpovídalo popisovanému chování.
Pak tu jsou další vychytávky jako Pam_mount a podobně.
-
Jo a dej vědět, co to bylo, ne jako většina šulinů, kteří napíšou "díky vyřešeno" a nebo se na to úplně vykašlou, místo toho, aby popsali chybu "hm, byl to log, jestli to čteš a máš stejnej problém, tak si zkontroluj logy!".
Protože blbec může bejt slušnej, že poděkuje za pomoc, ale nikdy neřekne, čím se to nakonec vyřešilo, takže nutí ostatní hádat.
-
Pokud by to nebylo třeba těma logama, zkusil bych ještě userovi přesunout /home složku na SSD (aby při přihlášení "nevstupoval" na klasické HDD). Pokud už to tak je a já to jen nepochopil, tak se omlouvám :-)
-
když se přihlásím na server přes SSH jako jiný uživatel (který v home nic nemá), chvilku se nic neděje, potom se roztočí disk a až poté mě Putty přihlásí do bashe.
Necte si nahodou bash pri spusteni ~/.bashrc a ~/.profile ? Tim by se to vysvetlovalo.
-
skusil by som pozriet ake subory otvara sshd .
takze na jednom terminali by som spustil
strace -f -e open -p <pid sshd>
a skusil sa prihlasit na server, ze ake vsetky subory si otvara samotne sshd, a shell.
-
tipujem logy (/var/log/syslog - /var/log/messages - /var/log/secure atd)
kedze system je na SSD je logicke mat /var a /tmp na klasickom HDD kvoli zivotnosti SSD...
-
Děkuju za řadu nápadů, pro začátek doplním některé potřehy.
- Celá adresářová struktura včetně / a /home je na SSD disku, točící disky jsou připojeny pouze do složek v /mnt. Jedinou výjimku tvoří složka v /mnt/sdb1/neco, která je přes fstab nalinkována do /home/virtualftp/nekdo/neco, protože vsftpd neumí linky a já ji chci mít sdílenou. Jako uživatel virtualftp se ale nepřihlašuji, dokonce má přístup přes ssh zakázaný.
- V souborech ~/.bashrc a ~/.profile jsem nenašel žádný odkaz do /mnt, oba soubory se nachází na SSD disku.
- Logy i temp se zapisují výhradně na SSD disk. Vím o tom, že má omezený počet zápisů, ale právě z důvodu vypínání ostatních disků jsem se rozhodl to nechat na něm.
- Vyzkoušel jsem strace, ale ve výpisu se neobjevil žádný odkaz na /mnt, /home/virtualftp/nekdo/neco ani /dev/sdb. Abych měl jistotu, nechal jsem strace ještě běžet a zkusím počat, až se disk opravdu vypne a poté se přihlásím.
Ještě mě napadlo, že mám v souboru rc.local nastaveno vypínání disků pomocí hdparm. Jako další krok ověřím, jestli se tento skript nevolá kromě spuštění serveru také při přihlášení uživatele.
-
Když unmountneš svazky na těch discích, bude to stále ty disky probouzet? Jestli si třeba jen něco neoťukává HW.
-
Nene, při unmountu se disk neroztočí.
-
Co je zajímavé, když jsem po experimentech s unmountem zase všechno připojil přes mount -a, najednou se disk při přihlášení neroztáčí. Uvidíme, jestli to vydrží ;)
-
Napada me, nemas nejakeho daemonka na hlidani volneho mista? I na $df je nutne roztocit disky.
Dale je mozne, ze to dela samba, pres kterou jsou ty disky exportovany.
-
Jak uz tu jednou padlo, nejspis za to muze syslog. Ten klasickej syslog, kdyz mu cesta k souboru zacina na pomlcku(dash '-'), tak ten vola fsync pri kazdym zapisu do tohodle souboru. Zrovna treba u /var/log/security to ma smysl (minimalne na serveru).
Pokud si dobre pamatu, tak linux kernel ma nejaky rozhrani v /proc (nebo kde) ktery ti umi rict proc se roztaci ktery disk.
Ten uz si nepamatuju tak se ten mechanismus jmenuje. (Kdybys pouzival LVM od Veritasu tak bych vedel hned).
-
Kdyz jsem podobny problem resil na sve NAS, pomohl mi block_dump. Viz:
http://www.snowfrog.net/2009/10/29/monitoring-disk-activity-using-block_dump/