Create a NetApp Volumes storage pool

Use the netapp-storage-pool module to provision a storage pool for Google Cloud NetApp Volumes.

NetApp Volumes is a managed Google Cloud service that provides Network File System (NFS) and Server Message Block (SMB) shared file systems to virtual machine (VM) instances. The service provides advanced data management capabilities and highly scalable capacity and performance.

To support NetApp Volumes, Cluster Toolkit uses two modules:

  • netapp-storage-pool: Provisions a storage pool. Storage pools are pre-provisioned storage capacity containers that host volumes. A pool also defines fundamental properties for all its volumes, such as:

    • Region
    • Attached network
    • Service level
    • Customer-managed encryption key (CMEK) encryption
    • Active Directory or Lightweight Directory Access Protocol (LDAP) settings
  • netapp-volume: Provisions a volume inside an existing storage pool. A volume is a file-system container that you share by using NFS or SMB.

For the complete list of inputs and outputs for this module, see the netapp-storage-pool module page in the Cluster Toolkit GitHub repository.

Before you begin

Before you begin, verify that you meet the following requirements:

  • You have installed and configured Cluster Toolkit. For installation instructions, see Set up Cluster Toolkit.
  • You have an existing cluster blueprint. You can use and modify an existing blueprint or create one from scratch. To view a working example of a blueprint configured for the netapp-storage-pool module, go to the Cluster blueprint catalog page, click the Select storage type menu and then select NetApp Volumes. For more information about creating and customizing blueprints, see Cluster blueprint.
  • The netapp-storage-pool module does not create a continuous long-running workload or a full cluster. It provisions a storage pool for Google Cloud NetApp Volumes.
  • Verify that your project has unused quota for NetApp Volumes in your target region. Standard service levels have separate quota limits from Premium and Extreme service levels. For more information, see Quotas and limits.
  • Verify that your network is configured for private service access. NetApp Volumes uses private service access to connect volumes to your network.

Required roles

To get the permissions that you need to create and manage NetApp Volumes storage pools, ask your administrator to grant you the following IAM roles on your project:

For more information about granting roles, see Manage access to projects, folders, and organizations.

You might also be able to get the required permissions through custom roles or other predefined roles.

NetApp Volumes service levels

The netapp-storage-pool module supports the following NetApp Volumes service levels:

  • Standard: 16 KiBps throughput per provisioned GiB of volume capacity.
  • Premium: 64 KiBps throughput per provisioned GiB of volume capacity. You can optionally use auto-tiering with this service level.
  • Extreme: 128 KiBps throughput per provisioned GiB of volume capacity. You can optionally use auto-tiering with this service level.

For more information about capability differences, see Google Cloud NetApp Volumes service levels.

Configure the network

To provision a NetApp Volumes storage pool, add the netapp-storage-pool module to your blueprint. You must connect the storage pool to a VPC network that has private service access configured. For more information, see Configure private services access.

Use a new VPC network

The following example creates a new VPC network and configures private service access. Both resources are passed to the netapp_pool module to help ensure the correct build order and network configuration.

deployment_groups:
- group: primary
  modules:
  - id: network
    source: modules/network/vpc
    settings:
      region: REGION

  - id: private_service_access
    source: modules/network/private-service-access
    use: [network]
    settings:
      prefix_length: 24
      service_name: "netapp.servicenetworking.goog"
      deletion_policy: "ABANDON"

  - id: netapp_pool
    source: modules/file-system/netapp-storage-pool
    use: [network, private_service_access]
    settings:
      pool_name: POOL_NAME
      capacity_gib: 20000
      service_level: "EXTREME"
      region: REGION

Replace the following:

  • REGION: the Google Cloud region for your network and storage pool
  • POOL_NAME: the name for your storage pool

Use an existing VPC network

The following example creates a storage pool by using an existing network that is already configured with private service access for NetApp Volumes.

deployment_groups:
- group: primary
  modules:
  - id: network
    source: modules/network/pre-existing-vpc
    settings:
      project_id: PROJECT_ID
      region: REGION
      network_name: NETWORK_NAME

  - id: netapp_pool
    source: modules/file-system/netapp-storage-pool
    use: [network]
    settings:
      pool_name: POOL_NAME
      capacity_gib: 20000
      service_level: "EXTREME"
      region: REGION

Replace the following:

  • PROJECT_ID: the ID of your Google Cloud project.
  • REGION: the Google Cloud region where your network is located.
  • NETWORK_NAME: the name of your existing VPC network.
  • POOL_NAME: the name for your storage pool.

Storage pool example

The following example demonstrates a storage pool configuration that defines all available settings.

  - id: netapp_pool
    source: modules/file-system/netapp-storage-pool
    use: [network, private_service_access]
    settings:
      pool_name: "mypool"
      region: "us-west4"
      capacity_gib: 2048
      service_level: "EXTREME"
      active_directory_policy: "projects/PROJECT_ID/locations/us-east4/activeDirectories/my-ad"
      cmek_policy: "projects/PROJECT_ID/locations/us-east4/kmsConfigs/my-cmek-policy"
      ldap_enabled: false
      allow_auto_tiering: false
      description: "Demo storage pool"
      labels:
        owner: bob

What's next