Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

sgdisk --new=1:2048:-128M SBAGLIA nel calcolare la fine (disco da 3TB). Vi Risulta?

27 views
Skip to first unread message

bc

unread,
Oct 20, 2012, 8:45:35 AM10/20/12
to

64BIT kubuntu 12.04 kernel 3.2.0-32-generic
sgdisk --version = GPT fdisk (sgdisk) version 0.8.1

sgdisk --new=1:2048:-128M .... /dev/sdb

da quello che ho capito dal man dovrebbe lasciarmi 128M di spazio alla
fine. Voglio tenermi del margine per quando dovro sostituire un disco.

Invece mi fa una partizione da circa 700GB e mi lascia poi i restanti
2TB vuoti alla fine

per risolverlo devo calcolarmelo. (se avete un sistema piᅵ leggibile
rispetto a 'bc' accetto il suggerimento)

#inizializzo il disco in GPT
sgdisk -Z /dev/sdb
sgdisk -o /dev/sdb

#uso sgdisk --end-of-largest e il prog 'bc' per calcolare 128M da fine
#
emptymega=128
end=`echo $(sgdisk --end-of-largest /dev/sdb)"-$emptymega*2048"|bc`

#verifico che $end abbia un valore sensato
echo $end

#ora che $end ᅵ valorizzata la uso come terzo parametro di new
sgdisk --new=1:2048:$end --typecode=1:fd00 --change-name=1:raid /dev/sdb

#perchᅵ sia adatto ad uasarlo come membro di un raid mi par di capire
#che serve anche questo
sgdisk --move-second-header /dev/sdb

PS. Per i nuovi utenti ubuntu
sgdisk ᅵ dentro al pacchetto gdisk ed ᅵ pensato per gestire i dischi
gpt (si puᅵ usare anche parted)
contiene 3 utility:
sgdisk simile a sfdisk - Pensato per gli script
cgdisk simile a cfdisk - interfaccia di configurazione a carattere
gdisk ricorda parted parted



the fonz

unread,
Oct 21, 2012, 4:31:36 AM10/21/12
to
>
> Invece mi fa una partizione da circa 700GB e mi lascia poi i restanti
> 2TB vuoti alla fine

Questo mi sembra il tipico problema che si verifica con hardware che non
riesce a gestire dischi > 2TB.
La dimensione del disco è visualizzata in modulo 2, quindi nel tuo caso
3000 meno 2200 è circa 800, meno 128 = circa 700.

Ora, siccome mi pare di capire che il disco riesci a formattarlo con
altri sistemi (se fosse un limite hardware non ci sarebbe nulla da
fare), hai controllato nella documentazione di sgdisk se c'è un limite
specifico per i dischi > 2TB?

Inoltre, non è che stai tentando di creare una partizione unica FAT32?
Perchè in questo caso il limite massimo è proprio 2TB.

Hai provato a creare una nuova tabella delle partizioni impostandola
come GUID invece che msdos (che ha il limite per partizione a 2TB)?

Buona domenica!

bc

unread,
Oct 23, 2012, 6:31:26 AM10/23/12
to
Il 21/10/2012 10:31, the fonz ha scritto:
> Questo mi sembra il tipico problema che si verifica con hardware che non
> riesce a gestire dischi > 2TB.

a me sembra un tipico problema di overflow per una svista su una
variabile transitoria

> La dimensione del disco ᅵ visualizzata in modulo 2, quindi nel tuo caso
> 3000 meno 2200 ᅵ circa 800, meno 128 = circa 700.

appunto

> Ora, siccome mi pare di capire che il disco riesci a formattarlo con
> altri sistemi (se fosse un limite hardware non ci sarebbe nulla da
> fare), hai controllato nella documentazione di sgdisk se c'ᅵ un limite
> specifico per i dischi > 2TB?

Sulla documentazione non ho visto nulla. In teoria il pacchetto gdisk ᅵ
fatto apposta per gestire i dischi in GPT. Una partition table che ha
fra le caratteristiche piᅵ importanti il poter partizionare dischi
maggiori di 2TB. Quindi il limite dei 2TB dovrebbe essere stato
considerato. Mi viene da pensare solo ad un bug, oppure che si appoggi a
qualcosa di esterno al programma per fare il calcolo (e quindi di avere
una qualche lib che dovrebbe essere aggiornata per gestire dischi
maggiori di 2TB). Comunque se gli metto io direttamente il valore dopo
averlo calcolato, mi fa il lavoro fatto bene.
Il programma ᅵ in grado di leggere correttamente il numero piᅵ grande
che si puᅵ utilizzare come finedisco ("sgdisk --end-of-largest
/dev/sdb"), solo che in automatico non lo utilizza bene.

Pensavo di segnalarlo come bug.
Al 90% ᅵ un bug (un tipo di int con una size errata nella fase di
esecuzione del calcolo, perche quando il calcolo viene saltato mettendo
il valore corretto funziona). Mi riservo un 10% di stupidata mia, quindi
prima di rompere le scatole agli sviluppatori volevo un altro parere.


> Inoltre, non ᅵ che stai tentando di creare una partizione unica FAT32?
> Perchᅵ in questo caso il limite massimo ᅵ proprio 2TB.

No, la formattazione ᅵ il passo successivo. ad ogni modo ho impostato il
tipo di partizione a fd00 che ᅵ per una raid partition (anche mettendoci
8300 linux partition si comporta uguale). Poi non la formatto, mi limito
ad utilizzarla come membro di un array (sono le partizioni dentro
all'array che vado a formattare in ext4)

> Hai provato a creare una nuova tabella delle partizioni impostandola
> come GUID invece che msdos (che ha il limite per partizione a 2TB)?

??? Questo era scontato.

man sgdisk
sgdisk - Command-line GUID partition table (GPT) manipulator for Linux
and Unix

Si ho provato. ho usato sgdisk proprio perchᅵ ᅵ fatto apposta per GPT

ed infatti la partizione mi riesce e riesce proprio con questo tools,
Stavo solo notando che il suo funzionamento si discosta da quanto
scritto sul man dove l'opzione -128MB dovrebbe funzionare

se su un disco da 3 tb si tenta di partizionarlo con una tabella delle
partizioni MSDOS
per esempio con parted...

parted -a optimal -m /dev/sdb --script -- unit s mklabel msdos mkpart
primary 2048 -32768 set 1 raid on set 1 boot off

si ottiente un messaggio d'errore che la dimensione della partizione
eccede i 4294967295 settori che sono il massimo ammesso da una
partizione MSDOS



bc

unread,
Oct 26, 2012, 2:16:14 PM10/26/12
to
Sembra proprio che fosse un bug.

su ubuntu 12.04 ᅵ presente la version 0.8.1 che non va mentre sulla
12.10 ᅵ presente la version 0.8.5 che si comporta come da manuale.

Mentre stavo cercando a chi segnalarlo ho trovato un changelog che,
anche se ᅵ molto breve, lascia immaginare una correzione fatta nella
versione 0.8.3

Intanto, avevo finito di installare la kubuntu 12.10 con l'ultima
versione di sgdisk ᅵ ho potuto vedere che ᅵ il bug era stato corretto.
PS. la 0.8.5 ᅵ l'ultima disponibile, almeno lo era 2 giorni fa quando ci
ho guardato.

0 new messages