/var /tmp su filesystem tmpfs
Moderatore: Staff
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- 414N
- Iper Master
- Messaggi: 2922
- Iscritto il: mer 13 feb 2008, 16:19
- Slackware: 15.0
- Kernel: 5.15.19
- Desktop: KDE5
- Località: Bulagna
- Contatta:
Re: /var /tmp su filesystem tmpfs
Creare un RAID1 tra una partizione su disco e una su tmpfs, usando opzioni che rimandano la scrittura per mantenere consistente l'array.
L'unica pecca è che al riavvio perderai un po' di tempo per ricopiare il contenuto della partizione in RAM...
- targzeta
- Iper Master
- Messaggi: 6629
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: /var /tmp su filesystem tmpfs
Ehi, non vale riciclare le risposte .414N ha scritto:Posso suggerirti una soluzione che ho trovato in questo thread?
Bart, spiegami una cosa. Nel momento in cui monti una directory in tmpfs questa risulta essere vuota giusto? Quindi, come fai a riempirla di tutto quello che c'è "sotto" di lei, la directory originale per capirci. Quando spegni il PC che fai? Ti salvi l'immagine sul disco? Altrimenti ogni volta che spegni il PC è come se resettassi tutto, o no? Insomma, non ho ancora ben capito come fai
Emanuele
Re: /var /tmp su filesystem tmpfs
Si giusto, faccio un rsync quando spengo il pc e quando si riavvia. Quando spengospina ha scritto:Ehi, non vale riciclare le risposte .414N ha scritto:Posso suggerirti una soluzione che ho trovato in questo thread?
Bart, spiegami una cosa. Nel momento in cui monti una directory in tmpfs questa risulta essere vuota giusto? Quindi, come fai a riempirla di tutto quello che c'è "sotto" di lei, la directory originale per capirci. Quando spegni il PC che fai? Ti salvi l'immagine sul disco? Altrimenti ogni volta che spegni il PC è come se resettassi tutto, o no? Insomma, non ho ancora ben capito come fai
Emanuele
Codice: Seleziona tutto
echo “Saving /var/log to /varlog_bck...â€
rsync -a --delete /var/log/ /varlog_bck
Codice: Seleziona tutto
echo “Copying /var/log to RAM...â€
rsync -a /varlog_bck/ /var/log
- targzeta
- Iper Master
- Messaggi: 6629
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: /var /tmp su filesystem tmpfs
Detto questo, effettivamente è strano che i file non si aggiornino, non ci dovrebbe essere nessuna differenza per il sistema. Per lui quelle directory sono directory uguali a tutte le altre. Ma il syslogd è attivo? Altri file in quella directory, come i log di apache o i log di login vengono aggiornati? Ad esempio se svuoti il file degli utenti connessi con:
Codice: Seleziona tutto
cat /dev/null > /var/log/wtmp
Codice: Seleziona tutto
who /var/log/wtmp
Emanuele
Re: /var /tmp su filesystem tmpfs
E' un server che non viene mai spento ed ha una CF come disco. Voglio ridurre il più possibile le scritture su disco. Tutti i giorni, una volta al giorno, si avvia uno script che sincronizza /var/log su disco. Così facendo riduco le scritture ad una al giorno piuttosto che avere continue scritture dovute ai log e se va via la corrente perdo solo qualche ora di log (si lo so che sono comunque troppe ma devo trovare un giusto equilibrio tra durata del disco e gestione dei log) e non intere settimane o mesi.spina ha scritto:Scusa la domanda, ma se fai così a che ti serve avere /var/log in RAM? Quando spegni il PC devi comunque risalvarti i dati sull'HD e quando lo riaccendi li ricarchi, non ne vedo l'utilità. Senza considerare che in questo modo se salta la corrente perdi tutto quello che avresti salvato.
Syslog è attivo e infatti anche io non capisco cosa provochi il problema. Appena riesco faccio un po' di prove. Grazie mille intanto.Detto questo, effettivamente è strano che i file non si aggiornino, non ci dovrebbe essere nessuna differenza per il sistema. Per lui quelle directory sono directory uguali a tutte le altre. Ma il syslogd è attivo? Altri file in quella directory, come i log di apache o i log di login vengono aggiornati? Ad esempio se svuoti il file degli utenti connessi con:e poi fai un login (o lanci un terminale sotto X) il comando:Codice: Seleziona tutto
cat /dev/null > /var/log/wtmp
è coerente?Codice: Seleziona tutto
who /var/log/wtmp
Emanuele
- targzeta
- Iper Master
- Messaggi: 6629
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: /var /tmp su filesystem tmpfs
Emanuele
Re: /var /tmp su filesystem tmpfs
Si, CF sta per Compact Flash. Sono delle memorie normalmente usate nelle macchine fotografiche. Nel mio caso fa da disco principale. Purtroppo ha un numero di scritture limitato e quindi cerco di ridurre il più possibile le scritture su disco. Domani provo a fare come mi hai suggerito e vediamo cosa ne esce.spina ha scritto:Ok, ho capito la tua idea. Se è tutto in RAM comunque la prova che ti ho suggerito non fa scritture sulla chiavetta (suppongo che per CF si intenda "chiavetta flash"?). Se il sistema di login funziona, e secondo me dovrebbe funzionare, possiamo analizzare qualcos'altro. Ad esempio ho cercato di vedere se magari il syslogd viene avviato prima del mount creando eventuali problemi, ma leggendo gli rc.S e rc.M mi sembra di capire che tutti i file system (tranni alcuni ma non il tmpfs) sono montati da rc.S e quindi prima dell'avvio del syslogd, fatto in rc.M.
Emanuele
Ciao
- targzeta
- Iper Master
- Messaggi: 6629
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: /var /tmp su filesystem tmpfs
Codice: Seleziona tutto
sysklogd -d
D'altronde se guardi cosa fa il file rc.d/rc.syslog vedrai che non fa nient'altro che far partire questi due demoni.
Secondo me comunque è uno di quei classici casi che quando capisci dov'è l'errore ti dai un colpo in testa è ti dici:"che scemo che sono a non averci pensato!".
Emanuele
Re: /var /tmp su filesystem tmpfs
Il problema Spina era proprio questo. Grazie mille per la dritta. Facevo la copia dei log in rc.local e quindi DOPO l'avvio del demone sysklogd. Ho risolto mettendo la copia in rc.S. Mettendo la copia in rc.S non so perché però l'uso di rsync non funziona. Ottengo un freeze al boot quando arrivo al caricamento del demone sysklogd:spina ha scritto:Ok, ho capito la tua idea. Se è tutto in RAM comunque la prova che ti ho suggerito non fa scritture sulla chiavetta (suppongo che per CF si intenda "chiavetta flash"?). Se il sistema di login funziona, e secondo me dovrebbe funzionare, possiamo analizzare qualcos'altro. Ad esempio ho cercato di vedere se magari il syslogd viene avviato prima del mount creando eventuali problemi, ma leggendo gli rc.S e rc.M mi sembra di capire che tutti i file system (tranni alcuni ma non il tmpfs) sono montati da rc.S e quindi prima dell'avvio del syslogd, fatto in rc.M.
Emanuele
...Starting sysklogd daemon /usr/sbin/syklogd
e da qui non ne esci più. Se al posto di rsync fai un semplice cp fra le directory funziona correttamente. Per il momento sto usando il comando cp ma se qualcuno ha qualche idea migliore si faccia pure avanti.
Ho fatto delle modifiche anche a /etc/fstab e monto il filesystem / in sola lettura in rc.local in modo tale che dopo il boot il filesystem sia read-only. Lo metto read-write solo in fase di aggiornamento del sistema. Questo per salvaguardare la CF.
/etc/fstab
Codice: Seleziona tutto
/dev/sda1 / ext2 defaults 1 1
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
tmpfs /tmp tmpfs rw,nosuid,nodev,size=8M,mode=0777 0 0
tmpfs /var tmpfs rw,suid,noatime,size=60M,mode=0755 0 0
tmpfs /home tmpfs rw,suid,noatime,size=100M,mode=0755 0 0
Un problema che mi è rimasto è che la macchina non si spegne. Se faccio halt mi va in shutdown ma non si spegne mai. Ho provato ad aggiungere in lilo.conf la scritta
Codice: Seleziona tutto
append="noacpi"
Ho anche decommentato in /etc/rc.d/rc.modules /sbin/modprobe/apm
e ho poi lanciato
Codice: Seleziona tutto
modprobe apm
Intanto grazie a tutti per l'aiuto.
- targzeta
- Iper Master
- Messaggi: 6629
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: /var /tmp su filesystem tmpfs
Codice: Seleziona tutto
/etc/rc.d/rc.syslog restart
Per lo shutdown, non è che magari dipende dall'aver messo il root filesystem in read-only? Non credo che c'entri molto, però...tra l'altro il modulo apm ormai è abbastanza superato no? Quasi tutto il power management viene gestito da ACPI al giorno d'oggi.
Emanuele
Re: /var /tmp su filesystem tmpfs
Si anche questa potrebbe essere una soluzione. Farò dei test.spina ha scritto:Perché invece non provi a disabilitare l'avvio del syslogd in rc.M e ad avviarlo in rc.local? O magari più semplicemente a riavviarlo in rc.local dopo la copia con:Così usi anche rsync e poi non ti metti a smanettare con l'rc.S che è delicato e viene anche aggiornato.Codice: Seleziona tutto
/etc/rc.d/rc.syslog restart
No, lo shutdown non funziona mai, nè in read-only nè in read-write. Si, apm è decisamente superato. Infatti secondo me è qualcosa legato all'acpi, proprio per questo ho cercato di vedere che succedeva disabilitandolo con quell'append in lilo.conf che, sinceramente, non so nemmeno se abbia cambiato qualcosa. Resta il fatto che non ha funzionato.Per lo shutdown, non è che magari dipende dall'aver messo il root filesystem in read-only? Non credo che c'entri molto, però...tra l'altro il modulo apm ormai è abbastanza superato no? Quasi tutto il power management viene gestito da ACPI al giorno d'oggi.
Emanuele
- zoros
- Linux 4.x
- Messaggi: 1361
- Iscritto il: lun 28 mag 2007, 22:51
- Nome Cognome: Fabio`Zorba`
- Slackware: 14.1
- Kernel: 3.10.30-smp
- Desktop: KDE-3.5(works!)
- Località: Gorizia
- Contatta:
Re: /var /tmp su filesystem tmpfs
secondo me la soluzione ottimale è di rinominare quelle directory sul disco fisico in /var-usb e /home-usb (la /tmp è proprio temporanea e non occorre conservarne il contenuto) e tenersi dei link simbolici ad una /ramdisk da montare in tmpfs all'avvio, tipo:
Codice: Seleziona tutto
# file /var
/var: symbolic link to `/ramdisk/var-usb'
viewtopic.php?f=9&t=28066&start=15#p237871
Re: /var /tmp su filesystem tmpfs
Vediamo se ho capito, mi consigli di montare su un device esterno, tipo penna usb /var /tmp e /home?zoros ha scritto:ho visto che cerchi di montare /var /tmp /home come distinte tmpfs ...
secondo me la soluzione ottimale è di rinominare quelle directory sul disco fisico in /var-usb e /home-usb (la /tmp è proprio temporanea e non occorre conservarne il contenuto) e tenersi dei link simbolici ad una /ramdisk da montare in tmpfs all'avvio, tipo:... in questo modo è semplice sincronizzare, come suggerito qui:Codice: Seleziona tutto
# file /var /var: symbolic link to `/ramdisk/var-usb'
viewtopic.php?f=9&t=28066&start=15#p237871
Se è così ci avevo pensato anche io anche perché la ram di sistema è veramente poca, solo 256 MB. Adesso sono ancora in fase di test, sto valutando varie alternative. Per il momento, così facendo funziona tutto regolarmente.Le tmpfs distinte mi permettono di definire size differenti, tutto qua.
MMM, ci ho pensato su, così perdi però dei log al boot se non erro(sinceramente non so quanto siano importanti) ma modificando rc.S ho la situazione forse più lineare. Sinceramente ancora non ho capito perché rsync fallisce e cp funziona.spina ha scritto:Perché invece non provi a disabilitare l'avvio del syslogd in rc.M e ad avviarlo in rc.local? O magari più semplicemente a riavviarlo in rc.local dopo la copia con:Così usi anche rsync e poi non ti metti a smanettare con l'rc.S che è delicato e viene anche aggiornato.Codice: Seleziona tutto
/etc/rc.d/rc.syslog restart
Emanuele
Prossimo scoglio la ricompilazione del kernel su questo macinino. Credo che se anche ridotto all'osso qualche ora di compilazione su questo processore ci vorrà tutta.
- zoros
- Linux 4.x
- Messaggi: 1361
- Iscritto il: lun 28 mag 2007, 22:51
- Nome Cognome: Fabio`Zorba`
- Slackware: 14.1
- Kernel: 3.10.30-smp
- Desktop: KDE-3.5(works!)
- Località: Gorizia
- Contatta:
Re: /var /tmp su filesystem tmpfs
volevo dire che ci sono diversi percorsi che vengono continuamente aggiornati in runtine (tipo: /var/log) ... allora è meglio che la copia "fisica", da sincronizzare sul disco, si trovi ad un diverso percorso (tipo: /var/log-disk) ... in /var (del disco fisico) avrai quindi dei link simbolici a tutte le risorse che ti sei portato in tmpfs con rsync ... per comprendere: a sistema spento /var/log sarà un link simbolico ad una risorsa inesistente --> /ramdisk/var/log-disk ...Bart ha scritto:...
Vediamo se ho capito, mi consigli di montare su un device esterno, tipo penna usb /var /tmp e /home?
Se è così ci avevo pensato anche io anche perché la ram di sistema è veramente poca, solo 256 MB. Adesso sono ancora in fase di test, sto valutando varie alternative. Per il momento, così facendo funziona tutto regolarmente.Le tmpfs distinte mi permettono di definire size differenti, tutto qua.
...
in questo modo forse si evita confusione nei percorsi per rsync ...
- targzeta
- Iper Master
- Messaggi: 6629
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: /var /tmp su filesystem tmpfs
E' vero che perdi qualche log, ci avevo pensato anche io. Allora forse ti conviene modificare il file rc.M anziché l'rc.S, in quest'ultimo ci sono passaggi "delicati" e può essere che l'errore di rsync sia legato a qualcosa che non hai controllato. Normalmente in rc.M rsync dovrebbe funzionare correttamente. Prova a metterlo subito prima dell'avvio di syslogdBart ha scritto:MMM, ci ho pensato su, così perdi però dei log al boot se non erro(sinceramente non so quanto siano importanti) ma modificando rc.S ho la situazione forse più lineare. Sinceramente ancora non ho capito perché rsync fallisce e cp funziona.spina ha scritto:Perché invece non provi a disabilitare l'avvio del syslogd in rc.M e ad avviarlo in rc.local? O magari più semplicemente a riavviarlo in rc.local dopo la copia con:Così usi anche rsync e poi non ti metti a smanettare con l'rc.S che è delicato e viene anche aggiornato.Codice: Seleziona tutto
/etc/rc.d/rc.syslog restart
Emanuele
Prossimo scoglio la ricompilazione del kernel su questo macinino. Credo che se anche ridotto all'osso qualche ora di compilazione su questo processore ci vorrà tutta.
Codice: Seleziona tutto
# Start the system logger.
if [ -x /etc/rc.d/rc.syslog -a -x /usr/sbin/syslogd -a -d /var/log ]; then
. /etc/rc.d/rc.syslog start
fi