NavigationContentFooter
Jump toSuggest an edit

Block Storage - Quickstart

Reviewed on 28 May 2024Published on 23 November 2023

Scaleway Block Storage provides network-attached storage that can be plugged in and out of Instances like a virtual hard-drive. Block Storage devices are independent of the local storage of Instances, and the fact that they are accessed over a network connection makes it easy to move them between Instances in the same Availability Zone.

From the user’s point of view, once mounted, the block device behaves like a regular disk.

Before you start

To complete the actions presented below, you must have:

  • A Scaleway account logged into the console
  • Owner status or IAM permissions allowing you to perform actions in the intended Organization
  • Created an Instance

How to create a Block Storage volume

  1. Click Block Storage in the Storage section of the Scaleway console side menu. The Block Storage page displays.
  2. Click + Create volume.
  3. Follow the steps in the creation wizard:
    • Choose an Availability Zone.

    • Configure the volume:

      • Enter a name for your volume or leave the automatically generated name.
      • Select an IOPS.
      Important

      You cannot edit the IOPS after you create your volume.

      • Define a volume size.
      Important

      The volume size must be at least 5GB.

    • Select an Instance from the drop-down to attach your volume. This step is optional.

    • Check the estimated cost.

  4. Click Create volume. The volumes overview page displays.
    Important

    The volume must be in the same Availability Zone as the Instance you want to connect it to.

How to attach a Block Storage volume to an Instance

  1. Click Block Storage in the Storage section of the Scaleway console side menu. Your volumes display.
  2. Click «See more Icon» > Attach to Instance next to the volume of your choice. A pop-up displays.
  3. Select the Instance to which you want to attach your volume from the drop-down.
  4. Click Attach volume to Instance.

How to mount and use a Block Storage volume

In order to mount and use your Block Storage volume, you need to connect to the Instance it is attached to via SSH. Then, check that the volume is available, format it, and mount it, following the instructions below.

How to verify device availability

  1. Open a terminal and use the following command to connect to your Instance. Make sure that you replace <your_instance_ip> with your Instance’s IP. You can also find the SSH command in your Instance’s Overview tab in the Scaleway console.

    ssh root@<your_instance_ip>
  2. Use the lsblk command to make sure your volume is available:

    lsblk

    You should see an output similar to the following. The root Block volume sda, runs your OS. The Block volume named sdb is the one we will be mounting to the Instance.

    root@scw-festive-agnesi:~# lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
    sda 8:0 0 18.6G 0 disk
    ├─sda1 8:1 0 18.5G 0 part /
    ├─sda14 8:14 0 4M 0 part
    └─sda15 8:15 0 106M 0 part /boot/efi
    sdb 8:16 0 27.9G 0 disk
Note

The Scaleway ecosystem uses GB to define storage sizes and not GiB as the default on linux.

How to format the Block Storage volume

Formatting your volume prepares it for storing files.

  1. In the same terminal as the steps above, create a filesystem with the following command. This command uses the ext4 filesystem, though you can choose another if you prefer.
    # Make sure that you replace `/dev/sdX` with the name of your volume
    mkfs.ext4 /dev/sdX
  2. Make sure your filesystem is correctly created by running the lsblk -f command.
    lsblk -f

You should see an output like the following. Check that the FSTYPE field matches ext4 for your Block volume. In this example, we have formatted the sdb volume.

root@scw-festive-agnesi:~# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1
│ ext4 1.0 cloudimg-rootfs
│ cf5b092b-9a8b-49e9-980c-b44b5e3ed197 14.5G 18% /
├─sda14
└─sda15
vfat FAT32 UEFI D590-3FD4 98.3M 6% /boot/efi
sdb ext4 1.0 d36bdf8b-b2ff-4e2b-9736-cc05940aea35

How to mount the Block Storage volume

Once you have created your filesystem, you need to define where you want to mount your volume, and create a mount point (directory) for it.

  1. Create the mount point. Feel free to replace block-volume with another name for your mount point.

    mkdir /mnt/block-volume
  2. Mount the volume. We recommend that you use the defaults option, as in the command below.

    # Make sure that you replace sdX with the name of your volume
    mount -o defaults /dev/sdX /mnt/block-volume

    If you want to see all available options, you can run man mount on your Instance.

  3. Make sure your filesystem is properly mounted by running the lsblk command.

    lsblk

    You should see an output like the following. Check the MOUNTPOINT field.

    root@scw-festive-agnesi:~# lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 0 18.6G 0 disk
    ├─sda1 8:1 0 18.5G 0 part /
    ├─sda14 8:14 0 4M 0 part
    └─sda15 8:15 0 106M 0 part /boot/efi
    sdb 8:16 0 27.9G 0 disk /mnt/block-volume

The sdb volume is mounted at /mnt/block-volume

How to use fstab for Persistent Mounting

With the current configuration, your volume will not be mounted automatically upon reboot. Use the /etc/fstab file to make sure the reboot does not impact your filesystem.

Run the following command to make sure your volume is automatically mounted to your Instance upon reboot. Make sure that you replace sdX with your volume.

echo "UUID=$(blkid --output value /dev/sdX | head -n1) /mnt/block-volume ext4 defaults 0 0" >> /etc/fstab

You can now use your Block Storage volume like a regular disk of your Instance, and store data on it as you wish.

Docs APIScaleway consoleDedibox consoleScaleway LearningScaleway.comPricingBlogCarreer
© 2023-2024 – Scaleway