Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
201 changes: 149 additions & 52 deletions compute/instances/how-to/migrate-volumes-snapshots-to-sbs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,19 @@ content:
paragraph: This guide provides step-by-step instructions to help you migrate your existing Block Storage volumes and snapshots to Scaleway's new Block Storage management system.
tags: instance snapshot volume b_ssd sbs
dates:
validation: 2024-08-07
validation: 2024-10-10
posted: 2024-08-07
categories:
- compute
---

Scaleway is transitioning the management of Block Storage volumes and snapshots from compute teams to storage teams to enhance performance and reliability.
While the characteristics of your migrated volumes and snapshots will remain unchanged, they will now be managed by Scaleway's new storage management system.
This guide provides the steps needed to migrate your volumes and snapshots smoothly.
While the characteristics of your migrated volumes and snapshots will remain unchanged, Scaleway's new storage management system will now manage them.
This guide provides the steps needed to migrate your volumes and snapshots using either the [Scaleway Command Line Interface (CLI)](/developer-tools/scaleway-cli/quickstart/) tool (recommended) or via the [Instances API](https://www.scaleway.com/en/developers/api/instance/#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage).

<Message type="tip">
The easiest way to migrate your Block Storage volumes and snapshots is by using the [Scaleway Command Line Interface (CLI)](/developer-tools/scaleway-cli/quickstart/) tool.
</Message>

<Macro id="requirements" />

Expand All @@ -28,62 +32,155 @@ This guide provides the steps needed to migrate your volumes and snapshots smoot
This process applies only to Block SSD (`b_ssd`) volumes.
</Message>

1. Plan the migration by using the following `curl` command:

```bash
curl --location "https://api.scaleway.com/instance/v1/zones/$SCW_AVAILABILITY_ZONE/block-migration/plan" \
--header "Content-Type: application/json" \
--header "X-Auth-Token: $SCW_SECRET_KEY" \
--data "{
\"volume_id\": \"$SCW_VOLUME_ID\"
}"
```

The response includes the volume and any snapshots created from the volume that will be migrated. It also returns a `validation_key`.

2. Confirm the migration by using the following `curl` command:

```bash
curl --location "https://api.scaleway.com/instance/v1/zones/$SCW_AVAILABILITY_ZONE/block-migration/apply" \
--header "Content-Type: application/json" \
--header "X-Auth-Token: $SCW_SECRET_KEY" \
--data "{
\"volume_id\": \"$SCW_VOLUME_ID\",
\"validation_key\": \"$SCW_VALIDATION_KEY\"
}"
```
<Tabs>
<TabsTab label="CLI">
<Message type="note">
When you migrate a volume, the volume and any snapshots created from the volume will be migrated.
</Message>
1. Retrieve the ID of your Block Storage volume using the `scw instance volume list` command. This command returns a list of your volumes, as shown below:
```
$ scw instance volume list
ID STATE SERVER ID SERVER NAME
369feb53-165f-437d-875e-188725df462b available
```
2. Plan the volume migration with the `scw instance volume plan-migration <VOLUME_ID>` command. This command provides the state of the volume and a unique `ValidationKey`, which is needed to start the migration.
```
$ scw instance volume plan-migration 369feb53-165f-437d-875e-188725df462b
Volume.ID 369feb53-165f-437d-875e-188725df462b
Volume.Name vol-peaceful-davinci
Volume.Size 25 GB
Volume.VolumeType b_ssd
Volume.CreationDate 3 minutes ago
Volume.ModificationDate 3 minutes ago
Volume.Organization 27e53d15-cc73-440e-956c-40560076e3d7
Volume.Project 27e53d15-cc73-440e-956c-40560076e3d7
Volume.Server.ID 177c6ed5-e999-4cc7-b152-8ce56217579c
Volume.Server.Name scw-naughty-robinson
Volume.State available
Volume.Zone fr-par-1
ValidationKey 30d129ca895c4cd59f4c429e12dab300
```
3. Execute the migration using the `scw instance volume apply-migration <VOLUME_ID> validation-key=<VALIDATION_KEY> zone=<VOLUME_ZONE>` command.
```
$ scw instance volume apply-migration 369feb53-165f-437d-875e-188725df462b validation-key=30d129ca895c4cd59f4c429e12dab300 zone=fr-par-1
✅ Success
```
The volume migration is complete. You can now manage the migrated volume from the [Block Storage Volumes section](https://console.scaleway.com/block-storage/volumes) in the Scaleway console.

</TabsTab>
<TabsTab label="API">
<Message type="note">
When you migrate a volume using the API, the volume and any snapshots created from the volume will be migrated.
</Message>

1. Plan the migration by using the following `curl` command:

```bash
curl --location "https://api.scaleway.com/instance/v1/zones/$SCW_AVAILABILITY_ZONE/block-migration/plan" \
--header "Content-Type: application/json" \
--header "X-Auth-Token: $SCW_SECRET_KEY" \
--data "{
\"volume_id\": \"$SCW_VOLUME_ID\"
}"
```

The response includes the volume and any snapshots created from the volume that will be migrated. It also returns a `validation_key`.

2. Confirm the migration by using the following `curl` command:

```bash
curl --location "https://api.scaleway.com/instance/v1/zones/$SCW_AVAILABILITY_ZONE/block-migration/apply" \
--header "Content-Type: application/json" \
--header "X-Auth-Token: $SCW_SECRET_KEY" \
--data "{
\"volume_id\": \"$SCW_VOLUME_ID\",
\"validation_key\": \"$SCW_VALIDATION_KEY\"
}"
```
</TabsTab>
</Tabs>

## Migrating an existing Block Storage snapshot to Scaleway Block Storage management

<Message type="important">
This process applies to Block SSD (`b_ssd`) or Unified (`unified`) snapshots.
</Message>

1. Plan the migration by using the following `curl` command:

```bash
curl --location "https://api.scaleway.com/instance/v1/zones/$SCW_AVAILABILITY_ZONE/block-migration/plan" \
--header "Content-Type: application/json" \
--header "X-Auth-Token: $SCW_SECRET_KEY" \
--data "{
\"snapshot_id\": \"$SCW_SNAPSHOT_ID\"
}"
```

The response includes the source volume of the snapshot and any snapshots created from this volume, including the `snapshot_id` provided by the user. It also returns a `validation_key`.

2. Confirm the migration using the following `curl` command:

```bash
curl --location "https://api.scaleway.com/instance/v1/zones/$SCW_AVAILABILITY_ZONE/block-migration/apply" \
--header "Content-Type: application/json" \
--header "X-Auth-Token: $SCW_SECRET_KEY" \
--data "{
\"snapshot_id\": \"$SCW_SNAPSHOT_ID\",
\"validation_key\": \"$SCW_VALIDATION_KEY\"
}"
```
<Tabs>
<TabsTab label="CLI">
<Message type="note">
When you migrate a snapshot, the source volume of the snapshot and any snapshots created from this volume will also be migrated.
</Message>
1. Retrieve the ID of your snapshot using the `scw instance snapshot list` command. This command provides an output similar to the following:
```
$ scw instance snapshot list
ID NAME
a377afe5-a9a3-4706-b8c2-8d1c247a620f snap-eloquent-edison
```
2. Plan the migration with the `scw instance snapshot plan-migration <SNAPSHOT_ID>` command. This command returns the state of the snapshot and a unique `ValidationKey`, which is necessary to start the migration.
```
$ scw instance snapshot plan-migration a377afe5-a9a3-4706-b8c2-8d1c247a620f
Snapshots.0.ID a377afe5-a9a3-4706-b8c2-8d1c247a620f
Snapshots.0.Name image-scw-quirky-torvalds_snap_0
Snapshots.0.Organization 4a2e00bf-5126-43ce-9b09-be943c619139
Snapshots.0.Project 4a2e00bf-5126-43ce-9b09-be943c619139
Snapshots.0.VolumeType b_ssd
Snapshots.0.Size 10 GB
Snapshots.0.State available
Snapshots.0.CreationDate 2 weeks ago
Snapshots.0.ModificationDate 5 days ago
Snapshots.0.Zone fr-par-1
Snapshots.1.ID 384799c2-c4dd-40ab-bd65-ed95cd7b4d5c
Snapshots.1.Name snap-eloquent-edison
Snapshots.1.Organization 4a2e00bf-5126-43ce-9b09-be943c619139
Snapshots.1.Project 4a2e00bf-5126-43ce-9b09-be943c619139
Snapshots.1.VolumeType b_ssd
Snapshots.1.Size 10 GB
Snapshots.1.State available
Snapshots.1.CreationDate 2 weeks ago
Snapshots.1.ModificationDate 5 days ago
Snapshots.1.Zone fr-par-1
ValidationKey b36f7bcc21d344d783d4cbb27536bfad
```
3. Execute the migration using the `scw instance snapshot apply-migration <SNAPSHOT_ID> validation-key=<VALIDATION_KEY> zone=<SNAPSHOT_ZONE>` command.
```
$ scw instance snapshot apply-migration a377afe5-a9a3-4706-b8c2-8d1c247a620f validation-key=b36f7bcc21d344d783d4cbb27536bfad zone=fr-par-1
✅ Success.
```
The snapshot migration is complete. You can now manage the migrated snapshot from the [Block Storage Snapshot section](https://console.scaleway.com/block-storage/volumes) in the Scaleway console.
</TabsTab>
<TabsTab label="API">
<Message type="note">
When you migrate a snapshot using the API, the source volume of the snapshot and any snapshots created from this volume will also be migrated.
</Message>

1. Plan the migration by using the following `curl` command:

```bash
curl --location "https://api.scaleway.com/instance/v1/zones/$SCW_AVAILABILITY_ZONE/block-migration/plan" \
--header "Content-Type: application/json" \
--header "X-Auth-Token: $SCW_SECRET_KEY" \
--data "{
\"snapshot_id\": \"$SCW_SNAPSHOT_ID\"
}"
```

The response includes the source volume of the snapshot and any snapshots created from this volume, including the `snapshot_id` provided by the user. It also returns a `validation_key`.

2. Confirm the migration using the following `curl` command:

```bash
curl --location "https://api.scaleway.com/instance/v1/zones/$SCW_AVAILABILITY_ZONE/block-migration/apply" \
--header "Content-Type: application/json" \
--header "X-Auth-Token: $SCW_SECRET_KEY" \
--data "{
\"snapshot_id\": \"$SCW_SNAPSHOT_ID\",
\"validation_key\": \"$SCW_VALIDATION_KEY\"
}"
```
</TabsTab>
</Tabs>

## Going further

To learn more about managing your migrated Block Storage volumes from the Scaleway console, refer to the [Block Storage - Console documentation](/storage/block/quickstart/). Additionally, you can manage your Block Storage volumes using the [Scaleway Block Storage API](https://www.scaleway.com/en/developers/api/block/).
To learn more about managing your migrated Block Storage volumes from the Scaleway console, refer to the [Block Storage - Console documentation](/storage/block/quickstart/). Additionally, you can manage your Block Storage volumes using the [Scaleway Block Storage API](https://www.scaleway.com/en/developers/api/block/).