Skip to main content

Storage

EcoLink offers two kinds of persistent storage. Both attach to GPU instances at launch (and some kinds can attach to user inference instances too).

KindBackingAccess patternGood for
Cloud DriveCeph RBD block storageOne instance at a timeYour personal dev environment — notebooks, checkpoints, datasets tied to one box
Shared FilesystemCephFS (network filesystem)Many instances simultaneouslyTeam datasets, shared model weights, files multiple instances need

Both bill per GB per month, prorated daily. The per-GB rate is shown in the storage page of the console.

Cloud Drives

Create one

  1. Console → Storage → Cloud Drives → Create.
  2. Fill in:
    • Name — friendly label, must be unique within your account
    • Size (GB) — 1 GB minimum, no fixed max (practically capped by the region's storage quota)
    • Region — must match the instance you'll attach it to

The drive is created in status pending, transitions to available within a minute or two (the PVC is being provisioned in the regional K8s cluster).

Attach at launch

In the GPU instance launch dialog, under Cloud Drives:

  • Pick an existing available drive from the dropdown (must be same region as your instance), OR
  • Create a new drive inline by filling in name + size

Then set a mount path — absolute Unix path where the drive will appear inside the container. Conventions:

  • /workspace — general-purpose dev area
  • /mnt/data — datasets
  • /home/user/notebooks — Jupyter-friendly

Up to 8 drives per instance.

Detach

Cloud drives auto-detach when the instance terminates. The drive stays in your account in available status — attach to a new instance anytime.

Delete

Console → Storage → Cloud Drives → click the drive → Delete. Only detached (available) drives can be deleted. Deletion is permanent — contents are lost.

Shared Filesystems

Create one

  1. Console → Storage → Shared File Systems → Create.
  2. Fill in name, size, region, and a default mount path (e.g., /shared).

Shared filesystems use CephFS under the hood — multiple pods in the same region can mount it read-write concurrently, with proper file locking.

Attach at launch

Same flow as cloud drives, but one shared filesystem can attach to many instances at once. The mount path set per-instance can override the default.

Example team workflow:

  1. Alice creates a team-datasets shared filesystem (100 GB) in one of the available regions, mount path /shared.
  2. Alice launches an instance with team-datasets attached, downloads imagenet.tar into /shared/imagenet.tar.
  3. Bob and Carol launch their own instances, each attaching the same team-datasets. They all see /shared/imagenet.tar without needing to re-download.

Concurrency notes

  • Reads: concurrent, no coordination needed.
  • Writes to different files: concurrent, fine.
  • Writes to the same file from multiple instances: file-lock semantics apply. Most POSIX patterns work; don't expect SQL-database-grade ACID.

Using drives from user inference instances

User inference instances can also attach shared filesystems (useful for loading model weights from a shared location rather than re-downloading per instance). See Launching an inference instance.

Cost control

  • Delete drives you no longer need. Empty-but-allocated drives still bill.
  • Right-size. A 100 GB drive costs $10/month whether it's 5% or 95% full — don't over-allocate.
  • Shared filesystems are cheaper overall if many instances need the same data (one copy, one bill).

Billing details

Storage is charged daily at per-GB-month-rate ÷ 30, per GB. Partial days are charged at the full daily rate (you're billed at the UTC day boundary). If balance goes to $0, storage resources are suspended (the data is still there; it's just not attached to any running instance until your balance recovers).