Skip to content

Tune file system settings

When you finish, the cluster applies one permissions model across NFS and SMB, records file access times at most once a day, and returns an error for recursive change notification requests.

Before you start

  • A Qumulo cluster whose REST API on port 8000 you can reach from this machine
  • An admin account on the cluster for the connection profile
  • Terraform 1.11 or later

1. Copy the configuration

Save this as main.tf in an empty directory.

terraform {
  required_version = ">= 1.11"
  required_providers {
    qumulo = {
      source  = "qumulo-terraform-registry.s3.us-east-1.amazonaws.com/qumulo/qumulo"
      version = "~> 1.0"
    }
  }
}

provider "qumulo" {
  connection_profiles = [
    {
      name                 = "cluster1"
      endpoint             = "https://cluster.example.com:8000" # <-- Replace with your cluster's REST API endpoint
      username             = "admin"
      password             = "YourClusterPassword123!" # <-- Replace with your admin password
      insecure_skip_verify = true
    },
  ]
}

resource "qumulo_file_system_settings" "main" {
  connection_profile = "cluster1"

  permissions_mode      = "CROSS_PROTOCOL"
  atime_enabled         = true
  atime_granularity     = "DAY"
  notify_recursive_mode = "DISABLED_ERROR"
}

Replace the two values marked <-- Replace, and leave the rest as written. Delete insecure_skip_verify if the cluster's certificate is signed by a CA your machine trusts.

2. Match the settings to your workload

  • If clients reach the cluster over only NFS or only SMB, set permissions_mode = "NATIVE".
  • To update access times less often, set atime_granularity = "WEEK", or set atime_enabled = false if no workload reads access times.
  • To allow recursive change notifications, set notify_recursive_mode = "ENABLED".
  • To accept recursive notification requests but ignore the recursive flag, set notify_recursive_mode = "DISABLED_IGNORE".

The plan in step 3 shows each value you changed.

3. Apply

terraform init -upgrade
terraform plan
terraform apply

The plan ends with Plan: 1 to add, 0 to change, 0 to destroy. The apply ends with Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Note

terraform destroy resets these settings to NATIVE permissions, access times off at DAY granularity, and DISABLED_ERROR.

4. Check the cluster

Run terraform plan again. It reports No changes. Your infrastructure matches the configuration., which means the cluster now holds every value you set.

Next

Set the cluster's name, time sources, and certificate in Set cluster-wide settings. The qumulo_file_system_settings reference lists every value each setting accepts.

Qumulo's documentation covers cross-protocol permissions and file system change notifications.