-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
In-place OSS 1.x to 2.x upgrade #19308
Comments
I expect this is > a single sprint as there will be iteration and testing to ensure the process is as smooth as possible |
The is the process for upgrading users to 2.0: If there are 0 or 1 users in the 1.x instance:
If there are >= 2 users in the 1.x instance:
Once the upgrade is complete, the admin will log into the new 2.0 instance, and either manually set up new users in the org (with their own username/password and tokens) or distribute the newly created token to the appropriate user (in the case that the 1.x user was only used as an integration). examples: I am a 1.x user with 2 users (named a, b) configured in my 1.x instance, where a has read/write access to all databases, and b has write access to a single database. When i run the upgrade process, my 2.0 instance contains 1 org, 1 admin user, 1 operator token, and a token for each user with the description a, b, where token a has with r/w permissions to all buckets in 2.0 and token b has write access to a single bucket. |
@russorat, do you mean by we will prompt the user upgrade should provide interactive input for parameters? And no cli options? Or both?
|
@vlastahajek i would imagine it would work similar to the
|
What
Provide tooling to upgrade a user running InfluxDB 1.7 / 1.8 to InfluxDB 2.0.
Requirements
influxd upgrade
, that can restructure existing TSM data and update the boltdb database with the metadata frommeta.db
Upgrade Steps
It is assumed that the user has progressed through the upgrade to the point their org, user and other required metadata has been created in the local Bolt database.
The tool expects to be pointed to an existing InfluxDB 1.x directory (the "source directory") where the
meta.db
and time-series data is stored.meta.db
wal
anddata
meta.db
data, which stores database, retention policy and shard information.meta.db
file or bolt dbmeta.db
wal
and TSMdata
directories to the respective destination directories as described in the design below. Do not copy the_series
and TSIindex
directories; these will be regenerated upon startup._series
andindex
directories if they exist to reduce initial startup time.Design
The layout described in the following sections was discussed at length with Paul Dix, Edd and others.
On Disk Structure
Every bucket will have its own database and retention policy. To state it another way, every database will have exactly one retention policy, which is the bucket.
Creating two buckets,
bucket-a
andbucket-b
would result in the following:NOTE: The bucket metadata will be separate from the TSM 1 metadata (database name, retention policy name, shards, etc). As is with 1.x, the database name and retention policy names are immutable. Other metadata, such as shard duration may be exposed via subcommands of the
influx
CLI tool.Migration
Given the above property, if the user has the following existing structure:
The migration process will generate 4 buckets, one for each of the above database / retention policy pairs.
Imagine the migration process yields the following metadata for the 4 buckets:
The resulting layout on disk will be:
The text was updated successfully, but these errors were encountered: