Welcome to the new DOCS.vastdata.com. We've added new menus and a version selector, plus new persona and resource pages to help customers get started. Looking for a previous article? Use the docs search.

Overview

Prev Next

Applies to VAST Cluster 5.5.

VAST DataStore is the file and object storage of a VAST cluster. Applications reach it over S3, NFS and SMB, and the same data can be reached through more than one of them: an object your application writes over S3 can be read as a file over NFS, and a file written over NFS is an object in the bucket. These docs are for developers who build against VAST S3 and NFS: which S3 calls work and how they differ from AWS, how to configure the usual clients, how to move large data quickly, and what to watch when two protocols share the same data.

What it is

  • One namespace, several protocols. A cluster stores files, objects and tables in one namespace, the Element Store. A view exposes a path in it to one or more protocols: an NFS export, an SMB share, an S3 bucket, or several of these at once. A bucket is a view with the S3 Bucket protocol. See concepts.
  • S3-compatible, not a copy of AWS. The cluster implements a subset of the S3 REST API, with AWS Signature Version 2 and 4, over HTTP or HTTPS. Most everyday calls work as they do on AWS. Some differ, some are missing, and there are a few VAST additions, such as renaming an object in one request. See S3 compatibility.
  • NFSv3, NFSv4.1 and NFSv4.2, with byte-range locks, NFSv4 ACLs, NFSv4.2 extended attributes and NFSv4 file delegations, plus client-side options for parallel connections. See NFS for applications.
  • SMB 2.1 and 3.0 for Windows clients. These docs cover SMB only as it affects data shared with S3 and NFS: see the SMB reference.
  • Your identity is a VAST user. S3 requests are signed with an access key pair that belongs to one VAST user in one tenant. The same user can own files over NFS and SMB. How S3 permissions and file permissions combine is decided per view, by the view policy's security flavor. See multiprotocol access.
  • Set up by your platform team. Views, view policies, protocols, quotas, users and S3 keys are admin tasks. Access lists what to ask for.

The cluster keeps files, objects and tables in one namespace. A view exposes one path in it to one or more protocols: an NFS export to mount (NFSv3, NFSv4.1, NFSv4.2), an SMB share, an S3 bucket whose root is the view's path, or VAST DataBase and VAST Event Broker. The same data under a view with both S3 and NFS is an object to S3 clients and a file to NFS clients. Clients connect to virtual IPs from a pool, and every request is made as a VAST user: S3 requests are signed with that user's access key pair. The view's policy decides which protocol's permissions apply.

One namespace; a view exposes a path to one or more protocols.

Use cases and considerations

Example use cases:

Important to note:

  • Bucket names are unique across the whole cluster, not only in your tenant, and a bucket can't be renamed or moved once it exists.
  • Bucket configuration that AWS exposes through the S3 API is partly admin-side here. Lifecycle rules (expiration) are set by your platform team, not with PutBucketLifecycleConfiguration. Versioning, once enabled, can't be suspended. See S3 compatibility.
  • Some features keep a bucket to S3 only. A bucket with object locking can't also be exposed over NFS or SMB, and versioned objects are read-only over NFS and SMB.
  • Multiprotocol behaviour depends on the view's security flavor. It decides which protocol's permissions apply. Identity and bucket policies apply only with the S3 Native flavor. Ask which flavor your view uses before you design around it.

How to read these docs

Where to start

  1. Admin task: send to your platform team. Ask for a bucket (or an NFS export) and an S3 access key pair. Access lists what to ask for.
  2. Run the quickstart.
  3. If the same data will be used over S3 and NFS, read multiprotocol access before you write any data.

See also