A Parallelstore instance is a hosted file storage server that is designed to allow extremely high IOPs and very low latency, by leveraging direct, parallel access to storage media.
When creating a Parallelstore instance, you must define the following properties:
- The instance's name.
- The storage capacity. Capacity can range from 12TiB (tebibytes) to 100TiB, in multiples of 4. For example, 16TiB, 20TiB, 24TiB.
- The location. For best performance, locate your instance in the same zone as your client VMs or clusters.
- File and directory striping settings. See Performance considerations for details on each of these settings.
- The VPC network for this instance. This must be the same network as used for your VMs or clusters.
Required permissions
To create a new Parallelstore instance, you must have Parallelstore Admin
(roles/parallelstore.admin
) IAM permissions for your project.
See Access control with IAM for details.
Performance considerations
To maximize the performance of your Parallelstore instance:
Create your instance in the same Google Cloud zone as the Compute Engine VMs or Google Kubernetes Engine clusters that you'll connect with.
See Performance considerations to learn about configuration options, including file and directory striping options.
Create an instance
You can create a new Parallelstore instance from the following interfaces.
gcloud
To create a new Parallelstore instance, use the gcloud beta parallelstore
instances create
command:
gcloud beta parallelstore instances create INSTANCE_ID \
--capacity-gib=CAPACITY_GIB \
--location=LOCATION \
--network=NETWORK_NAME \
--project=PROJECT_ID \
--directory-stripe-level=DIRECTORY_STRIPE_LEVEL \
--file-stripe-level=FILE_STRIPE_LEVEL
Where the following values must be specified:
INSTANCE_ID is the name of this Parallelstore instance. It must:
- Contain only lowercase letters, numbers, and hyphens.
- Start with a letter.
- Be between 1-63 characters.
- End with a number or a letter.
- Be unique within the project and location.
--capacity-gib
is the storage capacity of the instance in Gibibytes (GiB). Allowed values are from 12000 to 100000, in multiples of 4000.--location
must be a valid Google Cloud zone that is supported by Parallelstore. See Supported locations for a full list.--network
is the name of the VPC network that you created in Configure a VPC network.--project
is your Google Cloud project ID.--directory-stripe-level
defines the striping level for directories. Allowed values are:directory-stripe-level-balanced
directory-stripe-level-max
directory-stripe-level-min
See Performance considerations for details.
--file-stripe-level
defines file striping settings. Allowed values are:file-stripe-level-balanced
file-stripe-level-max
file-stripe-level-min
See Performance considerations for details.
A successful request returns an operation ID:
Create request issued for: [$INSTANCE_ID]
Waiting for operation [projects/$PROJECT_ID/locations/us-central1-a/operations/
operation-1234567890-609d21deae6f0-befaf0bc-867b1aa1] to complete...
The instance creation process takes 5-10 minutes.
REST
To create an instance using the REST API, send a request to the following endpoint:
POST https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/ZONE/instances?instanceId=INSTANCE_NAME
Authorization: Bearer AUTH_TOKEN
{
"capacityGib": string,
"network": string,
"fileStripeLevel": enum (FileStripeLevel),
"directoryStripeLevel": enum (DirectoryStripeLevel)
}
Where the following values must be specified:
PROJECT_ID is your Google Cloud project ID.
ZONE must be a valid Google Cloud zone that is supported by Parallelstore. See Supported locations for a full list.
INSTANCE_NAME is the name of this Parallelstore instance. It must:
- Contain only lowercase letters, numbers, and hyphens.
- Start with a letter.
- Be between 1-63 characters.
- End with a number or a letter.
- Be unique within the project and location.
capacityGib
is the storage capacity of the instance in Gibibytes (GiB). Allowed values are from 12000 to 100000, in multiples of 4000.network
is the name of the VPC network that you created in Configure a VPC network.fileStripeLevel
defines the file striping setting for all files on this instance. Allowed values are:FILE_STRIPE_LEVEL_MIN
FILE_STRIPE_LEVEL_BALANCED
FILE_STRIPE_LEVEL_MAX
See Performance considerations for details.
directoryStripeLevel
defines the striping level for directories. Allowed values are:DIRECTORY_STRIPE_LEVEL_MIN
DIRECTORY_STRIPE_LEVEL_BALANCED
DIRECTORY_STRIPE_LEVEL_MAX
See Performance considerations for details.
The API supports additional optional fields for instances. See the
Instance
resource reference documentation for a full list
and descriptions.
Google Cloud console
Go to the Parallelstore page in the Google Cloud console.
Click Create. The Create an instance page is displayed.
Enter a unique Instance name and, optionally, a description.
Select a region and zone in which to create this instance. You should place your instance in the same region and zone as the Compute Engine VMs or Google Kubernetes Engine clusters that will connect to it.
Select the storage capacity of your instance.
Select the Network that you created in Create a VPC network.
Choose whether to use an automatically allocated IP range, or to specify a custom IP range.
The Summary section of the page updates to show cost and performance estimates based on your selections.
Click Create to continue. The instance creation process takes 5-10 minutes.
Query instance creation status
To query the status of a create operation, use the operation ID from the response.
gcloud beta parallelstore operations describe OPERATION_ID \
--location=LOCATION \
--project=PROJECT_ID
When the operation completes successfully, the result is similar to the following response. Note the list of access points in the instance resource; you'll need these access points for client configuration.
done: true
metadata:
'@type': type.googleapis.com/google.cloud.parallelstore.v1beta.OperationMetadata
apiVersion: v1beta
createTime: '2030-01-01T20:25:10.952802976Z'
endTime: '2030-01-01T20:31:33.238880873Z'
requestedCancellation: false
target: projects/$PROJECT_ID/locations/us-central1-a/instances/$INSTANCE_ID
verb: create
name: projects/$PROJECT_ID/locations/us-central1-a/operations/operation-1699647909979-609d21deae6f0-befaf0bc-867b1aa1
response:
'@type': type.googleapis.com/google.cloud.parallelstore.v1beta.Instance
accessPoints:
- 172.21.95.2
- 172.21.95.4
- 172.21.95.5
capacityGib: '16000'
createTime: '2030-01-01T20:25:10.949287427Z'
name: projects/$PROJECT_ID/locations/us-central1-a/instances/$INSTANCE_ID
network: $NETWORK_NAME
reservedIpRange: $IP_RANGE_NAME
state: ACTIVE
updateTime: '2030-01-01T20:25:10.949287427Z'
What's next
- Connect from a single Compute Engine client
- Connect from multiple Compute Engine clients
- Connect from Google Kubernetes Engine