[Linuxtrent] Re: Sostituzione disco RAID1+LVM e allargamento di una partizione: da DOS a GPT?

  • From: Emanuele Olivetti <emanuele@xxxxxxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Thu, 11 Apr 2019 09:43:18 +0200

On 11/04/19 07:54, Marco Ciampa wrote:

Devi, un disco per volta, creare una partizione GPT (puoi farla con
gparted o con fdisk o quello che vuoi) poi ricrei la struttura delle
partizioni e il resto è uguale.

Quello che _non_ devi fare della guida che hai postato è questo:

sfdisk -d /dev/sda | sfdisk /dev/sdb

che ri-crea la partizione dos da un disco all'altro.

Se vuoi ci sono diverse guide in giro su come convertite una partizione
dos in gpt senza perdite, tipo questa.

https://www.linuxtopic.com/2017/08/convert-mbr-to-gpt.html

Okkio che come vedi la gpt occupa più spazio della dos per cui devi
spostare le partizioni per fare spazio.

Se ti interessa (dal punto di vista didattico) fallo. Altrimenti fai
prima a fare da zero la gpt del primo disco, poi sincronizzare il raid, e
rifare il secondo disco.

Vedi te.


Grazie delle informazioni, molto interessanti! In effetti si, l'operazione problematica è appunto:
  sfdisk -d /dev/sda | sfdisk /dev/sdb
La guida che indichi suggerisce di:
1) fare il boot con un sistema live

2) spostare le partizioni sul disco con gparted per fare spazio a una nuova partizione iniziale EFI (con filesystem VFAT) che servirà a contenere il nuovo GRUB (grubx64.efi), in grado di far partire il sisteama che utilizzerà il disco grande con partition table GPT e il nuovo "BIOS" di tipo UEFI.

Forse nel mio caso questo non è necessario (e per certi versi non possibile): il server in questione è un piccolo QNAP ARM, che utilizza una memoria flash per fare partire il sistema - usa un "device tree blob" in /boot/ (argomento che conosco poco) - e U-boot come bootloader. Purtroppo non si può farlo partire con una live.

Vedo stamattina che al link che avevo segnalato nel mio messaggio precedente è indicata molto chiara una seconda guida che tiene in conto anche dei dischi grandi e GPT: utilizza gdisk per copiare le informazioni delle partizioni al posto di sfdisk, appunto perché gdisk conosce le questioni di GPT
https://www.howtoforge.com/tutorial/linux-raid-replace-failed-harddisk/
In sintesi, tutte le operazioni sono identiche a prima a parte il comando sfdisk precedente che viene sostituito con:
  sgdisk -R /dev/sdb /dev/sda
Ho fatto quindi questo e fatto ri-sincronizzare il RAID1. Il sistema sembra funzionare correttamente. Ma rimane una questione aperta, legata a quanto indicavi nel tuo messaggio, cioè al boot su dischi grandi... la spiego qui sotto.

Nota Importante: al momento ho già sostituito tutti e due i dischi vecchi da 1TB con quelli da 6TB. Quando ho sostituito il primo disco (/dev/sdb) ho utilizzato "sfdisk", quindi questo ora si trova una tabella delle partizioni DOS/MBR e il problema di non poter fare volumi sopra i 2TB. Quando invece ho sostituito il secondo disco (/dev/sda) ho utilizzato "gdisk" e il comando sgdisk qui sopra, per cui ora /dev/sda ha una tabella delle partizioni GPT. Nel dettaglio:
----
# parted /dev/sda print
Model: ATA WDC WD60PURZ-85Z (scsi)
Disk /dev/sda: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name        Flags
 1      32.3kB  510MB  510MB  ext2         Linux RAID  raid
 2      510MB   990GB  990GB               Linux RAID  raid

# parted /dev/sdb print
Model: ATA WDC WD60EFRX-68L (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:

Number  Start   End    Size   Type     File system  Flags
 1      32.3kB  510MB  510MB  primary  ext2         boot, raid
 2      510MB   990GB  990GB  primary               raid

----
Quindi ci sono delle differenze nella informazioni dei due dischi... Ora mi accingerei a "sistemare" anche /dev/sdb rifacendolo da zero a partire da /dev/sda e utilizzando gdisk/sgdisk e la sincronizzazione RAID1 come indicato sopra. Ma prima di fare questo, vorrei avere chiarimenti e la mia domanda è la seguente: fara poi boot il sistema? Devo dire qualcosa anche a U-boot di quanto è cambiato e che si troverà davanti GPT...?
È meglio che prima io provi a togliere un disco - quindi /dev/sdb che ha partizioni DOS/MBR - per vedere se il sistema parte anche solo con /dev/sda che usa GPT? In precedenza, prima di aggiungere /dev/sda con GPT, avevo già provato a fare partire il sistema con solo /dev/sdb e la cosa aveva funzionato senza problemi - il che non mi ha stupito visto che è la copia identica di quanto c'è sui dischi di prima (quelli da 1TB).


Grazie in anticipo,

Emanuele


--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: