Newsgroup: it.comp.os.linux.sys
Titolo: Spostamento notturno di filesystem

Avevo intenzione di far questo. Chiedo scusa in partenza per la
banalità, ma desideravo un OK o magari un suggerimento per ottenere
il medesimo risultato in un modo tutt'affatto diverso, a cui non ho
pensato.
Io ho il contenuto di /usr e di /var su partizioni ad hoc, che
risiedono su dischi differenti da quello su cui sta la radice.
Durante la notte mi farebbe comodo spegnere tutti i dischi tranne
uno, quello appunto su cui sta la radice assieme ad altre partizioni
a cui deve essere garantito accesso.
Al mattino ripristinerei la situazione standard. Ma su quell'unico
disco la notte devo trasferirci /usr e /var.
Alla sera ho pensato di far così:
vado in single user;
svuoto i buffer (sync);
usando rsync sincronizzo /varbackup e /usrbackup, due directory
create all'uopo nella radice, partendo da /var e /usr;
monto con bind /varbackup e /usrbackup su /var e /usr, impilando (e
nascondendo /var e /usr "giornalieri", che restano sotto);
spengo i dischi che devo spegnere (hdparm);
torno al runlevel normale.
Alla mattina:
vado in single user;
monto i device dei "veri" /var e /usr, quelli giornalieri, su due
mountpoint di servizio, /varpippo e /usrpluto, così da potervi
accedere;
sincronizzo /varpippo e /usrpluto con rsync, rispetto a /var e /usr
(notturni), dopo aver svuotato i buffer;
sincronizzatili, smonto /varpippo e /usrpluto;
smonto /var e /usr (notturni), e automagicamente dal fondo della pila
riappaiono i "veri" /var e /usr (giornalieri), che erano stati
coperti, ormai già belli e sincronizzati;
torno al runlevel normale.
La riaccensione dei dischi è ovviamente automatica, la fa il SO
appena serve accedere.
Una cosa mi chiedo: posso evitare di andare in modalità singolo
utente? Lo farei per assicurarmi che le sincronizzazioni siano
effettive. C'è un modo più furbo per assicurarsene? Perché allora
potrei far tutto con un paio di script e cron...
Grazie in anticipo per ogni dritta. :)
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
__________________________________
Combatti l'AIDS col tuo computer: 
http://fightaidsathome.scripps.edu/
Monitora gli asteroidi col tuo computer: 
http://orbit.psi.edu/

 Grazie in anticipo per ogni dritta. :)
Il caldo fa male... :)
Enrico
P.S. se non si fosse capito, quello che vuoi fare e` un suicidio

 Io dico che se il server 
Server? Qui mi si sopravvaluta, e di parecchio!
Comunque grazie ancora. Ho capito le alternative *serie*, e se
volessi mettere in pratica una cosa del genere mi sposterei prima su
XFS (brrr! brutti ricordi) o LVM.
Intanto potrei provare a lasciar tutto com'è, e a spegnere tutti
dischi tranne quello su cui sta /var. Tanto c'è un sacco di ram, è
quasi tutto cacheato, e le letture dalla cache non svegliano i
dischi...


 disco la notte devo trasferirci /usr e /var.
prescindendo dalla razionalità di questa operazione (risparmio energetico?),
potresti provare ad usare chironfs, a tuo rischio e pericolo.

 potresti provare ad usare chironfs, a tuo rischio e pericolo.
Ringrazio anche te, ma ci ho riflettuto un po', e mi sembra di
allontanarmi dalla soluzione.
Mi sono venuti dubbi anche su xfs_freeze, perché sopo aver congelato
il filesystem, e dopo averlo sincronizzato, io dovrei sostituirlo con
un filesystem che sta su un altro device, montandoglielo sopra. A
quel punto non credo che potrei scongelare.
Ci ho ripensato, e credo che non aver specificato dall'inizio che
opero su un desktop vi abbia forse portato fuori strada: per me non è
affatto un sacrifico andare in single user mode. Il problema di
garantire la consistenza di /usr, e soprattutto di /var, lo risolvo
nel miglior modo proprio andando in single user mode, svuotando i
buffer, e rimontando le partizioni da copiare in read only. 
C'è un fatto solo che mi ha lasciato molto interdetto, ma che non
pare compromettere l'operazione: volendomi assicurare che non ci
fossero file aperti sulle partizioni in oggetto, ho fatto un test di
smontaggio, e /var è risultata busy, quindi non smontabile. Mi son
detto: beh, fermerò a mano il servizio ancora attivo che me la
blocca. Ma lsof mi dice che non c'è NESSUN file aperto su /var! Ma
quale altro motivo può esserci perché /var non sia smontabile??? E
non ci sono mica dentro, beninteso. Leggo che c'è un fracco di gente
che smonta /var senza problemi, perché qui non va?
Comunque ho già fatto un po' di prove, non uscendo mai dal single
user mode, e il mio metodaccio parrebbe funzionare... (scusate, sono
una capa tosta).


 Ma lsof mi dice che non c'è NESSUN file aperto su /var!
hai usato +D ? (mi pare sia quella l'opzione per cercare in ogni
file/sottodirectory della directory corrente)
per conferme:  man lsof
Enrico

 hai usato +D ?
In realtà no, ho usato un più rozzo:
lsof | grep '/var/'
che non mi ha restituito nulla.
Poi ho addirittura fatto un:
lsof | more
e ho controllato a vista, tanto sono poche schermate. Nulla da
segnalare. Boh!


 Avevo intenzione di far questo. Chiedo scusa in partenza per la
[cut]
se questo gruppo fosse it.comp.os.freebsd ti direi ZFS, ma dato che
siamo su it.comp.os.linux.sys mi aggiungo alla lista di chi ti reputa
tendente al suicidio.