Filestore in Google Cloud

Filestore in Google Cloud

A complete, plain-English guide to Google's managed file storage service: what it is, how it works inside, how to choose a tier, how to keep data fast, safe and affordable, and how real teams use shared files at scale.

Picture an office where every employee needs to open the same folder of documents. Everyone sees the same files, anyone can add a new one, and when one person saves a change, the others see it right away. Now imagine that folder is not in one office but is shared by hundreds of computers running in the cloud, all at the same moment.

That shared folder is what Filestore provides. It is Google Cloud’s managed service for file storage. You ask for a certain amount of space, and Google gives you a network folder that many machines can open together, as if it were a normal folder on their own disk. Google runs the servers, the disks, the repairs and the backups. You just use the folder.

In this guide you will learn what Filestore is, why it exists, how file storage differs from other kinds of storage, how its parts fit together, what happens inside when a computer reads or writes a file, how its service levels differ, and how to make it fast, safe, reliable and cost-friendly. Every new word is explained the first time it appears, and almost every idea comes with an everyday example.

WWhat Filestore Is and Why It Exists

Before the details, let us understand the problem that Filestore solves, using a simple story.

The problem: many machines, one set of files

A normal computer disk belongs to one computer. If you save a file on it, only that computer can open it directly. That is fine for a laptop. But modern systems often run on many machines at once. A website might run on twenty servers, and all twenty must show the same uploaded pictures. A video studio might use five hundred machines to draw one film, and every machine needs the same models and textures. A scientific lab might run a thousand jobs that all read the same data.

If each machine kept its own copy of the files, the copies would drift apart. One server would have the new picture, and nineteen would not. Copying files around by hand is slow and full of mistakes. What these systems need is one single, shared place for files that every machine can reach.

Analogy

Think of a group of students working on a project. If each student keeps notes in a private notebook, the group keeps arguing over who has the latest version. If instead everyone writes in one big shared notebook on the table, there is only one version, and everyone sees updates at once. Filestore is that shared notebook for computers.

The old way: running your own file server

Before managed services, teams built their own file servers. They set up a machine, attached disks, installed software to share folders over the network, planned backups, watched for failures, applied updates and hoped nothing broke at night. If the file server failed, every machine that depended on it stopped working. Running a file server well is real work, and it is easy to get wrong.

The Filestore way: a managed shared folder

Filestore removes that work. It is a managed service, which means Google takes care of the hardware, the operating system, the software that shares the files, the repairs and the upgrades. It uses a very common sharing method called NFS, which stands for Network File System. NFS has been used for decades, and almost every Linux program already knows how to talk to it. That means your existing software usually works with Filestore without being rewritten.

A short history

Google Cloud introduced Filestore in the late 2010s, at first with simple service levels aimed at general file sharing. Over time Google added faster and bigger levels for heavy workloads, and then levels designed for high availability, which survive the loss of a data center building. The product has grown from a basic shared folder into a family of options for different needs.

Where Filestore sits among Google Cloud storage options

Google Cloud offers several kinds of storage. Each is best at a different job.

ServiceKind of storageBest for
FilestoreShared file storage over NFSMany machines sharing the same folders, with normal file behavior
Persistent Disk and HyperdiskBlock storage attached to a VMThe main disk of one machine, databases
Cloud StorageObject storage reached over web requestsHuge amounts of files, backups, media, data lakes
NetApp VolumesManaged file storage with extra enterprise featuresTeams needing NetApp-style tools and protocols
Parallelstore and similarVery fast parallel file storageSupercomputing and AI training that need huge speed
i
Pro Tip

A simple rule: if many machines must read and write the same files and your software expects a normal folder, think Filestore. If you just need to store lots of files cheaply and can use web-style access, think Cloud Storage. If one machine needs its own fast disk, think Persistent Disk.

Production example: shared content for websites

Companies that run content management systems, such as publishing sites and online shops, often have many web servers that must all show the same uploaded images and documents. A shared file service lets each new web server mount the same folder at startup, so adding servers during a traffic spike does not mean copying gigabytes of files first.

FFile, Block and Object Storage Explained

The word “storage” hides three very different ideas. Understanding the difference makes every later chapter easier.

Block storage: the raw disk

Block storage is the plainest kind. The storage is cut into equal-sized pieces called blocks, and the computer that owns the disk decides how to arrange files on them. It looks to the computer like an empty hard drive. Persistent Disk is block storage. It is fast and flexible, but it is normally attached to one machine at a time. The computer using it must run the software that organizes files on it.

File storage: folders and files

File storage adds the organization for you. It gives you folders, file names, permissions and the usual actions: open, read, write, rename, delete, lock. Many machines can connect to the same file storage at once through the network, and the service keeps them all consistent. Filestore is file storage.

Object storage: a giant bucket of items

Object storage keeps each item as a whole object with a name and some descriptive information. You usually reach it through web requests rather than as a mounted folder. It is extremely scalable and cheap, but it does not behave exactly like a normal disk. For example, you generally replace a whole object instead of changing a few bytes in the middle. Cloud Storage is object storage.

Analogy

Block storage is an empty warehouse floor, and you decide where to put each shelf. File storage is a tidy filing room with labeled cabinets that many people can use together. Object storage is a huge self-storage facility where you drop off a box, get a ticket, and later ask for the whole box back.

FeatureBlockFile (Filestore)Object
How you see itA raw diskA mounted folder treeNamed objects in buckets
Shared by many machinesLimitedYes, by designYes, through requests
Change part of a fileYesYesUsually replace the whole object
Works with old softwareYesYes, very wellOften needs changes
Cost for huge volumesMediumHigherLowest
Best atDatabases, boot disksShared working dataArchives, media, big data

Why not just use Cloud Storage for everything?

Cloud Storage is wonderful, but many older programs expect a normal folder with fast small reads and writes, file locking and instant visibility of changes. Tools exist that make a bucket look like a folder, but the behavior and speed are different from a true file system. When an application depends on classic file behavior, Filestore is usually a closer fit.

Why not just share one Persistent Disk?

A Persistent Disk can be attached to several machines only in limited ways, mostly in read-only mode for extra machines. It does not coordinate many writers. Filestore is built for exactly that: many readers and writers, with a server that keeps order.

!
Common Trap

Do not choose Filestore only because the word “file” sounds familiar. Filestore costs more per gigabyte than object storage. If you are storing a huge archive that is rarely touched, Cloud Storage is the better and cheaper home.

Production example: matching storage to the job

A typical media company uses all three. Finished films and old projects rest in object storage because it is cheap. Artists’ working files and render inputs sit on shared file storage because many machines need them at once. Each machine’s operating system lives on a block disk. Choosing the right kind for each job is how teams keep both speed and cost under control.

CCore Concepts You Must Know First

Filestore has a small vocabulary. Learn these words once, and the rest of the guide will feel familiar.

Instance

A Filestore instance is one managed file server that you create. It is not a virtual machine you log in to. It is a service object that Google runs for you. Each instance has a name, a location, a service level, a size and a network.

File share

A file share is the actual folder tree that clients mount. Inside an instance, you create a share with a name, such as “media” or “uploads”. Machines connect to a share, not to the instance as a whole. Some newer levels allow several shares inside a single instance.

Capacity

Capacity is the amount of space you ask for. Filestore bills you for the capacity you provision, whether or not you fill it. That is different from object storage, where you pay for what you store.

Service tier

A tier, also called a service level, is the kind of Filestore you choose. Tiers differ in speed, size limits, availability and features. We study them in a later chapter.

Location: zone and region

Like other Google Cloud resources, a Filestore instance lives in a zone or, for some tiers, a region. A zone is one isolated group of data center resources. A region is a geographic area with several zones. Choosing a regional tier means your data is kept across more than one zone.

VPC network

A Virtual Private Cloud, or VPC, is your own private network inside Google Cloud. A Filestore instance gets a private address inside it. Filestore is meant to be reached privately, from machines on your network, not from the open internet.

NFS, mount and export

NFS is the language machines use to share files over a network. The machine that offers files is the server. The machines that use them are clients. To mount a share means to attach the remote folder so that it appears at a chosen path on the client, for example a path called /mnt/media. After mounting, programs read and write there as if the files were local. The server decides which clients may connect and what they may do, which is often called the export or access rules.

Snapshot and backup

A snapshot is a quick point-in-time picture of a share that stays close to the live data. A backup is a separate, protected copy of the share kept in another place. Both help you recover from mistakes. We cover them in the data protection chapter.

Resource

Instance

The managed file server that Google runs for you.

Folder

File Share

The named folder tree that machines mount and use.

Size

Capacity

The space you provision and pay for.

Level

Tier

The speed, size and safety level you choose.

Protocol

NFS

The common language for sharing files across a network.

Safety

Snapshot and Backup

Pictures and copies that let you undo mistakes.

i
Note

Filestore names, size limits and features have changed over the years, and new options keep appearing. Treat the numbers in this guide as general examples, and check the current limits in Google’s documentation before you plan a real system.

Analogy

An instance is the building that houses the filing room. A share is one particular filing cabinet inside. Capacity is the number of drawers you rent. The tier is whether it is a basic office, a fast office with extra staff, or a fireproof vault with a second copy in another city.

AArchitecture and Main Components

Now let us zoom out and see how Filestore connects to the machines that use it.

A typical setup has four groups of parts. First, the clients: virtual machines, containers or other services that need the shared files. Second, the network: your VPC, with firewall rules and a private address for the Filestore instance. Third, the Filestore service itself: the managed file servers and the storage behind them. Fourth, the supporting services: identity and access controls, monitoring, logging and backup storage.

flowchart TD
  subgraph VPC["Your VPC Network"]
    subgraph COMP["Client Machines"]
      VM1["Compute Engine VM 1"]
      VM2["Compute Engine VM 2"]
      GKE["GKE Pods using CSI driver"]
      RUN["Cloud Run service with NFS mount"]
    end
    FW["VPC Firewall Rules"]
  end
  VM1 -->|"NFS requests"| FW
  VM2 -->|"NFS requests"| FW
  GKE -->|"NFS requests"| FW
  RUN -->|"NFS requests"| FW
  FW --> EP["Filestore Private Endpoint"]
  subgraph FS["Filestore Service Managed by Google"]
    EP --> SRV["NFS Server Layer"]
    SRV --> STO["Distributed Storage Layer"]
  end
  STO --> SNAP["Snapshots"]
  STO --> BKP["Backups in Regional Storage"]
  IAM["IAM Permissions"] -.-> FS
  MON["Cloud Monitoring and Logging"] -.-> FS
Figure 1: A typical Filestore layout. Clients send NFS requests through the VPC to a private Filestore endpoint, behind which Google runs the server and storage layers.

Walking through the picture

On the top are the clients. Here we show two Compute Engine virtual machines, a group of Kubernetes pods and a Cloud Run service. All of them mount the same share. Each client sends NFS requests, which are small messages like “read this part of this file” or “write these bytes to that file”.

The requests travel inside your VPC network. The firewall rules act as guards, allowing NFS traffic only from the places you approve. The traffic reaches the private endpoint of the Filestore instance. This is a private address, so the service is not open to the whole internet.

Inside the Filestore service, an NFS server layer receives the requests, checks permissions, and organizes the files. Behind it is a distributed storage layer where the data is kept on many disks, so a single disk failure does not lose your files. You never see these internal machines, and you never patch them.

Supporting parts surround the service. Snapshots and backups protect against mistakes. IAM, which means Identity and Access Management, controls who can create, change or delete instances. Monitoring and logging collect numbers and messages about how the service is doing.

Analogy

This is like a public library. The readers are your client machines. The library’s front desk is the private endpoint, and the security guard checking cards is the firewall. The librarians are the NFS server layer. The shelves in the back rooms are the storage layer. Backup copies are kept in a second building. The readers never need to know how the back rooms are arranged.

Why this design works

The separation of jobs is the secret. Clients only need to speak NFS. The service hides the servers and the disks, so Google can replace broken parts, add faster hardware and move data around without your programs noticing. And because the endpoint is private and managed, you avoid the single lonely file server that someone has to babysit.

Production example: render farms

Visual effects and animation studios run hundreds or thousands of machines at once to draw frames of a film. Every machine reads the same scene files and textures, and writes finished frames back to a shared folder. A shared file service in the middle gives every machine one consistent view, and the studio can add or remove machines freely as deadlines change.

IInternal Working: How NFS Really Works

This is the part many tutorials skip. Knowing it explains why Filestore behaves the way it does.

Clients and servers talking in small requests

NFS is a conversation. The client does not download an entire file when you open it. Instead, it sends many small requests: find this file name, tell me its size, read the bytes from this position to that position, write these bytes here. The server answers each one. This lets programs work with very large files while touching only the pieces they need.

Versions of NFS

NFS has several versions. NFS version 3 is simple, widely supported and “stateless” in its core design, which means the server does not need to remember much about each client between requests. NFS version 4.1 is newer, keeps more information about open files and locks, and adds features such as better security options and the ability to talk to servers in parallel. Different Filestore tiers support different versions, so check which one your application needs.

Mounting: the first step

When a client mounts a share, it contacts the server at its private address, asks for the share by name, and receives a handle, which is a small token that refers to the root folder. From then on, every operation uses handles. The mount command also carries mount options, such as how large each read or write may be and how the client should behave if the server is slow to answer.

Analogy

Mounting is like checking into a hotel. You show the front desk who you are, and they give you a key card for your floor. After that, every door you open only needs the key card, not another long conversation at the desk.

Reading and writing

When a program reads a file, the client’s operating system turns the request into NFS read messages. The Filestore server fetches the data from its storage layer and sends it back. For writes, the client sends data to the server. The server can confirm in two styles. A stable write is confirmed only after the data is safely stored. An unstable write is confirmed sooner, and the client later sends a commit message that asks the server to make sure everything is safely stored. This trick makes many writes faster while still giving a safety point.

Client-side caching

To go faster, clients keep copies of recently read data and file details in their own memory. This is caching. It makes repeated reads very quick, since no network trip is needed. The trade-off is that a client’s copy might be slightly out of date if another client has just changed the file. NFS clients check back with the server from time to time, controlled by timers in the mount options. This is why two machines may briefly see slightly different views right after a change, and why programs that need strict instant agreement must use locking or special mount settings.

Locking

When two programs might change the same file, they need a way to take turns. A lock says, “I am using this file, please wait.” NFS supports locking, and Filestore supports it. Good applications use locks for shared files, rather than hoping that two writers will never collide.

Permissions and identities

Files have owners and permissions. In NFS version 3, the client simply tells the server which user number and group number are asking, and the server believes it, as long as the client’s address is allowed. This means the server trusts the client machines, so it is important to control which machines can connect. The server can also apply root squashing, which treats the all-powerful “root” user from a client as an ordinary user, so a compromised client cannot freely take over every file.

Behind the scenes: the storage layer

Below the NFS layer, Filestore stores data on many disks managed by Google, with redundancy so that single failures do not lose data. The exact design depends on the tier. Some tiers keep data inside one zone. Higher-availability tiers keep it across zones. As a user, you do not manage any of this, but it explains why some tiers are more expensive: they do more copying to protect you.

i
Remember

Because every operation is a network round trip, many tiny operations are slower than a few large ones. Opening ten thousand small files takes much longer than reading one big file of the same total size. This single fact explains a large part of Filestore performance tuning.

!
Common Trap

Do not assume that all clients always see the newest data at the same instant. Client caching can delay visibility for a short time. If your application needs strict agreement between machines, use file locks and test your mount options with realistic workloads.

Production example: shared home directories

Research and engineering teams often give every user a “home directory” on shared file storage, so that wherever a person logs in, on whichever machine, their files and settings are there. NFS was designed for exactly this idea, and it remains one of the most common uses of managed file storage today.

SService Tiers: Choosing the Right Level

Filestore comes in several tiers. Picking the right one is the single most important decision you will make.

Why tiers exist

Different jobs need different things. A small team sharing office documents needs a modest, low-cost folder. A genomics lab needs enormous capacity and fast reads. A bank’s core application needs a folder that keeps working even if a whole data center building loses power. One product cannot be perfect for all three, so Google offers tiers.

Analogy

Tiers are like hotel room types. A basic room is clean and cheap. A premium room has more space and better service. A suite in a building with its own backup power and a second building across town gives the strongest comfort and safety, at the highest price.

The main tiers

Entry level

Basic HDD

Lowest cost, hard-drive style speed. Good for general file sharing, small teams, development and light workloads. Lives in a single zone.

Entry level

Basic SSD

Solid-state speed for the entry level. Better for applications that need quicker responses and more operations per second. Single zone.

Performance

Zonal

Large capacity and high speed that grows with size. Built for demanding workloads such as analytics, rendering and scientific computing. Lives in a single zone, with options to protect data.

Availability

Regional

Large capacity with data spread across several zones in a region, so the folder keeps working if a zone is lost.

Availability

Enterprise

Designed for production and business-critical use. Regional protection, snapshots, backups and features such as multiple shares in one instance for container platforms.

i
Note

Google has renamed and reorganized Filestore tiers over time. For example, a high-speed tier once called High Scale SSD became the Zonal tier. Always confirm the current tier names and limits in the console or documentation before you decide.

Comparing the tiers on the things that matter

QuestionBasic tiersZonalRegional and Enterprise
Where is data kept?One zoneOne zoneSeveral zones in a region
Survives loss of a zone?No, unless you restore from backup elsewhereNo, unless replicated or restoredYes, by design
Speed grows with size?Yes, to a limitYes, stronglyYes
SnapshotsNot offered in the basic styleOfferedOffered
BackupsOfferedOfferedOffered
Typical useDev, test, small shared foldersHeavy compute and analyticsProduction systems and Kubernetes
Relative costLowestMediumHighest

Capacity and size limits

Each tier has a minimum and a maximum size. Entry-level tiers start in the low terabytes. Higher tiers allow very large instances, into the tens or even over a hundred terabytes, and some allow resizing in small steps. A terabyte is about one thousand gigabytes, a unit that is easy to picture as roughly a few hundred thousand photos. Do not memorize numbers. Look them up when you plan.

NFS versions by tier

Basic tiers use NFS version 3. Higher tiers add support for NFS version 4.1. If your application needs stronger locking behavior or other version 4 features, choose a tier that offers it.

How to choose

1

Decide how bad an outage is

If the application can wait an hour for a restore, a single-zone tier may be fine. If it cannot, choose a tier that spans zones.

2

Estimate size and growth

Check the minimum size of each tier. A tier with a high minimum can be wasteful for a small folder.

3

Estimate speed needs

Count how many machines, how much data per second, and how many small operations each second you expect.

4

Check features

Need snapshots, multiple shares, NFS 4.1 or customer-managed encryption keys? These narrow the list quickly.

5

Test with real data

Create a trial instance, copy a sample of real files, run your real workload and measure. Move to the next tier only if the numbers demand it.

!
Common Trap

Many teams pick a basic tier for a production system because it is cheap, then discover that a single-zone design means one zone problem stops the whole application. Match the tier to the true cost of downtime, not just the monthly bill.

Production example: one company, three tiers

A software company might run its developer test environments on a basic tier to save money, its nightly data-processing jobs on a performance tier for speed, and its customer-facing application on a regional tier so that a zone problem never reaches customers. Matching tiers to risk is a common and sensible pattern.

TThe Life of a Filestore Instance: Data Flow and Lifecycle

From creation to deletion, every instance follows a story. Knowing it avoids surprises.

Creating an instance

You create an instance through the console, the command line tool or an automated tool such as Terraform. You choose a name, a location, a tier, a capacity, a VPC network, and the name of the first file share. You may also set access rules, which say which client addresses may connect and with which rights.

1

Request and checks

Google checks that you are allowed to create the resource, that you have quota, and that the network settings are valid.

2

Creating

Google builds the managed servers and storage and connects them to your network with a private address. The state shows as Creating. This can take several minutes, and larger tiers may take longer.

3

Ready

The instance is available. You can read its address and share name and mount it from clients.

4

Updating and resizing

You can grow capacity, and on some tiers shrink it. You can change labels and access rules. During some changes the state shows Repairing or Updating.

5

Protection activities

Snapshots and backups run on demand or on a schedule while the instance stays in use.

6

Deleting

When you delete the instance, its data is removed. Backups you made are separate and can remain until you delete them.

Mounting from a client

sequenceDiagram
  participant A as Application
  participant K as Client OS NFS Driver
  participant F as Filestore Endpoint
  participant S as Storage Layer
  A->>K: Open file for reading
  K->>F: Look up file name
  F-->>K: File handle and size
  K->>F: Read bytes from position
  F->>S: Fetch data blocks
  S-->>F: Data blocks
  F-->>K: Data returned
  K-->>A: Data delivered
  A->>K: Write changes
  K->>F: Write request
  F->>S: Store data safely
  S-->>F: Stored
  F-->>K: Write confirmed
  K-->>A: Write complete
Figure 2: A read and then a write. The client’s NFS driver turns the program’s file actions into small network requests, and the service fetches or stores data.

What the picture shows

The application does not know it is using a network. It simply opens, reads and writes. The client operating system’s NFS driver translates those actions into messages. The Filestore endpoint finds the file, asks the storage layer for the data, and sends it back. For a write, the data is stored before the success message returns, if the write is a stable one.

Data flow at runtime

Once running, data moves in several directions. File reads and writes go from clients to the service. Snapshots and backups move data inside Google’s systems, without using your clients’ bandwidth. Monitoring numbers flow to Cloud Monitoring. Administrative actions, such as creating or resizing instances, appear in audit logs.

Locations of instances and clients

For best speed, place clients in the same zone as a single-zone instance, or in the same region as a regional instance. Crossing zones or regions adds delay for every request, and may add network charges. Latency is the delay in each round trip, and in NFS it is paid again and again, so it matters a great deal.

Analogy

Asking for a file from a server in another region is like asking a colleague in another city to hand you each page by post. The pages are the same, but each round trip is far slower than asking the person at the next desk.

!
Common Trap

Deleting an instance deletes the data inside it. Deleting does not automatically keep a copy. If you might need the files later, create a backup before you delete, and confirm that the backup completed.

Production example: rendering pipelines

A rendering pipeline may create a Filestore instance at the start of a project, copy in the scene files, run a large number of machines against it for a few weeks, and then back up the results to cheaper storage and delete the instance. This matches cost to the life of the project, because capacity is billed only while the instance exists.

NNetworking and Access Control

Filestore is private by design. Understanding how machines reach it, and who is allowed in, keeps your data safe and your mounts working.

A private address in your VPC

Each Filestore instance receives a private IP address inside a network. An IP address is the number that identifies a machine on a network. Your clients use this private address to mount the share. The address is not reachable from the public internet.

How the connection is made

Filestore runs in a network owned by Google, and your clients run in your own VPC. These two must be joined. For many tiers this is done with private services access, which creates a private link, called peering, between your network and Google’s service network. You reserve a block of private addresses for it. Newer options use Private Service Connect, which exposes the service as a single endpoint inside your own network and avoids reserving a big range. Which method is available depends on the tier, so check the current documentation.

Analogy

Think of two neighboring private compounds. Peering builds a gate in the shared wall, and both compounds agree on the roads that lead to it. A private endpoint is more like a single mailbox placed in your own compound, which forwards messages to the other compound without opening a whole gate.

flowchart LR
  subgraph YOURS["Your VPC Network"]
    C1["Client VM in Zone A"]
    C2["Client VM in Zone B"]
    GK["GKE Nodes"]
    FW["Firewall Rules allow NFS from approved clients"]
  end
  subgraph ONP["On-premises Network"]
    OFF["Office or Data Center Servers"]
  end
  subgraph GOOG["Google Managed Service Network"]
    FSI["Filestore Instance"]
  end
  C1 --> FW
  C2 --> FW
  GK --> FW
  FW -->|"Private connection"| FSI
  OFF -->|"Cloud VPN or Interconnect"| YOURS
  OFF -.->|"via your VPC"| FSI
Figure 3: Clients inside the VPC and machines in an office reach Filestore only through private connections, with firewall rules in the path.

Firewall rules

A firewall rule decides which network traffic is allowed. For NFS to work, the rules must allow traffic between your clients and the Filestore address. Allow only the client machines that need access, not your whole network. Many teams use network tags or service accounts to target the right machines.

Access control on the file share

Besides the firewall, Filestore lets you define access rules on a share. A rule names an address or a range of addresses and states what those clients may do, for example read-only or read-write. It also says whether root squash applies. If no rules are set, all clients that can reach the instance are allowed by default, so setting explicit rules is a good habit for sensitive data.

Two layers: IAM and NFS permissions

Two different permission systems apply. IAM decides who can manage the Filestore instance itself, such as creating, resizing or deleting it. NFS permissions decide who can read and write files inside the share. Giving someone IAM rights does not give them file access, and the reverse is also true.

Reaching Filestore from outside Google Cloud

Servers in your own office or data center can mount a Filestore share if they have private connectivity to your VPC, using Cloud VPN, an encrypted tunnel over the internet, or Cloud Interconnect, a dedicated private line. Routing and firewall rules must allow the traffic. Expect extra delay compared with machines inside Google Cloud, so test performance before depending on it.

Planning address ranges

Address ranges must not overlap between the networks that are joined. If your office network and your cloud network both use the same private range, traffic cannot be routed cleanly. Plan ranges before you start, as changing them later is painful.

i
Pro Tip

Name and document your Filestore firewall rules and access rules together. When someone asks, “Why can this machine not mount the share?” the answer is nearly always in one of these two places, or in a mismatch of zones and addresses.

Production example: hybrid studios and labs

Organizations with workstations on site and large compute in the cloud often keep the heavy working data in Filestore and connect their office through a private line. Artists or scientists open files from their desks, and large jobs in the cloud read the same files, without copying them back and forth.

PPerformance and Scalability

Speed is where file storage choices become real. Let us learn what to measure and how to improve it.

The three measures of speed

  • Throughput is how much data moves per second, such as megabytes per second. It matters most for big files, like videos and large data sets.
  • IOPS stands for input and output operations per second. It counts how many separate small reads and writes can happen each second. It matters most for many small files and for databases.
  • Latency is the time one request takes from start to finish. It matters most when programs wait on each answer before sending the next request.
Analogy

Picture a road. Throughput is how many cars pass each minute across all lanes. IOPS is how many separate trips can start each minute. Latency is how long one car takes to reach its destination. A wide road with a long distance has high throughput and high latency.

Performance grows with capacity

In several tiers, the performance you get depends on the capacity you provision. A bigger instance is allowed more throughput and more IOPS. This surprises many beginners: sometimes you buy extra capacity not because you need the space, but because you need the speed that comes with it. Check the published performance tables for each tier and size.

Performance depends on the client too

The server is only half of the picture. The client machine’s size matters, since small VMs have lower network limits. The number of parallel requests matters, since a single reader cannot keep a fast server busy. The mount options matter, since they set the size of each read and write. And the application’s habits matter, since many tiny operations are slower than a few big ones.

Ways to improve performance

Placement

Stay close

Put clients in the same zone or region as the instance to cut the delay on every request.

Parallel

Use many readers

Spread work across several threads and machines so the server stays busy. One reader rarely uses the full capability.

Mount

Tune mount options

Larger read and write sizes and a modern NFS version often help big files. Use the settings recommended for your tier.

Files

Reduce tiny files

Combine many small files into fewer larger ones, such as archives, where your application allows it.

Cache

Cache locally

Copy hot, read-only data to a local disk on each client, so repeated reads never cross the network.

Size

Choose size for speed

If a tier ties speed to capacity, provision enough to reach the speed you need.

Scalability: growing in both directions

Filestore scales in two ways. First, scale up: you can increase the capacity of an instance, which raises its performance limits, often without taking it offline. Second, scale out: you can create several instances and spread different shares across them, so that no single instance is overloaded. Some higher tiers are built to serve very large numbers of clients at once.

Measuring before and after

Never tune by feeling. Use Cloud Monitoring to watch throughput, operations per second and latency on the instance. Use common benchmarking tools, run on clients, to measure the real speed of your workload before and after each change. Change one thing at a time, so you know what helped.

Understanding a slow share

1

Check the instance

Are throughput or operation counts close to the tier’s limit? If yes, the server is the bottleneck, and you need more capacity or another tier.

2

Check the client

Is the VM’s network cap or processor the limit? A larger VM may help.

3

Check the location

Are the client and server in the same zone or region? Distance adds delay.

4

Check the access pattern

Does the program read thousands of tiny files one at a time? Batch or cache them.

!
Common Trap

Do not test a Filestore share with one thread copying one big file and then decide it is slow. A single stream cannot show the full strength of a parallel system. Test with a workload that looks like your real application, with many parallel clients.

Production example: genomics and analytics pipelines

Life-science labs run huge numbers of analysis jobs that read the same reference data and write results. They commonly choose a performance tier, provision more capacity than the raw files need to reach the required speed, and spread work across many machines in the same zone as the file server.

CCapacity Management and Resizing

Because you pay for the space you provision, managing capacity is about balancing safety and cost.

Provisioned, not used

Filestore bills for provisioned capacity. If you create a one-terabyte instance and store ten gigabytes, you still pay for a full terabyte. This is the opposite of object storage. So the first lesson is: do not create a large instance “just in case”. Start with what you need, and grow when needed.

Growing an instance

Increasing capacity is usually a simple operation that can happen while clients are using the share, though large changes may briefly affect speed. Each tier has a step size, which is the smallest amount you can add. Check it in the documentation. Because growing is easy, run with a comfortable margin but not a huge one.

Shrinking an instance

Shrinking is more limited. Some tiers allow reducing capacity down to the amount of data stored plus some margin. Others do not allow shrinking at all, in which case you must create a new, smaller instance, copy the data over and delete the old one. Plan for this: it is much easier to grow than to shrink.

Analogy

It is like renting storage units. Moving into a bigger unit when you run out of room is easy, but moving back to a smaller one means sorting through everything and carrying it over yourself. So you rent a size that fits now, with a little spare room.

Watching free space

A full file share is dangerous. Programs that cannot write may crash, lose data or fail in strange ways. Monitor used space and set alerts, for example at seventy and ninety percent of capacity. Alerts should reach a person who can act, and a runbook should say how to grow the instance or clean up files.

Finding what takes space

When space runs low, find the biggest users. Common culprits are old temporary files, logs that nobody rotates, forgotten test copies and many versions of the same output. Use standard tools from a client machine to list large folders. Set a rule for how long scratch data may stay, and delete it on a schedule.

A simple capacity plan

  1. Measure how much data you have now and how fast it grows per month.
  2. Set a target of keeping at least twenty to thirty percent free space.
  3. Calculate when you will cross seventy percent, and schedule a resize before then.
  4. Review the numbers every month. Compare the forecast with reality and adjust.
  5. Move cold data, files nobody opens anymore, to cheaper object storage.

Tiering data to save money

Most data cools with age. Last month’s project files are busy, but last year’s are almost never opened. A smart habit is to keep hot data on Filestore and move cold data to Cloud Storage, where it costs much less per gigabyte. Some teams use scripts, or storage management tools, that move files older than a set age to a bucket and leave a note about where they went.

i
Pro Tip

Give every top-level folder an owner, such as a team or a project name. When space is short, you can ask the owners to clean up. Folders with no owner tend to grow forever.

Provisioned
capacity is what you are billed for, used or not
Grow easily
increasing size is usually simple and online
Shrink with care
depends on tier, so plan ahead

Production example: project-based storage hygiene

Creative and engineering studios that work on time-limited projects often finish each project by copying the final files to object storage, verifying the copy, and clearing the working space on the file server. This returns capacity to the pool and keeps the monthly bill from creeping upward.

DData Protection: Snapshots, Backups and Replication

Files get deleted by mistake, overwritten by bugs and sometimes attacked. Data protection is how you get them back.

Why redundancy is not a backup

Filestore already stores your data with redundancy, which means extra copies inside Google’s systems, so a failed disk does not lose files. But redundancy copies mistakes too. If someone deletes a folder, the deletion is instantly applied to every copy. A backup is different: it is a separate, older copy that is not changed when the live data changes. Redundancy protects against hardware failure. Backups protect against human error, bad software and attacks.

Analogy

Redundancy is like having two identical pages that both change when you scribble on one. A backup is a photograph of the page taken yesterday. If you ruin the page today, only the photograph can bring it back.

Snapshots

A snapshot captures the state of a file share at one moment. It is created quickly, because it records the current layout and then tracks only later changes. Snapshots are stored with the instance and let you restore single files or folders, or revert a whole share to an earlier moment. Snapshots are offered on the Zonal, Regional and Enterprise tiers. They are ideal for quick “undo” needs, such as recovering a file deleted an hour ago.

Snapshots live with the instance. If the instance is deleted, its snapshots go with it. So snapshots alone are not enough for disaster protection.

Backups

A backup is a copy of a file share stored separately from the instance, in Google-managed storage, usually in a region of your choice. The first backup copies all the data. Later backups copy only what changed, which saves time and cost. A backup remains even if the instance is deleted, and you can restore it into a new instance. Backups can be taken on demand or on a schedule that you automate.

Replication

Some tiers support replication, which means continuously copying a share to another Filestore instance, often in another region. If the primary location suffers a disaster, you can promote the copy and carry on. Replication gives a much shorter recovery time than restoring from a backup, but it costs more because a second instance runs all the time.

flowchart TD
  APP["Applications on clients"] --> PRIM["Primary Filestore Instance Region 1"]
  PRIM -->|"point in time pictures"| SNAP["Snapshots with the instance"]
  PRIM -->|"scheduled copies"| BKP["Backups stored separately"]
  PRIM -.->|"continuous copy"| REPL["Replica Instance Region 2"]
  BKP -->|"restore"| NEW["New Instance after incident"]
  REPL -->|"promote in disaster"| PROM["Promoted Replica serves clients"]
  SNAP -->|"restore single file"| PRIM
Figure 4: Three layers of protection. Snapshots give quick undo, backups give independent copies, and replication gives a ready second site.

Comparing the three

FeatureSnapshotBackupReplica
Speed to createVery quickTakes longerContinuous
Survives instance deletionNoYesYes, it is a separate instance
Survives region lossNoYes, if stored in another regionYes
Recovery speedFastestSlower, must restore dataFast, promote the copy
Relative costLowLow to mediumHighest
Protects against mistakesYesYesMostly not, copies changes quickly

Recovery targets

Two numbers guide your design. RPO, the Recovery Point Objective, is how much recent data you can afford to lose, measured in time. RTO, the Recovery Time Objective, is how long you can afford to be down. Daily backups give an RPO of up to a day. Frequent snapshots give an RPO of minutes or hours for small mistakes. Replication gives an RPO of seconds or minutes for disasters. Choose the mix that matches your business needs.

A sensible protection plan

1

Snapshots every few hours

Quick undo for deleted or overwritten files. Keep a short history, for example a few days.

2

Daily backups

Independent copies kept for weeks or months, in another region for critical data.

3

Replication for critical systems

A second instance in another region for fast recovery from a regional disaster.

4

Regular restore tests

Every quarter, restore a backup into a test instance and check the files. An untested backup is only a hope.

Protection from attacks

Modern attacks, such as ransomware, encrypt or delete files. A backup that attackers cannot reach is your best defense. Limit who can delete backups through IAM, keep backups in a separate project with tighter access, and keep some long-lived copies that nobody can change quickly.

!
Common Trap

Do not rely on snapshots as your only protection. They share the same fate as the instance. If the instance is deleted by mistake, or the zone has a major problem, the snapshots can disappear with it. Keep at least one backup outside the instance.

Production example: layered protection in regulated companies

Financial and healthcare organizations commonly combine frequent snapshots for operator mistakes, nightly backups held for a fixed number of years for rules and audits, and a replica in a second region for disaster recovery. They also rehearse recovery so that the first real restore is not also the first attempt.

HHigh Availability and Reliability

A shared file server is a shared dependency. If it stops, everyone who depends on it stops. This chapter explains how to keep it available.

What availability means

Availability is the share of time a service works. It is often described in “nines”. Ninety-nine point nine percent allows under nine hours of downtime a year. Ninety-nine point ninety-nine percent allows under an hour. Higher availability costs more, because it needs more copies in more places. Reliability is the wider idea that the service gives correct answers quickly over a long time.

Single zone versus multi zone

Entry-level and performance tiers keep an instance in one zone. Google protects the data inside it against disk and server failures, but a major problem with the whole zone could make the instance unavailable until it is restored. Regional and Enterprise tiers spread data and serving capacity across zones in a region. If one zone fails, the service continues from the others, usually with only a short pause while clients reconnect. Google offers a written uptime promise, called an SLA, for its higher-availability tiers. Read the current SLA for exact numbers and conditions.

Analogy

A single-zone instance is like a shop with one building. It has good locks and a strong roof, but if the whole building loses power, it closes. A regional instance is like a shop that keeps stock and staff in three nearby buildings and can serve customers from any of them.

What happens during maintenance

Google updates the service from time to time. On higher-availability tiers, updates are designed to cause little or no interruption. On some tiers, a brief pause in access may occur during maintenance. Applications should be written to tolerate short pauses, by retrying instead of crashing.

Client behavior during a pause

NFS mounts have two styles. A hard mount makes the client keep retrying forever until the server answers. Programs wait, but nothing is lost. A soft mount gives up after a set number of tries and returns an error to the program, which can corrupt data if the program does not handle errors. For almost all workloads that write data, hard mounts are the safer choice. The trade-off is that programs can freeze while the server is unreachable.

Design habits for reliable file storage

Habit 1

Match tier to risk

Choose a multi-zone tier for systems where downtime is costly.

Habit 2

Use hard mounts

Let clients wait and retry through short pauses instead of failing writes.

Habit 3

Spread clients

Run clients in several zones so that the loss of one zone leaves others working.

Habit 4

Practice recovery

Rehearse restoring from backups and promoting replicas before a real emergency.

Habit 5

Avoid hidden single points

One share used by every service is a shared fate. Split critical and non-critical data into different instances.

Habit 6

Monitor and alert

Watch latency, errors and free space, and alert on symptoms users feel.

Blast radius

The blast radius of a failure is how much it harms. If all your applications share one big instance, a problem in that instance harms them all. If you give each important application its own instance, a problem harms only one. Separate instances cost a little more in minimum sizes, but they limit the damage and make troubleshooting simpler.

Recovery from a zone failure

1

Detect

Monitoring and alerts show errors and slow responses from the share.

2

Decide

For a regional tier, wait for the service to continue from other zones. For a single-zone tier, decide whether to wait or restore elsewhere.

3

Recover

Restore the latest backup into a new instance in a healthy zone, or promote a replica, and point clients at the new address.

4

Review

After the incident, write down what happened and what to change.

Production example: business applications on shared files

Large enterprise applications, such as shared document systems and some business software, expect a dependable shared folder. Teams that move them to the cloud commonly choose a regional tier and run the application servers across several zones, so that no single building is a single point of failure.

SSecurity for Filestore

Shared storage holds shared secrets. Good security uses several layers, so that one mistake does not open the door.

The shared responsibility model

Google secures the data centers, the hardware, the managed servers and the storage system behind Filestore. You are responsible for who can reach the service, who can manage it, which machines may mount it, what permissions the files carry, and how your applications behave. Because Filestore is managed, your share of the work is smaller than for a file server you run yourself, but it is never zero.

Analogy

Using Filestore is like keeping valuables in a bank’s safe-deposit room. The bank guards the building and the vault. You still decide who gets a copy of your key, and what you put inside.

Layer 1: network isolation

Filestore is reached through private addresses only. Keep it that way. Do not expose it to the internet through tricks such as forwarding traffic from a public machine. Use firewall rules that allow NFS only from the specific clients that need it. Place sensitive instances in separate projects or separate networks so that a problem in a test network cannot reach production files.

Layer 2: access rules on the share

Set explicit access rules for each share. Allow only needed address ranges, give read-only rights where writing is not needed, and turn on root squash so that a client’s all-powerful root user is treated as an ordinary user. Without root squash, someone who takes control of a single client machine could read or change every file.

Layer 3: IAM for management

IAM controls who may create, resize, back up or delete instances. Follow least privilege: give each person or program only the roles it needs. Separate the people who can delete backups from the people who run daily operations. Use audit logs to record who did what to the instance, so you can answer questions after an incident.

Layer 4: file permissions

Inside the share, normal Linux permissions apply. Plan owners, groups and permission bits carefully. NFS version 3 trusts the user and group numbers that clients send, so make sure these are managed consistently across machines. A directory service, such as a central login system, helps keep user numbers the same everywhere.

Encryption

Data is encrypted at rest in Google’s storage by default, which means it is scrambled on disk so a stolen disk would be unreadable. By default, Google manages the keys. Some tiers let you use customer-managed encryption keys through Cloud KMS, the Key Management Service, so that you control the keys and can disable them if needed. For data in transit, remember that NFS traffic inside your private network is not encrypted by default in the basic style. For highly sensitive data, check which tiers and versions offer protection on the wire, and consider extra network controls and policies that restrict who can see the network path.

Protecting backups

Treat backups as sensitive as the live data, since they contain the same files. Restrict who can restore them, because restoring creates a readable copy. Also restrict who can delete them, because deleting removes your safety net.

Organization-wide guardrails

Organization policies let a central team set rules for many projects at once, for example requiring encryption keys of a certain kind or limiting which regions may hold data. Rules enforced by the platform are stronger than rules written in a document that people may forget.

1

Isolate

Private addresses only, narrow firewall rules, separate networks for separate sensitivity levels.

2

Restrict

Explicit access rules, read-only where possible, root squash on.

3

Authorize

Least-privilege IAM, separate duties for operations and deletion.

4

Encrypt

Default encryption at rest, customer-managed keys where needed.

5

Watch

Audit logs and alerts on unusual access or administrative changes.

!
Common Trap

Leaving access rules open to the entire network range is the most common mistake. Any machine that lands in that network, including one that was hacked or created by mistake, could then mount your shares. Always name the clients that truly need access.

Production example: sensitive research data

Organizations that handle personal or confidential data on shared storage typically place it in dedicated projects, restrict mounting to named machines, use customer-managed keys and keep detailed logs. This helps them prove to auditors where the data lives and who touched it.

UUsing Filestore with Compute Engine, GKE and Cloud Run

Filestore is only useful when something mounts it. Let us see how the common Google Cloud compute services connect.

Compute Engine virtual machines

The simplest case is a Linux virtual machine. You install the standard NFS client tools if they are not already there, create a folder for the mount point, and mount the share using the instance’s private address and share name. To keep the mount after a restart, you add an entry to the machine’s file system table, or you handle the mount in a startup script. Windows machines can also use NFS with the proper client feature, though Windows shares are more commonly served by other services.

i
Pro Tip

Put the mount step in your machine image or in an instance template’s startup script. Then every new machine that joins a managed instance group automatically attaches to the shared files, with no manual work.

Google Kubernetes Engine

Kubernetes is a system for running many containers across many machines. Google Kubernetes Engine, or GKE, is Google’s managed Kubernetes. Containers are temporary by nature, and their own disks vanish when they stop. Containers that need shared or lasting files can use Filestore through a CSI driver. CSI stands for Container Storage Interface, a standard way for Kubernetes to talk to storage systems. With the Filestore CSI driver enabled, you describe the storage you need, and Kubernetes asks Filestore to create and attach it.

Two concepts appear. A persistent volume claim, or PVC, is a request for storage made by an application. A storage class names the type of storage to give. Many pods can use the same claim at once if it is a shared, read-write-many type, which Filestore supports naturally.

Multishares for Kubernetes

Each Filestore instance has a minimum size, often in the terabyte range. Giving every small application its own instance would waste money. The Enterprise tier offers multishares, which lets the CSI driver carve many small shares out of one instance, with each share as small as a few gigabytes. Several small claims share the cost and the management of one instance, while each still has its own folder.

flowchart TD
  subgraph CLUSTER["GKE Cluster"]
    P1["Pod A - web"]
    P2["Pod B - web"]
    P3["Pod C - worker"]
    PVC1["Claim 1 - 10 GiB"]
    PVC2["Claim 2 - 50 GiB"]
    CSI["Filestore CSI Driver"]
  end
  P1 --> PVC1
  P2 --> PVC1
  P3 --> PVC2
  PVC1 --> CSI
  PVC2 --> CSI
  CSI -->|"creates shares"| INST["One Filestore Enterprise Instance"]
  INST --> SH1["Share for Claim 1"]
  INST --> SH2["Share for Claim 2"]
Figure 5: Several pods share a claim, and the CSI driver carves separate shares for different claims from one Filestore instance.

Cloud Run and other services

Cloud Run, Google’s service for running containers without managing servers, can mount an NFS share such as Filestore as a volume. This allows serverless services to read and write shared files, which was once hard to do. The service must be connected to your VPC network so that it can reach the private address. Other services, such as some batch and managed notebook products, can also work with Filestore through their network settings.

On-premises and hybrid clients

As covered in the networking chapter, servers outside Google Cloud can mount a share through a private connection. This is useful during migration and for hybrid workflows, where some people or systems remain on site.

Choosing a client

ClientTypical mount methodGood for
Compute Engine VMStandard NFS mount in startup script or system tableTraditional servers, render farms, shared applications
GKE podPersistent volume claim using the CSI driverContainerized apps needing shared or lasting files
Cloud RunVolume mount of an NFS shareServerless services that need shared files
On-premises serverNFS mount over VPN or InterconnectHybrid and migration scenarios
!
Common Trap

Do not use a shared file share as the data folder of a busy database cluster unless the database software documents it as supported. Many databases need local, fast, block-style storage and exact locking behavior. A network file share can make them slow or unsafe.

Production example: stateful web content on Kubernetes

Content platforms that run in containers, such as blogs and shops that accept uploaded images, often give all web pods a single shared volume. Pods can then be added, removed or moved freely, and every one sees the same uploads. This avoids the problem of pictures uploaded through one pod being invisible to the others.

MMonitoring, Logging and Metrics

You cannot fix what you cannot see. Monitoring turns a mysterious slow share into a clear picture.

The three kinds of signals

Metrics are numbers over time, such as bytes read per second. Logs are written messages about events, such as someone creating a backup. Alerts are messages that tell a person something needs attention. Together they answer: Is something wrong? What went wrong? Who needs to act?

Metrics Filestore provides

Filestore sends numbers to Cloud Monitoring automatically. They typically include the capacity used and free, read and write throughput, the count of read and write operations, and in some tiers the delays of operations. Use these to build a dashboard for each important instance. Names and details can change, so check the current metric list in the console.

Metrics from clients

The server’s view is only half the story. Clients also keep useful numbers, such as how long NFS requests take from their side and how many retries happen. Install the Ops Agent on virtual machines to collect system metrics and logs. Tools on the client can report NFS statistics, which help you see whether a slowdown is the server, the network or the client itself.

Logs and audit trails

Administrative actions on instances, such as creation, resizing, backup creation and deletion, appear in Cloud Audit Logs. Search them to find out who changed something and when. These logs are your first stop after any unexpected change. Retain them long enough to meet your rules.

What to watch

Space

Free capacity

Alert at seventy and ninety percent used, so you can grow or clean up in time.

Speed

Throughput

Compare current numbers with the tier’s limits to see how close you are to the ceiling.

Operations

Operation counts

A sudden jump may show a runaway program reading or writing thousands of small files.

Delay

Latency

Rising delay means users and programs will feel slowness even if throughput looks fine.

Protection

Backup status

Alert when a scheduled backup fails or has not completed for longer than planned.

Change

Admin actions

Watch for unexpected deletions, access rule changes and permission changes.

Alerts that help, not annoy

Good alerts point to problems that matter and that a person can act on. Bad alerts fire constantly for small things, and people learn to ignore them. Alert on symptoms, such as space nearly full or latency too high for a sustained time, rather than every small blip. Attach a short runbook to each alert. A runbook is a written list of steps for fixing the problem.

Capacity and cost dashboards

Besides health, track trends in used space, growth rate and cost per instance. Share these with the owners of each project. When people see their own numbers, they clean up more willingly.

Analogy

Monitoring is the dashboard of a car. The fuel gauge is free capacity, the speedometer is throughput, the temperature light is latency, and the warning lamps are alerts. Driving without a dashboard means you learn about trouble only when the engine stops.

Production example: finding a runaway job

A common story: operations suddenly rise tenfold and every user complains of slowness. A glance at the dashboard shows one batch job opening millions of tiny files in a loop. The team stops the job, fixes it to read a single archive, and the share returns to normal. Without metrics, the team would have spent days blaming the file server.

PPricing and Cost Control

File storage costs more per gigabyte than object storage, so understanding the bill matters.

Per GiB
price is charged on provisioned capacity
Per hour
instances are billed for the time they exist
Tier based
price rises with speed and availability

What you pay for

  • Provisioned capacity, charged per gigabyte for each hour the instance exists, at a rate that depends on the tier and the location.
  • Backups, charged for the amount of backup data stored, per month.
  • Snapshots, which on some tiers use space that counts toward capacity or are charged as stored data.
  • Replication, which means paying for a second instance and for the data sent to it.
  • Network traffic, especially data that crosses zones or regions or leaves Google Cloud.

Prices change and differ by region, so always read the current pricing page and use the pricing calculator before you commit to a design.

Why the bill can surprise you

Surprise 1

Paying for empty space

An oversized instance bills for every gigabyte, used or not.

Surprise 2

Forgotten instances

A test instance that nobody deleted keeps billing every hour.

Surprise 3

Never-expiring backups

Backups that are never deleted pile up quietly month after month.

Surprise 4

Cross-zone traffic

Clients in a different zone from a single-zone instance can add network charges and delay.

Ways to save money

  1. Choose the lowest tier that meets the need. Do not buy availability or speed you do not need.
  2. Right-size capacity. Keep a healthy margin, but avoid large unused space.
  3. Move cold data to Cloud Storage. Keep only active files on Filestore.
  4. Delete test and finished-project instances. Use labels and owners to find them.
  5. Set backup retention rules. Keep backups as long as rules require, and no longer.
  6. Use multishares for many small needs. Share one instance across small container workloads rather than creating many small instances.
  7. Keep clients close. Put clients in the same zone or region to avoid network charges and speed up reads.
  8. Set budgets and alerts so someone is told before costs grow too far.

Comparing with the alternatives

OptionCost shapeWatch out for
FilestorePaid on provisioned size, higher per gigabyteIdle capacity and minimum sizes
Cloud StoragePaid on stored data, lowest per gigabyteRequest charges and slower small-file behavior
Self-built file server on VMsVM and disk costs, plus your team’s timeHidden operations work, single point of failure
Persistent DiskPaid on provisioned size, cheaper per gigabyteNot designed for many writers
Analogy

Filestore is like renting a furnished office with a front desk. It costs more per square meter than a plain warehouse, but you do not hire a receptionist, repair the lights or clean the carpet. The right question is not “What is the cheapest space?” but “What does the whole arrangement cost, including my own time?”

i
Pro Tip

Put the real cost of your own time into the comparison. A self-built file server may look cheaper on paper, but patching, monitoring, tuning, recovering from failures and being woken at night all have a price. Many teams find the managed service cheaper in total.

Production example: cost discipline in shared storage

Teams that run shared storage well usually tag each instance with an owner and a project, send each owner a monthly report of space and cost, and enforce a retention rule for scratch folders. Costs stay predictable because someone is responsible for every gigabyte.

DDesign Patterns and Anti-patterns

A pattern is a proven way to solve a common problem. An anti-pattern looks reasonable but causes pain later.

Patterns that work

Pattern

Shared content folder

Many stateless web or application servers mount one share for uploads and assets, so servers can be added and removed freely.

Pattern

Scratch and archive split

Hot working data lives on Filestore, and finished data moves to Cloud Storage for long-term, low-cost keeping.

Pattern

One instance per risk level

Critical and non-critical workloads use separate instances, so a problem in one cannot harm the other.

Pattern

Local cache for hot reads

Clients copy frequently read, read-only data to local disks to avoid repeated network trips.

Pattern

Multishare per cluster

Container platforms use multishares so many small claims share one Enterprise instance.

Pattern

Layered protection

Snapshots for quick undo, backups for independent copies, and replicas for fast disaster recovery.

Analogy

The scratch and archive split is like a busy kitchen. Ingredients being cooked today stay on the counter within reach. Everything else goes to the pantry or the freezer. A kitchen with the whole warehouse on the counter would be slow and crowded.

Anti-patterns to avoid

ANTI-PATTERN 01Avoid
What it looks like

Every application in the company shares one giant Filestore instance, with open access rules for the whole network.

Why it hurts

A busy job slows everyone. A mistaken deletion or a security problem spreads far. No team owns the space, so it only grows.

What to do instead

Create separate instances or shares for separate applications, with explicit access rules and a named owner for each.

ANTI-PATTERN 02Avoid
What it looks like

A single-zone basic instance holds business-critical data, with no backups and no tested recovery plan.

Why it hurts

A zone problem, a deletion or a bug can mean permanent loss or long downtime, with no reliable way to return.

What to do instead

Choose a tier that matches the risk, schedule backups, keep copies in another region, and rehearse a restore.

ANTI-PATTERN 03Avoid
What it looks like

Filestore is used as a dumping ground for archives, old logs and rarely opened files, because it is easy to mount.

Why it hurts

You pay file-storage prices for data that would cost far less in object storage, and the space fills up with clutter.

What to do instead

Move cold data to Cloud Storage automatically, and keep Filestore for data that needs shared, folder-style access.

ANTI-PATTERN 04Avoid
What it looks like

A program opens, reads and closes ten million small files in a single thread, across zones, and the team blames the file service for being slow.

Why it hurts

Every file operation is a network round trip, and the delay of each one adds up. The server sits mostly idle while the program waits.

What to do instead

Run the work in parallel, keep clients in the same zone, bundle small files into larger ones, and cache read-only data locally.

ANTI-PATTERN 05Avoid
What it looks like

Nobody watches free space, and the share fills completely on a busy day.

Why it hurts

Programs cannot write, jobs crash, and some may leave half-written, damaged files.

What to do instead

Alert at seventy and ninety percent, plan resizes ahead of time and delete scratch data on a schedule.

BBest Practices and Common Mistakes

This chapter gathers the habits of teams that run shared storage well, and the mistakes of those who learned the hard way.

Best practices: planning

  • Choose the tier from your real needs for availability, speed and features, not from habit.
  • Check size limits, step sizes and NFS version support for the tier before you commit.
  • Place instances and clients in the same zone or region.
  • Use separate projects and networks for development, testing and production.
  • Define infrastructure as code, using a tool such as Terraform, so every instance is reviewed and repeatable.
  • Label every instance with owner, project, environment and cost center.

Best practices: operations

  • Automate mounts in images or startup scripts, so new machines attach to the share without manual work.
  • Use hard mounts with sensible timeouts for writable data.
  • Monitor free space, throughput, operations and latency, with alerts and runbooks.
  • Schedule snapshots and backups, set retention rules and test restores regularly.
  • Review capacity every month and resize before you are short of space.
  • Clean scratch folders on a schedule and archive finished data to Cloud Storage.

Best practices: security

  • Allow NFS only from named client ranges, using firewall rules and share access rules.
  • Turn on root squash and use read-only access where writing is not needed.
  • Apply least-privilege IAM and separate the power to delete backups from daily operations.
  • Use customer-managed encryption keys when your rules require control over keys.
  • Keep audit logs and review them.

Common mistakes

MistakeWhat goes wrongFix
Choosing a basic tier for critical systemsSingle-zone outage stops the applicationUse a multi-zone tier or add replication and tested recovery
Open access rules for the whole networkAny machine on the network can mount the dataAllow only named clients, enable root squash
Over-provisioning capacityPaying for unused gigabytes every hourRight-size and resize as data grows
Relying on snapshots onlySnapshots disappear with the instanceKeep independent backups, ideally in another region
Clients in the wrong zoneSlow responses and extra network chargesPlace clients next to the instance
Testing with a single streamWrong conclusions about speedTest with realistic parallel workloads
Soft mounts for writable dataWrite errors silently corrupt filesUse hard mounts for writes
Ignoring free space alertsShare fills and jobs failAlert early and plan resizes
Forgetting to delete test instancesQuiet hourly charges foreverLabel with owners and review monthly
i
Pro Tip

Before putting any important system on a shared file service, ask four questions. What happens if the share is unreachable for ten minutes? What happens if a folder is deleted by mistake? What will this cost if data grows tenfold? Who gets alerted when space or speed runs short? If you cannot answer all four, you are not ready.

Shared storage is shared fate: plan for the day it is slow, full or gone.

RReal-World and Industry Examples

Let us look at the kinds of work that shared file storage carries every day. Companies seldom publish detailed architectures, so these examples describe typical patterns in each industry.

Film, animation and visual effects

Studios draw each frame of a film on many machines at once. All of them need the same scene files and textures. They write finished frames back to a shared folder, where artists review them. A shared file service in the cloud lets a studio rent hundreds of machines for a deadline and release them afterwards, without buying a render farm.

Life sciences and genomics

Labs run analysis jobs over large reference data sets. Tools in this field are often older Linux programs that expect normal folders and cannot talk to web-style storage. A fast shared file system lets those programs run in the cloud with few changes, while results are archived to cheaper object storage when the project ends.

Chip design and engineering simulation

Electronic design teams run huge numbers of simulations that read shared libraries and write many output files. These workloads create heavy demands for small file operations and high parallel access, and they favor performance tiers placed close to the compute machines.

Web publishing and e-commerce

Content platforms and online shops, many built on popular content management systems, store uploaded images and documents in a shared folder mounted by every web server. Adding servers for a sale day or a news spike then needs no copying of files.

Enterprise applications and lift-and-move

Many business applications were written for traditional file servers. Companies moving them to Google Cloud often use Filestore as the replacement for their old network storage, so the applications keep working with little change while the company retires its hardware.

Machine learning and data preparation

Teams preparing data for model training often use shared folders for raw data, intermediate files and results, accessed by many notebooks and training jobs at once. Fast shared storage keeps expensive accelerator machines busy instead of waiting for data.

Developer tools and build systems

Build and test systems share source code, caches and build outputs across many build machines. A shared folder for caches can cut build times, because one machine’s work can be reused by the rest.

What these stories have in common

Every example shares the same habits. Many machines need one consistent view of the same files. The software expects normal folders. Capacity is rented only for as long as the work lasts. Cold data moves to cheaper storage. Tiers are chosen for speed and risk. Backups and monitoring are in place from the start. The details differ between industries, but the core design is the same.

i
Note

These examples describe common industry patterns rather than specific company designs. Your own design should always start from your own workload, your own data and your own risk.

MMigrating Data and Operating Day to Day

Most teams do not start with an empty share. They have existing files that must be moved safely, and a long life of operations ahead.

Moving data in

Several tools can copy data into Filestore. For files on a machine you control, standard copy tools that work over NFS, such as those that copy only changes, are simple and reliable. For large amounts of data from other places, Google offers transfer services that move data from on-premises storage or from other clouds in a managed way, with checks that the copy is complete. For huge, one-time moves from offline systems, physical transfer devices may be an option.

A safe migration path

1

Inventory

List the folders, their sizes, the number of files, who uses them and how often files change.

2

Pick the tier and size

Use the inventory to choose a tier, a size with growth room, and a location close to the clients.

3

Build the network path

Create private connectivity, firewall rules and access rules for the clients and for the copy machines.

4

Do the first full copy

Copy everything while the old system is still in use. This can take a long time for large data.

5

Sync changes

Repeat copies that move only changed files. Each pass is shorter, until the final gap is small.

6

Verify

Compare file counts, sizes and checksums, and have owners test their applications against the new share.

7

Cut over

Pause writes on the old system, run a final sync, point clients at the new share and keep the old one read-only for a while as a safety net.

Analogy

Migrating files is like moving house. You pack and carry most of the boxes while still living in the old place. On moving day you carry only the last few items, and you keep the old keys until you are sure the new home works.

Things that surprise teams

  • Many small files copy slowly. A million tiny files can take much longer than a few huge ones of the same total size. Run copies in parallel.
  • User numbers must match. If user and group numbers differ between old and new systems, permissions look wrong. Plan how to map them.
  • Special features may not carry over. Some old systems use extra attributes or access lists that a simple copy does not preserve.
  • Locks and open files. Files that are open and changing during the copy may be copied in a half-finished state. Schedule the final sync when writers are paused.
  • Network limits. The link between your site and the cloud sets the speed. Estimate transfer times before you promise a date.

Operating day to day

After the move, life becomes routine. Check the dashboards each morning. Review the capacity forecast each month. Confirm that backups completed. Test a restore each quarter. Review access rules when teams change. Review costs and delete what is no longer needed. Keep your runbooks current, because a runbook that describes last year’s system is worse than none.

Infrastructure as code

Write the definition of your instances, shares, access rules and backup schedules in code, using a tool such as Terraform or Google’s own deployment tools, and store it in version control. This gives you a record of every change, lets you review changes before they happen, and lets you rebuild the whole setup quickly in another project or region.

i
Pro Tip

Keep the old system read-only and powered on for at least a few weeks after cutover. Problems with permissions or missing files often appear only when people do their month-end work, and a safe fallback turns those surprises into small repairs.

Production example: office file servers moving to the cloud

Organizations retiring old office network storage commonly copy data in waves by department, starting with a low-risk team to learn the process. They keep the old storage read-only for a period, and only then switch it off, which turns a risky weekend into a calm, step-by-step project.

FFrequently Asked Questions

Short, direct answers to questions that beginners ask most often.

Q1What is Filestore in one sentence?
Filestore is Google Cloud’s managed network file storage service, which gives many machines a shared folder over NFS without you running any file servers.
Q2How is Filestore different from Cloud Storage?
Filestore behaves like a normal shared folder with fast small reads and writes and file locking, and is paid for by provisioned capacity. Cloud Storage keeps objects in buckets, is reached through web-style requests, costs much less per gigabyte and is paid for by stored data. Filestore suits software that expects folders, and Cloud Storage suits huge, cheap, rarely changed data.
Q3How is Filestore different from Persistent Disk?
Persistent Disk is block storage meant for one machine at a time. Filestore is file storage meant for many machines reading and writing together.
Q4Which protocol does Filestore use?
It uses NFS. Basic tiers use version 3, and higher tiers add version 4.1. Check the current documentation for the exact versions on each tier.
Q5Can Windows machines use Filestore?
Filestore is mainly designed for Linux clients that speak NFS. Windows can use an NFS client feature in some cases, but if you need Windows-style file sharing, look at services that offer that protocol, such as NetApp Volumes.
Q6Do I pay for the space I use or the space I create?
You pay for the capacity you provision, whether you fill it or not. Choose a size with healthy margin but not much more.
Q7Can I change the size of an instance?
Growing is usually easy and can often be done while clients use the share. Shrinking depends on the tier, and some tiers do not allow it. Plan sizes carefully, and remember that growing is much simpler than shrinking.
Q8What happens if a zone fails?
For a single-zone instance, the data may be unavailable until the zone recovers, and you may restore from a backup elsewhere. For regional and Enterprise tiers, data is spread across zones, so the service is designed to keep working through the loss of one zone.
Q9What is the difference between a snapshot and a backup?
A snapshot is a quick point-in-time picture that lives with the instance and is good for fast undo. A backup is a separate copy stored independently, which survives deletion of the instance and can be kept in another region.
Q10Can I mount Filestore from outside Google Cloud?
Yes, if your site has private connectivity to your VPC through Cloud VPN or Cloud Interconnect, and the routes and firewall rules allow it. Expect more delay than from inside Google Cloud.
Q11How do containers on Kubernetes use Filestore?
Through the Filestore CSI driver. Applications ask for storage with a persistent volume claim and a storage class, and Kubernetes asks Filestore to provide a share. Many pods can use the same claim at once. The Enterprise tier also supports multishares, which carve small shares from one larger instance.
Q12Why is my share slow?
Check four things in order: whether the instance is near its limits, whether the client machine is limited by its own size or network, whether client and server are in the same zone or region, and whether the program makes huge numbers of tiny sequential requests. Fix the bottleneck that the numbers show.
Q13Is my data encrypted?
Data is encrypted at rest by default with keys managed by Google, and some tiers allow customer-managed keys. Network traffic inside your private network is not encrypted by default in the basic style, so for very sensitive data, review the options for each tier and add network controls.
Q14Should I run a database on Filestore?
Only if the database software explicitly supports network file storage. Most databases are happier on local block-style disks, which give consistent speed and the locking behavior they expect.
Q15How can I keep costs down?
Pick the lowest tier that meets your needs, avoid over-provisioning, move cold data to Cloud Storage, delete forgotten instances and old backups, keep clients in the same zone, and set budgets with alerts.
Q16How is Filestore similar to Amazon EFS or Azure Files?
All of them are managed shared file services. Filestore uses NFS, as does Amazon EFS. Azure Files focuses on SMB, with some NFS support. The ideas of mounting a share, choosing performance levels and protecting data with backups carry across all of them, though names, limits and pricing differ.

SSummary and Key Takeaways

You have now seen Filestore from the outside and from the inside. Here is the whole story in one place.

Filestore gives many machines one shared, managed folder over NFS. Clients send small requests through your private network to a managed server layer, which stores data redundantly on Google’s storage. You choose a tier for speed, size and safety, provision capacity, set access rules, and protect data with snapshots, backups and replication. Google runs the hardware and the service, and you design the use of it.

Key Takeaways

  • Use it for shared folders. Choose Filestore when many machines need the same files with normal folder behavior. Use Cloud Storage for cheap, huge archives and Persistent Disk for a single machine’s own disk.
  • Match the tier to the risk. Basic tiers suit small and test needs, performance tiers suit heavy compute, and regional or Enterprise tiers suit critical systems that must survive a zone failure.
  • Stay close and go parallel. Put clients near the instance, use many parallel requests, and avoid millions of tiny sequential operations.
  • Pay for what you provision. Right-size capacity, grow when needed, move cold data to object storage, and delete forgotten instances and backups.
  • Protect in layers. Use snapshots for quick undo, backups for independent copies, replicas for fast disaster recovery, and test restores regularly.
  • Lock the doors. Keep access private, allow only named clients, use root squash and least-privilege IAM, and consider customer-managed keys for sensitive data.
  • Watch and plan. Monitor free space, throughput, operations and latency, alert on symptoms, keep runbooks current, and define everything as code.