Linux
Come impostare la dimensione ZFS ARC su FreeBSD
																								
												
												
											 
WQuando si lavora con FreeBSD e ZFS, si incontreranno problemi di dimensione della cache ZFS.  Non tutti i server FreeBSD sono file server.  Alcuni server fungono da server di backup.  Altri potrebbero eseguire Linux e Windows VM in cui si desidera che le VM guest gestiscano la propria memorizzazione nella cache.  Sarebbe utile se avessi tonnellate di RAM per ZFS, ma potresti non avere quel lusso nella vita reale.  Questa pagina spiega come impostare la dimensione dell’arco ZFS su FreeBSD per lavorare con meno RAM per evitare che il computer esaurisca la memoria nel kernel.
| Dettagli tutorial | |
|---|---|
| Livello di difficoltà | Avanzate | 
| Privilegi di root | sì | 
| Requisiti | FreeBSD con ZFS | 
| Est. momento della lettura | 7 minuti | 
Le informazioni presentate e le opzioni di configurazione di seguito funzionano solo con FreeBSD. Non funzionerà con Linux o altri sistemi in cui è supportato ZFS. Vedi come impostare la dimensione ZFS ARC su Ubuntu/Debian Linux per maggiori informazioni.
Cos’è l’ARC?
ZFS è un file system avanzato inizialmente creato da Sun Microsystems. ARC è l’acronimo di Adaptive Replacement Cache. È un algoritmo moderno per la memorizzazione nella cache dei dati nella DRAM. In altre parole, ARC non è nulla, ma contiene dati memorizzati nella cache come dati e metadati del filesystem. ZFS proverà a utilizzare una RAM libera per accelerare le operazioni del server.
C’è anche una cache secondaria chiamata L2ARC (livello II Adaptive Replacement Cach). Perché usare L2ARC? Sai come la DRAM è costosa e limitata su tutti i sistemi. Quindi quello che facciamo è utilizzare SSD più veloci o storage PCIe NVMe a tale scopo.
Esempi
Ecco come appare in genere su un server aziendale:
- DRAM – ARC – 16 Gbyte
 - L2ARC – SSD NVMe/SATA – 512G
 - Archiviazione ZFS: più dischi con mirroring (diciamo 12 TB)
 
Come sintonizzare ARC su FreeBSD
Sfortunatamente, non esiste una formula facile per tutti. Devi scoprire il tuo ruolo del server e, in base alle tue esigenze, devi configurare ARC e L2ARC. Questo è il tuo lavoro come amministratore di sistema Unix. Per file server come CIFS/NFS, possiamo impostare un grande ARC con L2ARC per velocizzare l’operazione. Per MariaDB/PostgreSQL, ho impostato un piccolo ARC e ho ottimizzato la memorizzazione nella cache del database insieme a Redis o Memcached. In questo esempio, il mio server di casa FreeBSD svolge molti ruoli, ho una RAM limitata e non c’è ancora spazio per L2ARC. Ho più macchine virtuali Linux e anche loro hanno bisogno di DRAM. Un paio di jail per testare le mie app. Il server funge anche da server di backup per tutti gli altri computer. Non ho NFS o CIFS. In altre parole, ogni configurazione è unica e devi pensare alle tue esigenze.
Basta parlare; sporchiamoci le mani.
Come impostare la dimensione dell’arco ZFS su FreeBSD
Devi modificare il file /boot/loader.conf, eseguire:sudo vim /boot/loader.conf 
Impostiamo la dimensione massima dell’ARC su 4 GB e la dimensione minima su 2 GB in byte:
Guide solo per i sostenitori di Patreon ????
- Nessuna pubblicità e tracciamento
 - Guide approfondite per sviluppatori e amministratori di sistema su Opensourceflare✨
 - Unisciti al mio Patreon per supportare i creatori di contenuti indipendenti e iniziare a leggere le ultime guide:
 
# Setting up ZFS ARC size on FreeBSD as per our needs # Must be set in bytes and not in GB/MB etc # Set Max size = 4GB = 4294967296 Bytes vfs.zfs.arc_max="4294967296" # Min size = 2GB vfs.zfs.arc_min="2147483648"
Salva e chiudi il file.  Assicurati di riavviare la casella di FreeBSD:sudo reboot
Verifica
$ sysctl vfs.zfs.arc_max vfs.zfs.arc_min
# see all values #
$ sysctl vfs.zfs.arc
Come visualizzare le statistiche ZFS
Possiamo usare zfs-stats comando per vedere le statistiche ZFS in formato leggibile dall’uomo su FreeBSD incluso:
- ARCO
 - L2ARC
 - zfetch (DMU)
 - statistiche della cache vdev e altro.
 
Installare zfs-stats su FreeBSD
Digita il seguente comando pkg:$ sudo pkg install zfs-stats
Updating FreeBSD repository catalogue... Fetching packagesite.txz: 100% 6 MiB 6.5MB/s 00:01 Processing entries: 100% FreeBSD repository update completed. 30370 packages processed. All repositories are up to date. Checking integrity... done (0 conflicting) The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: zfs-stats: 1.3.0_2 Number of packages to be installed: 1 Proceed with this action? [y/N]: y [1/1] Installing zfs-stats-1.3.0_2... [1/1] Extracting zfs-stats-1.3.0_2: 100%
Come usare zfs-stats su FreeBSD
Per vedere tutte le statistiche passa il -un come segue:zfs-stats -a
zfs-stats -a | more
Otterrai cose sullo schermo:
------------------------------------------------------------------------ ZFS Subsystem Report Sat May 22 16:05:11 2021 ------------------------------------------------------------------------ System Information: Kernel Version: 1300139 (osreldate) Hardware Platform: amd64 Processor Architecture: amd64 ZFS Storage pool Version: 5000 ZFS Filesystem Version: 5 FreeBSD 13.0-RELEASE #0 releng/13.0-n244733-ea31abc261f: Fri Apr 9 04:24:09 UTC 2021 root 4:05PM up 3 days, 20:40, 1 user, load averages: 1.08, 1.10, 1.08 ------------------------------------------------------------------------ System Memory: 1.53% 486.25 MiB Active, 3.61% 1.12 GiB Inact 37.66% 11.68 GiB Wired, 0.00% 0 Bytes Cache 57.07% 17.71 GiB Free, 0.13% 41.04 MiB Gap Real Installed: 32.00 GiB Real Available: 99.57% 31.86 GiB Real Managed: 97.37% 31.03 GiB Logical Total: 32.00 GiB Logical Used: 41.16% 13.17 GiB Logical Free: 58.84% 18.83 GiB Kernel Memory: 847.96 MiB Data: 94.60% 802.16 MiB Text: 5.40% 45.81 MiB Kernel Memory Map: 31.03 GiB Size: 37.18% 11.54 GiB Free: 62.82% 19.49 GiB ------------------------------------------------------------------------ ARC Summary: (HEALTHY) Memory Throttle Count: 0 ARC Misc: Deleted: 31.41 m Mutex Misses: 1.37 k Evict Skips: 186.29 k ARC Size: 85.99% 3.44 GiB Target Size: (Adaptive) 89.81% 3.59 GiB Min Size (Hard Limit): 50.00% 2.00 GiB Max Size (High Water): 2:1 4.00 GiB Decompressed Data Size: 9.21 GiB Compression Factor: 2.68 ARC Size Breakdown: Recently Used Cache Size: 45.66% 1.64 GiB Frequently Used Cache Size: 54.34% 1.95 GiB ARC Hash Breakdown: Elements Max: 813.52 k Elements Current: 89.17% 725.39 k Collisions: 2.92 m Chain Max: 5 Chains: 55.74 k ------------------------------------------------------------------------ ARC Efficiency: 2.61 b Cache Hit Ratio: 98.74% 2.57 b Cache Miss Ratio: 1.26% 32.93 m Actual Hit Ratio: 97.17% 2.53 b Data Demand Efficiency: 93.61% 8.85 m Data Prefetch Efficiency: 18.83% 4.02 m CACHE HITS BY CACHE LIST: Anonymously Used: 1.53% 39.31 m Most Recently Used: 36.89% 948.88 m Most Frequently Used: 61.53% 1.58 b Most Recently Used Ghost: 0.03% 832.22 k Most Frequently Used Ghost: 0.03% 714.13 k CACHE HITS BY DATA TYPE: Demand Data: 0.32% 8.29 m Prefetch Data: 0.03% 757.06 k Demand Metadata: 95.31% 2.45 b Prefetch Metadata: 4.34% 111.69 m CACHE MISSES BY DATA TYPE: Demand Data: 1.72% 565.72 k Prefetch Data: 9.91% 3.26 m Demand Metadata: 73.49% 24.20 m Prefetch Metadata: 14.89% 4.90 m ------------------------------------------------------------------------ L2ARC is disabled ------------------------------------------------------------------------ Dataset statistics for: zroot/ROOT/default
Statistiche rimanenti:
Dataset statistics for: zroot/ROOT/default
 
        Reads:          88.73%  787.20  k
        Writes:         11.09%  98.38   k
        Unlinks:        0.18%   1.60    k
 
        Bytes read:     94.27%  3.98    b
        Bytes written:  5.73%   241.83  m
 
Dataset statistics for: zroot/jails/dnscrypt
 
        Reads:          89.42%  124.35  k
        Writes:         10.49%  14.59   k
        Unlinks:        0.09%   123
 
        Bytes read:     98.64%  517.96  m
        Bytes written:  1.36%   7.14    m
 
Dataset statistics for: zroot/rsnapshot
 
        Reads:          55.21%  3.47    m
        Writes:         3.61%   227.13  k
        Unlinks:        41.18%  2.59    m
 
        Bytes read:     89.81%  426.25  b
        Bytes written:  10.19%  48.36   b
 
Dataset statistics for: zroot/tmp
 
        Reads:          99.46%  698.75  k
        Writes:         0.50%   3.53    k
        Unlinks:        0.04%   274
 
        Bytes read:     63.83%  185.67  m
        Bytes written:  36.17%  105.19  m
 
Dataset statistics for: zroot/usr/home
 
        Reads:          99.99%  1.02    m
        Writes:         0.01%   72
        Unlinks:        0.00%   21
 
        Bytes read:     100.00% 132.00  b
        Bytes written:  0.00%   740.30  k
 
Dataset statistics for: zroot/var/log
 
        Reads:          0.30%   887
        Writes:         99.69%  293.71  k
        Unlinks:        0.00%   13
 
        Bytes read:     5.54%   4.80    m
        Bytes written:  94.46%  81.73   m
 
Dataset statistics for: zroot/var/mail
 
        Reads:          0.00%   0
        Writes:         59.09%  13
        Unlinks:        40.91%  9
 
        Bytes read:     0.00%   0
        Bytes written:  100.00% 24.66   k
 
 
------------------------------------------------------------------------
 
File-Level Prefetch:
 
DMU Efficiency:                                 3.76    m
        Hit Ratio:                      82.09%  3.09    m
        Miss Ratio:                     17.91%  674.00  k
 
------------------------------------------------------------------------
 
VDEV cache is disabled
 
------------------------------------------------------------------------
 
ZFS Tunables (sysctl):
        kern.maxusers                           2375
        vm.kmem_size                            33315098624
        vm.kmem_size_scale                      1
        vm.kmem_size_min                        0
        vm.kmem_size_max                        1319413950874
        vfs.zfs.sync_pass_rewrite               2
        vfs.zfs.sync_pass_dont_compress         8
        vfs.zfs.sync_pass_deferred_free         2
        vfs.zfs.commit_timeout_pct              5
        vfs.zfs.history_output_max              1048576
        vfs.zfs.max_nvlist_src_size             0
        vfs.zfs.dbgmsg_maxsize                  4194304
        vfs.zfs.dbgmsg_enable                   1
        vfs.zfs.zap_iterate_prefetch            1
        vfs.zfs.rebuild_scrub_enabled           1
        vfs.zfs.rebuild_vdev_limit              33554432
        vfs.zfs.rebuild_max_segment             1048576
        vfs.zfs.initialize_chunk_size           1048576
        vfs.zfs.initialize_value                -2401053088876216594
        vfs.zfs.nocacheflush                    0
        vfs.zfs.scan_ignore_errors              0
        vfs.zfs.checksum_events_per_second      20
        vfs.zfs.slow_io_events_per_second       20
        vfs.zfs.read_history_hits               0
        vfs.zfs.read_history                    0
        vfs.zfs.special_class_metadata_reserve_pct25
        vfs.zfs.user_indirect_is_special        1
        vfs.zfs.ddt_data_is_special             1
        vfs.zfs.deadman_enabled                 1
        vfs.zfs.deadman_checktime_ms            60000
        vfs.zfs.free_leak_on_eio                0
        vfs.zfs.recover                         0
        vfs.zfs.flags                           0
        vfs.zfs.keep_log_spacemaps_at_export    0
        vfs.zfs.min_metaslabs_to_flush          1
        vfs.zfs.max_logsm_summary_length        10
        vfs.zfs.max_log_walking                 5
        vfs.zfs.unflushed_log_block_pct         400
        vfs.zfs.unflushed_log_block_min         1000
        vfs.zfs.unflushed_log_block_max         262144
        vfs.zfs.unflushed_max_mem_ppm           1000
        vfs.zfs.unflushed_max_mem_amt           1073741824
        vfs.zfs.autoimport_disable              1
        vfs.zfs.max_missing_tvds                0
        vfs.zfs.multilist_num_sublists          0
        vfs.zfs.resilver_disable_defer          0
        vfs.zfs.scan_fill_weight                3
        vfs.zfs.scan_strict_mem_lim             0
        vfs.zfs.scan_mem_lim_soft_fact          20
        vfs.zfs.scan_max_ext_gap                2097152
        vfs.zfs.scan_checkpoint_intval          7200
        vfs.zfs.scan_legacy                     0
        vfs.zfs.scan_issue_strategy             0
        vfs.zfs.scan_mem_lim_fact               20
        vfs.zfs.free_bpobj_enabled              1
        vfs.zfs.max_async_dedup_frees           100000
        vfs.zfs.async_block_max_blocks          -1
        vfs.zfs.no_scrub_prefetch               0
        vfs.zfs.no_scrub_io                     0
        vfs.zfs.scan_suspend_progress           0
        vfs.zfs.resilver_min_time_ms            3000
        vfs.zfs.free_min_time_ms                1000
        vfs.zfs.obsolete_min_time_ms            500
        vfs.zfs.scrub_min_time_ms               1000
        vfs.zfs.scan_vdev_limit                 4194304
        vfs.zfs.sync_taskq_batch_pct            75
        vfs.zfs.delay_scale                     500000
        vfs.zfs.dirty_data_sync_percent         20
        vfs.zfs.dirty_data_max_max              4294967296
        vfs.zfs.dirty_data_max                  3421336780
        vfs.zfs.delay_min_dirty_percent         60
        vfs.zfs.dirty_data_max_max_percent      25
        vfs.zfs.dirty_data_max_percent          10
        vfs.zfs.disable_ivset_guid_check        0
        vfs.zfs.allow_redacted_dataset_mount    0
        vfs.zfs.max_recordsize                  1048576
        vfs.zfs.send_holes_without_birth_time   1
        vfs.zfs.pd_bytes_max                    52428800
--More--(byte 7920)
Riassumendo
Hai imparato a controllare le dimensioni di ZFS ARC sotto FreeBSD in base alle tue esigenze. Ti consiglio caldamente di leggere i libri ZFS di FreeBSD che spiegano tutte queste cose in dettaglio.
ANNUNCIO
Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!
You may like
Cerca nel sito
Categorie
											Aggiornamento iOS 26.1 rilasciato per iPhone e iPad
											Come disattivare la colorazione del colore di Safari su MacOS Tahoe
											Come disattivare il ridimensionamento automatico delle finestre in MacOS
											Come mostrare la percentuale della batteria nella barra dei menu di macOS Tahoe
											La durata della batteria di macOS Tahoe è peggiore? Suggerimenti per problemi di batteria con MacOS 26
											Non è possibile eseguire il downgrade da iOS 26 a iOS 18, ma è stata trovata una soluzione alternativa
											Come ridurre il vetro liquido su macOS Tahoe
											Elimina i problemi di sovrapposizione di testo e leggibilità su macOS Tahoe con “Riduci trasparenza”
											Dove è finita la segreteria telefonica in iOS 26? Trovare la segreteria telefonica dell’iPhone nel nuovo iOS
											La durata della batteria di macOS Tahoe è peggiore? Suggerimenti per problemi di batteria con MacOS 26
Di tendenza
- 
																	
										
																			Apple5 anni agoNon riesci a scaricare app su iPhone o iPad? Ecco come risolverlo
 - 
																	
										
																			Apple5 anni agoCome disattivare la suoneria per un singolo contatto su iPhone con un trucco suoneria silenzioso
 - 
																	
										
																			Apple5 anni agoIl microfono dell’iPhone non funziona? Ecco come risolvere e risolvere i problemi del microfono di iPhone
 - 
																	
										
																			Apple5 anni agoCorreggi l’errore “Impossibile installare l’aggiornamento” per iOS e iPadOS
 
