10gbe staging server Konfiguratuion

crm

New Member
May 10, 2019
6
0
1
36
Hallo. Ich versuche gerade einen möglichst guten Weg zu finden um meine Staging VM/ Container aufzusetzen. Folgendes steht zur Verfügung: 12 core atom mit 128 gig ram, 2x 1tb we reds, 2x 500 gig, 2 port 10gbe adapter.

Mein Ziel ist Videos nach dem Bearbeiten möglichst schnell zum Staging Server zu senden, wo sie hochgeladen werden. Im Moment verwende ich samba dafür über den 10gbe Adapter. Der ZFS pool für proxmox und VMs ist als mirror eingerichtet, für die 2x1tb staging Festplatten (bringt mir striping hier etwas?) benötige ich keine Redundanz, da die Daten bis zum abgeschlossenen Upload auf der Workstation liegen.

Mein Problem ist nun, dass ich möglichst lange die Writes im RAM cachen will um die 10gb für kleinere Dateien (<50GB) auszulasten (vlt 20 mit LAG für simultane Transfers?). Reads sind mir relativ egal, da sie sowieso über gigabit gehen.

Die Frage ist nun, wie ich am besten meine zwei Staging HDDs konfiguriere. Auf diesen Platten liegt sonst nichts. Sollte ich einen Container oder eine VM verwenden? Ab und an müsste ich von einer weiteren VM darauf zugreifen, bisher habe ich gelesen, dass ich das vermutlich ebenfalls über smb mache? An der Stelle stehe ich auf dem Schlauch.
 
Hi,
wenn ich deinen Workflow richtig verstehe werden Daten geschrieben und wieder gelöscht?

ZFS mit striping wird schon Performance bringen und solange der Pool nicht stark defragmentiert was nicht passiert, wenn du die Daten immer wieder löschst.

Mein Problem ist nun, dass ich möglichst lange die Writes im RAM cachen will um die 10gb für kleinere Dateien (<50GB) auszulasten (vlt 20 mit LAG für simultane Transfers?)

ZFS raemt alle Daten in den Cache solange dort platz ist. Standartmaeßessig sind das 50% vom System Speicher.[1]

Das mit den 20 GBIT funktioniert nur, wenn die Voraussetzungen dafür passen und der Bond Mode der richtige ist.

Sollte ich einen Container oder eine VM verwenden? Ab und an müsste ich von einer weiteren VM darauf zugreifen, bisher habe ich gelesen, dass ich das vermutlich ebenfalls über smb mache?

Bei Container hast du die Möglichkeit 2 CT die gleichen Mountpoint zu geben und sie können ohne SMB direkt darauf arbeiten.

1.) https://pve.proxmox.com/wiki/ZFS:_Tips_and_Tricks
 
wenn ich deinen Workflow richtig verstehe werden Daten geschrieben und wieder gelöscht?

Ja, nach dem Upload werden die Daten gelöscht.

ZFS raemt alle Daten in den Cache solange dort platz ist. Standartmaeßessig sind das 50% vom System Speicher.[1]

Ahh, ich dachte das bezieht sich nur auf den Read Cache.

Ich habe jetzt einen striped pool erstellt. Kommt darauf ein subvol, welches ich im Container mounten kann, oder muss ich noch etwas anderes machen? Als Größe gebe ich ca die Größe des Striped pools an (ca 2tb)?
 
Ahh, ich dachte das bezieht sich nur auf den Read Cache.
Der write Cache ist dynamisch und deswegen nicht ganz leicht zu berechnen.
Das Limit bezieht sich schon auf den ARC (read Cache) aber wenn du schreibst wird es ja automatisch in den read Cache geschrieben.

Kommt darauf ein subvol, welches ich im Container mounten kann, oder muss ich noch etwas anderes machen?
Subvols die du als mp (mountpoints verwendest) in Container verwendest.[1]

Als Größe gebe ich ca die Größe des Striped pools an (ca 2tb)?
minus 2-4% Metadaten, wenn du keine Snapshots verwendest und plus Komprimierung, die ich aber bei Videodaten deaktivieren würde da es nichts bringt und Ressourcen kostest.

1.)https://pve.proxmox.com/wiki/Linux_Container#_bind_mount_points
 
Der write Cache ist dynamisch und deswegen nicht ganz leicht zu berechnen.
Das Limit bezieht sich schon auf den ARC (read Cache) aber wenn du schreibst wird es ja automatisch in den read Cache geschrieben.

Vielen Dank! Hast du eine Idee wie der RAM zwischen Container und Host verteilt werden sollte. Meiner Erfahrung nach bedient sich samba bei wenigen clients nicht besonders, also nehme ich an konservativ auf dem Container?

E: Ich kann meinen Adapter jetzt bei den ersten 5GB auslasten, dann nur noch mit der Geschwindigkeit der HDDs. Die Ram Auslastung liegt jedoch nur bei 10GB/120GB.

root@pve1:~# zpool status
pool: rpool
state: ONLINE
scan: scrub repaired 0B in 0h5m with 0 errors on Sun May 12 00:29:14 2019
config:

NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sda3 ONLINE 0 0 0
sdd3 ONLINE 0 0 0

errors: No known data errors

pool: staging
state: ONLINE
scan: scrub repaired 0B in 0h0m with 0 errors on Sun May 12 00:24:39 2019
config:

NAME STATE READ WRITE CKSUM
staging ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0

errors: No known data errors

root@pve1:~# arcstat
time read miss miss% dmis dm% pmis pm% mmis mm% arcsz c
22:55:43 21 0 0 0 0 0 0 0 0 10G 62G
root@pve1:~# arc_summary

------------------------------------------------------------------------
ZFS Subsystem Report Wed May 15 22:56:04 2019
ARC Summary: (HEALTHY)
Memory Throttle Count: 0

ARC Misc:
Deleted: 36
Mutex Misses: 0
Evict Skips: 87

ARC Size: 16.62% 10.46 GiB
Target Size: (Adaptive) 100.00% 62.94 GiB
Min Size (Hard Limit): 6.25% 3.93 GiB
Max Size (High Water): 16:1 62.94 GiB

ARC Size Breakdown:
Recently Used Cache Size: 99.25% 10.35 GiB
Frequently Used Cache Size: 0.75% 79.96 MiB

ARC Hash Breakdown:
Elements Max: 88.96k
Elements Current: 100.00% 88.95k
Collisions: 86
Chain Max: 1
Chains: 44

ARC Total accesses: 246.58k
Cache Hit Ratio: 89.76% 221.33k
Cache Miss Ratio: 10.24% 25.25k
Actual Hit Ratio: 89.02% 219.49k

Data Demand Efficiency: 94.58% 99.45k
Data Prefetch Efficiency: 16.67% 312

CACHE HITS BY CACHE LIST:
Anonymously Used: 0.83% 1.83k
Most Recently Used: 27.93% 61.81k
Most Frequently Used: 71.24% 157.68k
Most Recently Used Ghost: 0.00% 0
Most Frequently Used Ghost: 0.00% 0

CACHE HITS BY DATA TYPE:
Demand Data: 42.50% 94.06k
Prefetch Data: 0.02% 52
Demand Metadata: 56.66% 125.41k
Prefetch Metadata: 0.82% 1.80k

CACHE MISSES BY DATA TYPE:
Demand Data: 21.33% 5.39k
Prefetch Data: 1.03% 260
Demand Metadata: 75.56% 19.08k
Prefetch Metadata: 2.08% 525


DMU Prefetch Efficiency: 236.30k
Hit Ratio: 3.37% 7.96k
Miss Ratio: 96.63% 228.33k



ZFS Tunables:
dbuf_cache_hiwater_pct 10
dbuf_cache_lowater_pct 10
dbuf_cache_max_bytes 104857600
dbuf_cache_max_shift 5
dmu_object_alloc_chunk_shift 7
ignore_hole_birth 1
l2arc_feed_again 1
l2arc_feed_min_ms 200
l2arc_feed_secs 1
l2arc_headroom 2
l2arc_headroom_boost 200
l2arc_noprefetch 1
l2arc_norw 0
l2arc_write_boost 8388608
l2arc_write_max 8388608
metaslab_aliquot 524288
metaslab_bias_enabled 1
metaslab_debug_load 0
metaslab_debug_unload 0
metaslab_fragmentation_factor_enabled 1
metaslab_lba_weighting_enabled 1
metaslab_preload_enabled 1
metaslabs_per_vdev 200
send_holes_without_birth_time 1
spa_asize_inflation 24
spa_config_path /etc/zfs/zpool.cache
spa_load_verify_data 1
spa_load_verify_maxinflight 10000
spa_load_verify_metadata 1
spa_slop_shift 5
zfetch_array_rd_sz 1048576
zfetch_max_distance 8388608
zfetch_max_streams 8
zfetch_min_sec_reap 2
zfs_abd_scatter_enabled 1
zfs_abd_scatter_max_order 10
zfs_admin_snapshot 1
zfs_arc_average_blocksize 8192
zfs_arc_dnode_limit 0
zfs_arc_dnode_limit_percent 10
zfs_arc_dnode_reduce_percent 10
zfs_arc_grow_retry 0
zfs_arc_lotsfree_percent 10
zfs_arc_max 0
zfs_arc_meta_adjust_restarts 4096
zfs_arc_meta_limit 0
zfs_arc_meta_limit_percent 75
zfs_arc_meta_min 0
zfs_arc_meta_prune 10000
zfs_arc_meta_strategy 1
zfs_arc_min 0
zfs_arc_min_prefetch_lifespan 0
zfs_arc_p_dampener_disable 1
zfs_arc_p_min_shift 0
zfs_arc_pc_percent 0
zfs_arc_shrink_shift 0
zfs_arc_sys_free 0
zfs_autoimport_disable 1
zfs_checksums_per_second 20
zfs_compressed_arc_enabled 1
zfs_dbgmsg_enable 0
zfs_dbgmsg_maxsize 4194304
zfs_dbuf_state_index 0
zfs_deadman_checktime_ms 5000
zfs_deadman_enabled 1
zfs_deadman_synctime_ms 1000000
zfs_dedup_prefetch 0
zfs_delay_min_dirty_percent 60
zfs_delay_scale 500000
zfs_delays_per_second 20
zfs_delete_blocks 20480
zfs_dirty_data_max 4294967296
zfs_dirty_data_max_max 4294967296
zfs_dirty_data_max_max_percent 25
zfs_dirty_data_max_percent 10
zfs_dirty_data_sync 67108864
zfs_dmu_offset_next_sync 0
zfs_expire_snapshot 300
zfs_flags 0
zfs_free_bpobj_enabled 1
zfs_free_leak_on_eio 0
zfs_free_max_blocks 100000
zfs_free_min_time_ms 1000
zfs_immediate_write_sz 32768
zfs_max_recordsize 1048576
zfs_mdcomp_disable 0
zfs_metaslab_fragmentation_threshold 70
zfs_metaslab_segment_weight_enabled 1
zfs_metaslab_switch_threshold 2
zfs_mg_fragmentation_threshold 85
zfs_mg_noalloc_threshold 0
zfs_multihost_fail_intervals 5
zfs_multihost_history 0
zfs_multihost_import_intervals 10
zfs_multihost_interval 1000
zfs_multilist_num_sublists 0
zfs_no_scrub_io 0
zfs_no_scrub_prefetch 0
zfs_nocacheflush 0
zfs_nopwrite_enabled 1
zfs_object_mutex_size 64
zfs_pd_bytes_max 52428800
zfs_per_txg_dirty_frees_percent 30
zfs_prefetch_disable 0
zfs_read_chunk_size 1048576
zfs_read_history 0
zfs_read_history_hits 0
zfs_recover 0
zfs_recv_queue_length 16777216
zfs_resilver_delay 2
zfs_resilver_min_time_ms 3000
zfs_scan_idle 50
zfs_scan_ignore_errors 0
zfs_scan_min_time_ms 1000
zfs_scrub_delay 4
zfs_send_corrupt_data 0
zfs_send_queue_length 16777216
zfs_sync_pass_deferred_free 2
zfs_sync_pass_dont_compress 5
zfs_sync_pass_rewrite 2
zfs_sync_taskq_batch_pct 75
zfs_top_maxinflight 32
zfs_txg_history 0
zfs_txg_timeout 5
zfs_vdev_aggregation_limit 131072
zfs_vdev_async_read_max_active 3
zfs_vdev_async_read_min_active 1
zfs_vdev_async_write_active_max_dirty_percent 60
zfs_vdev_async_write_active_min_dirty_percent 30
zfs_vdev_async_write_max_active 10
zfs_vdev_async_write_min_active 2
zfs_vdev_cache_bshift 16
zfs_vdev_cache_max 16384
zfs_vdev_cache_size 0
zfs_vdev_max_active 1000
zfs_vdev_mirror_non_rotating_inc 0
zfs_vdev_mirror_non_rotating_seek_inc 1
zfs_vdev_mirror_rotating_inc 0
zfs_vdev_mirror_rotating_seek_inc 5
zfs_vdev_mirror_rotating_seek_offset 1048576
zfs_vdev_queue_depth_pct 1000
zfs_vdev_raidz_impl [fastest] original sca lar sse2 ssse3
zfs_vdev_read_gap_limit 32768
zfs_vdev_scheduler noop
zfs_vdev_scrub_max_active 2
zfs_vdev_scrub_min_active 1
zfs_vdev_sync_read_max_active 10
zfs_vdev_sync_read_min_active 10
zfs_vdev_sync_write_max_active 10
zfs_vdev_sync_write_min_active 10
zfs_vdev_write_gap_limit 4096
zfs_zevent_cols 80
zfs_zevent_console 0
zfs_zevent_len_max 192
zil_replay_disable 0
zil_slog_bulk 786432
zio_delay_max 30000
zio_dva_throttle_enabled 1
zio_requeue_io_start_cut_in_line 1
zio_taskq_batch_pct 75
zvol_inhibit_dev 0
zvol_major 230
zvol_max_discard_blocks 16384
zvol_prefetch_bytes 131072
zvol_request_sync 0
zvol_threads 32
zvol_volmode 1
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!