Modificare i riferimenti al disco ZFS per utilizzare GPTID anziché il nome GEOM?


1

Ho costruito un impianto di perforazione FreeNAS su un dolce piccolo HP ProLiant MicroServer.

Per quanto riguarda l'archiviazione, ho creato un pool ZFS a 3 dischi utilizzando RAIDZ1. Ho iniziato con 3 piccoli dischi, acquisendo familiarità con FreeNAS, ma alla fine ho deciso di sostituire il NAS di casa con esso.

Così ho acquistato nuovi dischi da 2 TB e ho sostituito ogni disco con uno più grande, uno alla volta, lasciando che il pool si ripristinasse dopo ogni sostituzione.

Il pool originale, creato tramite la GUI, utilizzava riferimenti GPTID. zpool statusmostrerebbe qualcosa di simile a questo:

  pool: vol2
 state: ONLINE
  scan: none requested
config:

        NAME                                          STATE     READ WRITE CKSUM
        vol2                                          ONLINE       0     0     0
          gptid/96857d85-6c2f-11e3-9387-78acc0f794bd  ONLINE       0     0     0

Quando ho sostituito i dischi nel pool con zpool replace, ho finito per usare invece i nomi GEOM ( adaN ). Ad essere sincero l'ho trovato molto più semplice e intuitivo in questo modo.

Ma sembra che fare riferimento ai dischi usando i nomi GEOM comporta il rischio che le unità vengano rietichettate al riavvio, confondendo ZFS e corrompendo eventualmente i pool ZFS nel processo.

Ho pensato di poter "offline" ciascuno dei dischi e sostituirli con i zpool replaceloro GPTID, che presumo richiederanno il resilvering, mettendo così a rischio i miei dati mentre si svolgono.

Tuttavia, non riesco a trovare alcun GPTID per i miei dischi "ada". ls /dev/gptidelenca solo il mio quarto disco, e attualmente inutilizzato,. glabel listrestituisce lo stesso disco / GPTID e varie partizioni FreeNAS.

  • Esiste effettivamente un punto nella sostituzione dei nomi GEOM di riferimento con GPTID?
  • Perché non riesco a vedere i GPTID per i nuovi dischi? Devo fare qualcosa prima che i GPTID vengano assegnati e glabel listrestituiranno i loro nomi?
  • C'è un modo più sicuro per farlo, che non implica il resilver?

Grazie!

Risposte:


1

• Esiste effettivamente un punto nella sostituzione dei nomi GEOM di riferimento con GPTID?

I nomi GEOM vengono generati dagli slot del controller, quindi se si scambiano i connettori dei dischi anche i loro nomi GEOM verranno scambiati. I nomi GPTID si basano sui numeri di serie del disco e sono uguali ovunque.

• Perché non riesco a vedere i GPTID per i nuovi dischi? Devo fare qualcosa prima che i GPTID vengano assegnati e l'elenco di glabel restituirà i loro nomi?

Quando il disco viene utilizzato da un ID (GEOM in zpool nel tuo caso), gli altri ID (incluso GPTID) vengono bloccati. Quindi quando scolleghi il disco da zpool o lo metti offline - apparirà mancante gptid in / dev / gptid

• Esiste un modo più sicuro per farlo, che non implica il resilver?

L'unico modo è staccare il disco e ricollegarlo al pool con un altro nome. Il resilver non è così pericoloso come puoi pensare, perché è solo un processo di verifica e sincronizzazione del mirror. Copia solo i dati non sincronizzati, quindi si rischiano solo le modifiche apportate tra il distacco del disco e il ricollegamento.


0

ZFS è stato progettato con l'obiettivo di validità dei dati: non fornirà dati corrotti ma nessuno se non è in grado di produrre dati corretti (comportamento predefinito configurabile). Lo spostamento dei dischi del pool in giro non confonderà ZFS finché riuscirà a trovarli. Questo link , (in parte in tedesco) è abbastanza utile. Questo è solo un suggerimento incompleto: consideralo in questo modo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.