Home > Debian, Linux, Server, Ubuntu > Dispositivi a blocchi e nomi persistenti

Dispositivi a blocchi e nomi persistenti

[Aggiornamento 2012]

Nella logica unix, semplficando ,che tutto viene rappresentato da files, le perifiche di memorizzazione sono rappresentata da un tipo speciale di file,  device file, allocato in genere nella directory  /dev  e il driver che fa da interfaccia tra perferica e kernel è chiamato device driver.  Le unità di memorizzazione in quanto soggette a operazioni di input/output per blocchi di byte predeterminati sono rappresentano dei dispositivi a blocchi da block device.

Le unità di memorizzazione sono in genere suddivise in unità logiche chiamate partizioni. Le partizioni sono gestite in modo indipendente e consentono di ospitare  file system e sistemi operativi diversi  e autonomi.

Esistono diverse modalità per indicare i dispositivi a blocchi la nomeclatura che si è soliti osservare è rappresentata da strinche del tipo /dev/sda5. Dove sd è in riferimento al bus di connessione dell’unita di memorizzazione, la  a indica in genere la prima periferica e 5 il numero della partizione. Questo tipo di rappresentazione tuttavia rappresenta dei limiti. Ad esempio in caso di cancellazione di una partizione il numero delle partizioni scala. se ho 8 partizioni ed elimino la 5 la 7 diventa la 6 e così via. Inoltre se ho due periferiche /dev/sda e dev/sdb può accadere che risultino invertite.  L’utilizzo di nomi univoci consente di affrontare efficacemente queste situazioni. Con l’introduzione di udev si sono rese disponibilie quattro modalità per assegnare nomi univoci by-uuid, by-label, by-id e by-path.

Le nomenclature by-uuid  ( universally unique identifier) e by_label risultano le più efficaci per identificare in nome univoco le periferiche block device. Per riscontrare le nomenclature by-uuid e label  uno dei comandi più comodi è senz’altor blkid altre modalità sono indicate nel post Elencare i dispositivi di memorizzazione collegati a un pc in Linux

by-uuid

by-uuid è una nomeclatura che sfrutta un meccanismo per assegnare ad ogni oggetto un identificatore unico essendo tuttavia l a stringa formata da un numero di caratteri finito non l’univocità non può essere garantita. I filesystems, “meccanismo” per memorizzare e recuperare le informazioni su un block device,  GNU/Linux supportano gli UUID, Fat e NTFS no; anche se vengono elencati in /dev/disk/by-uuid.

by-label

Praticamente tutti i filesystems supportano le etichette. Cioè la possibilità di assegnare all’oggetto un nome fino a 16 caratteri.  In questo modo se si agisce con attenzione è possibile identicare in modo univoco le partizioni.   Le partizioni con etichetta sono elencate in /dev/disk/by-label.

Ogni file system ha un proprio comando per l’assegnazione delle etichette è possibile tuttavia far ricorso ai programmi più generati a interfaccia grafica come  gparted.

Vantaggi e svantaggi by-label consente di utilizzare nomi riconoscibili e più facili da ricordare ma è inevitabilmente soggetto all’errore umano. by-uuid più efficace nel rappresentazione univica ma molto meno immediato da ricordare  e riconosere.

by-path e by-id

by-id è usata in suse e tiene conto del numero seriale dell’harware. by-path si basa sul più corto percorso fisico secondo sysfs. I nomi generati contengono sottoscringhe indicanti il tipo  ( es, “by-id…”, “by-path…” )

by-id è particolmente usato e  gradito da suse esempio ver. 12.3

fstab

Nelle distro recenti (con udev) troveremo le partizioni in fstab,  Il file che elenca le partizioni disponibili nei sistemi unix like,  indicate con la nomenclatura UUID ( Elencare i dispositivi di memorizzazione collegati a un pc in Linux ).

UUID=0375e90e-bb69-4144-a1af-1abbb3753208 / ext4 errors=remount-ro 0 1

Invece del più tradizionale

/dev/sda1  / ext4 errors=remount-ro 0 1

Qualora sia necessario aggiungere manualmente ulteriori filesystems in fstab è opportuno utilizzare l’UUID o se si desidera una modalità più amichevole il by-label.

LABEL=S350E-ubuntu12     / ext4 errors=remount-ro 0 1

GRUB 2

La nomenclatura persistente può essere efficacemente utilizzata anche nei boot manager e in particolare in grub2

grub2 utilizza in genere UUID e Le espressioni utilizzate sono del tipo:

  root=UUID=94cdb0b3-80c1-4e85-b68a-cff33faa546d

in caso si faccia ricorso a label si potrà utilizzare

  root=LABEL=S350E-Ubuntu12

Risorse:

Persistent block device naming (Italiano) – ArchWiki

  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: