Pagina 1 di 1
Deframmentare un filesystem
Inviato: domenica 11 marzo 2012, 19:20
da nazzapt
Io ho provato a deframmentare una partizione così:
Codice: Seleziona tutto
root@nzz-desktop:/home/nzz# fsck -a -t vfat /dev/sda3
fsck from util-linux 2.19.1
/dev/sda3: clean, 76027/1222992 files, 599122/4882432 blocks
è corretto? Proprio ora mi sto addentrando in questo, per me è una cosa nuova il fatto di controllare i filesystem. Qualcuno può darmi indicazioni utili??? Grazieee

Re: Deframmentare un filesystem
Inviato: domenica 11 marzo 2012, 20:39
da dadexix86
Ciao! Controllo del file system e deframmentazione sono due cose diverse.
Per controllare e deframmentare i file system Windows (NTFS e FAT) ti conviene usare Windows.
Per i file system ext, fsck viene eseguito automaticamente dopo un tot di riavvii, quindi non devi preoccuparti di farlo tu a mano.
Inoltre, se ritieni invece sia il caso di doverlo fare, fallo da un sistema live.
Per quel che riguarda la deframmentazione per i file system ext è praticamente inutile, perché la gestione dei files avviene in maniera completamente diversa da come avviene con altri tipi di file system, e non è necessario farla.
Re: Deframmentare un filesystem
Inviato: domenica 11 marzo 2012, 20:49
da Carlin0
Direi che la deframmentazione di ext più che inutile è impossibile , ovvero non esistono strumenti atti all'uopo ... pare che il metodo più accreditato sia fare copia incolla spostando e rispostando i file
Re: Deframmentare un filesystem
Inviato: domenica 11 marzo 2012, 21:01
da nazzapt
Carlin0 ha scritto:
Direi che la deframmentazione di ext più che inutile è impossibile , ovvero non esistono strumenti atti all'uopo ... pare che il metodo più accreditato sia fare copia incolla spostando e rispostando i file
Che strano... anche se a livello tecnico non so in cosa consiste la deframmentazione. Ci provo:
In pratica l'hardisk è diviso in S settori ognuno con B byte. Ogni volta che si memorizza un file di dimensioni F, con F / B si ottengono il numero di settori che il file occupa in modo completo, e con F % B il settore che rimane incompleto. Quindi mano a mano che si memorizzano file, rimane quasi sempre un settore non del tutto sfruttato per ogni file. Questa è detta
frammentazione interna.
Poi c'è il fatto che per garantire la massima velocità di lettura/scrittura di un file c'è bisogno di memorizzarlo in settori contigui, e quando si cancellano dei file in modo disordinato, rimangono dei buchi, cioè alcuni settori contigui inutilizzati, e di mano in mano nell'hardisk bisognerà memorizzare un file in modo "spezzettato"...
Sisi ci siamo!!!
Re: Deframmentare un filesystem
Inviato: domenica 11 marzo 2012, 21:04
da nazzapt
dadexix86 ha scritto:
Ciao! Controllo del file system e deframmentazione sono due cose diverse.
Ciao! Infatti io mi chiedo in cosa consiste il controllo del filesystem... cioè nel controllare il numero di settori non pienamente utilizzati o/e il numero di settori contigui liberi (buchi)?
dadexix86 ha scritto:
Per quel che riguarda la deframmentazione per i file system ext è praticamente inutile, perché la gestione dei files avviene in maniera completamente diversa da come avviene con altri tipi di file system, e non è necessario farla.
Ho capito! Benissimo!
Re: Deframmentare un filesystem
Inviato: domenica 11 marzo 2012, 21:06
da nazzapt
Quindi la deframmentazione nei filesystem ext avviene in modo automatico?
Re: Deframmentare un filesystem
Inviato: domenica 11 marzo 2012, 21:14
da dadexix86
No, controllo del file system significa verificare che i dati salvati fisicamente sul disco corrispondano con quelli registrati negli indici dei file system.
No, non avviene. Semplicemente non ce n'è bisogno, perché la frammentazione è talmente bassa da risultare inutile.
Provo a spiegarti un po' meglio. Su file system "vecchi", tipo FAT, che sono nati per dischi fisici non moderni, i files venivano "sparsi" per l'hard disk in tanti pezzi, in modo da far saltare la testina avanti e indietro, perché questo riduce di molto la propagazione degli errori.
Su file system come NTFS questo processo si è ridotto, però hanno preferito (è comunque un tipo di file system nato nei primi anni '90!!!) mantenere l'impostazione "sparse".
Nei file system ext 3-4 (credo anche 1 e 2, ma non ne sono certo) invece i dati vengono scritti dando precedenza alla contiguità e i "buchi" si creano solo a causa di cancellazioni / riscrittura di dati.
Un metodo per deframmentare un file system ext è quello di creare un file enorme e salvarlo sull'harddisk fino a riempirlo. In questo modo, per la precedenza data alla contiguità, gli altri dati verranno compattati.
Re: Deframmentare un filesystem
Inviato: domenica 11 marzo 2012, 21:20
da Carlin0
dadexix86 ha scritto:
...
No, non avviene. Semplicemente non ce n'è bisogno, perché la frammentazione è talmente bassa da risultare inutile.
...
Hai mai provato a controllarla ? a me non sembra tanto bassa
AmministrazioneSistema/FrammentazioneFileSystem
Re: Deframmentare un filesystem
Inviato: domenica 11 marzo 2012, 21:29
da dadexix86
La mia situazione attuale è
Codice: Seleziona tutto
75.8771929824561% non contiguous files, 3.66118421052632 average fragments.
a me non sembra così tanto preoccupante, anzi!
Ho il 75% dei files che sono formati in media da 3 frammenti, non mi sembra mica male

Re: Deframmentare un filesystem
Inviato: domenica 11 marzo 2012, 21:49
da Carlin0
dadexix86 ha scritto:
La mia situazione attuale è
Codice: Seleziona tutto
75.8771929824561% non contiguous files, 3.66118421052632 average fragments.
a me non sembra così tanto preoccupante, anzi!
Ho il 75% dei files che sono formati in media da 3 frammenti, non mi sembra mica male
Bhe il 75% dei file frammentati non credo sia una ...
dadexix86 ha scritto:
...
frammentazione è talmente bassa da risultare inutile.
...
ma magari mi sbaglio io ... :-\
Re: Deframmentare un filesystem
Inviato: domenica 11 marzo 2012, 21:54
da dadexix86
Il punto non è solo QUANTI sono frammentati, ma QUANTO sono frammentati ciascuno di essi. E sono frammentati solo, al massimo, in 3 frammenti.
So che può sembrare molto, ma non lo è affatto

Re: Deframmentare un filesystem
Inviato: lunedì 12 marzo 2012, 12:55
da as-far-as-i-know
Se può servire, ecco il mio output. SO Ubuntu 11.04.
Codice: Seleziona tutto
~/Scrivania$ ./fragck.pl
1.44092219020173% non contiguous files, 1.02161383285303 average fragments.
Ciao
Re: Deframmentare un filesystem
Inviato: lunedì 12 marzo 2012, 12:56
da dadexix86
Devi darlo con sudo.
Re: Deframmentare un filesystem
Inviato: lunedì 12 marzo 2012, 13:00
da as-far-as-i-know
dadexix86 ha scritto:
Devi darlo con sudo.
Eccolo:
Codice: Seleziona tutto
~/Scrivania$ sudo ./fragck.pl
[sudo] password for xxxxxx:
1.43884892086331% non contiguous files, 1.02158273381295 average fragments.
Re: Deframmentare un filesystem
Inviato: lunedì 12 marzo 2012, 13:53
da nazzapt
dadexix86 ha scritto:
Un metodo per deframmentare un file system ext è quello di creare un file enorme e salvarlo sull'harddisk fino a riempirlo. In questo modo, per la precedenza data alla contiguità, gli altri dati verranno compattati.
Cioè nel dire che gli altri dati verranno compattati, intendi dire che il filesystem li "compatta" in modo automatico? Perchè magari creando un file di grosse dimensioni, dando precedenza alla contiguità, allora quando si ritrova finiti i settori contigui ne cerca di altri nell'hardisk, quando li trova li compatta e... boh!!! Cioè forse il filesystem prende il file da memorizzare e controlla se ci sono un numero di settori contigui liberi in modo da potervi memorizzare il file... se non ci sono, allora si mette a coprire i buchi lasciati in mezzo al disco spostando tutti i file all'inizio del disco cioè della partizione...
Re: Deframmentare un filesystem
Inviato: lunedì 12 marzo 2012, 13:56
da dadexix86
Esattamente
