Impossibile ridimensionare / creare partizioni usando gpt

0

Ho un Mac Server che esegue 10.10. Al momento, l'unico scopo è quello di prendere i backup del tempo di macchine da più dispositivi.

Il server stesso utilizza una condivisione AFP NAS Thecus per archiviare i backup della macchina del tempo. In genere il processo che ho usato in passato per aumentare lo spazio di archiviazione è il seguente

Estendi la dimensione iSCSI nel Thecus. Questo è ora 8.8TB (da 6.6TB)

Sul server -

Terminal - Sudo up

sh-3.2# df
Filesystem    512-blocks       Used Available Capacity   iused   ifree %iused  Mounted on
/dev/disk0s2    83214256   40438952  42263304    49%   5118867 5282913   49%   /
devfs                362        362         0   100%       627       0  100%   /dev
map -hosts             0          0         0   100%         0       0  100%   /net
map auto_home          0          0         0   100%         0       0  100%   /home
map -fstab             0          0         0   100%         0       0  100%   /Network/Servers
/dev/disk1s2  4294295472 4242994728  51300744    99% 530374339 6412593   99%   /Volumes/Backups
sh-3.2# 


Confirm in Disk Utility the disk size has increased

Eject/Unmount the partition


sh-3.2# gpt show /dev/disk1
       start        size  index  contents
           0           1         PMBR
           1           1         Pri GPT header
           2          32         Pri GPT table
          34           6         
          40      409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
      409640  4294295472      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  4294705112  4295229447         
  8589934559          32         Sec GPT table
  8589934591           1         Sec GPT header
sh-3.2# 
sh-3.2# 

sh-3.2# 
sh-3.2# gpt destroy /dev/disk1
sh-3.2# 
sh-3.2# gpt create -f /dev/disk1
sh-3.2# 
sh-3.2# gpt add -b 409640 -s 4294295472 /dev/disk1
/dev/disk1s1 added
sh-3.2# 

Il problema questa volta è che non ho il numero originale -b.

Ho provato il seguente

sh-3.2# gpt destroy /dev/disk1
sh-3.2# gpt create -f /dev/disk1
sh-3.2# gpt show /dev/disk1
        start         size  index  contents
            0            1         PMBR
            1            1         Pri GPT header
            2           32         Pri GPT table
           34  17179869117         
  17179869151           32         Sec GPT table
  17179869183            1         Sec GPT header
sh-3.2# gpt add -b 409640 -s 17179869117
usage: gpt add [-b lba] [-i index] [-s lba] [-t uuid] device ...
sh-3.2# gpt add -b 409640 -s 17179869117 /dev/disk1
gpt add: /dev/disk1: error: no space available on device

Ho provato un paio di opzioni diverse durante la creazione della partizione e ho ottenuto "lo spazio disponibile" ogni volta.

Se provo

gpt add -b 34 -s 17179869117

Creerà la partizione ma sarà totalmente illeggibile.

L'output corrente di df è

macserver:~ tech$ df
Filesystem                               512-blocks        Used  Available Capacity    iused      ifree %iused  Mounted on
/dev/disk0s2                               83214256    53119064   29583192    65%    6703881    3697899   64%   /
devfs                                           360         360          0   100%        625          0  100%   /dev
map -hosts                                        0           0          0   100%          0          0  100%   /net
map auto_home                                     0           0          0   100%          0          0  100%   /home
map -fstab                                        0           0          0   100%          0          0  100%   /Network/Servers
//[email protected]/TimeMachineBackups 23241211968 14320040480 8921171488    62% 1790005058 1115146436   62%   /Volumes/TimeMachineBackups

La quota gratuita del 62% sopra è ciò che sto prendendo di mira.

Qualcuno può offrire assistenza?

    
posta jblz 09.03.2016 - 21:30
fonte

1 risposta

0

gpt è uno strumento per modificare la tabella di partizione GUID di un disco. Modifica solo il intestazione e tabella GPT primarie e secondarie e MBR. O con altre parole: modifica solo i primi 34 blocchi e gli ultimi 33 blocchi di un dispositivo. Ciò significa: se aggiungi una partizione che inizia al blocco 40 e termina al blocco 409640 (questi sono i limiti di una tipica partizione EFI di OS X) non scrive nulla nei blocchi 40-409640 ma solo nelle intestazioni / tabelle GPT .

L'aggiunta di una partizione non risulta in un file system e molto meno in un file system leggibile . Per creare un file system devi formattare la partizione con uno strumento appropriato come newfs_hfs ! Dopo aver formattato una partizione, il file system è essenzialmente vuoto tranne le parti necessarie che "rappresentano" il file system come il file di catalogo, il file di allocazione, ecc.

Se si rimuove una partizione con un file system o si rimuove l'intera tabella delle partizioni contenente diverse partizioni formattate con gpt remove|destroy ... , i file system non verranno toccati. Quindi, dopo aver ripristinato una partizione o una tabella delle partizioni con gli stessi valori che avevano in precedenza, il file system con tutti i contenuti "riappariva".

Esiste un caso (raro) in cui una partizione potrebbe essere ingrandita: se qualche spazio su disco non allocato è direttamente "dietro" una partizione. Se si rimuove per la prima volta una partizione con gpt e quindi si aggiunge nuovamente la partizione con lo stesso blocco di avvio ma una dimensione maggiore, il file system precedente si trova completamente nei limiti della nuova partizione. Ma almeno il file di allocazione (~ volume bitmap) è corrotto e l'intestazione del volume alternativo si trova nella posizione sbagliata. Solitamente un file system "intenzionalmente danneggiato" può essere riparato con diskutil repairVolume ... . Sei molto scoraggiato però a usare questo metodo per ingrandire una partizione.

La modifica delle partizioni del disco con gpt come nella domanda o come descritto di seguito cancellerà qualsiasi partizione corrente (e il suo contenuto) con un'alta probabilità. Per ridimensionare (espandere o ridurre) una partizione corrente mantenendo il contenuto usare diskutil!

Iniziando a utilizzare un disco vuoto con una tabella di partizione GPT predefinita si ottiene lo schema di partizione seguente:

sh-3.2# gpt show /dev/disk1
        start         size  index  contents
            0            1         PMBR
            1            1         Pri GPT header
            2           32         Pri GPT table
           34  17179869117         
  17179869151           32         Sec GPT table
  17179869183            1         Sec GPT header

Sebbene i nuovi dischi riportino una dimensione di blocco logica di 512 byte, di solito hanno una dimensione fisica del blocco di 4096 byte.

  • 1ª regola: i blocchi di partenza e le dimensioni delle partizioni dovrebbero essere divisibili per 8 per allineare le partizioni ai blocchi fisici
  • Seconda regola: non è possibile assegnare più blocchi di quelli disponibili (il numero massimo di blocchi disponibili è: 17179869117 (e allineato ai blocchi fisici: 2147483639 x 8 = 17179869112 blocchi)
  • Terza regola: prova a specificare un tipo GUID

Un'opzione valida è:

gpt add -b 40 -i 1 -s 17179869112 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk1

Oppure potresti aggiungere una partizione EFI e lasciare uno spazio alla fine del disco (come fa Apple):

gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk1
gpt add -b 409640 -i 2 -s 17179197368 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk1

Dopo aver aggiunto le partizioni devi formattare la partizione principale:

newfs_hfs -J -v "Name" /dev/disk1s1

o se hai scelto la seconda tabella delle partizioni (con partizione EFI)

newfs_hfs -J -v "Name" /dev/disk1s2
    
risposta data 09.03.2016 - 22:21
fonte

Leggi altre domande sui tag