Freenas utilizzo ram con zfs

sconvolt666

Cadet
Joined
Apr 7, 2020
Messages
9
Salve, premetto che non ho grossi problemi ad utilizzare il sistema e tutto funziona regolare però ho notato una cosa che non so se sia normale o anomala e non ho trovato documentazione a riguardo se non il simbolico utilizzo ram/tb che nel mio caso è più che rispettato.
vado al dunque:
Ho una macchina server con 4 processori xeon 6 core 196gb ram 6 hd da 4tb sata controller raid intel che ho settato in raid 10, e fin qui tutto ok.
Su tale macchina ho instllato il mio sistema di vitualizzazione e in questo ho installato FreeNAS-11.3-U1, l'ho appoggiato su una macchina virtuale con 32gb ram e gli ho assegnato 2 sockets e 4 core, ipotizzando che ci accederanno una 15ina di utenti mi sembrava che bastasse.
Ok ho creato i miei pool in zfs sono 2 uno è appoggiato sul sistema raid gestito dal sistema di virtualizzazione e viene visto come uno storage da 5tb uno è un disco usb da 3tb su cui faccio solo dei backup schedulizzati per scrupolo.
A sistema appena avviato la ram è usata in questo modo
service 1,7 gb
zfs cache 7 gb

Usando poi la macchina (in fase di test quindi con traffico di rete quasi 0) noto che la ram cache di zfs si gonfia fino a occupare l'87% della ram, ripeto questo non da nessuna perdita di prestazioni o anomalie ma mi sembra strano che la cache sia sempre al massimo. Ho quindi provato a dare alla macchina virtuale 64 gb di ram, dopo 2 giorni stessa cosa cache di zfs 87%. Volevo chiedere se era un comportamento normale e se esisteva un modo per "scaricare" la cache ogni tot tempo e se era una buona idea.

p.s. non ho attivato il sistema di deduplicazione ma voglio implementarlo a breve.
 

Attachments

  • zfs_cache_ram.jpg
    zfs_cache_ram.jpg
    466.7 KB · Views: 423

Tony-1971

Contributor
Joined
Oct 1, 2016
Messages
147
Salve,

ZFS usa la ram per cache di lettura (ARC); e' normale che nel tempo tutta la RAM libera venga usata per la cache.
Le prestazioni in lettura dovrebbero migliorare con il passare del tempo.
Ad esempio sul mio sistema l'output del comando mostra il seguente uso della RAM:
Code:
Mem: 169M Active, 9215M Inact, 1723M Laundry, 110G Wired, 3490M Free
ARC: 92G Total, 39G MFU, 51G MRU, 210M Anon, 707M Header, 1624M Other
     85G Compressed, 115G Uncompressed, 1.35:1 Ratio


MFU Most Frequently Used
MRU Most Recently Used

Saluti,
Antonio
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
Questo è di progettazione. ZFS utilizza la RAM come cache, chiamata "ARC". Questa è una buona spiegazione: https://www.zfsbuild.com/2010/04/15/explanation-of-arc-and-l2arc/

La deduplicazione richiede una pianificazione molto attenta, poiché utilizzerà la RAM e può danneggiare le prestazioni anziché aiutarla. Per quasi tutti i casi d'uso, la semplice compressione lz4 è migliore della deduplicazione. C'è una discussione qui: https://www.ixsystems.com/blog/freenas-worst-practices/

Via Google Translate, da qui lo strano italiano :)
 

sconvolt666

Cadet
Joined
Apr 7, 2020
Messages
9
Grazie 1000 spiegazione puntualissima
in risposta a Yorick:
so che la deduplicazione è un'arma a doppio taglio ma conoscendo i miei utenti (grafici) se non la attivo mi trovo il disco pieno i 6 mesi di doppioni, è logico che ho stimato di portare la ram a 128 gb se la attivo, l'unica dubbio che mi viene è proprio questo se do più ram alla fine verrà in ogni caso alloccata per zfs cache e magari non per la deduplicazione o è predominante come processo? come posso bilanciarli in odo efficace
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
Il bilanciamento tra deduplicazione e ARC sarà gestito da ZFS, non mi aspetto che sia necessario agire.

Dato che questo è virtualizzato: stai passando un HBA per l'accesso diretto o in esecuzione su dischi virtuali? ZFS vuole davvero l'accesso diretto all'hardware. Ci sono guide in questo forum su come eseguire FreeNAS in un ambiente virtualizzato.
 

sconvolt666

Cadet
Joined
Apr 7, 2020
Messages
9
grazie del consiglio vedo di documentarmi visto che mi cogli impreparato :)
In questo momento stò usando dei dischi virtuali in pratica ho creato la pila raid sul controller, in modo che il sistema mi veda un unico disco, tale disco poi viene gestito dalla piattaforma virtuale (che nello specifico è proxmox e che gestisce zfs anche se in modo non nativo) che assegna i dischi o frazione di essi alle macchine virtuali, in questo scienario le prestazioni sono buone oltre al vantaggio di poter liberamente attribuire risorse in modo dinamico alle macchine virtuali.
Prima di fare tale scelta ho fatto un sistema molto diverso, ho inserito singolarmente i dischi nel controller e quindi nella macchina virtuale e poi li ho asegnati al vivo a freenas in modo che gestisse lui zraid. Quest ultima soluzione però mi dava prestazioni decisamente deludenti e quindi ho deciso di abbandonarla.
Se hai qualche consiglio è naturalmente ben accetto.
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
Per favore leggi "" Devi assolutamente virtualizzare FreeNAS! "... una guida per non perdere completamente i tuoi dati."


Stai rischiando tutto se corri su dischi virtualizzati. Un HBA con passthrough PCIe su hardware che supporti questo, con i dischi dedicati a FreeNAS, è la strada giusta da percorrere.

Potresti anche considerare di eseguire FreeNAS su hardware dedicato per evitare la complessità della virtualizzazione.

Ecco una guida ad alcune idee per la costruzione di server FreeNAS economici con un massimo di 512GiB di RAM: https://www.ixsystems.com/community...anges-to-upgrade-as-high-as-512gb-of-ram.110/
 

sconvolt666

Cadet
Joined
Apr 7, 2020
Messages
9
Mi hai messo un po' di ansia e credo fosse il tuo scopo (la sicurezza dei dati prima di tutto), visto la problematica vedo di porci rimedio (la soluzione non è in produzione). La possibilità di non virtualizzare non è concepibile per come è stato pensato il ced e quindi dovrò studiare una soluzione differente magari abbandonando zfs per tronare a ext (con rammarico).
il ced concettualmente ha x server che devono poter spostare le macchine virtuali su di loro e quindi come puoi capire anche tu non posso dare accesso diretto ai dischi sarebbe inpensabile, mettere una macchina che fa solo da nas snatura la soluzione.
grazie ancora delle prezziosissime info
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
Preferirei mettere in guardia qualcuno da una distribuzione FreeNAS che presenta un elevato rischio di perdita di dati, come l'esecuzione su dischi virtualizzati, piuttosto che farli perdere i dati e quindi potenzialmente incolpare FreeNAS per questo.

Vi auguro il successo! E grazie per aver posto prima le domande qui, è stata una mossa molto intelligente.
 

sconvolt666

Cadet
Joined
Apr 7, 2020
Messages
9
ok stavo leggendo la il collegamento che mi hai girato e premettendo che non è un prob di costo ma di stabilità stavo pensando un po' alle inplicazioni della soluzione.
Premetto che le macchine su cui dovrebbe girare freenas sono tutte compatibili con PCI-Passthrough ma il mio dubbio è questo, la possibile perdita di dati che menzioni è dovuta ad un eventuale degradazione degli hd (in quanto non gestibili via SMART direttamente da freenas) o proprio in fase di scrittura del dato in un normale utilizzo?
visto che non so se sono stato chiaro ti spiego velocemente
Le macchine sono tutte virtualizzate con ogni macchina la stessa quantità di hd monitorati via smart dal cluster di virtualizzazione, che provvede in caso di una qualsiasi anomalia o di un eccessivo carico a spostare la macchina su un server meno oberato di lavoro o più stabile, periodicamente vengono effettuati degli snapshot delle macchine e dei disci (dati compresi) su struttura parallela che per comodità chiamerò backup.
Se dovesse anche franare freenas per colpa di ipotizziamo 3 dischi esplosi avrei in ogni caso il cluster che ha già provveduto a spostarlo su altra macchina e lo snapshot effettuato qualche ora prima.

Se invecie la pericolosità risiede nella scrittura dei files fisici logicamente il discorso cambia perchè mi troverei con un dato danneggiato anche sugli snapshot e sull'eventuale clone.

Grazie ancora per le info !!
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
Questo è possibile, ci sono ulteriori considerazioni che sono discusse qui: https://www.ixsystems.com/community...ative-for-those-seeking-virtualization.26095/

Una delle frasi chiave di cui sopra è "Se non hai capito immediatamente che l'implicazione della combinazione dei due concetti sopra è che per ottenere 1 GB di spazio di archiviazione NAS potresti aver bisogno di 4 GB di spazio non elaborato sul datastore di virtualizzazione, vai rileggili. "

C'è anche https://b3n.org/freenas-9-3-on-vmware-esxi-6-0-guide/

Sono al limite delle mie conoscenze pratiche e di ciò che Google Translate può fare e consiglio di discuterne ulteriormente con le persone di questo forum che hanno già virtualizzato FreeNAS.
 

sconvolt666

Cadet
Joined
Apr 7, 2020
Messages
9
Grazie ancora per le info, in ogni caso provvederò a stressare un po' il sistema e magare se avrò risultati positivi li condividerò con la comunity.
 

sconvolt666

Cadet
Joined
Apr 7, 2020
Messages
9
Ciao, ti aggiorno sull'esito dei miei test, credo possa interessati. Ho spostato la piattaforma su un server dell che uso come palestra. Nella mia soluzione virtualizzata ho il seguente hardware (stessa cosa vale per i server hp serie g6 o superiore)
Xeon CPU(s) 8 x Intel(R) Xeon(R) CPU E5440 @ 2.83GHz
ram ecc ddr 667 55GB
controller PERC 6i 6/I SAS Raid Controller

dunque nella configurazione dell'ambiente virtuale vedo il disco raid come un unico disco ma ho la possibilità di interrogare lo stato smart di ogni singolo disco con il driver megaraid.
Nel mio ambiente di virtualizzazione tale disco raid è gestito in zfs e poi usato per creare i dischi virtuali (sarebbe meglio dire partizionato)
Dopo aver configurato la macchina virtuale con freenas ho inserito il pool e errori di lettura smart non me ne da. Esite un modo per verificare da freenas lo stato smart dei dischi? Devo trattare freenas come freebsd e quindi installare da shell. Da quanto ho letto teoricamente con una struttura del genere anche se freenas è in una macchina virtuale dovrebbe avere accesso allo stato smart e quindi dovrebbe riuscire a lavorare senza nessun problema e senza nessuna perdita di dati.

prima anomalia strana ho collegato direttamente quindi passando al vivo la porta usb a freenas un hd usb con usb di seconda generazione, tale disco non rileva lo stato smart è normale?

seconda anomalia, ho creato un paio di utenti racchiusi in un gruppo, ho creato una cartella e l'ho condivisa con smb e con ACL, come owner group settati a pieni permessi, riesco ad accedere ed a creare ma non mi fa rimuovere i file o le dir che ho creato.
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
> Esiste un modo per controllare lo stato intelligente dei dischi da Freenas?

La mia comprensione è che ciò richiederebbe il passaggio PCIe di un HBA con dischi dedicati a FreeNAS, vedere la discussione e il collegamento precedenti. Qualcun altro potrebbe avere una migliore comprensione, non ho mai provato un FreeNAS virtualizzato.

Per quanto riguarda SMB e ACL, questo è un argomento in sé e per sé. Ecco tre buone risorse.


 

proto

Patron
Joined
Sep 28, 2015
Messages
269
controller PERC 6i 6/I SAS Raid Controller

Seguirei il consiglio di Yorick, per quanto riguarda la doc e altri thread.

Sulle HBA.
Ho da qualche parte anche io una PERC 6i su un vecchio server DELL (vecchio davvero!) sul quale avevo installato FreeNAS a scopo di test tempo fa.
Con la PERC niente da fare: nemmeno in fisico riuscivo a vedere lo stato smart perché c'è quello "strato" in più del controller. So che è ancora installato e spento in ufficio e potrei vedere la configurazione, ma non in questo disgraziato periodo...

Con una H310 in IT-Mode nessun problema al contrario, ma l'ho spostata sul server attuale.

In virtuale, al contrario, su un altrettanto vecchio hp 360 g7 ho installato un'altra scheda LSI 9207-8e facendo il passthru con una VM usata a solo scopo di backup con dischi esterni.

In sintesi: se devi virtualizzare almeno usa una HBA dedicata alla VM.
 

sconvolt666

Cadet
Joined
Apr 7, 2020
Messages
9
capisco quello che dite e comprendo ma il mio scopo era quello di avere una virtualizzazione di tutto nas compreso altriment uso una soluzione proprietaria che da prestazioi e stabilità, se passo controller al vivo in modalita it perdo lo scopo della virtualizzare, e quindi non avrò mai una soluzione ad alta affidabilità e tantomeno potro lavorare sulla sostituzione delle macchine al vivo. Presumo che freenas non sia la mia soluzione. Grazie dell'aiuto e buon lavoro.
 

proto

Patron
Joined
Sep 28, 2015
Messages
269
umm! Io non so se ho ben capito.
ma credo che tu abbia bisogno di una soluzione di affidabilità a livello SAN e a livello Host di virtualizzazione.
quindi una SAN ridondata (FC o iSCSI per esempio) e Host in HA, con macchine virtuali che seguono una logica di bilanciamento del carico.

TrueNAS magari? Rimanendo in tema...
 

sconvolt666

Cadet
Joined
Apr 7, 2020
Messages
9
si in effetti ho già due san da 24tb ridondanti (hp) collegate fra di loro in fibra ed al cluster di macchine ma mi sarebbe piaciuto rendere ancora più astratta la soluzione in modo che ogni macchina del cluster all'occorrenza potesse sopperire alla funzione di storage di rete.
 
Top