Portál AbcLinuxu, 12. května 2025 11:28

Dotaz: fstab + tmpfs

3.4.2009 23:22 honziiik
fstab + tmpfs
Přečteno: 872×
Odpovědět | Admin

Zdravím a prosím o pomoc ... precuji s linuxem (Debianem) krátce. Nyní řeším problém, jak přesunout složku /var/log do paměti RAM ... místo pevného disku totiž používám CF kartu a tak chci minimalizovat počet zápisů. Obsah fstab:

tmpfs            /var/log               tmpfs         dafaults          0    0

Toto sice namountuje obsah do paměti, ale když se potom např. apachem odvolávám na log soubor, tak hlásí, že ho nelze nalást ve /var/log a tak ho nelze spustit. I při zavádění systému píše nějaké hlášky typu "chown: failed to get attributes of /var/log .... ". Bude to nějaká hloupost, ale bohužel se mi to nedaří zprovoznit ani za pročítání tisíců diskusních fór. Přdem děkuji za rady ;-)

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.4.2009 02:36 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
Rozbalit Rozbalit vše Re: fstab + tmpfs
Odpovědět | | Sbalit | Link | Blokovat | Admin
Můžete být trochu specifičtější (třeba copy/paste), co přesně ten Apache říká? Od oka bych tipoval, jestli náhodou ty logy nechcete ukládat do nějakého podadresáře ve /var/log, který neexistuje, protože jste tam čerstvě přimontoval tmpfs. Pokud by tomu tak bylo, pak byste potřeboval: a) rozmluvit Apachi, že tam chce mít ty logy a umístit je přímo do /var/log; nebo b) zalidnit /var/log po přimontování.

Snahu o minimalizování zápisů na CF kartu chápu, ale logy jsou logy. ;)
http://prirucka.ujc.cas.cz/?ref=785&id=790.
4.4.2009 10:57 honziiik
Rozbalit Rozbalit vše Re: fstab + tmpfs

Takže, při zavádění systému vyběhne tato hláška:

"chown: failed to get attributes of '/var/log/dmesg': No such file or directory"

A apache při zavádění píše něco v podobném smyslu, přesně je to:

"(2)No such file or directory: apche2: could not open error lofg file /var/log/apache2/error.log . Unable to open log. failed."

Při tom když se podívám do /var/log tak tam po přimountování do paměti značně ubylo souborů (?což je asi dobře?). Ovšem i přes to se tu nachází např syslog nebo messages ... Nicméně složka apache2 je skutečně jedna z těch která tu teď schází.

4.4.2009 19:56 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
Rozbalit Rozbalit vše Re: fstab + tmpfs
To by nasvědčovalo tomu, co jsem psal. V okamžiku připojení tmpfs na /var/log tam máte prázdný souborový systém (s každým startem znovu). Jednodušší variantou by mělo být (předpokládám, že Apache si soubor vytvoří, když bude mít k dispozici adresář, ve kterém tak může učinit) změnit umístění logů Apache tak, aby byly přímo ve /var/log a ne v dalším podadresáři (nebo logování rovnou vypněte, pokud ho vůbec nechcete).
4.4.2009 23:22 honziiik
Rozbalit Rozbalit vše Re: fstab + tmpfs

Vypnout logování by také šlo, ale v mém případě, kdybych chtěl vypnout logy u všech běžících aplikací, tak by to dalo víc práce a hledání než-li přesunout všechny logy do paměti. Jinak vypnout logy u apache jsem také zkoušel, ale bez úspěchu :-) . Nevíte, kde co se má zakomentovat, popř, přepsat ... stejně tak i systémový log či comment?

4.4.2009 23:31 JF | skóre: 23
Rozbalit Rozbalit vše Re: fstab + tmpfs

Ja jsem to kdysi resil takto. Natvrdo jsem do rc.S napsal chmod pro adresar logu od www.

# redirect /var/run to tmpfs mounted to /tmp
/usr/bin/mkdir -p /tmp/run
/usr/bin/mkdir -p /tmp/www
/usr/bin/chmod 777 /tmp/www

5.4.2009 00:51 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
Rozbalit Rozbalit vše Re: fstab + tmpfs
Položek nastavení logů je víc a končí na Log (např. ErrorLog), zkuste je zakomentovat a re/nastartovat Apache. Variantně můžete přesměrovat logy do /var/log/.

Pokud Vám jde i o další služby, pak je tady ta varianta zalidnit /var/log/ příslušnými adresáři, jak už se tu také objevilo.
5.4.2009 12:16 honziiik
Rozbalit Rozbalit vše Re: fstab + tmpfs

V apache2.conf jsem vše co se týče LOG zakomentoval a nic stejně tak i v sites-available/default ... Tím zalidněním se rozumí vytvoření adresářové struktury? Tato struktura se potom zapíše do RAM nebo na CF? Pokud na CF, tak potom postrádám původní záměr = omezi  zápisy na CF ... Omouvám se za dotazy, jak jsem podotkl na začátku s touto problematikou se setkávám poprvé. Děkuji

David Watzke avatar 5.4.2009 13:19 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: fstab + tmpfs
Tím zalidněním se rozumí vytvoření adresářové struktury? Tato struktura se potom zapíše do RAM nebo na CF?
Ano. Ne.

Samozřejmě se to zapíše do RAM, když to vytvoříš na tmpfs... jinak by to bylo celkem na nic :-)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 5.4.2009 13:21 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: fstab + tmpfs
Tak jsem právě na buď-nebo otázku odpověděl "ne" :-D Má tam být "Do RAM".
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
5.4.2009 13:31 honziiik
Rozbalit Rozbalit vše Re: fstab + tmpfs

Takže pro upřesnění :-) ...  když do fstab zadám: tmpfs            /var/log               tmpfs         dafaults          0    0 a pak tu adresářovou strukturu vytvořím v tom var/log, tak se mi to zapíše né na CF ale na RAM ... já jsem trošičku v těhle věcech pomalejší :-) ... Pokud tomu tak je, jak tam lze strukturu dostat (prosím polopaticky :-))?

5.4.2009 14:03 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
Rozbalit Rozbalit vše Re: fstab + tmpfs
Jde o to, že si upravíte startovací skripty (podle distribuce buď BSD styl skripty nebo SysV init - když uvedte co tam máte a bude potřeba, tak můžeme zkusit ještě polopatičtější popis), tak aby po té, co se vám automaticky přimontují svazky uvedené v /etc/fstab, a před tím, než se Vám začnou spouštět služby, co tam chtějí logovat, si tam vytvoříte příslušné adresáře. Tedy už v RAM vždy znova při každém startu. Sprostý mkdir třeba /var/log/apache2, /var/log/samba atp. podle toho, co Vám tam běží a kam to chce logovat.
5.4.2009 14:05 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
Rozbalit Rozbalit vše Re: fstab + tmpfs
K zakazování logu: a je to ten správný konfigurák, který to používá? Ta otázka zní možná blbě, ale už se mi taky stalo, že jsem editoval něco jiného, než co systém považoval za bernou minci.
5.4.2009 15:35 honziiik
Rozbalit Rozbalit vše Re: fstab + tmpfs

A nevíte kam přesně (do kterého rc) mám vložit to vytváření adresářů ... k tomu apachi, měl by to být soubor apache2.conf, vše funguje od chvíle, dokud nezakomnetuji řádek ErrorLog /var/log/apache2/error.log ...

5.4.2009 20:05 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
Rozbalit Rozbalit vše Re: fstab + tmpfs
Protože už jsem nějaký pátek Apache nespravoval a po ruce mi žádná instalace neběží, poznámky ke konfiguraci jsou čistě teoretické a podle náznaků z odkazů strýčka Googla by to mělo jít.

"Zalidnění" tmpfs adresářovou strukturou by mělo fungovat bezpečně za všech okolností. Na konkrétní radu kam s tím se budete muset přiznat, co tam používáte za distribuci.

Přesněji, vyrobil bych si vlastní rc skript tam, co bydlí ostatní (často /etc/init.d/ nebo /etc/rc.d/). No a potom zajistit, aby se daný skript spustil co nejdříve po přimontování všeho z /etc/fstab včetně Vašeho tmpfs souborového systému... zase podle distribuce obvykle přidáním symlinků se správným číslem do adresářů příslušných (N) runlevelů (často /etc/rcN.d) pro SysV styl initu nebo přihodit příslušné volání skriptu do rc.S pro BSD styl.
6.4.2009 15:10 Petr | skóre: 10 | blog: mlz
Rozbalit Rozbalit vše Re: fstab + tmpfs
"Zalidmění" je třeba PO přimontování tmpfs a PŘED startem démona, který loguje Asi bych co nejdříve namontoval tmpfs (hned po rootfs) a ve spouštěcím skriptu pro syslog[-ng] bych povytvářel ty adresáře.

Na straně druhé bych se já bránil veškeré absenci logů
7.4.2009 09:54 honziiik
Rozbalit Rozbalit vše Re: fstab + tmpfs

Děkuji za rady, vše se nakonec podařilo ... Jediné co nevím:

1) do paměti jsem přesunul i var/run, ovšem při startu MYSQL to hodí chybu, že tento adresář nelze nalést i když jsem ho tam při startu systému vytovřil (když do něho nakopíruji i soubory co si tam mysql běžně vytvoří, tak při novém startu mysql - bez restartu systémuse tyto soubory smažou - z toho vyplívá, že mysql adresář vidí, nevím teda, kde je zrada) vše ostatní funguje

2) ještě se chci zeptat, zda má někdo potuchu co vše se na disk při běhu debiana zapisuje, vše bych nejraději vyházel do RAM jelikož skutečně nepotřebuji zahovávat logy či jiné informace - když dojde k restartu systému nevadí - když vše pojede od znovu, tím lépe? (běží tam apache, mysq (do které jednou za měsíc zapíšu), proftpd, fcron - popř cron a potom na zpracování php5-cgi)

Díky, Honza.

21.4.2009 15:17 honziiik
Rozbalit Rozbalit vše Re: fstab + tmpfs
Odpovědět | | Sbalit | Link | Blokovat | Admin

Ještě bych měl otázečku, jistě budete znát odpověď: chtěl bych CF kartu naladit do režimu read-only, ovšem při zavádění systému, dojde k výpisu mnoha chyb, že si něco systém potřebuje někam zapsat ... máte někdo podonou zkušenost? Zkoušel jsem i CZFree a CZela Debian, ale ani jeden mi nevyhovuje. Díky za odpověď.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.