Il 24/04/24 16:29, Paride Desimone ha scritto:
Buongiorno.
Ciao, non so se hai già risolto ma premetto che non sono ferrato su ZFS
(lo uso da poco) ne tantomeno su VSphere/ESXi e company (non li uso da
un bel po) quindi se dico qualche capp---ata, perdonatemi e correggetemi.
Ho una vm con due dischi che erano parte di un pool zfs.
Ora dopo che la macchina ha avuto varie problematiche (a seguito
aggiornamento vmware non partiva più), ho la necessità di rimontare
questi due dischi sulla stessa vm, che inutile dirlo non riesco a montare.
Prima di tutto, scusa se te lo chiedo: ma hai/avete fatto qualche test
prima di aggiornare tutto? Dalla mia esperienza con ESXi ad ogni
aggiornamento era una menata, non oso immaginare migrare tra major release.
Spero tu abbia un backup dei dati sul pool.
dando: zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
ncdata - - - - - FAULTED -
ho la situazione precedente.
provo allora a fare uno "zpool status -x" ed ottengo
pool: ncdata
state: UNAVAIL
status: One or more devices could not be opened. There are insufficient
replicas for the pool to continue functioning.
action: Attach the missing device and online it using 'zpool online'.
see: http://www.sun.com/msg/ZFS-8000-3C
scrub: none requested
Aborted (core dumped)
Da quello che mi sembra di capire non vede i device. Infatti lui ti
consiglia di metterli online con:
"action: Attach the missing device and online it using 'zpool online'."
Se non dovesse funzionare...da quello che ho capito sono dischi virtuali
giusto? Questi dischi sono accessibili al sistema nel senso che il
sistema li vede? Puoi maneggiarli? Le partition table di dei dischi per
zfs è rimasta uguale?
Può essere che durante l'aggiornamento c'è stata anche una modifica al
formato delle immagini dei dischi e le stesse sono state modificate
(aggiornate al nuovo formato) e zfs non riconosce più i suoi devices?
> Se gli do zpool import ncdata
> ottengo
> cannot import 'ncdata': a pool with that name is already
created/imported,
> and no additional pools with that name were found
>
Potresti provare ad esportare il pool e poi re-importarlo ma non so che
succede se è in uno stato UNAVAIL
Prova ad importare specificando almeno un device (non sono responsabile
di quello che succederà), tipo:
# zpool import -d /dev/sdb1 ncdata
se gli do zpool add ncdata /dev/sdb1 /dev/sdc1
ottengo
cannot open 'ncdata': pool is unavailable
Ora, non sono proprio ferrato in zfs. Qualcuno saprebbe darmi una mano a
capire come montare questi dischi per poter accedere i dati?
La butto li, fare un destroy del pool e recuperarlo?
https://docs.oracle.com/cd/E19253-01/819-5461/6n7ht6r0o/index.html
Magari fa qualche prova su un'altra VM con immagini di piccole
dimensione e con qualche dato dentro e vedi se un export, un destroy non
ti distrugge i dati e ti permette veramente di recuperare il pool.
Al momento non mi viene altro in mente se non ricrea il pool e fai il
restore del backup.
Qualche nota su ZFS:
1. per esperienza personale devi sempre usare i nomi persistenti dei
dischi con ZFS (tipo /dev/disk/by-id/.....). Qualche tempo fa ho usato i
nomi canonici e la scheda madre li invertiva ad ogni reboot cosi ZED mi
rompeva ad ogni avvio dicendo che c'èrano problemi e mi lanciava un
resilvering.
2. Mi hanno sempre sconsigliato di utilizzare ZFS su dischi virtuali in
quanto ZFS deve accedere direttamente ai device. Inoltre se le immagini
virtuali sono COW mettere un filesystem COW su immagini COW rallenta le
performance, ma di usare i device fisici, montarli e dire all'hypervisor
di usare quel mountpoint come risorsa. Se proprio non ne puoi fare a
meno e sei costretto ad usare come dischi delle immagini che siano
almeno in formato RAW. Non ho esperienza di questo ma sembra sensato.
Fammi sapere come va, che sono interessato.
Un saluto.