Skip to main content

EFS concepts

Morph EFS means Morph Elastic File System. It provides named filesystems that can be mounted into a supported Linux environment and used through ordinary file operations.

The important product boundary is simple: EFS is a filesystem surface, not object storage. You create a filesystem, mount it to a path on a supported host, read and write files through that path, unmount it, and delete it when it is no longer needed.

Core concepts

ConceptWhat it means
FilesystemThe durable EFS identity you create by name. This is the thing you mount, inspect, use, and eventually delete.
MountA connection between an EFS filesystem and a path on a supported Linux host.
Mount pathThe path where the filesystem appears on the machine running the mount command.
Active mountA signal that a filesystem is currently mounted and in use.
TTLAn optional cleanup boundary for temporary filesystems or mounts.
UsageSampled storage usage and active mount visibility for a filesystem.
CleanupThe service-side cleanup that finishes after unmount, delete, or TTL expiry.

Morph handles mount setup behind the CLI. Normal users should not need implementation-specific settings for EFS workflows.

EFS vs Volumes

Use EFS when you needUse Volumes when you need
A mounted Linux pathObject storage for buckets and objects
Directory traversal and file pathsObject upload, download, and listing
Tools that expect normal file I/OTools that already use object storage
Shared filesystem-style workflowsArtifact, cache, and dataset object storage

EFS and Volumes are different product surfaces. EFS users should not need to manage buckets or object storage credentials.

Filesystems

An EFS filesystem is the named storage resource you create and later mount.

morphcloud efs create shared-files
morphcloud efs get shared-files
morphcloud efs ls

Filesystems are the durable identities in EFS. A filesystem has a Morph-generated id, a user-provided name, lifecycle state, optional TTL, creation time, and active mount count.

Mounts

A mount gives the user a filesystem path for an EFS filesystem. The CLI requests access to the filesystem and returns when the mount path is ready.

morphcloud efs mount shared-files

By default, morphcloud efs mount <filesystem> mounts at ~/morph-efs/<filesystem>. To choose a path, pass it explicitly:

morphcloud efs mount shared-files /tmp/shared-files

Mounting runs in the background and returns when the path is ready. After that, use normal Linux file operations:

echo hello > ~/morph-efs/shared-files/test.txt
sync
cat ~/morph-efs/shared-files/test.txt

Unmount with the filesystem name or id. Unmounting ends the active mount:

morphcloud efs unmount shared-files

Shared mounts

The same EFS filesystem can be mounted from more than one supported host in the same Morph context.

Each host gets its own mount path. The shared storage identity is the EFS filesystem name or id, not the machine or mount path.

For example, mount the same filesystem on two supported hosts:

morphcloud efs mount shared-files

A file written through one mount can be read through another mount after the write is flushed:

echo hello > ~/morph-efs/shared-files/from-host-a.txt
sync

Then, from another mounted host:

cat ~/morph-efs/shared-files/from-host-a.txt

For concurrent writers, coordinate at the application level. Avoid having two processes overwrite the same file at the same time unless your application has a clear locking or atomic-write pattern.

Morph handles mount setup behind the CLI. Users do not manage implementation-specific settings for normal EFS workflows.

TUI

The EFS TUI is the interactive EFS experience:

morphcloud efs tui

Use it to inspect filesystems, watch mount state, create or mount a filesystem, unmount, and browse files from an active mount.

Dashboard

The EFS dashboard is the browser view for your filesystems:

morphcloud efs dashboard

Use it to inspect filesystem status, active mounts, usage, and recent user-visible activity from a browser. To open one filesystem directly, pass its name or id:

morphcloud efs dashboard shared-files

The dashboard is opened through a temporary browser link created by the CLI. Your Morph API key is not placed in the browser URL.

Lifecycle

A typical EFS lifecycle is:

  1. Create a filesystem with morphcloud efs create.
  2. Inspect it with morphcloud efs get, morphcloud efs ls, morphcloud efs tui, or morphcloud efs dashboard.
  3. Mount it with morphcloud efs mount, which returns when the mount path is ready.
  4. Read and write through the mounted path.
  5. Unmount it with morphcloud efs unmount, which ends the active mount.
  6. Delete it with morphcloud efs delete when it is no longer needed. Delete marks the filesystem for cleanup; cleanup finishes asynchronously after active mounts no longer block it.

If you set a TTL at create or mount time, treat it as a cleanup boundary for temporary workflows. For durable workflows, use explicit lifecycle commands and delete only after the filesystem is no longer needed.

Usage and billing

EFS tracks active mounts and sampled bytes used. The usage command shows the current product-level usage view:

morphcloud efs usage shared-files

Where EFS billing is enabled, storage pricing and filesystem quotas depend on the active Morph account or organization plan. See Usage and billing for the current EFS plan table and usage fields.

What EFS keeps out of the user path

Normal EFS docs and workflows stay at the product level: create, inspect, mount, use, unmount, delete, and review usage. If a workflow requires implementation-specific settings, it is outside the normal EFS user path.