How to migrate your ObjectStore to the Fuga Cloud ObjectStore

It’s possible to move your Object Store from a different platform to the Fuga Object Store. Since almost all of the Object Stores are S3 compatible, you are free to migrate to any compatible platform. This tutorial will explain how to create a Fuga Object Store container and how to migrate from different platforms.

Requirements

  • Linux/macOS/BSD system

Creating a Fuga Object Store container

Before you can move your S3 compatible Object Store from a different platform to the Fuga Object Store, you first need a Fuga Object Store container.

  1. Open your Fuga Dashboard and open the ‘Object Store’ section.

  2. Click on ‘Containers’ and followed by clicking the + Container button.

  3. Give your new container a fitting name and click on + Create.

We now have a container that is ready to be used in the upcoming steps.

Fuga Object Store keys

To connect to your Fuga Object Store access and secret tokens are required. If you already have these you can skip this chapter.

  1. To list and create API keys for the Object Store we need the Fuga OpenStack CLI. If you haven’t installed it yet check out our tutorial.

  2. After following the tutorial for your operating system it’s time to list the credentials. We need the credentials to access our Object Store container in later steps.

  3. To list all the credentials, enter the command:

    openstack ec2 credentials list
  4. If the list of credentials is empty, a new pair of credentials can be generated with:

    openstack ec2 credentials create
  5. Either copy the Access and Secret key to the clipboard or save them temporarily

Installing and setting up rclone

Rclone is used to sync files between S3 compatible buckets. With rclone you can sync different object store buckets to the Fuga Object Store. In this chapter, we will be setting up rclone for Fuga.

  1. Start the rclone installation by executing the following command in your Terminal:

    curl https://rclone.org/install.sh | sudo bash
  2. To start configuring rclone use following command:

    rclone config
  3. Enter n to create a new remote.

  4. When asked for a name enter a fitting name, for example, fuga.

  5. Enter 3 to select S3 compliant storage since the Fuga Object Store is S3 compliant with Ceph.

  6. Enter 2 to select Ceph as S3 provider.

  7. Enter 1 to select Enter AWS credentials in the next step.

  8. Enter your Fuga access_key that you obtained from the previous chapter and press enter.

  9. Enter your Fuga secret_key that you obtained from the previous chapter and press enter.

  10. Enter 2 to select Use this only if v4 signatures don't work, eg pre Jewel/v10 CEPH. "other-v2-signature"

  11. When asked for an endpoint enter https://object.api.ams.fuga.cloud.

  12. When asked for location_constraint, just press enter to keep it empty.

  13. When asked for acl, enter 1, for full ownership of the created buckets. If you want to restrict access, you can choose a different option.

  14. In the final step a summary will be shown and should look like this:

    [fuga]
    type = s3
    provider = Ceph
    env_auth = false
    access_key_id = YOUR_FUGA_ACCESS_KEY
    secret_access_key = YOUR_FUGA_SECRET_KEY
    region = other-v2-signature
    endpoint = https://object.api.ams.fuga.cloud
    location_constraint =
    acl = private
  15. If all the information in the summary is correct, press y to confirm. If you want to edit the new remote you can press e.

Adding new remotes to sync with

Migrating your object store to the Fuga Object Store is easy! This chapter will explain how to add other object stores to rclone from different platforms.

Backblaze

  1. Log in to your Backblaze account and go to the Buckets page.

  2. Click on Show Account ID and Application Key to view your personal Backblaze keys.

  3. Click on Create application key to create a new application key for rclone to use. Keep this popup open because we need these keys in the upcoming steps.

  4. Enter the following command to configure rclone:

    rclone config
  5. Enter n to create a new remote.

  6. When asked for a name enter a fitting name, for example, backblaze.

  7. Enter 4 to select B2 Backblaze.

  8. Enter your Account ID from step 3.

  9. Enter your Application Key from step 3.

  10. When asked for an endpoint, just press enter to keep it empty.

  11. In the final step a summary will be shown and should look something like this:

    [backblaze]
    type = b2
    account = YOUR_ACCOUNT_ID
    key = YOUR_APPLICATION_KEY
    endpoint =
  12. If all the information in the summary is correct, press y to confirm. If you want to edit the new remote you can press e.

  13. See the next chapter Syncing an object store to the Fuga Object Store for the continuation of this tutorial.

IBM COS

  1. Log in to your IBM Cloud dashboard.

  2. Open your bucket and go to Service credentials

  3. Click on New Credentials + to add new credentials.

  4. From the Role dropdown select Manager.

  5. Keep the Select Service ID as default.

  6. In the Add Inline Configuration Parameters (Optional): input add the following text: {"HMAC":true}

  7. Click on Add to generate the new credentials.

  8. Click on View credentials to show the credentials in JSON format. Keep this page open because we need this in the upcoming steps.

  9. Enter the following command to configure rclone:

    rclone config
  10. Enter n to create a new remote.

  11. When asked for a name enter a fitting name, for example, wasabi.

  12. Enter 3 to select S3 compliant storage.

  13. Enter 5 to select Wasabi as S3 provider.

  14. Enter 1 to select Enter AWS credentials in the next step.

  15. Enter your IBM COS access_key that you obtained from step 8 and press enter.

  16. Enter your IBM COS secret_key that you obtained from step 8 and press enter.

  17. Enter 1 to select Use this if unsure. Will use v4 signatures and an empty region.

  18. Enter the number for your IBM COS region and press enter. You can find this in your bucket list on IBM COS.

  19. Enter the number for your IBM COS Location constraint and press enter. You can find this in your bucket list on IBM COS.

  20. When asked for acl, enter 1, for full ownership of the created buckets. If you want to restrict access, you can choose a different option.

  21. In the final step a summary will be shown and should look like this:

    [ibm]
    type = s3
    provider = IBMCOS
    env_auth = false
    access_key_id = YOUR_IBM_COS_ACCESS_KEY
    secret_access_key = YOUR_IBM_COS_SECRET_KEY
    region =
    endpoint = s3.eu-geo.objectstorage.softlayer.net
    location_constraint = eu-standard
    acl = private
  22. See the next chapter Syncing an object store to the Fuga Object Store for the continuation of this tutorial.

Wasabi

  1. Log in to your Wasabi account and open the left menu.

  2. Click on Access keys.

  3. If you don’t have an access key yet, click on + CREATE NEW ACCESS KEYS.

  4. A popup will show with your new access key. Click on Show at the bottom of the popup to see your secret key, keep this popup open.

  5. Enter the following command to configure rclone:

    rclone config
  6. Enter n to create a new remote.

  7. When asked for a name enter a fitting name, for example, wasabi.

  8. Enter 3 to select S3 compliant storage.

  9. Enter 7 to select Wasabi as S3 provider.

  10. Enter 1 to select Enter AWS credentials in the next step.

  11. Enter your Wasabi access_key that you obtained from step 4 and press enter.

  12. Enter your Wasabi secret_key that you obtained from step 4 and press enter.

  13. Enter 1 to select Use this if unsure. Will use v4 signatures and an empty region.

  14. Enter 1 to select the default Wasabi URL.

  15. When asked for location_constraint, just press enter to keep it empty.

  16. When asked for acl, enter 1, for full ownership of the created buckets. If you want to restrict access, you can choose a different option.

  17. In the final step a summary will be shown and should look like this:

    [wasabi]
    type = s3
    provider = Wasabi
    env_auth = false
    access_key_id = YOUR_WASABI_ACCESS_KEY
    secret_access_key = YOUR_WASABI_SECRET_KEY
    region =
    endpoint = s3.wasabisys.com
    location_constraint =
    acl = private
  18. See the next chapter Syncing an object store to the Fuga Object Store for the continuation of this tutorial.

Syncing an object store to the Fuga Object Store

When you have rclone configured, it is time to migrate your object store to the Fuga Object Store. We can do this with the rclone sync command. The syntax for this command is rclone sync SRC:BUCKET TARGET:BUCKET.

  1. A way to use the rclone sync command is:

    rclone sync aws:my_old_bucket fuga:my_new_container

When rclone is done syncing, you can check your Fuga Object Store container on your dashboard. All your files should be there, you are free to remove your old Object Store or keep it as a backup.