Data and networkStorage Private Preview
Block, file and object storage beside your GPUs.
Volumes for boot and data, shared filesystems that every node in a cluster mounts at once, and S3-compatible buckets for datasets and checkpoints. Storage sits in the same region as your compute and lands on the same bill.
fx.storage.filesystems.create(size="20TiB") | Job | Use | Why |
|---|---|---|
| Boot and system disks | SSD volume | Redundant. Survives hardware failures. |
| Kubernetes node disks | Non-redundant SSD volume | Fast, for data you can rebuild. |
| Databases and storage services | Mirrored SSD volume | High IOPS with three copies. |
| Datasets during training | Shared filesystem, or a bucket | Every node reads the same files. |
| Checkpoints | Shared filesystem, then a bucket | Fast to write now, simple to keep. |
| Scratch and caches | Local NVMe | Fastest. Erased when the node stops. |
| Weights for autoscaled inference | Shared filesystem | New replicas mount the same weights. |
| Results | Bucket | Reachable by any S3 tool. |
fs = fx.storage.filesystems.create(name="datasets", size="20TiB")
cluster = fx.clusters.create(
name="pretrain-a", gpu="H200:8", nodes=8,
mounts={"/data": fs}, # same files on every node
)
bucket = fx.storage.buckets.create(
name="acme-checkpoints",
storage_class="HIGH_THROUGHPUT",
) export AWS_ENDPOINT_URL="$FANTASTI_S3_ENDPOINT" # shown in the console
aws s3 cp ./ckpt/step-9000 s3://acme-checkpoints/run-12/ --recursive
aws s3api put-bucket-lifecycle-configuration \
--bucket acme-checkpoints \
--lifecycle-configuration file://to-standard-after-30d.json curl -X POST https://api.fantasti.ai/v1/storage/filesystems \
-H "Authorization: Bearer $FANTASTI_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "datasets", "size": "20TiB" }' Response
{ "id": "fs_3k9d…", "status": "creating" } Your S3 tools already work.
Buckets speak the S3 API. Point the AWS CLI or any S3 SDK at your Fantasti endpoint and keep your scripts.
- Endpoint
$FANTASTI_S3_ENDPOINT, shown in the console - Mount
mounts={"/data": fs}puts one filesystem on every node
Four kinds of storage
One 8-GPU node and the four kinds of storage it uses. Local NVMe, 6 × 3.84 TB, is inside the node, is not encrypted and is erased when the node stops. A volume (SSD; SSD, non-redundant; SSD, mirrored) is attached to one machine at a time. A shared filesystem is mounted by many nodes at once, at the same path. A bucket is reached over the S3 API and has three storage classes: STANDARD, TIERED, HIGH_THROUGHPUT. Connections: 8 GPUs to Volume: attach; 8 GPUs to Shared filesystem: mount; 8 GPUs to Bucket: S3 API.
HGX B300 · 8 GPUs
- drives
- 6 × 3.84 TB
- on stop
- erased
- encrypted
- no
- SSD
- SSD, non-redundant
- SSD, mirrored
mounts={"/data": fs}Every node reads the same files.
- STANDARD
- TIERED
- HIGH_THROUGHPUT
HGX B300 · 8 GPUs
- drives
- 6 × 3.84 TB
- on stop
- erased
- encrypted
- no
- SSD
- SSD, non-redundant
- SSD, mirrored
mounts={"/data": fs}- STANDARD
- TIERED
- HIGH_THROUGHPUT
HGX B300 · 8 GPUs
- drives
- 6 × 3.84 TB
- on stop
- erased
- encrypted
- no
Three SSD types.One machineat a time.
mounts={"/data": fs}Three storageclasses.
- Mounted by many nodes at once
- Attached to one machine
- Over the S3 API
- Volumes Up to 256 TiB each Three SSD types. Attached to one machine at a time.
- Shared filesystems Up to 100 PiB File storage mounted by many nodes at once.
- Object storage S3-compatible Three storage classes, lifecycle rules, versioning.
- Local NVMe 6 × 3.84 TB per node On B300 8-GPU nodes. Erased when the node stops.
Volumes.
| Question | SSD | SSD, non-redundant | SSD, mirrored |
|---|---|---|---|
| Use for | Boot disks, system data | Scratch and rebuildable node disks | Databases, storage services |
| Size | 1 GiB to 8 TiB | 93 GiB to 262,074 GiB (about 256 TiB), in 93 GiB steps | 93 GiB to 262,074 GiB (about 256 TiB), in 93 GiB steps |
| Throughput, up to | 450 MiB/s | 2 GiB/s | 2 GiB/s |
| Read IOPS, up to | 20,000 | 75,000 | 75,000 |
| Write IOPS, up to | 20,000 | 75,000 | 75,000 |
| Per step | 32 GiB: 15 MiB/s, 1,000 IOPS | 93 GiB: 110 MiB/s read, 82 MiB/s write, 28,000 read IOPS, 5,600 write IOPS | Same as non-redundant |
| Full performance from | 960 GiB | 2,325 GiB | 2,325 GiB |
| Redundancy | Erasure coding; tolerates two concurrent hardware failures | None | Three mirrored copies |
| Encryption at rest | Yes | Optional | Optional |
| Price, per GiB-month | $0.0888 | $0.0663 | $0.1475 |
- Sheet
- 01 / 04
- Title
- Volumes
- Table
- TAB 02
- Reviewed
- 2026-10-09
100 PiB maximum size of one shared filesystem.
One filesystem, every node.
A shared filesystem is file storage that many machines mount at the same time. Every node in a cluster sees the same datasets, code and checkpoints, with no copy step.
It is backed by SSDs, protected by erasure coding that tolerates two concurrent hardware failures, and encrypted at rest.
Throughput grows with size: a larger filesystem serves more data per second in aggregate.
On Kubernetes, mount it as a persistent volume shared between pods.
4 8-GPU nodes in a row, each joined by one link to the single shared filesystem below them. Every node mounts it at the same path, /data. Connections: Node 1 to Shared filesystem; Node 2 to Shared filesystem; Node 3 to Shared filesystem; Node 4 to Shared filesystem.
- mount
- /data
- mount
- /data
- mount
- /data
- mount
- /data
mounts={"/data": fs}Every node reads the same files.
- mount
- /data
- mount
- /data
mounts={"/data":fs}Every node reads thesame files.
- One namespace
One shared filesystem
Reviewed 2026-10-09- Size
- 1 GiB to 100 PiB
- Largest file
- 2 TiB at the default 4 KiB block size
- Redundancy
- Erasure coding; tolerates two concurrent hardware failures
- Encryption at rest
- Yes
- Price
- $0.1000 per GiB-month
Object Storage.
| Question | Standard | Tiered | High throughput |
|---|---|---|---|
| API value | STANDARD | TIERED | HIGH_THROUGHPUT |
| Use for | General storage, large static datasets | Data whose access you cannot predict | Streaming datasets and weights to GPUs, checkpoints |
| Transfer speed | Shared limit per account and region | Shared limit per account and region | Not throttled |
| Tiering | None | Warm to Cold after 30 days without access; back to Warm on access | None |
| Availability | Selected regions | Selected regions | All regions |
| Price, per GiB-month | $0.0184 | Warm $0.0375 Cold $0.0125 | $0.1375 |
Limits
- 1 billion objects per bucket
- 100 million versions per versioned bucket
- Keys up to 1,024 bytes
- Bucket names 3 to 63 characters
- Multipart parts up to 5 GiB
- Encrypted at rest
- Encrypted in transit
Supported
- Object put, get, head, copy, delete and batch delete
- Multipart upload
- ListObjectsV2
- Versioning
- Lifecycle rules
- CORS
- Bucket policies
- Object tagging
- Conditional requests
- Checksum headers
Not supported
- Object ACLs
- Object Lock and Legal Hold
- Replication rules
- Event notifications
- S3 Select
- Static website hosting
- SSE-KMS and SSE-S3 request headers
- Sheet
- 02 / 04
- Title
- Object Storage
- Tables
- TAB 03 · TAB 04
- Reviewed
- 2026-10-09
Rules that move data for you.
- 01
Lifecycle rules
Expire objects, old versions and abandoned multipart uploads, or move objects to another class by date, by age or by days since last access. Rules are evaluated once a day.
A lifecycle rule moves objects to another class. Schematic · not to scale. Objects stored in the class HIGH_THROUGHPUT are moved by a lifecycle rule to the class STANDARD. Connections: Objects to Objects: rule.
HIGH_THROUGHPUTSTANDARD
HIGH_THROUGHPUTSTANDARD
- 02
Data transfers
Copy or keep in sync between buckets, between regions, or from another S3-compatible store. Run once or on an interval.
A data transfer copies and keeps in sync. Schematic · not to scale. A data transfer copies from another S3-compatible store into a bucket in region A, and keeps that bucket and a bucket in region B in sync, in both directions. Connections: Any S3 store to Bucket: copy; Bucket to Bucket: sync; Bucket to Bucket.
S3-compatible
- region
- A
- region
- B
S3-compatible
- region
- A
- region
- B
- 03
Mount a bucket
Mount a bucket as a local filesystem for sequential, high-throughput reads. For locking, renames and shared editing, use a shared filesystem.
A bucket mounted on a node. Schematic · not to scale. A bucket is mounted on a node as a local filesystem, for sequential reads. Connections: Bucket to Node: mount.
Sequential reads.
Sequential reads.
- 04
S3 on a filesystem
Early accessAttach a bucket to a shared filesystem and reach the same files through the S3 API.
One set of files, two ways in. Schematic · not to scale. A bucket attached to a shared filesystem: the same files are reached at the path /data and through the S3 API. Connections: Shared filesystem to Bucket: same files; Bucket to Shared filesystem.
/dataS3 API
/dataS3 API
What survives what.
| Question | Local NVMe | Volume | Shared filesystem | Bucket |
|---|---|---|---|---|
| Survives a machine stop | No | Yes | Yes | Yes |
| Survives a spot stop | No | Yes | Yes | Yes |
| Shared between machines | No | No, one at a time | Yes | Yes |
| Size | Fixed by the node | You choose | You choose | Grows with use |
| Billed | Included in the node price | By provisioned size | By provisioned size | By stored size and use |
- Sheet
- 03 / 04
- Title
- What survives what
- Table
- TAB 05
- Reviewed
- 2026-10-09
Protection
- At rest
- Encrypted
- Durable storage is encrypted at rest.
- In transit
- Encrypted
- S3 requests are encrypted in transit.
- Access
- Bucket policies
- Per-object ACLs are not used.
- Local NVMe
- Not encrypted
- Wiped before reuse. Keep sensitive data on durable storage.
| Item | Billed by | Price | Unit |
|---|---|---|---|
| Volumes | |||
| Volume, SSD Provisioned size | Provisioned size | $0.0888 per GiB-month | per GiB-month |
| Volume, SSD, non-redundant Provisioned size | Provisioned size | $0.0663 per GiB-month | per GiB-month |
| Volume, SSD, mirrored Provisioned size | Provisioned size | $0.1475 per GiB-month | per GiB-month |
| Snapshot Provisioned size | Provisioned size | $0.0888 per GiB-month | per GiB-month |
| Shared filesystems | |||
| Shared filesystem Provisioned size | Provisioned size | $0.1000 per GiB-month | per GiB-month |
| Object storage | |||
| Bucket, Standard Stored size | Stored size | $0.0184 per GiB-month | per GiB-month |
| Bucket, Tiered, warm tier Stored size | Stored size | $0.0375 per GiB-month | per GiB-month |
| Bucket, Tiered, cold tier Stored size | Stored size | $0.0125 per GiB-month | per GiB-month |
| Bucket, High throughput Stored size | Stored size | $0.1375 per GiB-month | per GiB-month |
| Requests and egress | |||
| Standard class requests: PUT, POST, DELETE Requests | Requests | $4.25 per million requests | per million requests |
| Standard class requests: GET, HEAD Requests | Requests | $0.35 per million requests | per million requests |
| Standard class egress, to the internet or another region Data transferred | Data transferred | $0.0188 per GiB | per GiB |
| Tiered class egress, above three times the stored volume Data transferred | Data transferred | $0.0625 per GiB | per GiB |
Statement · Illustrative
| Cost center | Line | Resource | Billed by | Size | Rate / GiB-month | Amount |
|---|---|---|---|---|---|---|
| cc-4102research | Volume, SSD | boot-pretrain-aus-east | Provisioned size | 512 GiB | $0.0888 per GiB-month | $45.47 |
| cc-4102research | Snapshot | boot-pretrain-aus-east | Provisioned size | 512 GiB | $0.0888 per GiB-month | $45.47 |
| cc-4102research | Shared filesystem | datasetsus-east | Provisioned size | 20 TiB | $0.1000 per GiB-month | $2,048.00 |
| cc-4102research | Bucket, High throughput | acme-checkpointsus-east | Stored size | 6.4 TiB | $0.1375 per GiB-month | $901.12 |
| Storage, one month | $3,040.06 | |||||
Sizes are made up. Rates are the prices in TAB 06. Storage lands on the same bill as your compute.
- Sheet
- 04 / 04
- Title
- Storage billing
- Tables
- TAB 06 · TAB 07
- Reviewed
- 2026-10-09