Newsgroup: it.comp.os.linux.sys
Titolo: allineamento partizioni

L'installer mi ha creato a suo tempo questa partizione:
----
Disk /dev/sda: 32.0 GB, 32017047552 bytes
255 heads, 63 sectors/track, 3892 cylinders, total 62533296 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
    Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    62531583    31264768   83  Linux
----
Difatti, l'installer di ubuntu diceva di allineare correttamente le 
partizioni :-)
Oggi volevo fare lo stesso su un hd esterno appena preso (non è advanced 
format, ma volevo fare un test nel caso lo fosse stato)
gnome disk utility inizia al buon vecchio 63, ma forse se riconosce il 
disco come advanced format avrebbe agito di conseguenza.
fdisk -c propone di default di iniziare a 2048, e questo va bene di sicuro.
Ma mi accorgo che la geometria che mi crea ha 81 heads e non 255 come 
nella partizione "esempio".
Lo stesso anche usando esplicitamente fdisk -uc -H 255 -S 63
Lo so che al giorno d'oggi la geometria è solo astrazione ecc ecc...
Però rimango curioso di capire il motivo per cui non sono riuscito a 
riprodurre 255 - 63 ma ho ottenuto comunque 81 - 63
Grazie :-)

sicuro.
Puoi dirmi perche'? (non l'avevo mai sentito)
-- 
Saluti, Dalet


https://wiki.archlinux.org/index.php/Advanced_Format
http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/
https://wiki.archlinux.org/index.php/SSD
Con hd advanced format o ssd , allineare le partizioni a determinati 
"multipli" evita perdite di prestazioni.
Allineare le partizioni al megabyte (2048x512 bytes) è "abbondante", ma 
dovrebbe essere una buona soluzione "generica".
(questa è la versione "my 2 cents", i link sopra sono molto più 
dettagliati e precisi...)


Perché i nuovi dischi utilizzano al loro interno settori di 4k, e non di
512 bytes come in passato, ma al sistema operativo il disco viene
comunque mostrato con settori di 512 bytes tramite artifici del firmware.
Poiché anche i filesystem leggono a blocchi di 4k, un allineamento delle
partizioni ad un numero di bytes non multiplo di 4k comporta che le
letture di un blocco di filesystem implica la lettura di due settori da
4k su disco e questo fa calare drasticamente le performance.
DISCO (i blocchetti sono settori da 512 bytes)
+---------------+---------------+---------------+---------------+
|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|
+---------------+---------------+---------------+---------------+
              +---------------+---------------+---------------+
FILESYSTEM    |    blocco 1   |    blocco 2   |    blocco 3   |
              +---------------+---------------+---------------+
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

              +---------------+---------------+---------------+
Non m'e' ancora chiarissimo tutto quest'affare, perche'
c'e' l'ECC che poi riscombina tutto.
In ogni caso mi sembra che l'inizio a multipli 8 settori
non sia tanto facile da calcolare/fare.
Una cosa mi sembra invece facile/comoda/immediata: basta
che sia multiplo di 8 il cilindro iniziale d'ogni
partizione, logica o primaria che sia. 
Solo che non capisco quel 2048 che dicono, perche' le
partizioni - che io sappia - posson solo cominciare e
finire a un certo cilindro e NON a una sua frazione, ergo
2048 B (byte) equivale a poco piu' d'un quarto di cilindro
il quale e' di 8032,5 KiB = 8.225.280 B come dice anche
ogni fdisk, cioe' 1.028.160*8 B, divisibile dunque per 8,
ma NON divisibile per 4096 B, cioe' non contiene un numero
intero di new-settori.
-- 
Saluti, Dalet


Non 2048 bytes, ma 2048 "vecchi settori" da 512 bytes... cioè 1048576 ->
partizioni allineate non solamente al cilindro ma al megabyte.
Basterebbe molto meno, ma allineare al mb "abbondando" consente di avere 
allineamento ottimale anche per molti ssd (vedi erase block size e 
simili...)

 una sua frazione, ergo 2048 B (byte)
Non sono 2048 bytes.
Possono essere magari 2048 settori virtuali (da 512B cadauno),
cioè 1MB, cioè 256 settori da 4kB.
Oppure 2048KB, cioè 2MB, cioè 512 settori da 4kB.
Insomma, bisogna allineare all'N-esimo settore virtuale da 512B, e
N dev'essere un multiplo di 8: ciò è sufficiente per i dischi
attuali con settori di 4kB. Ma per eventuali dischi futuri, che
potrebbero avere settori di 8kB? Allora N dovrà essere multiplo
di 16. E se i settori diventassero di 16 o 32KB? N multiplo di
32 o 64. Ci si porta un po' avanti. ;)
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
_________________________________________________________________
Non sprecare i cicli idle della tua CPU, né quelli della tua GPU.
 
http://cleanenergy.harvard.edu/
http://boincsimap.org/boincsimap/
 
http://www.gpugrid.net/
 

 ogni fdisk,
Per completezza bisogna dire il cilindro è di questa dimensione solo se
consideri una geometria di 255 testine e 63 settori per traccia, ma
questa è una geometria "fittizia" scelta perché era quella che
consentiva di raggiungere le dimensioni disco maggiori entro i limiti
della codifica CHS.
La geometria è qualcosa che nel mondo dei dischi non ha più senso dagli
anni '90 (mi pare dal 1994), quando è stato introdotta la scrittura ZBR
e quindi la geometria del disco è divenuta variabile.


ed esprimi le unità di misura in settori (u).
Ok anche per il resto, THX! e grazie anche a Paolo e Lem Censor98.
-- 
Saluti, Dalet


Prego :-)
BTW, qualcuno sa rispondere alla mia domanda originaria :-) ?