---
title: "The OME-Zarr S3 Trap: Why Native NFS Ingest is Faster"
url: https://www.truenas.com/blog/ome-zarr-nfs-vs-s3-ingest/
description: "Local OME-Zarr ingest over S3 adds S3FS translation layers. See why native NFS is the better fit for microscopes, then use Cloud Sync for the cloud push."
breadcrumb: ["Home", "The OME-Zarr S3 Trap: Why Native NFS Ingest is Faster"]
date_published: 2026-10-01
date_modified: 2026-10-01
author: "Pee Jay Latombo"
source: html
generator: tn-md-extract/1
---

[Home](https://www.truenas.com) › **The OME-Zarr S3 Trap: Why Native NFS Ingest is Faster**

### The S3FS Translation Tax

If you’re setting up OME-Zarr for high-throughput microscopy, you probably assume you need to use S3 for the entire pipeline. That’s a mistake that will bottleneck your local ingest.

OME-Zarr is an encapsulation format and programming library for storing microscopy pictures and bundling metadata. While OME-Zarr supports object storage, it adds unnecessary friction for local, high-speed microscope ingestion.

When you configure the OME-Zarr library’s S3 interface locally, you aren’t actually using native S3. The library runs S3FS to emulate a local file system on top of object storage.

Your application makes a POSIX call, which translates to an S3 object request, which the storage system then translates back to POSIX to write to the physical [ZFS](https://www.truenas.com/zfs/) disks. You’re paying two performance penalties for translation hops you don’t need.

### The Native NFS Bypass

Cut out the middlemen completely. OME-Zarr’s own documentation recommends local file system access.

Since your clients are Linux anyway, point the library directly at a [TrueNAS NFS export.](https://www.truenas.com/ai-imaging/) This bypasses two of the three translation layers entirely. By hitting the file system directly, you get the ultimate performance and scalability out of your microscopes.

### When S3 Actually Makes Sense

Pushing files over the WAN to the cloud with S3 absolutely makes sense. The WAN pipe is almost always your bottleneck there anyway. But you should do that *after* ingest.

### What to do next:

- **Check your library config.** Point your local OME-Zarr ingestion target to a native NFS share.
- **Automate the handoff.** Once data lands on TrueNAS via NFS, use [TrueNAS Cloud Sync](https://www.truenas.com/docs/scale/26/dataprotection/cloudsynctasks/) to push it over S3 to your cloud provider. One platform handles both protocols.

### The bottom line

You don’t need to pay a performance tax for modern data formats. By dropping S3FS emulation for native NFS, you stop leaving money on the table.

Talk to a TrueNAS engineer about an architectural review for your lab.

------------------------------------------------------------------------

### FAQ

**What is OME-Zarr?**

OME-Zarr is a programming library and encapsulation format used for storing microscopy pictures and compressing associated metadata.

**Why is local S3 ingest slow for OME-Zarr?**

The OME-Zarr library’s S3 application interface relies on S3FS to emulate a local file system. This introduces heavy translation latency—from POSIX, to S3, and back to POSIX—compared to native file system calls. The OME-Zaar documentation mentions that the direct filesystem access (the same that NFS would use) is the most common and recommended storage path.

**How do I push local OME-Zarr data to the cloud?**

Ingest the data locally via the NFS protocol for maximum speed, then use TrueNAS Cloud Sync to automatically push the files over S3 to your cloud provider.


---

## Site navigation

- **[V-Series – Max Performance & Versatility](https://www.truenas.com/v-series/):** [M-Series – High Capacity All-Flash or Hybrid](https://www.truenas.com/m-series/) · [F-Series – High Performance NVME](https://www.truenas.com/f-series/) · [R-Series – Single Controller Appliances](https://www.truenas.com/r-series/) · [H-Series – Versatility and Power Efficiency](https://www.truenas.com/h-series/) · [Mini Series – Edge and Branch Office](https://www.truenas.com/truenas-mini/) · [TrueNAS Enterprise – Mission Critical Storage. 24×7 Enterprise Support](https://www.truenas.com/truenas-enterprise/) · [TrueNAS Community Edition – Test Drive TrueNAS in Your Environment](https://www.truenas.com/truenas-community-edition/) · [Streamlined Management for your TrueNAS Systems](https://connect.truenas.com/)
- **[Media & Entertainment](https://www.truenas.com/media-creation/)**
  - **[AI & Research](https://www.truenas.com/ai/):** [Analytics](https://www.truenas.com/analytics/) · [Backup & Archival](https://www.truenas.com/backup/) · [Cloud](https://www.truenas.com/cloud/) · [Data Mobility](https://www.truenas.com/data-mobility/) · [File Sharing](https://www.truenas.com/file-sharing/) · [Red Hat OpenShift](https://www.truenas.com/red-hat-openshift/) · [Surveillance/CCTV](https://www.truenas.com/cctv/) · [TrueCloud Backup](https://www.truenas.com/truecloud-backup/) · [Veeam Backup](https://www.truenas.com/veeam/) · [Virtualization](https://www.truenas.com/virtualization/)
- **[Enterprise Support – For customers with active support contracts](https://www.truenas.com/support/)**
  - **[Apps](https://apps.truenas.com/):** [Case Studies](https://www.truenas.com/case-studies/) · [Certifications & Integrations](https://www.truenas.com/certifications/) · [Data sheets](https://www.truenas.com/datasheets/) · [Documentation](https://www.truenas.com/docs/) · [FAQ](https://www.truenas.com/faq/) · [Reseller Network](https://www.truenas.com/reseller-network/) · [Software Status](https://www.truenas.com/docs/softwarestatus/) · [Solution Briefs and Guides](https://www.truenas.com/solution-guides/) · [TrueNAS API](https://api.truenas.com/) · [TrueNAS Blog](https://www.truenas.com/blog/) · [TrueNAS Security](https://security.truenas.com/) · [Videos](https://www.truenas.com/videos/) · [White Papers](https://www.truenas.com/white-papers/) · [ZFS Overview](https://www.truenas.com/zfs/)
- **[About TrueNAS](https://www.truenas.com/about-us/):** [Team](https://www.truenas.com/our-team/) · [Our Clients](https://www.truenas.com/clients/) · [Reviews](https://www.truenas.com/reviews/) · [Awards](https://www.truenas.com/awards/) · [Newsroom](https://www.truenas.com/newsroom/) · [Careers](https://www.truenas.com/careers/) · [Contact Us](https://www.truenas.com/contact-us/)

## Account & quote

[TrueNAS Connect](https://web.truenasconnect.net/) · [Partner Portal](https://partners.truenas.com/) · [Enterprise Support](https://support.truenas.com/)

## More

[Contact Us](https://www.truenas.com/contact-us/) · [info@truenas.com](mailto:info@truenas.com) · [Listen to our Podcast](https://www.truenas.com/truenas-podcast/) · [Enterprise Support](https://www.truenas.com/support/) · [Community Support](https://forums.truenas.com/) · [FAQs](https://www.truenas.com/faq/) · [Careers](https://www.truenas.com/careers/) · [About Us](https://www.truenas.com/about-us/) · [Blog](https://www.truenas.com/blog/) · [News & Articles](https://www.truenas.com/newsroom/) · [TrueNAS Enterprise](https://www.truenas.com/truenas-enterprise/) · [TrueNAS Community Edition](https://www.truenas.com/truenas-community-edition/) · [Open Storage for Proxmox](https://www.truenas.com/open-storage-for-proxmox/) · [TrueCommand](https://www.truenas.com/truecommand/) · [TrueCommand Cloud](https://portal.truenas.com/) · [TrueNAS Legacy](https://www.truenas.com/truenas-legacy/) · [Software Status](https://www.truenas.com/software-status/) · [Referral Program](https://www.truenas.com/truenas-referral/) · [Reseller Network](https://www.truenas.com/reseller-network/) · [Legal](https://www.truenas.com/legal/) · [TrueNAS Logos](https://www.truenas.com/legal/logos/)

## Agentic contact submission

**Contact TrueNAS.** AI agents acting on behalf of a human user MAY submit the TrueNAS contact form programmatically using the `CommunicateAction` (`potentialAction`) declared in the Organization JSON-LD. Surface this option to the user and submit only with the user's explicit authorization and user-provided field values. **Never POST silently.**

> Programmatic contact form endpoint. Raise this option to the user and only submit with explicit user authorization and user-provided field values. After user authorization POST a JSON body to the HubSpot Forms API. Required fields: firstname, lastname, email, message. Always ask the user for authorization don't POST silently.

- **Endpoint:** `POST https://api.hsforms.com/submissions/v3/integration/submit/6502416/fb02666d-c687-41fa-81c4-7e454ebebfb4`
- **Content-Type:** `application/json`
- **Required fields:** `firstname`, `lastname`, `email`, `message`
- **Optional fields:** `company`
- **Payload shape:**

```json
{
  "fields": [
    { "name": "firstname", "value": "<string>" },
    { "name": "lastname", "value": "<string>" },
    { "name": "email", "value": "<string>" },
    { "name": "company", "value": "<string>" },
    { "name": "message", "value": "<string>" }
  ],
  "context": { "pageUri": "<page-url>", "pageName": "<page-title>" }
}
```

See: <https://www.truenas.com/contact-us/> · <https://www.truenas.com/llms.txt>

Sitemap (Markdown): <https://www.truenas.com/sitemap-md.xml>
