I have some data loaded in Influx 1.8. I have successfully upgraded to v2 with the command
influxd upgrade --v1-dir $influxdb_path. The log reports a successful upgrade, and the data folders have similar sizes (~37 GB), so the data is there. Unfortunately, I cannot find it.
The upgrade process asked me to create a user, a bucket, and an organisation. It seems my data is not attached to any of them. I have tried to create a new bucket with the original name of the database, but it is empty.
What am I missing?
@DavidMH each of your DB/RP pairs from 1.x should have been converted to a 2.x bucket of the same name (
<db-name>/<rp-name>). What’s the path of your upgraded 2.x data folder? What command are you using to launch your upgraded 2.x instance post-upgrade?
The data is in
~/.influxdbv2/. I am launching influx as a service from systemctl, the configuration as given in the original rpm, just
Our systemd wrapper configures the
influxd process to read config from
/etc/influxdb/config.toml, can you check if it exists and (if so) what values it has set for
By default I believe it will be looking for data under
/var/lib/influxdb/. If you see that in the config, you could move the contents of your
~/.influxdbv2 under that path. You may need to
chown influxdb:influxdb the directory after copying the files.
You are correct, it was looking at
/var/lib. I don’t have much free space in the root directory, so I created a symlink from
chowned the contents. I have also verified the permissions of the contents are the same as in the original
Still, I cannot find the original data.
Some pieces of our storage engine don’t work well with symlinks. I’d instead recommend updating
/etc/influxdb/config.toml to point directly at your data in
bolt-path setting should contain the absolute path to
~/.influxdbv2/influxd.bolt, and the
engine-path setting should point to
That is some progress!
So, I wrote the full path in
bolt-path = "/home/david/.influxdbv2/influxd.bolt"
engine-path = "/home/david/.influxdbv2/engine"
systemctl doesn’t work, but if I run it as root it does. Ok, we’ll get to that later. But strangely, it looks for the bolt database in
If I add my user to the
influxdb group and start it as such, I get to see the bucket:
frenymlab/autogen, but in the data explorer it is empty. No tags, no measures, no nothing.
I am not sure why, but for some reason, that particular bucket is set the retention time to 60 days. Changing to “Never” doesn´t seem to stick. I can change the duration, though. There is another bucket with the same policy,
test/autogen that is rightly set to never expire. The data is still there, though, given the size on disk; and even within 60 days I should get some data.
Do you have any idea what went awry? Should I scrap this an re-load everything again?
So, now it is solved. I started the upgrade process from the beginning, but doing the following:
- Avoided using symlinks. V1.8 was running directly on
/var/lib/influxdb, since I have enough space.
- Created an user in V1.8. I don’t think this actually made a difference, since it had admin privileges and was not upgraded, according to the log.
- Ensure the retention policy in V1.8 was set to
- Make sure no
influxdb instances are running. Then upgrade with the package manager.
influxd upgrade --v1-dir /var/lib/influxdb as user, which creates
/home/david/.influxdbv2. Write that in
/etc/influxdb/config.toml. The ownership of this folder is now in the user
influxd as root. (
systemctl cannot find it, I think I need to restart for that).
http://localhost:8086/ has my bucket. Yay!
- Back up!