8 Novembre 2018 di Daniele Frulla
Quando si parla di tecnologia bisogna tenere presente che, qualsiasi strumento utilizziate, si tratta sempre di materiali soggetti ad usura e limitazioni fisiche.
Qualsiasi oggetto tecnologico abbiate sotto le mani può rompersi in qualsiasi momento e può lasciarvi a piedi proprio quando ne avete più bisogno.
Per esempio pensate agli Hard Disk, sono oggetti indispensabili per una infrastruttura, sia che siano SSD o meccanici.
E’ Nella fisica degli dischi rigidi che immagazziniamo dati in continuazione come foto, video, documenti, sistemi operativi, cache di dati ed ancora bit e bit di dati.
Qual’è il miglior modo per garantire una durata più efficace di un disco rigido o come poter monitorare il loro stato in ogni momento?
All’inizio della vita di un hard disk dovrai decidere con quale sistema operativo lo utilizzerai e quindi formattarlo con il filesystem che più si addice alle tue esigenze.
Utilizzeremo qui il sistema operativo open source più diffuso con kernel linux (Debian), con un filesystem ext4.
L’hard disk viene visto dal kernel linux come un device, solitamente con lettere come /dev/sda o /dev/sdb.
Potete leggere come partizionare un disco con fdisk se non sapete come fare o cosa sia una partizione.
Creiamo la nostra partizione e prepariamola per gestire un filesystem Ext4, quello più usato dai sistemi linux.
sudo gdisk /dev/sda
b back up GPT data to a file
c change a partition’s name
d delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition’s type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
Ora possiamo formattare il nostro Hard Disk con Filesystem Ext4, con il semplice comando:
mkfs.ext4 -L <etichetta> /dev/sda1
Si può controllare lo stato del filesystem ext4 in automatico per esempio ogni 30 giorni con il comando seguente
tune2fs -i 30d /dev/sda1
Potremo così sapere se lo stato del filesystem e dei dati è in buono stato ed in tal caso correggerlo.
Per correggere gli errori di una partizione ext4 esegui il comando
e2fsck -p /dev/sda1
Con l’opzione -p indichiamo di correggere in automatico eventuali errori sul filesystem.
Oltre la correzione degli errori, per vecchi dischi che non siano SSD occore ogni tanto eseguire la deframmentazione. Infatti il filesystem col tempo si frammenta ed i blocchi non sono più consecutivi con la conseguente lentezza in lettura e scrittura.
Eseguire quindi il comando:
e4defrag /dev/sda
oppure
e4defrag /
In inglese la si chiama block size ed indica la lunghezza in byte di una singola scrittura o lettura dell’hard disk. In pratica un disco rigido è diviso in tanti settori che anticamente avevano una certa dimensione in byte.
Solitamente i vecchi hard disk (di piccole dimensioni e poco veloci) hanno la dimensione standard di blocchi a 512 byte e recentemente (hard disk di dimensioni maggiori e più veloci), hanno blocchi con standard 4096 byte.
Come esempio supponiamo di avere un disco SSD. Digitiamo il comando
sudo fdisk -l /dev/sda
Disk /dev/sda: 238,5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: EDAB75CB-6EB9-4206-806E-A61CAB4A9FA1
Come si può notare il sector size è logico e fisico. I byte fisici indica la grandezza del blocco a livello hardware, mentre quella logica è il tipo di blocco che la comunicazione hardware utilizza.
Il logical sector size è la più piccola quantità di byte che il disco può leggere o scrivere e solitamente è 512. Esso viene impostato dal kernel.
Ora possiamo formattare la nostra partizione con un comando per distinguere la grandezza di un blocco che sarà di 4096 Byte.
mkfs.ext4 -b 4096 /dev/sda1
Per sapere la block size di una partizione del filesystem si può lanciare il comando
blockdev –getbsz /dev/sdb1
Se il block size è impostato ad un valore più grande del normale, il disco farà meno letture e scritture per accedere alla stessa quantità di dati.
Un block size grande è preferibile per gestire files e dati di grandi dimensioni, mentre uno più piccolo per una partizione con tanti file di piccole dimensioni.
Lascia un commento