Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.nebius.com/llms.txt

Use this file to discover all available pages before exploring further.

In this article, you will learn how to use Compute disks and shared filesystems on virtual machines (VMs).
This article only covers additional volumes: non-boot disks and shared filesystems. You add a boot disk when you create a VM.
After creating a disk or a shared filesystem, you need to do the following to use it on a VM:
  1. Attach it to the VM by using Nebius AI Cloud interfaces.
  2. Mount it to the VM inside the VM’s operating system.
A VM and its volumes must be located in the same project. For more details about projects and resource hierarchy in Nebius AI Cloud, see How resources, identities and access are managed in Nebius AI Cloud.

How to attach volumes to VMs

To attach disks or shared filesystems to a VM:
  • New VM On the VM creation page (https://mintcdn.com/nebius-ai-cloud/1Ha0sWR6e1mnIaHS/_assets/sidebar/compute.svg?fit=max&auto=format&n=1Ha0sWR6e1mnIaHS&q=85&s=b91340217b08a1456d88ae0347f281d1 Compute → Virtual machines → Create virtual machine), do the following:
    1. Click Attach disk or Attach shared filesystem.
    2. Set up the volume:
      1. Select whether you want to add a new or existing volume. If an existing disk is already added to another VM, you cannot add it to the new VM. A filesystem can be shared by multiple VMs.
      2. For a new volume, set its parameters.
      3. Set a device ID if you are adding a disk, or a mount tag if you are attaching a filesystem. Device IDs and mount tags are used to mount volumes to VMs.
    3. Click the attach-volume button at the end of the window.
      When you click Create and add disk or Create and attach filesystem, the disk or filesystem is created immediately and charged separately even if you remove it from the VM later or do not proceed with creating the VM.
    4. If you want to manually mount the filesystem that you added to the VM, turn off the Auto mount option for the filesystem. By default, Compute automatically mounts filesystems that you add to VMs via the web console. If you add a disk, you always need to mount it manually.
  • Existing VM Disks
    1. In the sidebar, go to https://mintcdn.com/nebius-ai-cloud/1Ha0sWR6e1mnIaHS/_assets/sidebar/compute.svg?fit=max&auto=format&n=1Ha0sWR6e1mnIaHS&q=85&s=b91340217b08a1456d88ae0347f281d1 Compute → Virtual machines.
    2. Open the page of the required VM.
    3. Switch to the Disks tab.
    4. Click Attach resource → Disk.
    5. Select whether you want to attach a new or existing disk. If an existing disk is already attached to another VM, you cannot attach it to a new VM.
    6. For a new disk, set its parameters.
    7. Set a device ID for the disk. Device IDs are used to mount disks to VMs.
    8. Click the attach-volume button at the end of the window.
    Shared filesystems
    1. In the sidebar, go to https://mintcdn.com/nebius-ai-cloud/1Ha0sWR6e1mnIaHS/_assets/sidebar/compute.svg?fit=max&auto=format&n=1Ha0sWR6e1mnIaHS&q=85&s=b91340217b08a1456d88ae0347f281d1 Compute → Virtual machines.
    2. Open the page of the required VM.
    3. If the VM is not in the Stopped status, click Stop VM and then confirm the action.
    4. After the VM has the Stopped status, switch to the Filesystems tab.
    5. Click Attach resource → Filesystem.
    6. Select whether you want to attach a new or existing filesystem. A filesystem can be shared by multiple VMs.
    7. For a new filesystem, set its parameters.
    8. Set a mount tag for the filesystem. Mount tags are used to mount filesystems to VMs.
    9. Click the attach-volume button at the end of the window.

How to mount volumes to VMs

Disks

  1. Attach the disk to a VM.
  2. If you have not saved the disk’s device ID, for example, when adding it to the VM, get it from the information about the VM:
    nebius compute instance get --id <VM_ID> --format json \
      | jq -r --arg disk_id <disk_ID> \
        '.spec.secondary_disks[]
        | select(.existing_disk.id == $disk_id)
        | .device_id'
    
    To get the VM ID, run nebius compute instance list. To get the disk ID, run nebius compute disk list.
  3. Connect to the VM over SSH.
  4. Switch to the root user:
    sudo su -
    
  5. Partition the device. For example, you can use cfdisk. In the example below, we assume that you have named the device disk-0; for disks, all device IDs are prefixed with virtio-:
    1. Run cfdisk:
      cfdisk /dev/disk/by-id/virtio-disk-0
      
      Referring to a device by its name, e.g., /dev/vdb, does not guarantee it will function properly. Use the device ID instead, e.g., /dev/disk/by-id/virtio-disk-0.
    2. Under Select label type, select gpt and press Enter.
    3. Select New (partition) and press Enter.
    4. Enter the partition size and press Enter. This will create a /dev/disk/by-id/virtio-disk-0-part1 partition.
    5. Select Write (the partition table to the device) and press Enter, then type yes and press Enter.
    6. Select Quit and press Enter.
  6. Format the partition:
    mkfs.ext4 /dev/disk/by-id/virtio-disk-0-part1
    
  7. Mount the partition and configure permissions for it by using chmod. In the example below, the partition is mounted at /mnt/disk-0, and all VM users are granted write access to it:
    mkdir /mnt/disk-0
    mount /dev/disk/by-id/virtio-disk-0-part1 /mnt/disk-0
    chmod a+w /mnt/disk-0
    
  8. If you want the partition to be mounted automatically after every VM restart, add it to /etc/fstab by its UUID:
    echo "UUID=$(blkid -s UUID -o value /dev/disk/by-id/virtio-disk-0-part1) /mnt/disk-0 ext4 defaults,nofail 0 2" >> /etc/fstab
    
    Do not omit nofail. If it is not specified and the VM cannot find the partition on restart (for example, the disk has been repartitioned), the VM will not boot.
  9. Exit the root user shell:
    exit
    

Shared filesystems

If you create a VM in the web console, you can automatically attach and mount a shared filesystem to the VM by using the Auto mount option. If you do not use it, mount the filesystem manually. To do this:
  1. Attach the shared filesystem to a VM.
  2. If you have not saved the filesystem’s mount tag, for example, when adding it to the VM, get the mount tag from the information about the VM:
    nebius compute instance get --id <VM_ID> --format json \
      | jq -r --arg fs_id <filesystem_ID> \
        '.spec.filesystems[]
        | select(.existing_filesystem.id == $fs_id)
        | .mount_tag'
    
    To get the VM ID, run nebius compute instance list. To get the disk ID, run nebius compute filesystem list.
  3. Connect to the VM over SSH.
  4. Switch to the root user:
    sudo su -
    
  5. Mount the filesystem as a virtiofs device and configure permissions for it by using chmod. In the example below, a filesystem has the mount tag filesystem-0 and is mounted at /mnt/fs. All VM users are granted write access to it:
    mkdir /mnt/fs
    mount -t virtiofs filesystem-0 /mnt/fs
    chmod a+w /mnt/fs
    
  6. If you want the filesystem to be mounted automatically after every VM restart, add it to /etc/fstab:
    echo "filesystem-0 /mnt/fs virtiofs rw,nofail 0 0" >> /etc/fstab
    
    Do not omit nofail. If it is not specified and the VM cannot find the filesystem on restart (for example, it has been deleted), the VM will not boot.
  7. Exit the root user shell:
    exit
    

See also