DOMANDA Come montare un pool ZFS (2 hdd in mirroring) o un disco singolo in un container lxc su proxmox?

Pubblicità

MANU_T

Utente Attivo
Messaggi
222
Reazioni
12
Punteggio
49
Salve, come da titolo sto cercando di montare un pool zfs in un container lxc su proxmox.... vi spiego meglio la situazione.
Su proxmox ho una VM dedicata a truenas ed alcuni container che devono accedere al pool zfs di truenas, in primis photoprism per la catalogazione delle foto.
Dall'host vedo solamente i 2 dischi da 1tb che sono in raid 1 (su truenas), ma non il pool. Come faccio a far visualizzare al container di photoprism il contenuto del pool o generalmente di uno dei due dischi del raid?

1687124410376.webp

Ho provato seguendo questa guida ma non funziona (ho aggiunto mp0: /dev/sdd2,mp=/test nel config del container)... la vm non parte, compare questo errore generico:

1687124455771.webp

Ho provato anche a montare uno dei due dischi effettuando un: mount /dev/sdd2 /mnt/disco1 ma compare il seguente errore: "mount: unknown filesystem type ‘zfs_member’.
Lanciando un "zpool import" vedo il pool ma come faccio ad aggiungerlo o meglio mapparlo anche sull'host evitando perdita di dati?

1687124679669.webp

Su https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-EY leggo che forzando l'import con il parametro "-f" si rischia di perdere dati.

1687124658683.webp

Come diavolo si fa?
 
Da truenas esporti una condivisione in NFS e la monti nei container
 
monti la condivisione NFS nel file fstab del container

 
monti la condivisione NFS nel file fstab del container

Okk grazie mille... mi sorge un ulteriore dubbio.... utilizzando la condivisione NFS quindi il container non ha accesso diretto al disco in quanto il collegamento viene effettuato tramite protocollo di rete (tipo samba)... giusto? Non si puó effettuare un passthrough diretto del pool senza passare da un protoccolo client-server?
Non si hanno in questo modo perdite di prestazioni?
 
Un container LXC vede direttamente il pool ZFS dell'host di virtualizzazione a livello di file system, dato che un container LXC fa girare direttametne i servizi e i programmi come parte del sistema operativo host. Se però il pool zfs è gestito diversamente, tipo in questo caso con dei dischi in passthrough a una VM truenas, un container non può accederci se non con le normali funzioni client/server, trattandosi di Linux il protocollo più efficiente è quindi NFS
 
Un container LXC vede direttamente il pool ZFS dell'host di virtualizzazione a livello di file system, dato che un container LXC fa girare direttametne i servizi e i programmi come parte del sistema operativo host. Se però il pool zfs è gestito diversamente, tipo in questo caso con dei dischi in passthrough a una VM truenas, un container non può accederci se non con le normali funzioni client/server, trattandosi di Linux il protocollo più efficiente è quindi NFS
chiaro, perfetto grazie
 
monti la condivisione NFS nel file fstab del container

Seguendo questa guida sono riuscito a montare nell'host solamente il pool senza il relativo dataset ovvero: /mnt/Archivio_FV. Ho effettuato il bind a questo mountpoint mappandolo sul percorso /mnt/archivio_fv del container di photoprism. Provando a leggere il contenuto di questa cartella peró, mi compare questo errore: 1687180387515.png
Non funzione invece il mount automatico all'avvio del sistema.
1687180734881.png

Non riesco invece a montare il dataset (/mnt/Archivio_FV/Archivio_FV) in quanto mi dice accesso negato, nonostante abbia modificato i permessi ACL da truenas impostando il fullcontrol all'utente root, impostato l'accesso non root alla condivisione NFS e tramite UDP... cosa sbaglio?
1687180780764.png
1687180806630.png
Abilitando il permesso di lettura ad @everyone riesco a montare tranquillamente il dataset.
 
Ultima modifica:
Non conosco bene truenas, quindi non saprei dirti come gestisce l'esportazione NFS, generalmente su NFS nel file /etc/exports c'è da impostare il nome della condivisione e gli ip / subnet da cui accedono i client

 
Ho notato che spesso, chi si approccia per la prima volta a sistemi vitualizzati, cade spesso nel errato concetto... e tutto su una macchina e come leggo o uso i dati di questa vm da quella vm .
Quando si creando delle vm o container si deve pensare sempre che queste sono come se fossero sistemi indipendenti, come se fossero su macchina fisicamente a se.
Ora se io ho due server con due servizi che hanno la necessità di condividere dei dati... come farei ?? Userei la rete no...poi ci sono truschini vari...ma il concetto di base a mia opinione è questo.
Pertanto il suggerimento di r3dl4nce è corretto... però... noto che qui spesso le richieste sono a livello casalingo o di homelab e secondo me può capitare che la condivisione nfs (efficentissima a livello enterprise se abbiamo in back un server ldap) funziona perfettamente...ma in un ambiente casalingo o di piccolo ufficio con nfs possono nascere problematiche tra user e uid se non gestiti.
Ovvero non basta che l'utente pippo sia pippo su tutte le macchine in rete ma che se pippo ha la uid 1000 sul server x è plausibile che pippo abbia la uid 1000 su tutte le macchine in rete. Questa non è una critica a r3dl4nce che ha sicuramente esposto la modalità più efficente e professionale. Ma in caso di export nfs non mirate e ben configurate credo convenga prima approfondire i concetti nfs e valutare bene le opzioni di export.
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top