Skip to content

VictoriaMetrics Storage

  • It's the actual TSDB
  • It's the only stateful component in VicMetrics
  • Stores data on local disk and answers both "store these samples" (from vminsert) and "give me the raw data for this query" (from vmselect).

  • vmstorage nodes do not talk to each other. They don't know about each other's existence. All the coordination lives in the stateless vminsert/vmselect tiers. This is a defining architectural property.

  • Each node owns whatever series were hashed to it. It handles its own compaction, retention (-retentionPeriod), and deduplication (-dedup.minScrapeInterval).
  • Two ports:
  • 8400 — vminsert connects here to push data.
  • 8401 — vmselect connects here to read data.
  • Because nodes are independent, adding capacity = add more vmstorage nodes and point vminsert/vmselect at them. Existing data isn't rebalanced; new series distribution just includes the new nodes.