přesun /var/log na tmpfs [nějak vyřešeno]

Dobrý den,
nemáte někdo zkušenost a přesunem adresáře /var/log do RAMky?
Něco jsem si vygůglil, ale pořád mi není jasné, jak vyrobím ten adresář log.
A samozřejmě, všechno ostatní pod /var musí zůstat na disku.
Pak ještě musím vyřešit /etc/syslog, ale to možná půjde přenastavit v konfiguraci syslogu.
Na počítači běží několik serverových služeb (OpenVPN httpd, FTP) a všechno je na SSD, tak bych chtěl objemné souborové aktivity přesunout do paměti.
Stačí do fstab přidat tohle?

tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0

Takhle to u mě vypadá na disku:


Souborový systém Velikost Užito Volno Uži% Připojeno do
devtmpfs             2,0G     0  2,0G   0% /dev
tmpfs                2,0G   72K  2,0G   1% /dev/shm
tmpfs                2,0G  976K  2,0G   1% /run
tmpfs                2,0G     0  2,0G   0% /sys/fs/cgroup
/dev/sda3            223G   22G  201G  10% /
tmpfs                2,0G  144K  2,0G   1% /tmp
/dev/sda2            668M  159M  461M  26% /boot
tmpfs                395M  8,0K  395M   1% /run/user/1723



#
# /etc/fstab
# Created by anaconda on Fri Aug 21 17:38:05 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=2a19afe0-925d-47c8-845f-00adaf13219a /                       btrfs   subvol=root     0 0
UUID=861bcff5-a453-49bd-acb6-7d05ee2d5ef6 /boot                   ext4    defaults        1 2

Sám si odpovím. Ano, funguje to.
Jenom jeden problém: apache si nedokáže vytvořit podadresář https pod /var/log.
Musím jej po restartu (což není moc často) vytvořit ručně, nastavit chown a pak restartovat httpd.
Celkem otrava.
A možná ještě nějaké programy, u kterých jsem si nevšiml, že nefungují.

Takže je tak jaksi nepříliš uspokojivě, ale přesto, vyřešeno.
Tak za prvé, tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0 do fstab.
Po rozchození všech tímto postižených služeb si obsah /var/log z tmpfs si před vypnutím uložím někam na disk,
Po bootu, se tento adresář obnoví v tmpfs a restartují se padlé služby.

  1. uložím /var/log:

$ cat /util/logback-save
#!/bin/bash
cp -p -R /var/log/* /var/logback

2.po bootu pomocí rc.local spouštím

$ cat /util/logback-restore
#!/bin/bash
echo cp
cp -p -R /var/logback/* /var/log
echo httpd
systemctl restart httpd
echo mariadb
systemctl restart mariadb
echo vsftpd
systemctl restart vsftpd
echo squid
systemctl restart squid
ps ax | grep -e httpd -e mariadb -e vsftpd -e squid

Ovšem, nepřipadá mi to jako ideální řešení.
Nevíte někdo, jak to udělat lépěji?

Drive nebyl problem upravit si skripty, aby pri startu sluzeb potrebne podadresare vytvareli, pripadne si presun logy rovnou do adresare /var/log zmenou v konfiguracich jednotlivych demonu. To co resis je uplne bezny problem v read-only systemech. V centosu tusim pred casem existoval i nejaky option ktery chovani systemu upravil. Se systemd ovsem nevim proc resis /var/log/, tam by melo stacit v konfiguraci logovani nastavit log jen do RAM a vypnout syslog… mno.

covex napsal(a):

Se systemd ovsem nevim proc resis
/var/log/, tam by melo stacit v konfiguraci
logovani nastavit log jen do RAM a vypnout
syslog… mno.

To právě netuším jak to udělat.

systemctl disable rsyslogd
systemctl stop rsyslogd

edit /etc/systemd/journald.conf
Storage=volatile

systemctl restart systemd-journald # aby se to nepletlo tak sluzba journald neexistuje

Tak jsem to provedl na dvou počítačích.
Oba regovaly stejně:

[root@japaseky rna]# systemctl stop rsyslogd
Failed to stop rsyslogd.service: Unit rsyslogd.service not loaded.

Jinak to Storage=volatile znamená co? Ukládání journálu na /tmp?

Zatím dík za spolupráci

později:
pak ještě na třetím počítači, kde ale není Fedora, ale SuSE, Taky mi vynadal, že Unit rsyslogd.service not loaded.

volatile znamená, že se to ukládá jenom do paměti, ne na disk. Pokud člověk nechce zapisovat logy na disk, u journald nemusí dělat ty tanečky s tmpfs. Více v dokumentaci: http://www.freedesktop.org/software/systemd/man/journald.conf.html

Sorry, prepokladal jsem vic znalosti - unita se jmenuje jen “rsyslog” nikoli “rsyslogd” - psal jsem to od boku.
Pokud ti nebezi rsyslogd, tak co ti zapisuje logy do /var/log? journald zapisuje logy uz jen do /var/log/journal, textove logy uz se tusim nevytvari. Problem muze byt pouze s aplikacemi, ktere jeste journal nepouzivaji, ale mel jsem za to, ze ve Fedore jiz byly vymyceny.

covex napsal(a):

Pokud ti nebezi rsyslogd, tak co ti zapisuje logy
do /var/log? journald zapisuje logy uz jen do
/var/log/journal, textove logy uz se tusim
nevytvari. Problem muze byt pouze s aplikacemi,
ktere jeste journal nepouzivaji, ale mel jsem za
to, ze ve Fedore jiz byly vymyceny.

Jo, tady je to vymýceno:

největší provoz na /var/log způsobuje httpd a openvpn

Ale v podstatě mám vyřešeno.