Tag: ext4

  • Ubuntu: come convertire il file-system ext3 in ext4 [non-root fs]

    Con l’uscita della nuova versione di Ubuntu ho deciso di convertire i file-system che (ahimé) avevo ancora in ext3 a ext4, per guadagnarne in performance ed affidabilità senza però formattare la partizione (e perdere i miei dati).

    [Una piccola nota: non sono un grande fan di ext*, infatti come sapete sono un grande sostenitore di XFS, ma la conversione ext3->XFS non è stata ancora implementata.]

    Vediamo la procedura per convertire da ext3 a ext4 un file-system non-root, ovvero su cui non risiede la root / del vostro filesystem. I dati nella partizione sono al sicuro e non verranno intaccati (in ogni caso consiglio sempre di avere un backup recente a portata di mouse).

    Andiamo con ordine:

    1. Identifichiamo la partizione non-root che vogliamo convertire, (nel mio caso /media/store e quindi /dev/sdb1): michele@cletus:~$ mount | grep ^/dev/
      /dev/sda2 on / type ext3 (rw,relatime,errors=remount-ro)
      /dev/sdb1 on /media/store type ext3 (rw)
    2. Facciamo un unmount della partizione che vogliamo convertire: unmount /media/store
    3. Lanciamo un controllo preventivo del file-system per prepararlo alla conversione: fsck.ext3 -pf /dev/sdb1 (ovviamente da qui in avanti sostituite la partizione che avete identificato al punto 1 a /dev/sdb1)
    4. Se il controllo è terminato senza problemi possiamo passare alla conversione vera e propria: tune2fs -O extents,uninit_bg,dir_index /dev/sdb1
    5. Rilanciamo un controllo del file-system, per controllare che tutto sia andato per il verso giusto: fsck -pf /dev/sdb1
    6. Apriamo il file /etc/fstab, modificando con “ext4” il tipo di file-system per la entry relativa a /media/store
    7. Possiamo rimontare la partizione: sudo mount /media/store

    L’operazione è assolutamente trasparente, nel senso che i dati non sono stati intaccati e la partizione viene ora riconosciuta come ext4:

    michele@cletus:~$ mount | grep ^/dev/
    /dev/sda2 on / type ext3 (rw,relatime,errors=remount-ro)
    /dev/sdb1 on /media/store type ext4 (rw)

    L’operazione è anche molto veloce: per convertire un volume da 500 GB (SATA) sono richiesti circa 40 minuti.

  • Come formattare una partizione con XFS su Ubuntu

    Recentemente ho voluto provare il file-system XFS di SGI su una macchina Linux. Perché proprio XFS?

    Un articolo che può spiegare meglio i principali punti di forza di XFS si intitola “Anatomy of Linux journaling file systems“.

    Citando una parte dell’articolo:

    XFS supports full 64-bit addressing and provides very high performance using B+
    trees both for directories and for file allocation. XFS also uses extent-based
    allocation with variable block size support (from 512 bytes to 64KB). Along with
    extents, XFS uses delayed allocation, in which allocation of disk blocks is delayed
    until the blocks are to be written to disk. This functionality improves the chances that
    sequential disk blocks are allocated, because the total number needed will be
    known.

    Quando poi si illustrano i file-system ancora in sviluppo, in particolare Reiser4 e ext4, sono evidenziate alcune funzionalità che XFS già implementa:

    Reiser4 was designed for better journaling through the use of wandering logs and
    delayed allocation of blocks until the journal is committed (as was done in XFS).

    Like XFS and Reiser4, ext4fs includes delayed
    allocation to allocate blocks on the disk only when needed (which reduces
    fragmentation).

    Bene: per avere una partizione con XFS in Ubuntu dovrete:

    • avere un kernel con il supporto a XFS (il kernel di default ha già il supporto)
    • installare i tool per gestire il filesystem mediante il comando: $ sudo apt-get install xfsprogs

    A questo punto il gioco è fatto: vi basterà partizionare usando il vostro tool preferito (fdisk, gparted, …)