È possibile, ma il vdev utilizza un'unica policy ashift e, per evitare penalizzazioni di tipo read-modify-write, dovrebbe prevalere il requisito del settore fisico più grande.
La decisione è importante quando un'unità sostitutiva segnala settori fisici da 4K, mentre il membro superstite del mirror è stato creato con un allineamento più piccolo. I due stati concorrenti sono una geometria del vdev compatibile e un ashift fisso subottimale oppure una capacità insufficiente. Inizia con una configurazione salvata e dati sacrificabili, osserva un solo ramo alla volta e interrompi il test se aumenta il rischio di perdita di dati, problemi di autorizzazioni o indisponibilità.
Definire le condizioni alla base della decisione sul mirror ZFS con settori misti
Registra l'ambiente prima di modificare qualsiasi cosa: versioni del software e del firmware, identità dei dispositivi, percorso di montaggio o di rete, spazio libero, autorizzazioni e sintomo osservabile. La baseline deve conservare dettagli sufficienti per riprodurre il caso in cui un'unità sostitutiva segnala settori fisici da 4K mentre il membro superstite del mirror è stato creato con un allineamento più piccolo.
Il primo candidato è una geometria del vdev compatibile. Il secondo è un ashift fisso subottimale oppure una capacità insufficiente. L'attuale proprietà ashift di OpenZFS definisce il meccanismo o il limite dei comandi utilizzati nel test; non sostituisce l'osservazione da questo specifico home server.
Scrivi la condizione di accettazione e quella di arresto prima di eseguire il test discriminante. Un esito positivo deve modificare l'evidenza prevista da uno dei rami, lasciando invariati i servizi non correlati; un esito negativo deve riportare il sistema allo stato salvato anziché avviare una catena di correzioni speculative.
Testare l'ipotesi senza ridurre il requisito originale
Usa questo test discriminante: controlla l'ashift esistente e i report sui settori logici/fisici delle unità, quindi esegui un benchmark di scritture allineate su un pool replica. Mantieni costanti carico di lavoro, client, percorso, insieme di file e tempistiche, così il risultato sarà attribuibile alla variabile modificata.
Usa il comportamento di zpool su FreeBSD per selezionare il campo che può effettivamente separare i due rami, quindi acquisisci timestamp, codice di uscita, testo dell'errore, identità del dispositivo o dello snapshot, latenza, byte trasferiti, autorizzazioni e stato del ripristino. Un'uscita pulita del comando non è sufficiente quando l'ipotesi in esame riguarda identità, durabilità o stato dell'applicazione.
Ripeti il test una volta dopo un riavvio, una riconnessione, un nuovo montaggio o con cache fredda, quando tale evento fa parte della condizione originale. Se la prima esecuzione è distruttiva o l'ambiente non può essere ripristinato, interrompi e riproduci il test su una copia sacrificabile.
zpool get ashift pool
lsblk -o NAME,LOG-SEC,PHY-SEC,SIZE
Interpretare i risultati positivi, negativi e di eccezione
POSITIVO: la sostituzione viene collegata, il resilvering viene completato e la latenza delle scritture allineate rimane accettabile. Registra la versione esatta, l'identità e il carico di lavoro che hanno prodotto l'esito positivo, affinché la conclusione rimanga condizionata anziché diventare un'affermazione universale.
NEGATIVO: ashift è troppo piccolo, la sostituzione è leggermente più piccola oppure le prestazioni peggiorano con scritture sincrone e casuali. Un esito negativo non dimostra automaticamente il ramo opposto quando rete, memoria, autorizzazioni o coerenza della sorgente possono influenzare entrambi; isola queste dipendenze condivise prima di procedere.
ECCEZIONE O RISULTATO AMBIGUO: usa una sostituzione adatta o ricrea un nuovo pool correttamente allineato invece di forzare un disco sottodimensionato. Conserva i log e non eseguire comandi di riparazione, eliminazione, distruzione, ripartizionamento o modifica ricorsiva delle proprietà fino a quando non esiste una copia recuperabile.
Confermare la decisione con il carico di lavoro originale
Applica l'azione corrispondente al ramo osservato, quindi ripeti la condizione originale anziché una versione ridotta. La decisione è valida solo quando la sostituzione viene collegata, il resilvering viene completato e la latenza delle scritture allineate rimane accettabile per due cicli oppure attraverso il riavvio, la sospensione, l'interruzione o il cambio di carico pertinenti.
Usa il dimensionamento dei settori del mirror ZFS per controllare il flusso di lavoro dipendente più vicino, ma mantieni invariato il trigger originale. Dataset, condivisioni, container, utenti e punti di ripristino non correlati devono conservare l'accesso e le tempistiche precedenti.
Il limite di arresto è esplicito: se ashift è troppo piccolo, la sostituzione è leggermente più piccola oppure le prestazioni peggiorano con scritture sincrone e casuali, torna all'ultima configurazione verificata, conserva le prove e procedi con un test più approfondito della piattaforma o dell'hardware solo quando il ramo è ripetibile.
Dopo che il risultato target è stato confermato, confrontalo con la verifica del ripristino, così la correzione non sposta il rischio su un servizio adiacente. Un test target riuscito, seguito da un nuovo errore di backup, identità, timeout o disponibilità, è comunque una modifica fallita.
Domande frequenti
Per un mirror ZFS con settori misti, le ricerche rimanenti riguardano di solito se ashift può essere modificato dopo la creazione del vdev, se per i dischi 4K debba essere usato ashift=12 e se una capacità diversa sia rilevante. Le risposte seguenti mantengono questi casi limite separati dalla decisione principale.
Il limite di accettazione non cambia: la sostituzione viene collegata, il resilvering viene completato e la latenza delle scritture allineate rimane accettabile. Se una condizione successiva modifica il filesystem, l'identità, il percorso di rete o la versione dell'applicazione, ripeti solo il test discriminante interessato da tale modifica.
Smetti di ampliare l'esperimento quando ashift è troppo piccolo, la sostituzione è leggermente più piccola oppure le prestazioni peggiorano con scritture sincrone e casuali. A quel punto, usa una sostituzione adatta o ricrea un nuovo pool correttamente allineato invece di forzare un disco sottodimensionato; conserva le prove prima di procedere con l'escalation verso il responsabile della piattaforma, dello storage o dell'hardware.
È possibile modificare ashift dopo la creazione del vdev?
Non sul posto per un vdev esistente; la correzione abituale consiste nel ricreare o creare un nuovo vdev.
Per i dischi 4K è consigliabile usare ashift=12?
Rappresenta comunemente l'allineamento a 4K, ma è necessario convalidare il comportamento del dispositivo e le indicazioni attuali di OpenZFS.
Una capacità diversa è importante?
Un mirror è limitato dal membro più piccolo e una sostituzione nominalmente equivalente può essere leggermente più piccola.
Per un mirror ZFS con settori misti, la risposta pratica rimane condizionata: la sostituzione viene collegata, il resilvering viene completato e la latenza delle scritture allineate rimane accettabile. Quando ashift è troppo piccolo, la sostituzione è leggermente più piccola oppure le prestazioni peggiorano con scritture sincrone e casuali, usa una sostituzione adatta o ricrea un nuovo pool correttamente allineato invece di forzare un disco sottodimensionato; un successo parziale che non può sostenere il carico di lavoro originale non è compatibilità.
Supporto e consigli
Altro da leggere

Guida alla migrazione di Borg Backup per spostare un repository su un nuovo spazio di archiviazione
Sposta un repository Borg come un unico oggetto coerente: interrompi le scritture, preserva le chiavi e l'identità, verifica i ripristini, quindi aggiorna i client...

Flusso di manutenzione del repository Restic: verifica, potatura, compattazione e test di ripristino
Restic non ha un comando compact separato: prune esegue il repacking. Proteggi i lock e lo spazio libero, ricontrolla in seguito e concludi con...

Guida al ripristino del NAS di Time Machine per cronologie di backup danneggiate o abbandonate
Conserva il vecchio bundle. Separa l’accesso al NAS, l’identità della destinazione, i danni all’immagine e la cronologia abbandonata prima di scegliere se riparare o...

