[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: