Roztočení disku při připojení na SSH

freex

Roztočení disku při připojení na SSH
« kdy: 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?


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Roztočení disku při připojení na SSH
« Odpověď #1 kdy: 22. 10. 2012, 23:54:42 »
Zkuste, jestli by se to nedalo odpozorovat v iotop.

freex

Re:Roztočení disku při připojení na SSH
« Odpověď #2 kdy: 23. 10. 2012, 01:12:06 »
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.

KapitánRUM

Re:Roztočení disku při připojení na SSH
« Odpověď #3 kdy: 23. 10. 2012, 01:27:56 »
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ě.

KapitánRUM

Re:Roztočení disku při připojení na SSH
« Odpověď #4 kdy: 23. 10. 2012, 01:30:43 »
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.



Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Roztočení disku při připojení na SSH
« Odpověď #5 kdy: 23. 10. 2012, 08:59:53 »
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 :-)

Re:Roztočení disku při připojení na SSH
« Odpověď #6 kdy: 23. 10. 2012, 10:52:51 »
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.
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."

Re:Roztočení disku při připojení na SSH
« Odpověď #7 kdy: 23. 10. 2012, 10:59:07 »
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.

aaa158

  • ***
  • 238
    • Zobrazit profil
    • E-mail
Re:Roztočení disku při připojení na SSH
« Odpověď #8 kdy: 23. 10. 2012, 16:55:32 »
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...

freex

Re:Roztočení disku při připojení na SSH
« Odpověď #9 kdy: 23. 10. 2012, 22:55:10 »
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.

Jakub Galgonek

Re:Roztočení disku při připojení na SSH
« Odpověď #10 kdy: 23. 10. 2012, 23:43:20 »
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.

freex

Re:Roztočení disku při připojení na SSH
« Odpověď #11 kdy: 24. 10. 2012, 00:08:30 »
Nene, při unmountu se disk neroztočí.

freex

Re:Roztočení disku při připojení na SSH
« Odpověď #12 kdy: 24. 10. 2012, 00:21:17 »
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ží ;)

petos

Re:Roztočení disku při připojení na SSH
« Odpověď #13 kdy: 24. 10. 2012, 10:34:17 »
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.

Ivan

Re:Roztočení disku při připojení na SSH
« Odpověď #14 kdy: 24. 10. 2012, 10:47:00 »
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).