Documentation

InfluxDB file system layout

The InfluxDB file system layout depends on the operating system, installation method, or containerization platform used to install InfluxDB.

InfluxDB file structure

The InfluxDB file structure includes the following:

Engine path

Directory path to the storage engine, where InfluxDB stores time series data, includes the following directories:

To customize this path, use the engine-path configuration option.

Bolt path

File path to the Boltdb database, a file-based key-value store for non-time series data, such as InfluxDB users, dashboards, and tasks. To customize this path, use the bolt-path configuration option.

SQLite path

File path to the SQLite database, an SQL database for non-time series data, such as InfluxDB notebooks and annotations. To customize this path, use the sqlite-path configuration option.

Configs path

File path to influx CLI connection configurations (configs).

To use a custom path, pass the --configs-path flag with influx CLI commands.

InfluxDB configuration files

Some operating systems and package managers store a default InfluxDB (influxd) configuration file on disk. For more information about using InfluxDB configuration files, see Configuration options.

File system layout

macOS default paths

PathDefault
Engine path~/.influxdbv2/engine/
Bolt path~/.influxdbv2/influxd.bolt
SQLite path~/.influxdbv2/influxd.sqlite
Configs path~/.influxdbv2/configs

macOS file system overview

  • ~/.influxdbv2/
    • engine/
      • data/
        • TSM directories and files
      • wal/
        • WAL directories and files
    • configs
    • influxd.bolt
    • influxd.sqlite

When installing InfluxDB on Linux, you can download and install the influxd binary, or you can use a package manager. Which installation method you use determines the file system layout.

Installed as a standalone binary

Linux default paths (standalone binary)

PathDefault
Engine path~/.influxdbv2/engine/
Bolt path~/.influxdbv2/influxd.bolt
SQLite path~/.influxdbv2/influxd.sqlite
Configs path~/.influxdbv2/configs

Linux file system overview (standalone binary)

  • ~/.influxdbv2/
    • engine/
      • data/
        • TSM directories and files
      • wal/
        • WAL directories and files
    • configs
    • influxd.bolt
    • influxd.sqlite

Installed as a package

InfluxDB 2.7 supports .deb- and .rpm-based Linux package managers. The file system layout is the same with each.

Linux default paths (package)

PathDefault
Engine path/var/lib/influxdb/engine/
Bolt path/var/lib/influxdb/influxd.bolt
SQLite path/var/lib/influxdb/influxd.sqlite
Configs path/var/lib/influxdb/configs
Default config file path/etc/influxdb/config.toml

Linux file system overview (package)

  • /var/lib/influxdb/
    • engine/
      • data/
        • TSM directories and files
      • wal/
        • WAL directories and files
    • configs
    • influxd.bolt
    • influxd.sqlite
  • /etc/influxdb/
    • config.toml (influxd configuration file)

Windows default paths

PathDefault
Engine path%USERPROFILE%\.influxdbv2\engine\
Bolt path%USERPROFILE%\.influxdbv2\influxd.bolt
SQLite path%USERPROFILE%\.influxdbv2\influxd.sqlite
Configs path%USERPROFILE%\.influxdbv2\configs

Windows file system overview

  • %USERPROFILE%\.influxdbv2\
    • engine\
      • data\
        • TSM directories and files
      • wal\
        • WAL directories and files
    • configs
    • influxd.bolt
    • influxd.sqlite

InfluxDB Docker images are available from both Docker Hub and Quay.io. Each has a unique InfluxDB file system layout.

Docker Hub

For InfluxDB v2, the InfluxDB Docker Hub image uses /var/lib/influxdb2 instead of /var/lib/influxdb so you can easily mount separate volumes for InfluxDB 1.x and 2.x data during the upgrade process.

Docker Hub default paths

PathDefault
Engine path/var/lib/influxdb2/engine/
Bolt path/var/lib/influxdb2/influxd.bolt
SQLite path/var/lib/influxdb2/influxd.sqlite
Configs path/etc/influxdb2/influx-configs if InfluxDB is set up using automated setup mode or influx setup from within the container; /etc/influxdb2/configs otherwise.

Docker Hub file system overview

  • /var/lib/influxdb2/
    • engine/
      • data/
        • TSM directories and files
      • wal/
        • WAL directories and files
    • influxd.bolt
    • influxd.sqlite
  • /etc/influxdb2/
    • configs
    • influx-configs

Quay.io

Quay default paths

PathDefault
Engine path/root/.influxdbv2/engine/
Bolt path/root/.influxdbv2/influxd.bolt
SQLite path/root/.influxdbv2/influxd.sqlite
Configs path/root/.influxdbv2/configs

Quay file system overview

  • /root/.influxdbv2/
    • engine/
      • data/
        • TSM directories and files
      • wal/
        • WAL directories and files
    • configs
    • influxd.bolt
    • influxd.sqlite

Kubernetes default paths

PathDefault
Engine path/var/lib/influxdb2/engine/
Bolt path/var/lib/influxdb2/influxd.bolt
SQLite path/var/lib/influxdb2/influxd.sqlite
Configs path/etc/influxdb2/configs

Kubernetes file system overview

  • /var/lib/influxdb2/
    • engine/
      • data/
        • TSM directories and files +
      • wal/
        • WAL directories and files
    • influxd.bolt
    • influxd.sqlite
  • /etc/influxdb2/
    • configs

TSM directories and files layout

TSM directories and files are stored in the data directory inside the engine path. The diagram below is relative to the engine path.

  • /data/
    • 000xX00xxXx000x0/ (bucket ID)
      • _series/ (series directory)
        • 00/ (internal shard index)
          • 0000 (internal shard index file)
      • autogen
        • 0123/ (shard ID)
          • index (index directory)
            • L0-00000001.tsl (write-ahead log for the TSI index)
            • L0-00000001.tsi (series index)
            • MANIFEST (index manifest)

WAL directories and files layout

WAL directories and files are stored in the data directory inside the engine path. The diagram below is relative to the engine path.

  • /wal/
    • 000xX00xxXx000x0/ (bucket ID)
      • autogen/
        • 0123/ (shard ID)
          • _01234.wal (WAL file)

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Flux is going into maintenance mode and will not be supported in InfluxDB 3.0. This was a decision based on the broad demand for SQL and the continued growth and adoption of InfluxQL. We are continuing to support Flux for users in 1.x and 2.x so you can continue using it with no changes to your code. If you are interested in transitioning to InfluxDB 3.0 and want to future-proof your code, we suggest using InfluxQL.

For information about the future of Flux, see the following: