<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>ONTAP — NetApp Community</title>
        <link>https://community.netapp.com/community/</link>
        <pubDate>Fri, 23 Oct 2026 08:38:15 +0000</pubDate>
        <language>en</language>
            <description>ONTAP — NetApp Community</description>
    <atom:link href="https://community.netapp.com/community/discussions/tagged/ontap/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Beyond the Dashboard: Turning Storage Signals into Action with the NetApp Console local deployment</title>
        <link>https://community.netapp.com/community/discussion/468450/beyond-the-dashboard-turning-storage-signals-into-action-with-the-netapp-console-local-deployment</link>
        <pubDate>Tue, 06 Oct 2026 13:17:04 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>Bhuvana</dc:creator>
        <guid isPermaLink="false">468450@/community/discussions</guid>
        <description><![CDATA[<p>For years, storage teams have had plenty of data and not quite enough context.</p><p>Most ONTAP estates are watched two ways today. Active IQ Unified Manager gives the overall view, and it has done that job faithfully for a long time. But it is legacy now. It has no agentic capabilities, and it does not cover the newer platforms teams are buying—an ASA R2 controller simply does not appear there. Everything else happens in System Manager, which is a genuinely good interface for one cluster at a time. That is exactly the limitation: one cluster at a time.</p><p>So the estate-level question—<em>which system needs me first?</em>—either goes to a tool that cannot see all of it, or gets answered by opening System Manager repeatedly and holding the comparison in your head. And once you find the problem, seeing it and fixing it are still two different places.</p><p>That is the gap the NetApp Console local deployment closes.</p><p>Console local brings fleet management, observability and day-to-day operations into an on-premises control plane. That last point matters. In a regulated environment, a sovereign data center or a dark site, "send the telemetry to a SaaS service" may simply not be an option. Console local keeps the operational experience local while still giving teams a fleet-wide view.</p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/FFX8GF59LVBA\/image.png&quot;,&quot;name&quot;:&quot;image.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:233522,&quot;width&quot;:3024,&quot;height&quot;:1546,&quot;displaySize&quot;:&quot;large&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FFFX8GF59LVBA%2Fimage.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5736,&quot;dateInserted&quot;:&quot;2026-10-06T13:08:35+00:00&quot;,&quot;insertUserID&quot;:53777,&quot;foreignType&quot;:null,&quot;foreignID&quot;:null,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FFFX8GF59LVBA%2Fimage.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/FFX8GF59LVBA/image.png" alt="image.png" height="1546" width="3024" data-display-size="large" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/FFX8GF59LVBA/image.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/FFX8GF59LVBA/image.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/FFX8GF59LVBA/image.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/FFX8GF59LVBA/image.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/FFX8GF59LVBA/image.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/FFX8GF59LVBA/image.png 2000w, https://us.v-cdn.net/6038798/uploads/FFX8GF59LVBA/image.png" sizes="100vw" /></a>
    </span>
</span>
<h2 data-id="start-with-the-fleet-not-the-cluster">Start with the fleet, not the cluster</h2><p>Console local starts at the level the question is usually asked. It gives an operations team a common view across the ONTAP fleet—systems, capacity, performance and health—including the newer platforms that legacy monitoring never learned to see. The estate can be grouped the way the business is actually organised, so a fleet health view can show Dev, Finance, APAC and Prod side by side, each with its systems, storage VMs and volumes, used capacity, security compliance and open critical alerts. From there, an administrator can move from an estate-level signal down to a cluster, workload or volume without starting the investigation over somewhere else.</p><p>This sounds like a small change in navigation. In practice, it changes the morning routine. Instead of working through clusters one at a time, an administrator can answer a few basic questions in one place:</p><ul><li>Where is capacity growing faster than expected?</li><li>Which systems are carrying active critical alerts?</li><li>Is a latency problem isolated to one workload or visible across the fleet?</li><li>Which issue should the team work on first?</li></ul><p>Underneath, Console local draws on the full depth of NetApp Harvest metrics—so this is not a thinner view of the estate than administrators are used to. It is the same class of data, presented in the environment where the fleet is actually managed.</p><h2 data-id="dashboards-that-answer-the-team-s-questions">Dashboards that answer the team's questions</h2><p>A fixed overview is useful, but an infrastructure lead and a storage administrator rarely need the same view.</p><p>Custom dashboards let teams arrange the signals that matter to them: capacity by cluster, latency trends, top workloads by IOPS, protection status and recent alerts, for example. Multiple visualisations make it possible to look at the same estate from different angles without exporting data into a spreadsheet first.</p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/IQUXYFFMMGBL\/image.png&quot;,&quot;name&quot;:&quot;image.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:329624,&quot;width&quot;:2772,&quot;height&quot;:1370,&quot;displaySize&quot;:&quot;large&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FIQUXYFFMMGBL%2Fimage.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5737,&quot;dateInserted&quot;:&quot;2026-10-06T13:10:12+00:00&quot;,&quot;insertUserID&quot;:53777,&quot;foreignType&quot;:null,&quot;foreignID&quot;:null,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FIQUXYFFMMGBL%2Fimage.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/IQUXYFFMMGBL/image.png" alt="image.png" height="1370" width="2772" data-display-size="large" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/IQUXYFFMMGBL/image.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/IQUXYFFMMGBL/image.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/IQUXYFFMMGBL/image.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/IQUXYFFMMGBL/image.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/IQUXYFFMMGBL/image.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/IQUXYFFMMGBL/image.png 2000w, https://us.v-cdn.net/6038798/uploads/IQUXYFFMMGBL/image.png" sizes="100vw" /></a>
    </span>
</span>
<p><em>The first three charts—average latency, total throughput and total IOPS—also show the top 5 volumes. They are drawn as a single line, so a per-volume legend is not shown.</em></p><p>The practical value is not the chart itself. It is the ability to notice a relationship. A capacity warning beside a rising workload trend tells a more useful story than either signal in isolation. A protection panel beside recent infrastructure alerts helps an operator understand whether an incident is merely noisy or has started to put recovery objectives at risk.</p><p>For a deeper investigation, the Workload Analyzer narrows the view to an individual volume. Its guided flow brings together the event timeline, latency, throughput, resource utilisation, capacity and data protection. That gives an administrator a sensible path through a performance case instead of a blank query box and a wall of metrics.</p><h2 data-id="alerts-with-enough-context-to-be-useful">Alerts with enough context to be useful</h2><p>Most infrastructure products can produce alerts. The real test is whether an alert helps someone decide what to do next.</p><p>Console local provides a fleet-wide alert view with search, filtering and detailed information about the affected resource. Alerts follow a consistent model: three severities—Critical, Warning and Info—and six impact areas covering Availability, Capacity, Performance, Protection, Security and Configuration. That consistency becomes important as more services contribute signals to the same console.</p><p>Notifications also stay on premises. Teams can route them through email, webhooks or the Console notification bell, including in environments without internet connectivity. Rules can be tailored so the right group sees the right events rather than receiving every signal produced by the estate.</p><p>There is an equally important detail behind the scenes: alerts are expected to be edge-triggered, so a condition raises an alert when it becomes true rather than on every evaluation cycle. Services are also encouraged to resolve alerts automatically when the underlying condition clears. Both choices help keep the alert list closer to an operational queue and further away from a historical dumping ground.</p><h2 data-id="from-something-is-wrong-to-here-is-a-safe-next-step">From "something is wrong" to "here is a safe next step"</h2><p>This is where the NetApp Console local deployment becomes more than a monitoring console.</p><p>Where a condition has a supported fix, Console local surfaces it as a recommended remediation rather than leaving the operator to go elsewhere and apply it by hand.</p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/S3NKL1T5R7HU\/image.png&quot;,&quot;name&quot;:&quot;image.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:182221,&quot;width&quot;:2662,&quot;height&quot;:1538,&quot;displaySize&quot;:&quot;large&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FS3NKL1T5R7HU%2Fimage.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5738,&quot;dateInserted&quot;:&quot;2026-10-06T13:12:05+00:00&quot;,&quot;insertUserID&quot;:53777,&quot;foreignType&quot;:null,&quot;foreignID&quot;:null,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FS3NKL1T5R7HU%2Fimage.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/S3NKL1T5R7HU/image.png" alt="image.png" height="1538" width="2662" data-display-size="large" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/S3NKL1T5R7HU/image.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/S3NKL1T5R7HU/image.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/S3NKL1T5R7HU/image.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/S3NKL1T5R7HU/image.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/S3NKL1T5R7HU/image.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/S3NKL1T5R7HU/image.png 2000w, https://us.v-cdn.net/6038798/uploads/S3NKL1T5R7HU/image.png" sizes="100vw" /></a>
    </span>
</span>
<p>Choosing <strong>Fix it</strong> opens the action with the context needed to judge it: what Console local proposes to change, the current state of the object, the constraints that affect the result, and whatever input the operator must supply. The equivalent CLI command sits alongside it, for anyone who would rather run the change themselves or fold it into automation.</p><p>The panel is built around getting the decision right before it is applied. The initial set is deliberately narrow, covering common volume-management actions, and an auto-remediation setting exists for teams ready to let recommended fixes run on their own.</p><p>The loop also removes a hand-off. Nobody has to copy an object name into another console, rebuild the context there, and hope they are changing the right thing.</p><h2 data-id="the-bigger-shift">The bigger shift</h2><p>All of this runs inside the customer's own environment. The control plane, the metrics, the alert history and the notification path stay on premises, which is what makes the NetApp Console local deployment workable for air-gapped sites, regulated organisations and anyone operating under data-sovereignty rules. Monitoring stops being one more thing that depends on an internet connection.</p><p>Running locally no longer means accepting less. An on-premises deployment gives fleet-wide monitoring, role-based access and local notification routing, and it covers the platforms an estate is buying today rather than the ones it bought a decade ago. It connects those metrics to inventory, alerts, workload context and management actions, so the work moves in one line: start with the fleet, narrow to the resource, understand the risk and—where a supported remediation exists—fix it without leaving the console.</p><p>The most useful observability platform is not the one with the most charts. It is the one that shortens the distance between a signal and a safe decision. That is the direction the NetApp Console local deployment is taking: from monitoring storage to operating the fleet.</p><h2 data-id="call-to-action">Call to Action</h2><p>If Console local is new to you, start with the launch announcement: <a href="https://community.netapp.com/community/discussion/468359/rethinking-on-premises-storage-management-at-scale" target="_blank" rel="nofollow noopener ugc">Rethinking On-premises Storage Management at Scale</a>. It covers what the NetApp Console local deployment is, why we built it, and everything it does beyond observability—fleet organization, storage classes and the Console AI assistant.</p><p>When you are ready to see it against your own estate:</p><ul><li>Download the NetApp Console local deployment OVA from the NetApp Support site and deploy it into a non-production VMware environment.</li><li>Add a handful of clusters and group them the way your business is actually organised. One site and a named admin is enough to see whether the fleet view earns its place.</li><li>Take one alert your team genuinely cares about and follow it all the way through to a recommended remediation.</li><li>Talk to your NetApp account team about a fleet workshop or a proof of concept.</li></ul><p>The fastest way to judge any observability tool is to give it a problem you already have and see how far it gets you. With Console local, that is a two-week exercise—not a two-quarter one.</p>]]>
        </description>
    </item>
    <item>
        <title>Modernizing Enterprise File Data with Amazon FSx for NetApp ONTAP and lakeFS</title>
        <link>https://community.netapp.com/community/discussion/468409/modernizing-enterprise-file-data-with-amazon-fsx-for-netapp-ontap-and-lakefs</link>
        <pubDate>Wed, 23 Sep 2026 15:50:28 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>tsathish</dc:creator>
        <guid isPermaLink="false">468409@/community/discussions</guid>
        <description><![CDATA[<h3 data-id="how-amazon-fsx-for-netapp-ontap-and-lakefs-give-file-centric-organizations-a-practical-path-to-governed-ai-and-data-engineering-workflows">How Amazon FSx for NetApp ONTAP and lakeFS give file-centric organizations a practical path to governed AI and data engineering workflows. </h3><p></p><p></p><p><em>Jointly authored by Iddo Avneri at</em><em><strong> </strong></em><em>lakeFS and Sathish Thyagarajan at NetApp</em></p><p></p><p></p><p></p><p></p><p><strong>A Fortune 500 pharmaceutical company recently answered a question many organizations are asking: How do you modernize enterprise file data for AI without disrupting the storage platform you already trust?</strong></p><p><strong></strong></p><p></p><p>The answer started with years of critical data and established workflows built around file systems. Linux users mounted NFS. Windows users expected SMB and Windows Explorer. Access controls were tied to Active Directory. When the company moved this environment from on-premises ONTAP to AWS, asking every team to adopt a new storage model wasn't a realistic migration plan.</p><p>At the same time, its analytics and AI stack increasingly expected S3. The company selected Amazon FSx for NetApp ONTAP because it could preserve the file access its users depended on while creating a path for S3-based applications. Amazon S3 access points for FSx for ONTAP can present file data through an S3 endpoint while that data remains available through NFS and SMB.</p><p>That solved the storage and protocol problem. It didn't solve what happened when multiple teams needed to change, validate, and publish the data feeding analytics and AI.</p><p></p><h3 data-id="the-missing-layer-above-storage"><strong>The missing layer above storage</strong></h3><p><strong></strong></p><p>Consider a data science team preparing clinical trial data for a new analysis. One engineer corrects source records. Another changes a transformation. A third adds derived features. Every change may be reasonable on its own, but nobody wants partially tested work appearing in a shared production dataset. The usual workaround is duplication. Teams create new directories, new buckets, or files with names such as trial-data-final-v2-reviewed. Those copies consume storage, drift from one another, and make it difficult to reconstruct the exact dataset behind a result. Storage snapshots remain important for infrastructure protection. Object-level versioning also has a role. But AI and data engineering teams need to manage a dataset as a coherent unit: isolate a change, test it, inspect the difference, and publish it only after approval.</p><p>lakeFS is the control plane for AI-ready data. It adds that workflow above the storage layer, sitting between data storage and the tools, users, and AI agents that consume the data. A team can create a <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fdocs.lakefs.io%2F" target="_blank" rel="nofollow noopener ugc">zero-copy branch</a> of a dataset, make changes without affecting production, commit an immutable version, compare it with the current production state, and merge it when the work is ready. The data stays on the customer's storage. The workflow changes, not the storage foundation.</p><p></p><h3 data-id="a-working-reference-environment-on-amazon-fsx-for-netapp-ontap"><strong>A working reference environment on Amazon FSx for NetApp ONTAP</strong></h3><p><strong></strong></p><p>Customers can use the public<a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fgithub.com%2Ftreeverse%2Flakefs-ontap-poc" target="_blank" rel="nofollow noopener ugc"> lakeFS + NetApp ONTAP reference environment</a> as a practical starting point for this architecture. It shows how lakeFS and Amazon FSx for NetApp ONTAP work together on AWS, with a deployable environment and a concrete data workflow to run against it.</p><p>The reference environment uses Amazon FSx for NetApp ONTAP, with a native ONTAP S3 object-store server and bucket configured inside the file system. lakeFS runs on an Amazon EC2 instance and uses the ONTAP S3 bucket as its backing storage. Every object written through lakeFS is physically stored on FSx for ONTAP.</p><p></p><p>The included workflow follows a simple ML feature-engineering example:</p><ol><li>A baseline training dataset was committed to the main branch.</li><li>A data scientist, pipeline, or AI agent created an isolated branch for a proposed feature.</li><li>The updated dataset was written and committed on that branch without changing the shared version.</li><li>The team inspected the exact difference between the branch and main.</li><li>After validation, the branch was merged into main with its history intact.</li></ol><p>No full copy of the original dataset was required when the branch was created. The branch initially referenced the existing data and stored only subsequent changes. The repository is a working reference, not a performance benchmark. It gives customers a repeatable way to use native ONTAP S3 on Amazon FSx for NetApp ONTAP as the storage foundation for lakeFS, with branching, commits, diffs, merges, and complete version history available to the data team. For an AI agent, the branch is an isolated data sandbox. The agent can start from an approved dataset version, write proposed outputs, and submit them to the same validation and review process used for human and pipeline changes. The input and output commits give the run exact data references, so it can be reproduced, audited, or debugged later.</p><p></p><h3 data-id="one-storage-foundation-with-clear-responsibilities"><strong>One storage foundation, with clear responsibilities</strong></h3><p><strong></strong></p><p>The products solve different problems. NetApp ONTAP handles how data is stored, protected, and accessed. It supports the enterprise file protocols that many organizations already depend on, while also supporting S3-based workloads. On AWS, FSx for ONTAP gives customers a managed ONTAP environment without forcing established file users to redesign their workflows. lakeFS handles how AI and data teams change data. It provides isolation for development and testing, reproducible dataset versions, automated validation points, controlled promotion, rollback, and an audit trail of what changed. Those controls apply whether the change comes from a person, a pipeline, or an AI agent.</p><p></p><p>That division is useful inside large enterprises. Storage and infrastructure teams can keep the controls and operating model they trust. Data scientists and engineers get a workflow designed for experimentation and review. The organization doesn't need to maintain one storage estate for traditional applications and another simply because newer applications speak S3. Not every AI or analytics application is designed to work directly with S3. lakeFS Mount exposes a lakeFS branch through a local filesystem interface, so existing applications and AI agents can read and write data using familiar file APIs. Their changes remain isolated in the branch and can be validated, committed, and merged through lakeFS before reaching the shared version. FSx for ONTAP can support established file workloads and new data engineering and AI projects on the same storage foundation. lakeFS brings modern data workflows to that foundation.</p><p></p><h3 data-id="native-ontap-s3-and-amazon-s3-access-points"><strong>Native ONTAP S3 and Amazon S3 access points</strong></h3><p><strong></strong></p><p>There are two related deployment patterns worth distinguishing. The reference environment uses a native ONTAP S3 bucket running on Amazon FSx for NetApp ONTAP. This is a good fit for a new lakeFS-managed namespace stored directly on ONTAP. Amazon S3 access points for FSx for ONTAP address a different requirement. They attach an S3 endpoint to an FSx for ONTAP volume, allowing S3 applications and AWS services to access file data without moving it out of the file system. NFS and SMB access can continue alongside the S3 path.</p><p></p><p>The right pattern depends on the workload. A team building a new governed data environment may choose native ONTAP S3 as the lakeFS backing store. A team with an existing file-based data estate may use an S3 access point to make that data available to S3 applications.</p><p>In either case, ownership boundaries need to be explicit. A namespace managed by lakeFS should be changed through lakeFS so its commit history remains authoritative. Multiprotocol support should not become a way to bypass validation or write directly around the versioned workflow.</p><p></p><h3 data-id="what-the-pharmaceutical-use-case-looks-like-in-practice"><strong>What the pharmaceutical use case looks like in practice</strong></h3><p><strong></strong></p><p>For the pharmaceutical company, the attraction wasn't another storage endpoint. It was the ability to support conservative, file-based workflows and newer S3 applications on the same NetApp foundation. That creates a practical model for clinical and research data:</p><ul><li>Existing applications and users can retain the NFS or SMB access patterns they require.</li><li>New analytics and AI workloads can access the storage through an S3-based path on AWS.</li><li>lakeFS-managed datasets can be branched for experiments or transformations without copying the complete source.</li><li>People, pipelines, and AI agents can work in isolated branches instead of writing directly to the shared version. Workloads that expect a filesystem can access those branches through lakeFS Mount.</li><li>Data quality and policy checks can run before changes are merged into the shared version.</li><li>Every committed data state has an immutable identifier and full history, so experiments, analyses, and agent runs can be tied to exact input and output data versions.</li></ul><p>A researcher can return to the exact data used for an earlier analysis. A data engineer can show which records or files changed before approving a merge. An AI agent can propose a transformed dataset without changing the approved version. A platform team can give people, pipelines, and agents isolated workspaces without creating another uncontrolled collection of copied datasets. These are ordinary requirements in regulated data environments. The hard part has been satisfying them without disrupting the applications, access methods, and storage controls already in place.</p><p></p><h3 data-id="a-more-practical-cloud-modernization-path"><strong>A more practical cloud modernization path</strong></h3><p><strong></strong></p><p>Cloud migrations are often described as clean breaks: move the data, replace the interfaces, and retrain the users. Large data environments rarely cooperate with that plan. The pharmaceutical company's experience points to a more practical approach. Keep the storage model that critical users and applications depend on. Add S3 access where modern services require it. Then add lakeFS where people, pipelines, and AI agents need isolation, reproducibility, review, and governance across dataset changes. NetApp carries the established data estate into AWS. lakeFS gives new pipelines, experiments, and agent runs a controlled way to work with it. That may sound less dramatic than a clean-slate architecture. For a regulated enterprise, that's usually the point. Teams can modernize the data workflow without treating every established access pattern as technical debt.</p><p></p><h4 data-id="explore-the-solution-architecture"><strong>Explore the solution architecture</strong></h4><p><a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fgithub.com%2Ftreeverse%2FlakeFS-samples%2Ftree%2Fmain%2F01_standalone_examples%2Fnetapp-ontap" target="_blank" rel="nofollow noopener ugc">lakeFS + NetApp ONTAP reference environment</a></p><p><a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fdocs.aws.amazon.com%2Ffsx%2Flatest%2FONTAPGuide%2Faccessing-data-via-s3-access-points.html" target="_blank" rel="nofollow noopener ugc">Amazon S3 access points for Amazon FSx for NetApp ONTAP</a></p><p><a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fdocs.netapp.com%2Fus-en%2Fontap%2Fs3-multiprotocol%2F" target="_blank" rel="nofollow noopener ugc">NetApp ONTAP S3 multiprotocol support</a></p><p><a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Flakefs.io%2F" rel="nofollow noopener ugc">lakeFS - the Control Plane for AI Ready Data</a></p>]]>
        </description>
    </item>
    <item>
        <title>Expanding C-190 aggregates</title>
        <link>https://community.netapp.com/community/discussion/468388/expanding-c-190-aggregates</link>
        <pubDate>Thu, 17 Sep 2026 14:30:51 +0000</pubDate>
        <category>ONTAP</category>
        <dc:creator>sc2111</dc:creator>
        <guid isPermaLink="false">468388@/community/discussions</guid>
        <description><![CDATA[<p>I'm really new on ONTAP and got the task of expanding the aggregates on C-190 NETAPP storage.<br />
I need help in put down the correct steps to expand the aggregates and the volumes presented to esxi cluster.<br />
Can anyone help on this ?</p><p>thanks</p>]]>
        </description>
    </item>
    <item>
        <title>NCDA: New Title, Same Credential</title>
        <link>https://community.netapp.com/community/discussion/468389/ncda-new-title-same-credential</link>
        <pubDate>Thu, 17 Sep 2026 23:05:34 +0000</pubDate>
        <category>ONTAP</category>
        <dc:creator>Nita5</dc:creator>
        <guid isPermaLink="false">468389@/community/discussions</guid>
        <description><![CDATA[<p>As part of an update, the NCDA credential and exam received revised titles in December 2025.</p><div><table><colgroup><col /><col /><col /></colgroup><tr><th><p>NEW Credential Title</p></th><th><p><strong>NetApp Certified Data ONTAP Administrator Professional</strong></p></th></tr><tr><td><p>OLD Credential Title</p></td><td><p>NetApp Certified Data Administrator ONTAP Professional</p></td></tr><tr><td><p>NEW Exam Title</p></td><td><p> NetApp Data ONTAP Administrator Exam (NCDA)</p></td></tr><tr><td><p>OLD Exam Title</p></td><td><p>NetApp Data Administrator ONTAP Professional Exam (NCDA)</p></td></tr></table></div><p>The core content of the exam remains unchanged and continues to cover the areas outlined below:</p><ul><li>Storage Platforms<br /></li><li>Core ONTAP<br /></li><li>ONTAP Storage<br /></li><li>Networking</li><li>Storage Protocols and Connectivity</li><li>Data Protection<br /></li><li>Security</li><li>Performance<br /></li></ul>]]>
        </description>
    </item>
    <item>
        <title>We received The version of Apache Log4j on the remote host is affected by a vulnerability for linux VM which run Netapp SDK</title>
        <link>https://community.netapp.com/community/discussion/468373/we-received-the-version-of-apache-log4j-on-the-remote-host-is-affected-by-a-vulnerability-for-linux-vm-which-run-netapp-sdk</link>
        <pubDate>Tue, 08 Sep 2026 08:44:42 +0000</pubDate>
        <category>ONTAP APIs &amp; SDKs</category>
        <dc:creator>Yashraj Mohite</dc:creator>
        <guid isPermaLink="false">468373@/community/discussions</guid>
        <description><![CDATA[<p>Below is details of vulnerability -</p><p></p><p></p><p>Plugin Output:</p><p> Path              : /data/netapp-manageability-sdk-9.8P10/zedi/zexplore.jar</p><p> Installed version : 2.19.0</p><p> Fixed version     : 2.25.5</p><p><br /></p><p> Path              : /data/netapp-manageability-sdk-9.8P10/lib/java/classes/manageontap-9.8P10.jar</p><p> Installed version : 2.19.0</p><p> Fixed version     : 2.25.5</p><p><br /></p><p>Description:</p><p>The version of Apache Log4j on the remote host is affected by a vulnerability:</p><ul><li>Improper encoding of non-finite floating-point values during MapMessage JSON serialization in Apache Log4j API produces output that is not valid JSON. When a MapMessage contains a non-finite IEEE 754 value (NaN, Infinity, or -Infinity), MapMessage.asJson() emits the corresponding bare token. RFC 8259 does not permit these tokens, so a conformant parser rejects the resulting document. An attacker who can supply a non-finite value can cause the affected layout to emit malformed JSON, which may corrupt the enclosing log record or disrupt downstream log ingestion and parsing. (CVE-2026-49844)</li></ul><p>Note that Nessus has not tested this issue but has instead relied only on the application's self-reported version number.</p><p>Can someone please provide more details to remediate this issue and way to fix whether we should upgrade SDk to 9.8P12 and it iwll include latest updated .jar file?</p>]]>
        </description>
    </item>
    <item>
        <title>Rethinking On-premises Storage Management at Scale</title>
        <link>https://community.netapp.com/community/discussion/468359/rethinking-on-premises-storage-management-at-scale</link>
        <pubDate>Tue, 01 Sep 2026 09:01:34 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>AshishBajpai</dc:creator>
        <guid isPermaLink="false">468359@/community/discussions</guid>
        <description><![CDATA[<p>An application owner pings Anna on Teams: "We need 500 GB for a new service, today, if possible." She knows the drill. She opens NetApp® ONTAP® System Manager on the target cluster to check aggregates, Active IQ Unified Manager to see whether anything is already alerting on that system, and NetApp Digital Advisor® to confirm capacity trends look healthy, each tool doing exactly what it was built to do.</p><p>The provisioning itself takes minutes. What takes longer is deciding where it should go: which cluster, which aggregate or SVM, whether it meets the storage class her architect defined, and whether anything else in the fleet would be a better fit. That decision means jumping between interfaces and drawing on experience, not because any one tool has failed her, but because no layer yet brings fleet context into the everyday work of running storage.</p><p>Sound familiar? This is the daily reality for teams managing on-premises ONTAP at scale, not because the storage isn't capable, but because the management experience has been fragmented within the estate. That gap is exactly why we built NetApp Console™ local deployment.</p><p>We're announcing the general availability of NetApp Console local deployment, a locally deployed, AI-driven autonomous control plane that brings fleet-scale management to your on-premises ONTAP estate for the first time as a unified Console experience.</p><p>This is a significant milestone for NetApp and for every customer running ONTAP at scale. Console local deployment delivers the management layer our on-premises customers have been asking for, fleet organization, unified observability, policy-governed provisioning through storage classes, and an AI-powered Console Assistant, all running inside your environment, on your terms. No constant cloud connection required. The same intelligent experience as NetApp Console in the cloud. One solution. Two delivery models.</p><p>Validated through our Early Access Program with customers across industries, Console local deployment is ready to change how teams organize, monitor, and act across their storage estates. Whether you manage ten systems or a hundred, this is the next chapter in how NetApp helps you take complete control of the NetApp Platform, locally, securely, and at fleet scale.</p><p><strong>When Growth Outruns Your Tools</strong></p><p>ONTAP was built to scale and your environment proves it. More systems, more sites, more workloads running on a platform you trust, supported by NetApp management tools that excel at the cluster and system level. Console local deployment extends that foundation with a fleet-scale layer designed for the estate you have today, and the one you're building toward.</p><p>For storage engineers, that means everyday work, such as provisioning, placement, troubleshooting, happens with fleet-wide context at your fingertips, so decisions are faster and better informed. For architects, it means the standards you define through storage classes and policies, reach every cluster consistently, without losing the depth of system-level management. For executives, it means a single, locally deployed view of capacity, health, and risk across your on-premises environment, built on the unified control plane and tools you already rely on.</p><p>Console local deployment doesn't change what ONTAP does. It unlocks what your team can do with it at scale.</p><p><strong>A Different Kind of Control Plane</strong></p><p>Console local deployment is designed to meet your storage management where you operate.</p><p>It runs locally, deployed as an OVA in your VMware environment. No constant cloud connection required. That matters for air-gapped sites, regulated industries, and any organization that needs management to stay inside its own infrastructure. Yet it delivers the same intelligent experience as Console in the cloud. One console, two delivery models, no retraining.</p><p>Think of it less as another tool and more as an autonomous control plane, a single place to organize your estate, understand what's happening across it, and act when something needs attention.</p><p><strong>Organize the Estate, Not Just the Clusters</strong></p><p>The story usually starts with fleet management. Instead of thinking cluster by cluster, teams begin grouping systems the way the business actually thinks, by region, by workload, by tenant, by business unit. A manufacturing site in Munich and a DR pair in Dublin can live in the same fleet. A system can belong to multiple fleets without being rediscovered or reconfigured.</p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/GIR2AR5FFH2G\/fleet-management-image-1.png&quot;,&quot;name&quot;:&quot;Fleet management image 1.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:36467,&quot;width&quot;:512,&quot;height&quot;:378,&quot;displaySize&quot;:&quot;medium&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FGIR2AR5FFH2G%2Ffleet-management-image-1.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5600,&quot;dateInserted&quot;:&quot;2026-09-01T08:56:29+00:00&quot;,&quot;insertUserID&quot;:89336,&quot;foreignType&quot;:null,&quot;foreignID&quot;:null,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FGIR2AR5FFH2G%2Ffleet-management-image-1.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/GIR2AR5FFH2G/fleet-management-image-1.png" alt="Fleet management image 1.png" height="378" width="512" data-display-size="medium" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/GIR2AR5FFH2G/fleet-management-image-1.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/GIR2AR5FFH2G/fleet-management-image-1.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/GIR2AR5FFH2G/fleet-management-image-1.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/GIR2AR5FFH2G/fleet-management-image-1.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/GIR2AR5FFH2G/fleet-management-image-1.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/GIR2AR5FFH2G/fleet-management-image-1.png 2000w, https://us.v-cdn.net/6038798/uploads/GIR2AR5FFH2G/fleet-management-image-1.png" sizes="100vw" /></a>
    </span>
</span>
<p>For architects, this is where design intent starts to stick. Storage classes let senior admins define what "good" looks like, including performance, capacity, security, data protection, once. From that point on, every provisioning action, whether manual or AI-assisted, follows those rules. Engineers stop reinventing decisions they've made a hundred times. Executives get something they've wanted for years: consistency at scale.</p><p><strong>See What's Happening Before It Becomes a Problem</strong></p><p>Visibility comes next and for many teams, this is the moment things click.</p><p>Instead of piecing together health from scattered sources, Console local deployment brings monitoring, alerting, and analysis into the same place you manage the estate. Dashboards show what matters to your role. </p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/M9Z2ENFQOR86\/observability-image-2.png&quot;,&quot;name&quot;:&quot;Observability image 2.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:62083,&quot;width&quot;:592,&quot;height&quot;:295,&quot;displaySize&quot;:&quot;medium&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FM9Z2ENFQOR86%2Fobservability-image-2.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5601,&quot;dateInserted&quot;:&quot;2026-09-01T08:57:51+00:00&quot;,&quot;insertUserID&quot;:89336,&quot;foreignType&quot;:null,&quot;foreignID&quot;:null,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FM9Z2ENFQOR86%2Fobservability-image-2.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/M9Z2ENFQOR86/observability-image-2.png" alt="Observability image 2.png" height="295" width="592" data-display-size="medium" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/M9Z2ENFQOR86/observability-image-2.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/M9Z2ENFQOR86/observability-image-2.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/M9Z2ENFQOR86/observability-image-2.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/M9Z2ENFQOR86/observability-image-2.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/M9Z2ENFQOR86/observability-image-2.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/M9Z2ENFQOR86/observability-image-2.png 2000w, https://us.v-cdn.net/6038798/uploads/M9Z2ENFQOR86/observability-image-2.png" sizes="100vw" /></a>
    </span>
</span>
<p>When something looks off, the workload analyzer helps you drill down without hours of manual correlation. Alerts arrive with context. The audit trail is already there when compliance asks who changed what.</p><p><strong>Intelligence That Respects Your Boundaries</strong></p><p>The newest chapter in this story is the Console AI assisted ChatOps, and we know the first question is always the same: Is it safe?</p><p>We built it to be. Ask a question in plain language, what's wrong with a cluster, where to place a new volume, which storage class fits a workload, and the ChatOps responds in read-only mode by default. It can analyze and recommend without changing a thing. When you're ready for it to act, you switch modes explicitly. It uses your LLM, not ours. PromptGuard screens content before it reaches any AI. Every action respects the same RBAC permissions you already enforce. Everything is logged.</p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/ECBJTT1FOPGA\/console-ai-assistant-image-3.png&quot;,&quot;name&quot;:&quot;Console AI assistant image 3.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:25084,&quot;width&quot;:298,&quot;height&quot;:332,&quot;displaySize&quot;:&quot;medium&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FECBJTT1FOPGA%2Fconsole-ai-assistant-image-3.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5602,&quot;dateInserted&quot;:&quot;2026-09-01T08:59:34+00:00&quot;,&quot;insertUserID&quot;:89336,&quot;foreignType&quot;:null,&quot;foreignID&quot;:null,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FECBJTT1FOPGA%2Fconsole-ai-assistant-image-3.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/ECBJTT1FOPGA/console-ai-assistant-image-3.png" alt="Console AI assistant image 3.png" height="332" width="298" data-display-size="medium" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/ECBJTT1FOPGA/console-ai-assistant-image-3.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/ECBJTT1FOPGA/console-ai-assistant-image-3.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/ECBJTT1FOPGA/console-ai-assistant-image-3.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/ECBJTT1FOPGA/console-ai-assistant-image-3.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/ECBJTT1FOPGA/console-ai-assistant-image-3.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/ECBJTT1FOPGA/console-ai-assistant-image-3.png 2000w, https://us.v-cdn.net/6038798/uploads/ECBJTT1FOPGA/console-ai-assistant-image-3.png" sizes="100vw" /></a>
    </span>
</span>
<p>For engineers, that means less time on repetitive requests and faster answers when something breaks. For architects, it means AI that works within policy, not around it. For executives, it means the speed of intelligent automation without the compliance anxiety that usually comes with it.</p><p><strong>Why This Moment Matters</strong></p><p>The timing isn't accidental. Estates are growing while teams stay flat. Cloud providers have raised expectations for storage experiences, and on-premises environments need to keep up. Console local deployment brings it together: organize your estate, understand it, act on it, from one place that runs on your terms.</p><p><strong>Call to action</strong></p><p>If you're an executive, the conversation is about reducing risk, accelerating application delivery, and consolidating a sprawl of tools into one strategic platform. If you're an architect, it's about making standards real across a growing environment. If you're an engineer, it's about getting your Tuesday mornings back. Download NetApp Console local deployment from the NSS site now and unbox the opportunity to manage your Storage estate in the most advanced and smart way. </p><p>Talk to your NetApp team about a fleet workshop or proof of concept. See what it looks like when your on-premises estate is managed as one — not as fifty separate problems.</p><p><strong>Take complete control of the NetApp Platform with Console autonomous operations. </strong></p><p><strong>Declare outcomes. Automate operations. Secure every action.</strong></p><p>Excited to learn more? Read these blogs: <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fwww.netapp.com%2Fblog%2Fconsole-autonomous-operations-hybrid-multicloud%2F" target="_blank" rel="nofollow noopener ugc"><strong>Empower autonomous operations across your storage estate now</strong></a> and <a href="https://community.netapp.com/community/discussion/468345/netapp-console-autonomous-operations-from-managing-infrastructure-to-declaring-outcomes" rel="nofollow noopener ugc"><strong>NetApp Console Autonomous Operations: From Managing Infrastructure to Declaring Outcomes</strong> </a></p><p>Want to kick the tires? Try guided demos, see videos, and access additional resources thru the <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fapp.supademo.com%2Fshowcase%2Fcmsme5q3b03hqye0jxt38lbnl%3Futm_source%3Dlink" target="_blank" rel="nofollow noopener ugc"><strong>Console Interactive Showcase</strong></a>.</p><p>Want to get educated? Take the <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fwww.netapp.com%2Fblog%2Fconsole-autonomous-operations-hybrid-multicloud%2Fhttps%3A%2Fnetapp.sabacloud.com%2FSaba%2FWeb_spf%2FNA1PRD0047%2Fapp%2Fme%2Flearningeventdetail%2Fcours000000000055424%3FregId%3Dregdw000000005902048" target="_blank" rel="nofollow noopener ugc"><strong>Introduction to NetApp Console</strong></a> and <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fnetapp.sabacloud.com%2FSaba%2FWeb_spf%2FNA1PRD0047%2Fapp%2Fme%2Flearningeventdetail%2Fcours000000000056630%3FclassId%3Ddowbt000000000548223" target="_blank" rel="nofollow noopener ugc"><strong>NetApp Console Fundamentals</strong></a> courses</p><p>Ready to get started? <a href="https://community.netapp.com/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fconsole.netapp.com%2F" target="_blank" rel="nofollow noopener ugc"><strong>Login into NetApp Console</strong></a> in SaaS.</p>]]>
        </description>
    </item>
    <item>
        <title>NetApp Console Autonomous Operations: From Managing Infrastructure to Declaring Outcomes</title>
        <link>https://community.netapp.com/community/discussion/468345/netapp-console-autonomous-operations-from-managing-infrastructure-to-declaring-outcomes</link>
        <pubDate>Thu, 27 Aug 2026 15:05:18 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>Cathi_Allen</dc:creator>
        <guid isPermaLink="false">468345@/community/discussions</guid>
        <description><![CDATA[<p>Hybrid multicloud operations have reached an inflection point. For years, infrastructure teams have worked across disconnected tools, fragmented management planes, and environment-specific workflows to keep storage estates running. That model worked when estates were smaller, more centralized, and easier to reason about manually. But today, many organizations are operating dozens, or even hundreds, of clusters across on-premises environments, public clouds, sovereign clouds, and edge locations. At that scale, the operational unit is no longer the individual cluster. The operational unit is the fleet.</p><p>That shift changes what customers should expect from infrastructure management. Traditional dashboards and per-array tools are no longer enough. IT teams need fleet-wide observability, predictive insight, governed automation, and secure autonomous action across the full estate. Storage management is moving through the same kind of evolution that compute observability has gone through over the last decade: from reactive monitoring to proactive insights, to AI-assisted operations, and now toward autonomous execution inside defined guardrails.</p><p>This is where <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fwww.netapp.com%2Fconsole%2F" rel="nofollow noopener ugc"><strong>NetApp Console</strong></a> comes in.</p><p><strong>NetApp Console</strong> is the autonomous control plane for the <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fwww.netapp.com%2Fplatform%2F" target="_blank" rel="nofollow noopener ugc"><strong>NetApp Platform</strong></a>, delivering unified manageability, observability, agentic operations, and autonomous optimization across storage and data services. It is designed to help teams take complete control of the Platform through one secure, intelligent interface, across hybrid multicloud environments and across connected, restricted, and disconnected deployment models.</p><p><strong>The autonomous estate era</strong></p><p>We are entering the autonomous estate era. In this model, humans do not spend their time manually coordinating every step across tools, tickets, scripts, and clusters. Instead, humans declare the desired operational outcome, and autonomous operations help keep the estate aligned to that intent.</p><p>That distinction matters.</p><p>In a reactive model, the administrator does almost everything: detect the issue, interpret the signal, identify the remediation path, and execute the change. In a proactive model, telemetry and predictive alerts help the administrator understand what is likely to happen next, but the human still interprets and responds. In an autonomous model, the system can recommend or execute actions inside guardrails, but the human still approves. In the autonomous estate model, the human declares the operational outcome, with specific and clear guardrails, and named capabilities help hold that outcome true—and prove that they did.</p><p>For storage and data infrastructure, that means shifting from “manage this array” to “keep this fleet compliant,” “place this workload according to policy,” “optimize capacity before it becomes a constraint,” or “identify and remediate operational risk before it becomes downtime.” The goal is not automation for automation’s sake. The goal is governed, outcome-driven operations at fleet scale.</p><p><strong>Why this matters now</strong></p><p>Customer environments are becoming more distributed, more regulated, and more operationally complex. The attached messaging toolkit identifies three consistent pressure points: siloed management, operations that do not scale, and sovereignty gaps created by cloud-only operational models.</p><p>Siloed management creates fragmented visibility. Each tool owns a slice of the truth, but no single tool owns the whole operational picture. When teams rely on separate interfaces for system management, grid management, reporting, analytics, and data services, day-to-day operations become slower and more error-prone.</p><p>Fleet scale creates another challenge. Customers operating 50, 100, or 500 clusters cannot rely on per-cluster workflows for routine operations such as provisioning, upgrades, capacity management, policy enforcement, and health monitoring. Manual workflows that are acceptable for a few systems become operational gridlock when multiplied across hundreds of environments.</p><p>Sovereignty adds a third dimension. Regulated, air-gapped, and dark-site environments often cannot depend on cloud-only AIOps models. These estates still need modern observability, automation, AI-assisted operations, and governed remediation, but they require those capabilities to operate within strict security, compliance, and connectivity boundaries.</p><p>NetApp Console is designed to address these realities with one autonomous control plane for fleet operations.</p><p><strong>What Console enables</strong></p><p>At a technical level, Console brings together several operational capabilities that are increasingly essential for modern infrastructure teams.</p><p>First, it provides <strong>fleet-wide intelligent management</strong>. Console is designed to help teams operate distributed storage environments as one coordinated estate, with centralized oversight across storage and data services. The control plane supports intelligent fleet operations, centralized management, predictive analytics, and optimization across hybrid multicloud environments.</p><p>Second, it supports <strong>continuous observability and operational foresight</strong>. Rather than relying only on after-the-fact alerts or manual troubleshooting, Console emphasizes predictive analytics, health dashboards, alerts, workload analysis, and intelligent incident resolution. This helps teams move from reactive firefighting to proactive optimization.</p><p>Third, Console enables <strong>intent-based, policy-driven operations</strong>. Infrastructure management becomes more focused on declared intent: placement, provisioning, guardrails, compliance monitoring, and remediation workflows. This is foundational to autonomous operations because it allows teams to define the desired outcome and let the control plane and AI-driven ChatOps guide or execute the steps required to maintain that state.</p><p>Fourth, Console is built for <strong>operational productivity</strong>. Guided onboarding, automated system discovery, intuitive workflows, home page visibility, subscription and license monitoring, and consolidated administration all reduce the manual effort required to manage complex estates.</p><p>Finally, autonomous operations require trust, and trust requires security. Console embeds security into the control plane with identity-based access, least-privilege controls, secure credential management, REST API governance, compliance monitoring, anomaly detection, audit support, and customer-controlled support access. It also enables secure AI operations, allowing customers to bring their own LLMs, enabling a conversational ChatOps interface through an open LLM gateway to the models that organizations already trust. For autonomous operations to be useful in enterprise environments, every action must be authenticated, scoped, governed, and auditable.</p><p><strong>One solution, multiple deployment realities</strong></p><p>A key part of the Console strategy is deployment flexibility. The same autonomous control plane must support different operational realities, including cloud-connected SaaS environments and local deployments for air-gapped, dark-site, and sovereign environments. Console is one solution with two delivery models: Console in SaaS and Console local deployment.</p><p>Console in SaaS provides cloud-connected, NetApp-hosted experience with support for on-premises storage, hyperscaler and self-managed storage, and data services. Console local deployment is designed for environments that require local installation, no SaaS dependency on the critical path, full data sovereignty, and support for highly secure or disconnected operations.</p><p>This matters because autonomous operations cannot be limited only to cloud-connected estates. Some of the organizations that need operational automation the most, such as government, federal, defense, financial, healthcare, and regulated industries, also have the strictest requirements for isolation, sovereignty, and control.</p><p><strong>The path forward</strong></p><p>Console represents a shift from fragmented infrastructure administration to outcome-driven fleet operations. It gives teams one autonomous control plane for managing storage and data services, with the observability, automation, governance, and security required to operate at enterprise scale.</p><p>The message is simple: <strong>Declare outcomes. Automate operations. Secure every action.</strong></p><p>As hybrid multicloud estates continue to expand, the winning operating model will not be more tools, more dashboards, or more manual coordination. It will be autonomous operations that allow humans to set intent, apply policy, preserve control, and trust the platform to help keep the estate aligned to the outcomes the business requires.</p><p><strong>Take complete control of the NetApp Platform with Console autonomous operations. </strong></p><p><strong>Declare outcomes. Automate operations. Secure every action.</strong></p><p>Excited to learn more? Read these blogs: <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fwww.netapp.com%2Fblog%2Fconsole-autonomous-operations-hybrid-multicloud%2F" rel="nofollow noopener ugc"><strong>Empower autonomous operations across your storage estate now</strong></a> and <a href="https://community.netapp.com/community/discussion/468359/rethinking-on-premises-storage-management-at-scale" rel="nofollow noopener ugc"><strong>Rethinking On-premises Storage Management at Scale</strong></a></p><p>Want to kick the tires? Try guided demos, see videos, and access additional resources thru the <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fapp.supademo.com%2Fshowcase%2Fcmsme5q3b03hqye0jxt38lbnl%3Futm_source%3Dlink" rel="nofollow noopener ugc"><strong>Console Interactive Showcase</strong></a>.</p><p>Want to get educated? Take the<strong> </strong><a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fwww.netapp.com%2Fblog%2Fconsole-autonomous-operations-hybrid-multicloud%2Fhttps%3A%2F%2Fnetapp.sabacloud.com%2FSaba%2FWeb_spf%2FNA1PRD0047%2Fapp%2Fme%2Flearningeventdetail%2Fcours000000000055424%3FregId%3Dregdw000000005902048" rel="nofollow noopener ugc"><strong>Introduction to NetApp Console</strong></a> and <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fnetapp.sabacloud.com%2FSaba%2FWeb_spf%2FNA1PRD0047%2Fapp%2Fme%2Flearningeventdetail%2Fcours000000000056630%3FclassId%3Ddowbt000000000548223" rel="nofollow noopener ugc"><strong>NetApp Console Fundamentals</strong></a> courses</p><p>Ready to get started? <a href="https://community.netapp.com/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fconsole.netapp.com%2F" target="_blank" rel="nofollow noopener ugc"><strong>Login into NetApp Console</strong></a> in SaaS.</p>]]>
        </description>
    </item>
    <item>
        <title>Kubernetes Meets Google Cloud NetApp Volumes ONTAP-Mode: Now Preview in Trident</title>
        <link>https://community.netapp.com/community/discussion/468346/kubernetes-meets-google-cloud-netapp-volumes-ontap-mode-now-preview-in-trident</link>
        <pubDate>Wed, 26 Aug 2026 20:02:34 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>DianePatton</dc:creator>
        <guid isPermaLink="false">468346@/community/discussions</guid>
        <description><![CDATA[<p>Exciting news for Kubernetes storage management!  NetApp Trident 26.06.1 is now available in Preview for use with Google Cloud NetApp Volumes (GCNV) ONTAP-mode.  This update enables Trident to create and manage your Kubernetes volumes when your GCNV storage pool is in  ONTAP-mode! </p><h2 data-id="why-ontap-mode"><strong>Why ONTAP-mode? </strong></h2><p></p><p>While Flex Unified default mode provides excellent dynamic storage provisioning and management capabilities, many enterprise workloads demand deeper data management capabilities only available with GCNV Flex Unified <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fdocs.cloud.google.com%2Fnetapp%2Fvolumes%2Fdocs%2Fontap%2Foverview" target="_blank" rel="nofollow noopener ugc">ONTAP-mode</a>. With the introduction of the Trident integration with ONTAP-mode, Trident can now interface with Google Cloud NetApp Volumes storage pools created with the ONTAP-mode option, and brings additional Trident features to your Kubernetes applications, including:</p><p></p><ul><li><strong>Custom file names:</strong> Enhanced security and compliance auditing.</li><li><strong>SnapMirror Integration:</strong> Facilitating disaster recovery with volume replication.</li><li><strong>Clone across namespaces:</strong> Enabling consistent snapshots across multiple volumes.</li><li><strong>Volume Group snapshots:</strong> Enables ontap-mode consistency groups</li><li><strong>NFS v4.2 Support:</strong> Bringing updated protocol support for your workloads.</li></ul><h2 data-id="how-to-set-it-up"><strong>How to Set It Up</strong></h2><p></p><p>To get started with ONTAP-mode, ensure you are using Trident version 26.06.1 or later. This example is created on GKE using Trident Cloud Identity, although other Kubernetes distributions may be used with a secret. </p><p><br /></p><p><strong>Step 1 - Create your GCNV Storage Pool<br /><br /></strong>Ensure your Google Cloud NetApp Volumes storage pool is created with the ontap-mode option. Note that the storage pool must be created outside of Trident (e.g., via the Google Cloud console or gcloud CLI). A sample on the console is shown below.</p><p><br /></p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/TR24LV0SDLXB\/image-22c37faea981d8-80d2.png&quot;,&quot;name&quot;:&quot;image-22c37faea981d8-80d2.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:343404,&quot;width&quot;:1502,&quot;height&quot;:1530,&quot;displaySize&quot;:&quot;medium&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FTR24LV0SDLXB%2Fimage-22c37faea981d8-80d2.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5563,&quot;dateInserted&quot;:&quot;2026-08-26T19:19:12+00:00&quot;,&quot;insertUserID&quot;:72615,&quot;foreignType&quot;:&quot;embed&quot;,&quot;foreignID&quot;:&quot;72615&quot;,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FTR24LV0SDLXB%2Fimage-22c37faea981d8-80d2.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/TR24LV0SDLXB/image-22c37faea981d8-80d2.png" alt="image-22c37faea981d8-80d2.png" height="1530" width="1502" data-display-size="medium" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/TR24LV0SDLXB/image-22c37faea981d8-80d2.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/TR24LV0SDLXB/image-22c37faea981d8-80d2.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/TR24LV0SDLXB/image-22c37faea981d8-80d2.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/TR24LV0SDLXB/image-22c37faea981d8-80d2.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/TR24LV0SDLXB/image-22c37faea981d8-80d2.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/TR24LV0SDLXB/image-22c37faea981d8-80d2.png 2000w, https://us.v-cdn.net/6038798/uploads/TR24LV0SDLXB/image-22c37faea981d8-80d2.png" sizes="100vw" /></a>
    </span>
</span>
<p></p><p>The pool will come up.</p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/VDDVWC8DHE0E\/image-d856de12d575f-dc19.png&quot;,&quot;name&quot;:&quot;image-d856de12d575f-dc19.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:83609,&quot;width&quot;:1478,&quot;height&quot;:400,&quot;displaySize&quot;:&quot;medium&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FVDDVWC8DHE0E%2Fimage-d856de12d575f-dc19.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5564,&quot;dateInserted&quot;:&quot;2026-08-26T19:19:43+00:00&quot;,&quot;insertUserID&quot;:72615,&quot;foreignType&quot;:&quot;embed&quot;,&quot;foreignID&quot;:&quot;72615&quot;,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FVDDVWC8DHE0E%2Fimage-d856de12d575f-dc19.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/VDDVWC8DHE0E/image-d856de12d575f-dc19.png" alt="image-d856de12d575f-dc19.png" height="400" width="1478" data-display-size="medium" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/VDDVWC8DHE0E/image-d856de12d575f-dc19.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/VDDVWC8DHE0E/image-d856de12d575f-dc19.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/VDDVWC8DHE0E/image-d856de12d575f-dc19.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/VDDVWC8DHE0E/image-d856de12d575f-dc19.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/VDDVWC8DHE0E/image-d856de12d575f-dc19.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/VDDVWC8DHE0E/image-d856de12d575f-dc19.png 2000w, https://us.v-cdn.net/6038798/uploads/VDDVWC8DHE0E/image-d856de12d575f-dc19.png" sizes="100vw" /></a>
    </span>
</span>
<p></p><p></p><p><strong>Step 2. Create a GKE cluster and  Install Trident</strong></p><p><strong></strong></p><p>In order to use cloud identity with Trident, you must first create a GCP service account with Google Cloud NetApp Volumes Admin role.  This service account will later be linked to the trident-controller kubernetes service account. You must also enable workload identity when creating your standard GKE cluster. More information on how to set this up is in <a href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Deploying-cloud-identity-with-Trident-GKE-and-Google-Cloud-NetApp-Volumes/ba-p/458912" target="_blank" rel="nofollow noopener ugc">Deploying cloud identity with Trident, GKE, and Google Cloud NetApp Volumes</a> steps 1 and 2.</p><p></p><p>Install Trident using cloud identity. An example using helm is shown below. Replace &lt;service account&gt; and &lt;project name&gt; with your values.</p><p></p><pre spellcheck="false" tabindex="0"><strong>~$helm install trident netapp-trident/trident-operator --version 100.2606.1 --create-namespace --namespace trident --set cloudProvider="GCP" --set cloudIdentity="'iam.gke.io/gcp-service-account: &lt;service account&gt;@&lt;project name&gt;.iam.gserviceaccount.com'"</strong>
</pre><p></p><p>Check to be sure Trident is up and running:</p><p></p><pre spellcheck="false" tabindex="0">~$kubectl get pods -n trident
NAME                                  READY   STATUS    RESTARTS   AGE
trident-controller-67f7cd9bf8-2ffl5   6/6     Running   0          3m
trident-node-linux-2r82s              2/2     Running   0          2m59s
trident-node-linux-f8gnh              2/2     Running   0          2m59s
trident-node-linux-jwqzn              2/2     Running   0          2m59s
trident-operator-5cbf7f857-ktj2n      1/1     Running   0          3m26s
</pre><p><br />
After the trident pods are up and running, you must bind the GCP service account to the trident controller, and annotate the trident controller service account. More information can be found in <a href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Deploying-cloud-identity-with-Trident-GKE-and-Google-Cloud-NetApp-Volumes/ba-p/458912" target="_blank" rel="nofollow noopener ugc">Deploying cloud identity with Trident, GKE, and Google Cloud NetApp Volumes</a> Steps 4 and 5.<br /></p><p><strong>Step 3. Create a secret.</strong></p><p></p><p>If you are using Trident Cloud Identity with GKE, you must create an empty secret as shown below.</p><p></p><p></p><p>empty_secret.yaml</p><div><table><colgroup><col /><col /></colgroup><tr><th><p>apiVersion: v1</p><p>kind: Secret</p><p>metadata:</p><p>  name: gcnv-ontap-empty </p><p>  namespace: trident</p><p>type: Opaque</p></th></tr></table></div><p> If you are not using Cloud Identity, the secret must contain credentials to create volumes on GCNV. Obtain a key from a GCP service account that has GoogleCloud NetApp Volumes Admin role assigned to it and information from the key is entered into the secret. A sample secret is located in the Trident <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fdocs.netapp.com%2Fus-en%2Ftrident%2Ftrident-use%2Fgcnv-examples.html%23example-configurations" target="_blank" rel="nofollow noopener ugc">documentation.</a></p><p></p><p>Apply the secret.</p><p></p><p></p><pre spellcheck="false" tabindex="0">~$kubectl create -f empty_secret.yaml
secret/gcnv-ontap-empty created

</pre><pre spellcheck="false" tabindex="0">~$kubectl get secret -n trident
NAME                            TYPE                 DATA   AGE
gcnv-ontap-empty                Opaque               0      8s
sh.helm.release.v1.trident.v1   helm.sh/release.v1   1      5m12s
trident-csi                     Opaque               6      4m45s
trident-encryption-keys         Opaque               1      4m45s
</pre><p><br /><strong>Step 4. Configure and apply the Trident Backend:<br /><br /></strong>Create a TridentBackendConfig manifest. You will use the <em>ontap-nas </em>or <em>ontap-san</em> drivers depending on if you need file or block volumes. In this example, we will use <em>ontap-nas</em> to create an NFS volume in us-central1-a. Change the poolID to the name of the pool. <br /></p><p>backend.yaml</p><pre spellcheck="false" tabindex="0">apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: tbc-gcnv-ontap
  namespace: trident
spec:
  version: 1
  storageDriverName: ontap-nas # Or san, depending on your needs
  backendName: ontap-mode-backend
  useREST: true
  credentials:
     name: gcnv-ontap-empty
     type: secret
  gcnv:
     proxyURL: "https://netapp.googleapis.com"
     projectNumber: '&lt;insert-project-number&gt;'
     location: us-central1-a
     poolID: ontap-mode-pool 
</pre><p>     </p><pre spellcheck="false" tabindex="0">~$kubectl create -f  backend.yaml -n trident 
tridentbackendconfig.trident.netapp.io/tbc-gcnv-ontap created
</pre><p><br /><strong>Step 5. Create Storage Classes:<br /><br /></strong>Define a Kubernetes StorageClass that points to your new Trident backend. The backendType is the trident driver, <em>ontap-nas</em>.  If you are using san, it would be <em>ontap-san</em>. We use nas as an example below.</p><p></p><p>scontap.yaml</p><pre spellcheck="false" tabindex="0">apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: gcnv-flex-k8s-nfs-ontap
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: csi.trident.netapp.io
parameters:
  backendType: "ontap-nas" 
  trident.netapp.io/nasType: "nfs"
allowVolumeExpansion: true

</pre><p>~$kubectl apply -f scontap.yaml</p><p>storageclass.storage.k8s.io/gcnv-flex-k8s-nfs-ontap created</p><p><br /><strong>Step 6. Deploy PVC and Applications:<br /><br /></strong>Deploy your applications using Persistent Volume Claims (PVCs) that reference this storage class. Trident will automatically handle the provisioning of volumes within your ontap-mode storage pool.</p><p></p><p></p><p>pvcnfs.yaml</p><pre spellcheck="false" tabindex="0">kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc-nas 
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  storageClassName: gcnv-flex-k8s-nfs-ontap
</pre><p><br />
~$kubectl create -f pvcnfs.yaml</p><p>persistentvolumeclaim/pvc-nas created</p><p>~$kubectl get pvc</p><p>NAME      STATUS   VOLUME                                                            CAPACITY   ACCESS MODES   STORAGECLASS  VOLUMEATTRIBUTESCLASS   AGE</p><p>pvc-nas   Bound    pvc-8fc7d774-789a-4b00-bb01-59e57e96ef2a   10Gi       RWX            gcnv-flex-k8s-nfs-ontap          &lt;unset&gt;                        13s</p><p><br />
You can then attach your application pods to the PVC for persistent storage.</p><p></p><h2 data-id="what-now">What now?</h2><p></p><p>The integration of ONTAP-mode into NetApp Trident brings enterprise-grade data management directly into your Kubernetes environments on Google Cloud NetApp Volumes. By bridging these capabilities, you can now leverage extra ONTAP-mode features in Kubernetes, all while maintaining the simplicity of dynamic storage provisioning within your Kubernetes clusters. This preview release marks a significiant step forward for workloads requiring robust, native ONTAP configuration and data control within the Google Cloud ecosystem. Try it out today!</p><p><br /><br /></p>]]>
        </description>
    </item>
    <item>
        <title>ONTAP Tools for VMware vSphere 10.6: More Control, Less Overhead, and Stronger Operations</title>
        <link>https://community.netapp.com/community/discussion/468330/ontap-tools-for-vmware-vsphere-10-6-more-control-less-overhead-and-stronger-operations</link>
        <pubDate>Wed, 19 Aug 2026 20:17:05 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>ChanceBingen</dc:creator>
        <guid isPermaLink="false">468330@/community/discussions</guid>
        <description><![CDATA[<p>For years, protecting VMware datastores with ONTAP tools meant an all-or-nothing choice: protect an entire host cluster, or protect nothing at all. With ONTAP Tools for VMware vSphere 10.6, that trade-off goes away. This release introduces Granular Datastore Protection, a new right-sized deployment option for smaller environments, expanded audit logging for security-conscious teams, and networking and lifecycle improvements that make day-to-day operations simpler.</p><p>Let’s get into it.</p><h2 data-id="granular-datastore-protection-protect-only-what-needs-protecting">Granular Datastore Protection: Protect Only What Needs Protecting</h2><p>The headline feature in 10.6 is Granular Datastore Protection (GDP), which shifts both SnapMirror active sync (SMas) and most traditional SnapMirror replication policies from only protecting entire host clusters down to individual VMFS datastores. Instead of protecting every datastore in a cluster whether it needs it or not, vCenter administrators can now choose exactly which datastores belong in a protection group — and add, remove, or delete them one at a time without disturbing the rest.</p><p>What is a protection group? It’s a vCenter-local representation of a consistency group (CG) in ONTAP 9 on AFF, ASA, FAS, and software-defined systems. We chose to use the term “protection group” in ONTAP tools to be aligned with VMware’s terminology. What this ultimately means is that you can now create and manage CGs directly in the vCenter UI.</p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/0Z7P4QC8VHB5\/image.png&quot;,&quot;name&quot;:&quot;image.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:110736,&quot;width&quot;:545,&quot;height&quot;:549,&quot;displaySize&quot;:&quot;medium&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2F0Z7P4QC8VHB5%2Fimage.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5553,&quot;dateInserted&quot;:&quot;2026-08-19T19:56:26+00:00&quot;,&quot;insertUserID&quot;:12714,&quot;foreignType&quot;:&quot;embed&quot;,&quot;foreignID&quot;:&quot;12714&quot;,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2F0Z7P4QC8VHB5%2Fimage.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/0Z7P4QC8VHB5/image.png" alt="image.png" height="549" width="545" data-display-size="medium" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/0Z7P4QC8VHB5/image.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/0Z7P4QC8VHB5/image.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/0Z7P4QC8VHB5/image.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/0Z7P4QC8VHB5/image.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/0Z7P4QC8VHB5/image.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/0Z7P4QC8VHB5/image.png 2000w, https://us.v-cdn.net/6038798/uploads/0Z7P4QC8VHB5/image.png" sizes="100vw" /></a>
    </span>
</span>
<p>So, what does this mean for new ONTAP tools users?</p><ul><li>Selective protection — mix protected and unprotected datastores freely within the same host cluster.</li><li>Operational flexibility — modify protection groups without tearing down protection for an entire cluster.</li><li>Multiple protection groups per cluster — replicate different datastores to different storage virtual machines (SVMs) or targets as business needs dictate.</li><li>Incremental adoption — protect new datastores as they’re created, or bring existing ones into a group over time.</li></ul><p>Ok, what if you are an existing user of ONTAP tools? It's simple — upgrades from ONTAP tools 10.4 and 10.5 seamlessly migrate existing host-cluster protection settings to the new model, no manual reconfiguration or import required.</p><p>GDP supports SnapMirror active sync's "Automated Failover Duplex (AFD)" policy across uniform and non-uniform vSphere Metro Storage Cluster (vMSC) topologies — giving architects far more precision when designing business continuity for mixed-criticality workloads. GDP can also use traditional asynchronous SnapMirror policies, though that would not be a vMSC configuration. </p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/9AAQ7FUTBWZ9\/image.png&quot;,&quot;name&quot;:&quot;image.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:60231,&quot;width&quot;:975,&quot;height&quot;:555,&quot;displaySize&quot;:&quot;medium&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2F9AAQ7FUTBWZ9%2Fimage.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5555,&quot;dateInserted&quot;:&quot;2026-08-19T19:58:17+00:00&quot;,&quot;insertUserID&quot;:12714,&quot;foreignType&quot;:&quot;embed&quot;,&quot;foreignID&quot;:&quot;12714&quot;,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2F9AAQ7FUTBWZ9%2Fimage.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/9AAQ7FUTBWZ9/image.png" alt="image.png" height="555" width="975" data-display-size="medium" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/9AAQ7FUTBWZ9/image.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/9AAQ7FUTBWZ9/image.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/9AAQ7FUTBWZ9/image.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/9AAQ7FUTBWZ9/image.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/9AAQ7FUTBWZ9/image.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/9AAQ7FUTBWZ9/image.png 2000w, https://us.v-cdn.net/6038798/uploads/9AAQ7FUTBWZ9/image.png" sizes="100vw" /></a>
    </span>
</span>
<span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/2GBWWU3EBVCD\/image.png&quot;,&quot;name&quot;:&quot;image.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:61517,&quot;width&quot;:975,&quot;height&quot;:406,&quot;displaySize&quot;:&quot;medium&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2F2GBWWU3EBVCD%2Fimage.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5554,&quot;dateInserted&quot;:&quot;2026-08-19T19:57:17+00:00&quot;,&quot;insertUserID&quot;:12714,&quot;foreignType&quot;:&quot;embed&quot;,&quot;foreignID&quot;:&quot;12714&quot;,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2F2GBWWU3EBVCD%2Fimage.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/2GBWWU3EBVCD/image.png" alt="image.png" height="406" width="975" data-display-size="medium" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/2GBWWU3EBVCD/image.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/2GBWWU3EBVCD/image.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/2GBWWU3EBVCD/image.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/2GBWWU3EBVCD/image.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/2GBWWU3EBVCD/image.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/2GBWWU3EBVCD/image.png 2000w, https://us.v-cdn.net/6038798/uploads/2GBWWU3EBVCD/image.png" sizes="100vw" /></a>
    </span>
</span>
<p>For a deep dive into GDP, check out the blog that Rajiv and I wrote about it: <a href="https://community.netapp.com/community/discussion/468300/snapmirror-active-sync-ontap-tools-for-vmware-vsphere-granular-datastore-protection-otv10-6#latest" target="_blank" rel="nofollow noopener ugc">SnapMirror Active Sync + ONTAP tools for VMware vSphere Granular Datastore Protection (OTV10.6) - NetApp Community</a></p><h2 data-id="a-lighter-footprint-right-out-of-the-box">A Lighter Footprint, Right Out of the Box</h2><p>Not every environment needs a heavyweight appliance. ONTAP tools 10.6 introduces an Extra Small (XS) deployment size — just 6 vCPUs and 12 GB of RAM per node — and makes it the default Day-0 deployment profile for traditional provisioning and protection workloads. That’s a noticeable reduction from the previous Small footprint (9 vCPU / 18 GB), removing a resource barrier that had kept smaller environments and edge sites from adopting ONTAP tools. </p><p>Also new in this release, CPU hot add and memory hot plug are now enabled by default, so scaling up to <strong>small</strong>, <strong>medium</strong>, or <strong>large</strong> later requires no manual reconfiguration on fresh 10.6 deployments, nor do you have to shut down the appliance to reconfigure it if you forgot to do so during the initial deployment.</p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/XQU0BGJZFP5B\/image.png&quot;,&quot;name&quot;:&quot;image.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:35182,&quot;width&quot;:975,&quot;height&quot;:363,&quot;displaySize&quot;:&quot;medium&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FXQU0BGJZFP5B%2Fimage.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5556,&quot;dateInserted&quot;:&quot;2026-08-19T20:05:52+00:00&quot;,&quot;insertUserID&quot;:12714,&quot;foreignType&quot;:&quot;embed&quot;,&quot;foreignID&quot;:&quot;12714&quot;,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FXQU0BGJZFP5B%2Fimage.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/XQU0BGJZFP5B/image.png" alt="image.png" height="363" width="975" data-display-size="medium" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/XQU0BGJZFP5B/image.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/XQU0BGJZFP5B/image.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/XQU0BGJZFP5B/image.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/XQU0BGJZFP5B/image.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/XQU0BGJZFP5B/image.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/XQU0BGJZFP5B/image.png 2000w, https://us.v-cdn.net/6038798/uploads/XQU0BGJZFP5B/image.png" sizes="100vw" /></a>
    </span>
</span>
<h2 data-id="stronger-security-visibility-with-expanded-audit-logging">Stronger Security Visibility with Expanded Audit Logging</h2><p>Security and compliance teams get a significant upgrade in 10.6. ONTAP tools now captures detailed audit logs (including full request and response bodies), discovery and cleanup jobs, and maintenance console operations — complete with username, timestamp, and correlation IDs for full traceability. Logs are retained for 30 days by default (configurable), protected by automated integrity checks that raise alerts on tampering or deletion, and can be forwarded to external systems like VCF Operations for Logsvia syslog. Enterprise security teams increasingly require this level of visibility. With ONTAP tools 10.6, it’s now built directly into the appliance.</p><h2 data-id="faster-nfs-datastores-with-nconnect-support">Faster NFS Datastores with nconnect Support</h2><p>NFS performance got a major boost with nconnect support back in 8.0u2. But it lacked any kind of GUI or API (I wrote a blog about it here: <a href="https://community.netapp.com/community/discussion/455598/automate-nconnect-and-snapshot-offload-for-nfs-datastores-and-turn-your-vmware-storage-up-to-11" target="_blank" rel="nofollow noopener ugc">Automate nconnect and snapshot offload for NFS datastores and turn your VMware storage up to 11 - NetApp Community</a>). It is now configurable directly during NFSv3 and NFSv4 datastore provisioning. By establishing multiple TCP connections over a single IP address, nconnect lets ESXi hosts distribute file operations across those connections in round-robin fashion — unlocking more of the available network bandwidth for NFS workloads without any change to the storage network topology. With nconnect, NFS datastores deliver SAN-level performance with NAS-level simplicity.</p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/88DESPKAUSNV\/image.png&quot;,&quot;name&quot;:&quot;image.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:78677,&quot;width&quot;:619,&quot;height&quot;:412,&quot;displaySize&quot;:&quot;small&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2F88DESPKAUSNV%2Fimage.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5557,&quot;dateInserted&quot;:&quot;2026-08-19T20:08:35+00:00&quot;,&quot;insertUserID&quot;:12714,&quot;foreignType&quot;:&quot;embed&quot;,&quot;foreignID&quot;:&quot;12714&quot;,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2F88DESPKAUSNV%2Fimage.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/88DESPKAUSNV/image.png" alt="image.png" height="412" width="619" data-display-size="small" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/88DESPKAUSNV/image.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/88DESPKAUSNV/image.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/88DESPKAUSNV/image.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/88DESPKAUSNV/image.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/88DESPKAUSNV/image.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/88DESPKAUSNV/image.png 2000w, https://us.v-cdn.net/6038798/uploads/88DESPKAUSNV/image.png" sizes="100vw" /></a>
    </span>
</span>
<p>ONTAP tools 10.6 can even modify the maximum nconnect limit of your ESXi hosts from the default limit of 4 up to the maximum supported 8.</p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/2W8H6Z2JQL7K\/image.png&quot;,&quot;name&quot;:&quot;image.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:54903,&quot;width&quot;:975,&quot;height&quot;:495,&quot;displaySize&quot;:&quot;medium&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2F2W8H6Z2JQL7K%2Fimage.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5558,&quot;dateInserted&quot;:&quot;2026-08-19T20:09:12+00:00&quot;,&quot;insertUserID&quot;:12714,&quot;foreignType&quot;:&quot;embed&quot;,&quot;foreignID&quot;:&quot;12714&quot;,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2F2W8H6Z2JQL7K%2Fimage.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/2W8H6Z2JQL7K/image.png" alt="image.png" height="495" width="975" data-display-size="medium" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/2W8H6Z2JQL7K/image.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/2W8H6Z2JQL7K/image.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/2W8H6Z2JQL7K/image.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/2W8H6Z2JQL7K/image.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/2W8H6Z2JQL7K/image.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/2W8H6Z2JQL7K/image.png 2000w, https://us.v-cdn.net/6038798/uploads/2W8H6Z2JQL7K/image.png" sizes="100vw" /></a>
    </span>
</span>
<p>When it comes to nconnect integration, there is one caveat to be aware of: due to a limitation in the vCenter SDK, a plugin can’t modify nconnect settings <strong>after</strong> the datastore is mounted. However, starting with vSphere 9.0, you can change these settings in the datastore's host connectivity menu. Additionally, you can use the script that I shared earlier.</p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/6038798\/uploads\/F4L8ELF1AY3I\/image.png&quot;,&quot;name&quot;:&quot;image.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:116757,&quot;width&quot;:975,&quot;height&quot;:345,&quot;displaySize&quot;:&quot;medium&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/community.netapp.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FF4L8ELF1AY3I%2Fimage.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:5559,&quot;dateInserted&quot;:&quot;2026-08-19T20:10:41+00:00&quot;,&quot;insertUserID&quot;:12714,&quot;foreignType&quot;:&quot;embed&quot;,&quot;foreignID&quot;:&quot;12714&quot;,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://community.netapp.com/community/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fus.v-cdn.net%2F6038798%2Fuploads%2FF4L8ELF1AY3I%2Fimage.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/6038798/uploads/F4L8ELF1AY3I/image.png" alt="image.png" height="345" width="975" data-display-size="medium" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/6038798/uploads/F4L8ELF1AY3I/image.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/6038798/uploads/F4L8ELF1AY3I/image.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/6038798/uploads/F4L8ELF1AY3I/image.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/6038798/uploads/F4L8ELF1AY3I/image.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/6038798/uploads/F4L8ELF1AY3I/image.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/6038798/uploads/F4L8ELF1AY3I/image.png 2000w, https://us.v-cdn.net/6038798/uploads/F4L8ELF1AY3I/image.png" sizes="100vw" /></a>
    </span>
</span>
<h2 data-id="cleaner-lifecycle-management">Cleaner Lifecycle Management</h2><p>Even good old-fashioned housekeeping gets easier with ONTAP tools 10.6. A new force-delete flag for vCenter removal lets administrators clean up stale or unreachable vCenter entries — including automatic ONTAP tools plugin unregistration — without being blocked by lingering storage backend or datastore associations, provided no vVol datastores or active protection are involved.</p><p>Under the hood, ONTAP tools 10.6 also dynamically switches from ntpd to chronyd for time synchronization (with automatic migration on upgrade), re-implements and optimizes the authentication service for a smaller resource footprint and faster startup, and reorganizes log storage under a dedicated /var/log/otvng directory for cleaner troubleshooting and log rotation.</p><h2 data-id="availability">Availability</h2><p>ONTAP Tools for VMware vSphere 10.6 launched on July 24, 2026, and supports ONTAP 9.16.1 through 9.19.1 alongside VMware Cloud Foundation (VCF) 5.2.1 through 9.0, and vSphere 8.0U3 through 9.0(the appliance can be deployed on ESXi 9.1). More version qualifications may be coming, so stay tuned for further updates. Direct upgrades are supported from ONTAP tools 10.4 and 10.5, with existing host-level protection settings automatically migrated to the new Granular Datastore Protection model.</p><p><em>In summary, whether you’re running a lean single-site deployment or a stretched, multi-site VMware environment protected by SnapMirror Active Sync, ONTAP tools 10.6 gives you finer control, a smaller footprint, and better visibility — all without compromising on the enterprise-grade protection NetApp customers count on.</em></p>]]>
        </description>
    </item>
    <item>
        <title>FLI with iSCSI</title>
        <link>https://community.netapp.com/community/discussion/468116/fli-with-iscsi</link>
        <pubDate>Mon, 13 Jul 2026 21:14:27 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>mpeppers</dc:creator>
        <guid isPermaLink="false">468116@/community/discussions</guid>
        <description><![CDATA[<div><p>ONTAP 9.19.1 expands Foreign LUN Import (FLI) by adding iSCSI backend support, giving more SAN teams a built-in, no-cost, ONTAP-native path to move block workloads from qualified third-party and ONTAP source arrays to modern NetApp storage. Since the first introduction in ONTAP 8.3, FLI has simplified LUN migrations by keeping data movement in the storage layer instead of pushing complexity to each host. Until now, many Ethernet-standardized and iSCSI-centric environments could not use that workflow without Fibre Channel (FC) connectivity. With ONTAP 9.19.1, FLI supports both FC-based and iSCSI-based migration designs across ONTAP SAN platforms, including AFF, ASA and FAS. This helps customers preserve existing network standards, reduce host-side effort, and bring more storage migration projects into a consistent, ONTAP-managed process. It removes the operational complexities when upgrading from legacy third-party storage from vendors such as Dell, HPE, HDS, and Pure Storage to ONTAP by making migration simpler, faster, built in, and less dependent on host-by-host cutover work.</p><p>For Ethernet-standardized SAN teams, this reduces host-side effort, simplifies migration sequencing, and improves operational control. Figure 1 shows FLI migrating one or more LUNs from a foreign source array to an ONTAP destination over either iSCSI or FC.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/dc/dc888f1a80dac9ad01444dcdca9e8ed7.png" role="button" title="mpeppers_1-1783976956612.png" alt="mpeppers_1-1783976956612.png" width="725" /></span></p><p>Figure 1) Foreign LUN Import network topology.</p><h1 id="toc-hId-1904133409">&nbsp;</h1><h1 id="toc-hId--648023552">Problem Context</h1><p>Many SAN environments are iSCSI-first and either do not have, or do not want to deploy, a Fibre Channel fabric. These teams still face the same migration pressures as FC environments:</p><ul><li>Move production LUNs from aging arrays on tight timelines.</li><li>Minimize disruption to business-critical applications.</li><li>Avoid host-by-host migration mechanics that expand risk and labor.</li></ul><h1 id="toc-hId-1094786783">&nbsp;</h1><h1 id="toc-hId--1457370178">Customer Benefits</h1><p>Customers gain greater migration flexibility with less operational friction. Instead of ruling out FLI because FC infrastructure is unavailable, teams can assess it based on workload fit and migration risk.</p><p>Expected outcomes in supported environments include:</p><ul><li>Accelerate migration programs by running storage-led LUN imports in parallel.</li><li>Reduce host migration overhead and simplify change coordination across application teams.</li><li>Preserve host-facing protocol flexibility because the backend import transport does not dictate the final host-access protocol after migration.</li><li>Scale execution with governed parallel imports that account for latency, workload priority, and migration sequence.</li><li>Improve cutover predictability through a repeatable LUN-level workflow.</li></ul><h1 id="toc-hId-285440157">&nbsp;</h1><h1 id="toc-hId-2028250492">A Practical Example</h1><p>A mid-sized enterprise runs VMware and SQL Server on a third-party iSCSI SAN array and has no Fibre Channel infrastructure. The team must move dozens of production LUNs from an aging array to a faster, more capable NetApp system within a narrow maintenance window. With ONTAP 9.19.1, it can preserve its Ethernet SAN architecture, use iSCSI-based FLI backend connectivity, and migrate multiple LUNs through a consistent ONTAP workflow. This enables faster migration, simpler maintenance planning, and far less host-side effort than host-based copy methods.</p><h1 id="toc-hId--523906469">&nbsp;</h1><h1 id="toc-hId-1218903866">Technical Breakdown</h1><p>FLI remains a storage-led copy workflow. ONTAP uses iSCSI to discover and mount the foreign LUN, creates a same-size destination LUN, establishes the import relationship, and copies blocks in the background to keep the source and destination aligned during the import.</p><p>FLI operates at the LUN level rather than the volume level, so it applies whether customers use a strict 1:1 volume-to-LUN model or place multiple LUNs in the same volume.</p><h1 id="toc-hId--1333253095">&nbsp;</h1><h1 id="toc-hId-409557240">Operational Guidance</h1><p>During online imports, host I/O and import copy operations compete for backend resources, so plan concurrency conservatively and validate it before production waves. Treat the FLI concurrency limit as specific to a source-controller-to-ONTAP-destination-controller pair, not as a cluster-wide, SVM-wide, portal-wide, or universal planning value. Although FLI can support up to 32 concurrent imports for that pair, it&rsquo;s not recommended to size migration waves to the maximum by default. NetApp typically finds the performance sweet spot between 8 and 16 concurrent imports. Start with 8 concurrent imports per validated source-destination controller pair, then adjust only after dry-run testing confirms acceptable application latency, import throughput, source-array utilization, destination-array utilization, and network behavior for the source array and workload mix. If multiple source or destination controllers are used, validate and plan each source-destination controller pair independently.</p><p>Run several dry migrations before scaling to verify the configuration and establish a realistic performance baseline:</p><ol><li>Confirm that FLI is configured correctly and that the source and destination arrays can communicate.</li><li>Use dry runs to measure import performance and identify a concurrency level that balances throughput, migration duration, and application latency.</li></ol><p>If latency affects production workloads, FLI can be paused and resumed from its last checkpoint.</p><h1 id="toc-hId-343114698">&nbsp;</h1><h1 id="toc-hId-2085925033">Getting Started</h1><p>Use this quick-start path to operationalize iSCSI-based FLI:</p><ol><li>Confirm ONTAP 9.19.1 prerequisites before planning the migration wave. Verify interoperability for the required ONTAP platforms&mdash;FAS, AFF, ASA r1, and ASA r2&mdash;and confirm that the intended FLI transport, whether iSCSI-based, FC-based, or both, is supported across the source array, ONTAP target, and network or fabric configuration. Validate source-array qualification before proceeding.</li><li>Identify the workloads and migration candidates in scope.</li><li>Map all LUNs associated with each workload.</li><li>Build an import schedule by workload and LUN group, accounting for criticality, size, and maintenance windows.</li><li>Validate iSCSI backend pathing, initiator settings, and security controls.</li><li>Run dry tests on non-critical or test LUNs to verify configuration, measure latency and throughput, and confirm the procedure.</li><li>Set concurrent import counts based on application latency guardrails, not theoretical maximums.</li><li>Execute production waves with defined cutover criteria and pause/resume checkpoints.</li><li>Define success criteria for each wave&mdash;latency thresholds, copy time, and host validation checks&mdash;before scaling to larger batches.</li></ol><h1 id="toc-hId--466231928"><strong>&nbsp;</strong></h1><h1 id="toc-hId-1276578407"><strong>For More Information</strong></h1><p>For more information about FLI, visit the FLI documentation hub.</p><p><a href="https://docs.netapp.com/us-en/ontap-fli/index.html" target="_blank" rel="noopener noreferrer nofollow">https://docs.netapp.com/us-en/ontap-fli/index.html</a></p></div>]]>
        </description>
    </item>
    <item>
        <title>Fibre Channel Direct Attach With NetApp Storage: Simpler SAN For The Right Environments</title>
        <link>https://community.netapp.com/community/discussion/468104/fibre-channel-direct-attach-with-netapp-storage-simpler-san-for-the-right-environments</link>
        <pubDate>Fri, 10 Jul 2026 19:50:45 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>TSPresler</dc:creator>
        <guid isPermaLink="false">468104@/community/discussions</guid>
        <description><![CDATA[<div><p><strong>Fibre Channel Direct Attach With NetApp Storage: Simpler SAN For The Right Environments</strong></p><p>SAN complexity is often treated as a fixed cost of block storage. Fibre Channel Direct Attach, available with NetApp&rsquo;s ONTAP 9.19.1, gives customers a simpler option when they do not need the scale and policy model of a full FC fabric. The result is a cleaner architecture, lower infrastructure cost, faster deployment, and more predictable host-to-array performance.</p><p>Just as important, FC Direct Attach can be treated as a valid SAN design point &mdash;not a compromise pattern. In edge, remote, cost-sensitive, and otherwise bounded environments, it delivers enterprise block outcomes without forcing a fabric-first design.</p><p><strong>Design Boundaries </strong></p><p>The most useful way to position FC Direct Attach is through environment fit. The model is best when host counts are known and bounded, ownership is clear, and expansion patterns are predictable.</p><p>Teams are generally better served by switch-attached fabric when they need higher fan-out, frequent topology changes, broad zoning policy flexibility, or long-range expansion options. In other words, this is not about good versus bad design &mdash;it is about matching SAN topology to workload scope.</p><p><strong>Where FC Direct Attach Fits Best</strong></p><p>Direct attach is especially useful in environments where simplicity and repeatability matter more than broad fan-out. Typical good-fit use cases include:</p><ul><li>Edge or ROBO deployments with predictable host growth</li><li>Small clusters, typically in the two-to-four-host range</li><li>Test and development environments</li><li>Cost-constrained deployments that still require strong SAN behavior</li></ul><p><strong>Technical Value</strong></p><p>At a technical level, FC Direct Attach enables per-port direct attach (DA) with one SCSI or NVMe LIF per DA port. This creates a flatter data path and reduces operational overhead tied to external switching layers.</p><p>Key technical benefits include:</p><ul><li>Simpler setup and troubleshooting with fewer moving parts</li><li>Reduced TCO and administrative complexities from FC switch elimination</li><li>Lower latency potential from fewer topology hops</li><li>Dedicated bandwidth per host for stronger performance predictability</li><li>Clearer fault isolation tied directly to host links and array ports</li></ul><p>High availability remains part of the design. With multipath FC across redundant host and controller ports, teams can build resilient direct-attach connectivity even without an external fabric switch. This does not mirror every capability of large dual-fabric SAN designs, but it provides a credible HA model for bounded deployments.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/a6/a6711af6e4228c153e8d5cbe80313ec8.png" role="button" title="TSPresler_1-1783712911966.png" alt="TSPresler_1-1783712911966.png" width="623" /></span></p><p><strong>&nbsp;</strong></p><p><strong>NetApp ASA &ndash; Block Optimized, Simple, Reliable</strong></p><p>NetApp ASA is designed for simplified SAN deployment where FC Direct Attach sharpens the value proposition for customers who need superior performance without switched fabric overhead. The economics are structural: fewer components, less cabling complexity, and lower day-2 management drag.</p><p>This also aligns with the purpose-built ASA block capabilities around simplicity (deployment, configuration, management, provisioning, automatic load balancing), reliability/resiliency, security and enterprise data services. The combination supports a clear message: simplify topology where it makes sense, while preserving enterprise block credibility.</p><p><strong>Real-World implementation</strong></p><p>Consider a global consumer goods manufacturer assessing storage standardization across more than 500 bottling and manufacturing facilities. Many sites already operate Fibre Channel direct connect without FC fabrics as a deliberate cost and simplicity choice. With FC Direct Attach in ONTAP 9.19.1, NetApp AFF, ASA and FAS storage can support those locations without adding a switch layer or forcing topology exceptions, enabling one block platform and one operational model across diverse site types.</p><p><strong>The Takeaway</strong></p><p>With Fibre Channel Direct Attach, you can keep the architecture straightforward while still leveraging the core strengths of FC: deterministic behavior, well-understood operational models, and consistent performance. It&rsquo;s a strong fit for environments budgeted for cost that want clean connectivity, faster bring-up, simplicity and fewer dependencies.</p><p><strong>Getting Started</strong></p><p>Start by identifying direct-attach-fit locations: bounded host counts, predictable growth, and limited on-site SAN specialization. &nbsp;Keep a dual-track architecture standard: direct attach where simplicity and cost savings are the value drivers, switched fabric where scale and policy needs justify it.</p><p><strong>For More Information</strong></p><p>Fibre Channel Direct Attach is supported on the following NetApp block products &ndash; our dedicated block solution (ASA), our Unified All Flash (AFF) and our Hybrid Flash (FAS) with ONTAP 9.19.1.&nbsp;</p><p><a href="https://docs.netapp.com/us-en/ontap/san-config/configure-fc-nvme-hosts-ha-pairs-reference.html" target="_blank" rel="noopener noreferrer nofollow">https://docs.netapp.com/us-en/ontap/san-config/configure-fc-nvme-hosts-ha-pairs-reference.html</a></p></div>]]>
        </description>
    </item>
    <item>
        <title>How to back up databases in seconds and restore them in minutes with Amazon FSx for NetApp ONTAP</title>
        <link>https://community.netapp.com/community/discussion/468034/how-to-back-up-databases-in-seconds-and-restore-them-in-minutes-with-amazon-fsx-for-netapp-ontap</link>
        <pubDate>Mon, 06 Jul 2026 14:52:51 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>Semion</dc:creator>
        <guid isPermaLink="false">468034@/community/discussions</guid>
        <description><![CDATA[<div><p>Databases are at the heart of many business&#8209;critical applications and services. They underpin essential functions such as order processing, billing, inventory management, customer portals, analytics, and much more. When a database becomes unavailable, the consequences are immediate: users lose access to vital information, business operations are disrupted, and reputational damage can quickly ensue.</p><p>To ensure business continuity, organizations set strict recovery point objectives (RPO) and recovery time objectives (RTO) for their most critical databases. Having a backup alone isn&rsquo;t enough; you must be able to restore swiftly to a recent point in time. Achieving these demanding recovery targets for self-managed databases on <a href="https://aws.amazon.com/" target="_blank" rel="noopener nofollow noreferrer">Amazon Web Services (AWS)</a> becomes increasingly difficult as the environment expands in scale.</p><p>By using <a href="https://www.netapp.com/aws/fsx-ontap/" target="_blank" rel="noopener noreferrer nofollow">Amazon FSx for NetApp ONTAP</a> as the backbone of your data infrastructure, you can <a href="https://www.netapp.com/blog/aws-fsxn-blg-optimize-database-performance-costs-with-amazon-fsx-for-netapp-ontap/" target="_blank" rel="noopener noreferrer nofollow">optimize platforms such as SQL Server, Oracle DB, MongoDB, SAP HANA, and others</a>. For many demanding workloads with strict SLAs, FSx for ONTAP is often the only service that enables these databases to run reliably and at scale on the AWS Cloud. In this post, I am going to explain how this is achieved.</p><p>Here&rsquo;s what we&rsquo;ll cover:</p><ul><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/How-to-back-up-databases-in-seconds-and-restore-them-in-minutes-with-Amazon-FSx/ba-p/468034#toc-hId-1707619003">Navigating database resilience challenges: Meeting strict objectives at scale on AWS</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/How-to-back-up-databases-in-seconds-and-restore-them-in-minutes-with-Amazon-FSx/ba-p/468034#toc-hId--844537958">How FSx for ONTAP optimizes resilience for self-managed databases</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/How-to-back-up-databases-in-seconds-and-restore-them-in-minutes-with-Amazon-FSx/ba-p/468034#toc-hId--720420875">What this means for your team: Benefits in practice</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/How-to-back-up-databases-in-seconds-and-restore-them-in-minutes-with-Amazon-FSx/ba-p/468034#toc-hId-1022389460">Summary and next steps</a></li></ul><h2 id="toc-hId-1707619003">Navigating database resilience challenges: Meeting strict objectives at scale on AWS</h2><p>Protecting a single database is one thing, but the task changes dramatically when you&rsquo;re responsible for a large-scale environment. A typical mission-critical deployment can involve hundreds of databases, several hundred terabytes or more of data, and multiple environments dedicated to development, testing, pre-production, and other purposes.</p><p>Within such a landscape, you must meet a range of requirements simultaneously: High availability to ensure that business-critical workloads withstand both component failures and disruptions to Availability Zones (AZs), strict backup recovery objectives, robust disaster recovery (DR) architecture to maintain business connectivity during major incidents, and diligent cost control given the significant expenses associated with database licences, compute resources, and storage capacity.</p><p>Traditional designs that rely solely on database-level replication and periodic backups to block storage or object storage often struggle to address all these demands at scale. As a result, backup windows can expand, restore processes might take longer, and disaster recovery deployments can become increasingly complex and costly to maintain.</p><h2 id="toc-hId--844537958">How FSx for ONTAP optimizes resilience for self-managed databases</h2><p>Let&rsquo;s take a closer look at the standard architecture of self-managed databases on AWS and then discuss how FSx for ONTAP can optimize it. For this example, we will focus on a SQL Server.</p><h3 id="toc-hId-701758872">Initial architecture: AOAG SQL Server running on Amazon EC2 and Amazon EBS</h3><p>I recently worked with a financial customer managing hundreds of databases and over 500 TB of data across multiple environments, including development, test, pre-production, and others. This deployment required high availability across AZs, RPO of 10 minutes and RTO of 1 hour, and an effective DR site to protect against large-scale events and maintain business continuity. The following diagram illustrates the SQL Server architecture the customer chose, with <a href="https://aws.amazon.com/ebs" target="_blank" rel="noopener nofollow noreferrer">Amazon Elastic Block Store (Amazon EBS)</a>&mdash;a common solution for running a SQL Server on AWS:</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/f2/f2d16143b44125fe4b84cb49f996da76.jpg" role="button" title="SQL SERVER WITH EBS.jpg" alt="SQL SERVER WITH EBS.jpg" width="995" /></span></p><p>In this design:</p><ul><li>Two <strong><a href="https://aws.amazon.com/ec2" target="_blank" rel="noopener nofollow noreferrer">Amazon Elastic Compute Cloud (Amazon EC2)</a> instances running SQL Server</strong> are deployed in different AZs within an AWS Region.</li><li>Each instance uses multiple <strong>Amazon EBS volumes</strong> for database files, log files, and other data.</li><li><strong>SQL Server replication</strong>, such as AOAG, keeps the databases synchronized between the instances.</li><li><strong>Amazon EBS snapshots</strong> are used for volume-level backups, with snapshot data stored in <a href="https://aws.amazon.com/s3/" target="_blank" rel="noopener nofollow noreferrer">Amazon Simple Storage Service (Amazon S3)</a>.</li></ul><p>This architecture delivers high availability by distributing SQL Server instances across two separate AZs, while ensuring data durability and recoverability through SQL-level replication and Amazon EBS snapshots stored in Amazon S3. It provides flexible scaling, clear separation of compute and storage, and protection against outages within the Region.</p><p>However, it has several implications:</p><ul><li><strong>Licensing.</strong> AOAG often requires SQL Server Enterprise licensing, which can significantly increase costs when you have many cores and multiple replicas.</li><li><strong>Backup and restore times.</strong> As data volumes grow, the time required to create and restore from volume-level snapshots and copies increases. Meeting the 1-hour RTO across hundreds of databases becomes difficult.</li><li><strong>Storage and cost.</strong> Multiple Amazon EBS volumes, frequent snapshots, and long retention periods increase storage consumption.</li><li><strong>DR site.</strong> Building a DR site using this design typically involves additional infrastructure, extra replicas, more storage, and complex orchestration to meet the RPO and RTO targets.</li></ul><p>At this stage, companies are seeking an alternative architecture to overcome these challenges and optimize resilience. In many cases, as was the case with this customer, the solution lies in the choice of storage service.</p><h3 id="toc-hId--1850398089">Optimized architecture: SQL Server FCI running on Amazon EC2 and FSx for ONTAP</h3><p>Now let&rsquo;s look at an architecture for a SQL Server failover cluster instance (FCI) using FSx for ONTAP as the underlying storage, which the abovementioned customer eventually moved to:</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/d0/d005de08745b1a99a9e748c30c126a91.jpg" role="button" title="FSXN AS A SHARED BLOCK STORAGE.jpg" alt="FSXN AS A SHARED BLOCK STORAGE.jpg" width="1046" /></span></p><p>With this approach, backup and recovery workflows change. Instead of relying only on host-based backups, you use storage-level snapshots as the primary mechanism for protecting data. Creating a snapshot is a fast operation and restore workflows can be built around reverting or cloning from those snapshots.</p><p>Because FSx for ONTAP provides high availability across AZs, it can be used as a shared block storage for both Amazon EC2 instances. With this capability, the customer can move away from an AOAG architecture to FCI, while achieving the same or even better availability. For this architecture, a Standard SQL licence can be used, substantially reducing licensing costs.</p><p>Additionally, because this architecture requires only a single copy of data, it reduces storage capacity and costs and eliminates cross-AZ charges. And without the need for SQL-level replication, Amazon EC2 instance resources are freed up.</p><p>FSx for ONTAP backup operations are based on NetApp incremental Snapshot&trade; technology. Stored locally on the file system, These Snapshots are created rapidly, require minimal storage due to their space-efficient design, and enable quick recovery from logical failures. Their efficient use of space also keeps backup costs low and ensures performance remains unaffected during creation.</p><p>Thanks to an integrated free tool called NetApp SnapCenter&reg; that synchronizes these Snapshot copies with the SQL Server, they become database-aware and require no log forwarding as part of the restoration process.</p><h3 id="toc-hId--107587754">Adding disaster recovery to the mix</h3><p>Now let&rsquo;s add another layer of protection. To further safeguard against physical failures, the design extends to a secondary FSx for ONTAP file system, which can be air-gapped and deployed in another Region. Using NetApp SnapMirror&reg;, data is replicated asynchronously and efficiently, ensuring the latest backups are always available for DR without the overhead of full data copies.</p><p>The following diagram shows the SQL Server DR architecture with FSx for ONTAP:</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/c5/c53fe6545c8bae5d52888321e68cef10.jpg" role="button" title="SQL SERVER DEPLOYMENT WITH DR USING FSXN.jpg" alt="SQL SERVER DEPLOYMENT WITH DR USING FSXN.jpg" width="1074" /></span></p><p>In this setup, the primary FSx for ONTAP file system replicates data incrementally and asynchronously to a secondary FSx for ONTAP file system in a separate Region, providing protection against site-wide or physical failures.</p><p>A disaster recovery SQL Server instance can swiftly attach to replicated volumes or space-efficient thin clones, enabling rapid failover and recovery. DR tests and failovers rely on these storage-level copies, eliminating the need for time-consuming full data restores.</p><p>This approach aligns easily with demanding recovery objectives, such as a 10-minute RPO and 1-hour RTO, because both replication and restoration are handled efficiently at the storage layer.</p><h3 id="toc-hId-1635222581">Outcomes of the revised architecture</h3><p>Compared to the initial architecture, FSx for ONTAP streamlines resilience with high availability across AZs. Backup happens in seconds and restore in minutes, and an effective disaster recovery site is provided.</p><p>For the customer, this meant:</p><ul><li>Meeting its <strong>RPO and RTO requirements</strong>.</li><li>Achieving <strong>high availability across AZs</strong> using a storage&#8209;centric design.</li><li>Reducing <strong>backup operations to seconds</strong> and <strong>restore operations to minutes</strong> by using application-aware, lightweight snapshots.</li><li>Building an <strong>efficient DR site</strong> backed by storage replication.</li><li>Transitioning to a SQL Server Failover Cluster Instance (FCI) design that provided an approximately <strong>40% reduction in licensing and maintenance costs</strong>, along with additional savings on compute and storage.</li></ul><h2 id="toc-hId--720420875"><a target="_blank" name="_Toc257683081" id="_Toc257683081"></a>What this means for your team: Benefits in practice</h2><p>This strategy delivers significant benefits for teams managing their own databases on AWS.</p><p><strong>Database administrators</strong> enjoy quicker and more reliable backup and restore processes, even when working with hundreds of databases. Regular testing of recovery and disaster recovery procedures becomes more straightforward, because snapshot-based clones allow for the rapid creation of temporary environments.</p><p><strong>Storage administrators</strong> benefit from a solution built for efficient snapshots, thin clones, and replication&mdash;naturally supporting database protection. They can set storage policies once and apply them consistently across multiple databases and environments.</p><p><strong>Cloud architects</strong> can implement an architecture that meets stringent RPO and RTO objectives, while optimizing licensing, compute, and storage expenses. Additionally, this approach makes it easier to scale as more databases, environments, and Regions are introduced.</p><p>In short, FSx for ONTAP empowers each team to focus on strategic improvements rather than routine maintenance, enhancing both productivity and resilience.</p><h2 id="toc-hId-1022389460">Summary and next steps</h2><p>Protecting self&#8209;managed databases on AWS at scale is challenging. You need high availability, fast recovery capabilities, and a robust DR strategy, while keeping an eye on cost and operational complexity.</p><p>By adopting FSx for ONTAP as the storage layer and optimizing the architecture, companies can meet strict SLA requirements, achieve high availability across AZs, build efficient DR sites, while gaining substantial savings on licensing costs and additional cost savings on compute and storage.</p><p>If you&rsquo;re running self-managed databases on the AWS Cloud today, this architecture is worth evaluating. Start by assessing your current RPO and RTO targets, backup times, and disaster recovery design, and consider how FSx for ONTAP can help you protect your databases more efficiently.</p><p>To deepen your understanding and explore practical guidance:</p><ul><li><a href="https://www.youtube.com/watch?v=ohU4lDRuB6M&amp;t=447s" target="_blank" rel="noopener nofollow noreferrer">Watch the explainer demo video</a>, showing 3.1 TB of SQL data backed up in just 9 seconds and restored in 8 minutes.</li><li>Read about <a href="https://www.netapp.com/blog/aws-fsxn-blg-optimize-database-performance-costs-with-amazon-fsx-for-netapp-ontap/" target="_blank" rel="noopener noreferrer nofollow">how FSx for ONTAP optimizes database performance and reduces costs by up to 50%</a> and <a href="https://aws.amazon.com/blogs/storage/using-netapp-snapcenter-with-amazon-fsx-for-netapp-ontap-to-protect-your-sql-server-workloads/" target="_blank" rel="noopener nofollow noreferrer">how to protect your SQL Server workloads using NetApp SnapCenter</a> in our blogs.</li><li>Check out the <a href="https://www.netapp.com/aws/fsx-ontap/fsx-mssql-workloads-overview/" target="_blank" rel="noopener noreferrer nofollow">how-to guides and documentation</a> to help you get started.</li></ul></div>]]>
        </description>
    </item>
    <item>
        <title>Is your SAN strategy stuck in the past? Here’s the ROI of modernization</title>
        <link>https://community.netapp.com/community/discussion/466736/is-your-san-strategy-stuck-in-the-past-here-s-the-roi-of-modernization</link>
        <pubDate>Mon, 13 Apr 2026 19:19:13 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>cwopat</dc:creator>
        <guid isPermaLink="false">466736@/community/discussions</guid>
        <description><![CDATA[<div><p>Are you still managing your SAN with a &ldquo;if it isn&rsquo;t broken, don&rsquo;t fix it&rdquo; mindset? It might be time to rethink that approach. According to a recent IDC Business Value Solution Brief, sponsored by NetApp, Interviewed companies reported a 49% faster identification of root causes for issues, thanks to unified dashboards and topology mapping from servers to storage. This report dives deep into the return on investment of observability and AI-powered analytics, showcasing how these advanced capabilities can streamline and enhance the process of upgrading SAN environments, turning <span>&nbsp;</span>your infrastructure into a strategic asset rather than a constant headache.</p><p>According to a NetApp technology customer, &ldquo;NetApp Data Infrastructure Insights has helped us pinpoint the root cause of issues faster because it provides us with a single dashboard. We can see everything in the infrastructure, including the topology from the server to the storage, and quickly identify where a failure has occurred. It is easy for us to recognize which server is failing and where it is connected to the SAN.<em>&rdquo;</em></p><h2 id="toc-hId-1707566150"><em>Breaking down operational silos</em></h2><p>One of the biggest challenges with legacy SAN environments is the lack of end-to-end visibility. Troubleshooting block workloads often leads to finger-pointing between virtualization admins, network admins, and storage admins, which delays resolution and drives up costs.</p><p><a href="https://www.netapp.com/data-infrastructure-insights/" target="_blank" rel="noopener noreferrer nofollow"><span>Data Infrastructure Insights</span></a> tackles this problem head-on with its SAN Analyzer feature, providing a complete VM-to-LUN topology map. This feature breaks down silos, offering a unified view across heterogeneous environments and supporting both Fibre Channel and iSCSI. By overlaying performance metrics and alerts directly on the topology, all stakeholders gain a shared understanding of issues, leading to <strong>faster resolution times</strong>.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/65/656bd84364dff334ab990a4056c064a5.png" width="819" height="305" role="button" title="VM-to-LUN Topology.png" alt="VM-to-LUN Topology.png" /></span></p><p>The result? A <strong>49% quicker identification of root causes of issues</strong>, as highlighted in the IDC Business Value Solution Brief. That means less time troubleshooting and more time focusing on strategic initiatives.</p><h2 id="toc-hId--844590811">Moving from reactive to proactive with AI</h2><p>Downtime is the enemy of ROI, and traditional monitoring tools often flood teams with noisy alerts, leading to missed critical issues. Data Infrastructure Insights leverages AI to cut through the noise, using self-learning algorithms to detect anomalies before they cause disruptions. Whether it&rsquo;s storage performance saturation, SAN port throughput issues, or hardware degradation, AI-powered insights help you catch problems early.</p><p>This proactive approach doesn&rsquo;t just save time&mdash;it prevents costly service disruptions, ensuring mission-critical workloads stay online and your business avoids lost revenue. In fact, the IDC Business Value Solution Brief found that customers saved an average of $128,539 value in staff time after implementing Data Infrastructure Insights thanks to proactive alerting and faster troubleshooting.</p><h2 id="toc-hId-898219524">De-risking change management</h2><p>Infrastructure changes are one of the leading causes of IT incidents. A minor configuration update can ripple across the infrastructure, creating unexpected outages. Data Infrastructure Insights tackles this challenge with Change Analysis, which monitors your environment for changes and correlates them with alerts and performance issues.</p><p>This feature is invaluable both for daily operations&mdash;quickly identifying whether a recent change caused an issue&mdash;and for large-scale projects like SAN refreshes or migrations. By validating each step, you can reduce risk and ensure stability throughout the process.</p><h2 id="toc-hId--1653937437">Bridging the SAN skills gap</h2><p>Advanced SAN expertise is in short supply, creating bottlenecks and over-reliance on specific individuals. Modern tools like Data Infrastructure Insights democratize this expertise, providing intuitive visualizations and actionable insights that empower generalists to handle complex tasks. This reduces your team&rsquo;s dependency on SAN specialists, allowing senior engineers to focus on strategy while improving morale and efficiency.</p><h2 id="toc-hId-88872898">Unlocking the full value of SAN modernization</h2><p>The &ldquo;if it isn&rsquo;t broken&rdquo; mentality may feel safe, but it&rsquo;s costly in the long run. Modernizing your SAN management with tools like Data Infrastructure Insights gives you the clarity, control, and proactive capabilities needed to optimize your infrastructure investment. By reducing downtime, accelerating troubleshooting, and improving efficiency, you can unlock real ROI and transform your operations.</p><h2 id="toc-hId-1831683233">Ready to see the full picture?</h2><p>Don&rsquo;t let outdated strategies hold your infrastructure back&mdash;download the report and take the first step towards smarter, more efficient SAN management.&nbsp;<a href="https://www.netapp.com/forms/idc-study-netapp-data-infrastructure-insights/" target="_blank" rel="noopener noreferrer nofollow" data-airgap-id="90"><strong>Download the full IDC Business Value Solution Brief</strong></a></p><h6 id="toc-hId--1506527748"><em>* IDC Business Value Solution Brief, Sponsored by NetApp, The Business Value of NetApp Data Infrastructure Insights, #US54271626-BVSB, March 2026</em></h6></div>]]>
        </description>
    </item>
    <item>
        <title>Deciding between NFSv3 or NFSv4.x? The choice is getting clearer…</title>
        <link>https://community.netapp.com/community/discussion/465963/deciding-between-nfsv3-or-nfsv4-x-the-choice-is-getting-clearer</link>
        <pubDate>Wed, 25 Feb 2026 19:59:02 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>parisi</dc:creator>
        <guid isPermaLink="false">465963@/community/discussions</guid>
        <description><![CDATA[<div><table border="0" style="width: 50%;"><tbody><tr><td style="width: 50%;"><ul><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Deciding-between-NFSv3-or-NFSv4-x-The-choice-is-getting-clearer/ba-p/465963#toc-hId--844618590">What does NFSv4 bring to the equation?</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Deciding-between-NFSv3-or-NFSv4-x-The-choice-is-getting-clearer/ba-p/465963#toc-hId-413009224">Sounds great&hellip; why don&rsquo;t more people use it?</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Deciding-between-NFSv3-or-NFSv4-x-The-choice-is-getting-clearer/ba-p/465963#toc-hId--396337402">What is NetApp AFX?</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Deciding-between-NFSv3-or-NFSv4-x-The-choice-is-getting-clearer/ba-p/465963#toc-hId-1033594639">NFSv4.x improvements in ONTAP 9.18.1 using AFX</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Deciding-between-NFSv3-or-NFSv4-x-The-choice-is-getting-clearer/ba-p/465963#toc-hId--773859824">Sequential IO results</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Deciding-between-NFSv3-or-NFSv4-x-The-choice-is-getting-clearer/ba-p/465963#toc-hId--1583206450">Metadata-heavy workload results</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Deciding-between-NFSv3-or-NFSv4-x-The-choice-is-getting-clearer/ba-p/465963#toc-hId-1902414220">So now what?</a></li></ul></td></tr></tbody></table><p>NFS version 3 has been a gold standard for NFS applications for decades &ndash; starting all the way back in 1995, when it was first officially released. Its blend of performance and resiliency has made it difficult to consider a move to newer NFS versions for good reason.</p><p>However, NFSv3 is not without its limitations. Statelessness of the protocol, while great for performance and for minimizing disruptions on storage failover, is not so great for data consistency and lock management. An NFS server doesn&rsquo;t really keep track of lock states, so if there is a failure, the NFS server may or may not release the locks, and the NFS client may not know whether a file is locked or not.</p><p>Security for NFSv3 is also a bit lacking. The protocol requires multiple open firewall ports to function properly and numeric IDs are sent in plaintext over the wire. Furthermore, NFS does not have robust ACL support, and does not include native file and folder auditing. As a result of these limitations, NFSv4 was created in 2003 via <a href="https://datatracker.ietf.org/doc/html/rfc3530" target="_blank" rel="noopener nofollow noreferrer">RFC-3530</a> (obsoleted in 2015 by <a href="https://datatracker.ietf.org/doc/html/rfc7530" target="_blank" rel="noopener nofollow noreferrer">RFC-7530</a>).</p><h2 id="toc-hId-1707538371">&nbsp;</h2><h2 id="toc-hId--844618590"><strong>What does NFSv4 bring to the equation?</strong></h2><p>NFSv4 delivers a number of improvements over NFSv3, including:</p><h3 id="toc-hId-701678240"><strong>Integrated locking</strong></h3><p>Rather than splitting lock mechanisms into their own services (such as NLM and NSM) from the NFS protocol itself, which require their own network ports and can create stale lock issues in failover scenarios, NFSv4 integrates locking directly into the protocol stack. That way, the client and server always agree on the lock states. If a client or server has an extended failure, then locks will eventually expire on their own, which prevents stale lock issues.</p><h3 id="toc-hId--1850478721">&nbsp;</h3><h3 id="toc-hId--107668386"><strong>Firewall friendly</strong></h3><p>NFSv4 integrates many of the services that NFSv3 separated out, such as mount, portmapping, locking, etc, into the protocol. As a result, only port 2049 (the NFS port) is required for use of NFSv4, which makes the protocol firewall friendly.</p><h3 id="toc-hId-1635141949">&nbsp;</h3><h3 id="toc-hId--917015012"><strong>Granular access controls</strong></h3><p>NFSv3 supports basic mode bit permissions (such as RWX) with a limitation of owner, group, and everyone else as the only subjects to which permissions can be applied. These limitations make it difficult to create granular access controls for additional users and groups. NFSv4 attempts to improve upon that by implementing support for NFSv4 <a href="https://datatracker.ietf.org/doc/html/rfc7530#page-54" target="_blank" rel="noopener nofollow noreferrer">access control lists (ACLs)</a>. These ACLs provide a way to manage access not just for basic RWX across only a small subset of subjects, but also for a larger number of file operations (such as deletes, ownership changes, permission changes, etc) across up to 1024 owner and group objects. An added benefit in ONTAP environments is that NFS access controls can more closely match NTFS permissions, which makes multiprotocol NAS access across NFS and SMB to the same datasets more seamlessly integrated.</p><h3 id="toc-hId-825795323">&nbsp;</h3><h3 id="toc-hId--1726361638"><strong>Name string/domain enforcement</strong></h3><p>NFSv3 users and groups send numeric IDs to the NFS server by default, which means that the NFS server then must translate that numeric ID into a human-readable name. NFSv4, on the other hand, will send <a href="https://datatracker.ietf.org/doc/html/rfc7530#section-5.9" target="_blank" rel="noopener nofollow noreferrer">name strings</a> (ie, user@DOMAIN.COM) to the server, which not only helps prevent spoofing of numeric IDs, but also requires the client and server to negotiate the name strings with identical local representation of users and groups (either via local files or LDAP). If the name string translation fails, then the NFS server will squash the user or group to the anonymous user defined by the NFS client&rsquo;s configuration. This helps prevent unintentional or unauthorized access to files and folders.</p><h3 id="toc-hId-16448697">&nbsp;</h3><h3 id="toc-hId-1044097743"><strong>File and folder auditing</strong></h3><p>In addition to security Access Control Entries (ACEs), NFSv4 also supports the ability to add audit ACEs to files and folders to track and log specific file operations. For instance, if you want to see who is attempting to read or delete a file, audit ACEs can track that. Native NFSv3 supported no such capability.</p><h3 id="toc-hId--1508059218">&nbsp;</h3><h3 id="toc-hId-234751117"><strong>Kerberos mandate</strong></h3><p>Kerberos authentication provides an optional extra layer of security for NFS access by requiring users to enter a username and password to collect a Kerberos ticket to initially access NFS shares. Kerberos can also be leveraged to further encrypt data traffic end-to-end (with a performance impact due to the encryption/decryption CPU work) for added security, and since all NFS functionality is integrated into the same port, all NFS traffic would be encrypted &ndash; including mounts and locks. While the NFSv4 RFC mandates Kerberos <u>support </u>by the NFS server, use of Kerberos is optional.</p><h3 id="toc-hId-1977561452">&nbsp;</h3><h3 id="toc-hId--574595509"><strong>Additional features and functionality</strong></h3><p>While NFSv4 added a multitude of new functionality within the protocol stack, perhaps the biggest improvement the new version brought was the addition of new features and functionality for NFS in general.</p><p>These include:</p><ul><li><a href="https://datatracker.ietf.org/doc/html/rfc5661#section-12" target="_blank" rel="noopener nofollow noreferrer">Parallel NFS</a> (NFS v4.1)</li><li><a href="https://datatracker.ietf.org/doc/html/rfc5661#section-2.10.5" target="_blank" rel="noopener nofollow noreferrer">NFS session trunking</a> (NFSv4.1)</li><li><a href="https://datatracker.ietf.org/doc/html/rfc5661#section-10.2" target="_blank" rel="noopener nofollow noreferrer">File delegations</a> (NFSv4.1)</li><li><a href="https://datatracker.ietf.org/doc/html/rfc5661#section-11.4.3" target="_blank" rel="noopener nofollow noreferrer">Referrals</a> (NFSv4.1)</li><li><a href="https://datatracker.ietf.org/doc/html/rfc5661#section-11.4.2" target="_blank" rel="noopener nofollow noreferrer">Stateless migration</a> (NFSv4.1)</li><li><a href="https://www.rfc-editor.org/rfc/rfc7204.html" target="_blank" rel="noopener nofollow noreferrer">Security labels</a> (NFSv4.2)</li><li><a href="https://datatracker.ietf.org/doc/html/rfc7862#section-12" target="_blank" rel="noopener nofollow noreferrer">Extended attributes</a> (NFSv4.2)</li></ul><p>For a deeper look:</p><p><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NFSv3-and-NFSv4-What-s-the-difference/ba-p/441316" target="_blank">NFSv3 and NFSv4: What's the difference? - NetApp Community</a></p><h2 id="toc-hId--1329801111">&nbsp;</h2><h2 id="toc-hId-413009224"><strong>Sounds great&hellip; why don&rsquo;t more people use it?</strong></h2><p>While NFSv4.x has been around for over 20 years, there still hasn&rsquo;t been widespread adoption of it for a few reasons.</p><ul><li><strong>Complexity of identity management</strong>: Many environments don&rsquo;t have a name service infrastructure in place to properly take advantage of the name string and Kerberos security requirements in NFSv4.x.</li><li><strong>Need for newer NFS clients</strong>: This concern is less pressing in today&rsquo;s modern NFS environments, as the further we get from the initial release date of NFSv4. Almost all currently used OS&rsquo;s include NFS clients with full NFsv4 support, but there are still legacy systems that may not have the necessary NFSv4.x packages. In fact, some applications still require use of older NFS versions.</li><li><strong>&ldquo;If it ain&rsquo;t broke, don&rsquo;t fix it&rdquo; mentality</strong>: Enterprise IT organizations are notoriously conservative in adoption of newer technologies &ndash; even ones that have been around for over 20 years. And if the current NFS version is working fine, why change?</li><li><strong>Performance concerns</strong>: Performance of a stateful protocol like NFSv4.x has lagged behind stateless NFSv3 for much of the past 20 years. In the past, the performance impact often outweighed the NFSv4.x benefits.</li></ul><h2 id="toc-hId--2139147737">&nbsp;</h2><h2 id="toc-hId--396337402"><strong>What is NetApp AFX?</strong></h2><p><a href="https://www.netapp.com/blog/afx-revolutionizing-ai-powered-enterprise-infrastructure/" target="_blank" rel="noopener noreferrer nofollow">NetApp AFX</a> is the latest innovation from NetApp that introduces the use of disaggregated storage with NAS and object for high performance workloads, such as AI/ML, EDA, HPC and anything that requires independent scaling of capacity and compute, massive throughput, and a single capacity pool.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/c3/c3dd36356f1aa8e6a5a51587d75f41ce.png" role="button" title="afx-scaling.png" alt="afx-scaling.png" width="1771" /></span></p><p>AFX does all of this while still running the same ONTAP images as unified ONTAP. That means you get all of the same ONTAP functionality and interoperability (such as SnapMirror and FlexCache) you&rsquo;re accustomed to.</p><p>Since disaggregated ONTAP is a new way to consume ONTAP, it opens the door to additional performance gains, such as the changes made in ONTAP 9.18.1 to improve overall performance for NFSv4.x.</p><h2 id="toc-hId-1346472933">&nbsp;</h2><h2 id="toc-hId-1033594639"><strong>NFSv4.x improvements in ONTAP 9.18.1 using AFX</strong></h2><p>Some architectural changes to ONTAP have provided a much needed performance boost to NFS in general, and have made some serious inroads to improving NFSv4.x performance in general.</p><p>Below is a high-level summary of some of those changes.</p><h3 id="toc-hId-979453615">&nbsp;</h3><h3 id="toc-hId--1572703346"><em><strong>Sequential read enhancement - <span style="color: #3366FF;">NFSv4.1 30% better than NFSv3</span></strong></em></h3><p>ONTAP 9.18.1 introduces support for multipath IO with NFSv4.1. Rather than processing reads from the WAFL file system, MPIO shifts read operations into a network domain to be served in a multipath-safe manner. This approach reduces context switches, providing greater overall parallelism in sequential read traffic, as well as reducing the overhead from buffer management by bypassing WAFL.</p><h3 id="toc-hId-170106989">&nbsp;</h3><h3 id="toc-hId-1912917324"><strong><em>Random read enhancement for FlexGroup volumes &ndash;<span style="color: #3366FF;"> NFSv4.1 within 7% of NFSv3</span></em> </strong></h3><p>FlexGroup volumes are volumes that take many underlying constituent volumes and present them as a single unified namespace. In AFX, FlexGroup volumes have Advanced Capacity Balancing enabled by default, which will write files larger than 10GB across multiple constituent volumes as multipart files. Because of the remote location of these file parts, random reads traditionally have had a modest perf disadvantage with NFSv4.x (around 18% less than NFSv3). ONTAP 9.18.1 introduces support for cached IO for multipart reads with NFSv4.x to help address this.</p><p><strong><em>Note:</em></strong><em> This change does not apply to FlexVol volumes.</em></p><h3 id="toc-hId--639239637">&nbsp;</h3><h3 id="toc-hId-1103570698"><em><strong>Sequential writes - <span style="color: #3366FF;">+10% improvement from previous releases</span></strong></em></h3><p>An improvement of how we replicate NVLOG data used for HA failover functionality increased overall sequential write performance for NetApp AFX systems.</p><h3 id="toc-hId--1448586263">&nbsp;</h3><h3 id="toc-hId-294224072"><em><strong>Metadata operations &ndash; <span style="color: #3366FF;">Within 15% performance of NFSv3 for EDA benchmarks</span></strong></em></h3><p>NFSv4.1 traditionally serializes all OPEN and CLOSE operations, with a cluster node processing them one at a time before they can be sent from the network to WAFL. ONTAP 9.18.1 introduces Concurrent Open Close (COC), which eliminates network serialization by changing how race conditions are resolved, which removes OPEN/CLOSE bottlenecks seen in prior releases.</p><p>All of these changes &ndash; along with the architecture changes brought about in AFX &ndash; have made it possible to improve the overall NFSv4.1 performance in ONTAP 9.18.1.</p><h2 id="toc-hId--460981530">&nbsp;</h2><h2 id="toc-hId--773859824"><strong>Sequential IO results</strong></h2><p>One of the areas where some modest performance improvements were seen was with sequential IO (ie, IO that is predictable and issued consecutively). In standard performance tests using fio, <strong>AFX running ONTAP 9.18.1 improved sequential read performance by nearly 30% and sequential write performance by 10%.</strong></p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/e5/e5d7748208a97415376996c12816b842.png" role="button" title="seq-reads-afx-nfsv4-9.18.1.png" alt="seq-reads-afx-nfsv4-9.18.1.png" width="846" /></span></p><h2 id="toc-hId-968950511">&nbsp;</h2><h2 id="toc-hId--1583206450"><strong>Metadata-heavy workload results</strong></h2><p>Even more impressive are the improvements with one of NFSv4.x&rsquo;s top performance pain points &ndash; metadata. These are random IOs, usually in the 4K range, used to manage file owners and attributes, creating and listing files, and so on. Because of the statefulness of NFSv4.x, these types of operations tend to cost more in CPU and latency, which in turn reduces overall possible performance.</p><p>With the changes in AFX ONTAP 9.18.1, NFSv4.x performance for these types of workloads has improved substantially and has closed the gap on NFSv3 performance (within 15%).</p><p>Our performance engineering teams compared performance of standard AI image, EDA, and software build benchmarks and found massive gains from the previous ONTAP release.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/79/79fdeed6ce36de89dc3682085a583b06.png" role="button" title="metadata-afx-nfsv4-9.18.1.png" alt="metadata-afx-nfsv4-9.18.1.png" width="846" /></span></p><h2 id="toc-hId-159603885">&nbsp;</h2><h2 id="toc-hId-1902414220"><strong>So now what?</strong></h2><p>With the latest NFSv4.x performance improvements (along with the other benefits of NFSv4.x), it&rsquo;s likely worth revisiting use of NFSv4.x in your high-performance NAS workloads. Either test it out with your applications or schedule a meeting with our Customer Proof of Concept (CPOC) labs through your NetApp sales representative. If you&rsquo;d like to learn more about CPOC, check out this Tech ONTAP Podcast episode:</p><ul><li><a href="https://soundcloud.com/techontap_podcast/episode-403-cpoc" target="_blank" rel="noopener nofollow noreferrer">Episode 403 - CPOC! by Tech ONTAP Podcast</a></li></ul><p>If you&rsquo;d like to learn more about NFSv4.x, these links can also help:</p><ul><li><a href="https://soundcloud.com/techontap_podcast/episode-119-nfsv4x-deep-dive" target="_blank" rel="noopener nofollow noreferrer">Episode 119: NFSv4.x Deep Dive by Tech ONTAP Podcast</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NFSv3-and-NFSv4-What-s-the-difference/ba-p/441316" target="_blank">NFSv3 and NFSv4: What's the difference? - NetApp Community</a></li><li><a href="https://www.netapp.com/media/10720-tr-4067.pdf" target="_blank" rel="noopener noreferrer nofollow">NFS best practice and implementation guide | TR-4067</a></li></ul></div>]]>
        </description>
    </item>
    <item>
        <title>NetApp solutions for NFS encryption over the wire</title>
        <link>https://community.netapp.com/community/discussion/458221/netapp-solutions-for-nfs-encryption-over-the-wire</link>
        <pubDate>Fri, 07 Feb 2025 12:31:08 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>arndt</dc:creator>
        <guid isPermaLink="false">458221@/community/discussions</guid>
        <description><![CDATA[<div><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/11/11e72b987e2905367a9b3ee3ed04f6fa.png" role="button" title="netapp.png" alt="NetApp Image" width="1464" /><span>NetApp Image</span></span></p><ul><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NetApp-solutions-for-NFS-encryption-over-the-wire/ba-p/458221#toc-hId--648946086">Overview</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NetApp-solutions-for-NFS-encryption-over-the-wire/ba-p/458221#toc-hId--1458292712">NFS with Kerberos</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NetApp-solutions-for-NFS-encryption-over-the-wire/ba-p/458221#toc-hId-2027327958">NFS over IPsec</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NetApp-solutions-for-NFS-encryption-over-the-wire/ba-p/458221#toc-hId-1021467827">ONTAP enforcement of IPsec</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NetApp-solutions-for-NFS-encryption-over-the-wire/ba-p/458221#toc-hId-212121201">General IPsec storage information</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NetApp-solutions-for-NFS-encryption-over-the-wire/ba-p/458221#toc-hId--1454759195">General IPsec client configuration</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NetApp-solutions-for-NFS-encryption-over-the-wire/ba-p/458221#toc-hId-2030861475">IPsec with pre-shared key authentication</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NetApp-solutions-for-NFS-encryption-over-the-wire/ba-p/458221#toc-hId-1221514849">IPsec with certificate authentication</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NetApp-solutions-for-NFS-encryption-over-the-wire/ba-p/458221#toc-hId-412168223">IPsec configuration notes for IPv6</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NetApp-solutions-for-NFS-encryption-over-the-wire/ba-p/458221#toc-hId-1399772956">NFS over TLS</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NetApp-solutions-for-NFS-encryption-over-the-wire/ba-p/458221#toc-hId-1345631932">NFS over TLS storage configuration</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/NetApp-solutions-for-NFS-encryption-over-the-wire/ba-p/458221#toc-hId--1519403323">NFS over TLS client configuration</a></li></ul><h1 id="toc-hId-1903210875">&nbsp;</h1><h1 id="toc-hId--648946086">Overview</h1><p>NetApp is the <a title="https://www.netapp.com/cyber-resilience/" href="https://www.netapp.com/cyber-resilience/" target="_blank" rel="noopener noreferrer nofollow">most secure storage on the planet</a>.&nbsp; With that in mind, let's look at the available technology for encrypting NFS traffic over-the-wire with NetApp ONTAP.&nbsp; The options include using NFS with Kerberos, running NFS over IPsec connections, and a nascent approach using NFS over TLS.&nbsp; While the setup for NFS with Kerberos is well documented, examples of end-to-end configuration for IPsec and NFS over TLS with ONTAP are a bit harder to find, so we will cover those details in this article.</p><p>If you want a quick summary of these options, here are the key points:</p><ul><li>NFS with Kerberos provides the most security features, including an option for over-the-wire encryption, but comes with the most complexity and the biggest hit to performance.&nbsp;</li><li>NFS over IPsec is mature, fully supported, and comes in the middle concerning configuration complexity.&nbsp; NetApp already offers support for IPsec hardware offload cards (as of 9.16.1) in our new platforms to reduce the performance impact.</li><li>NFS over TLS is the newcomer.&nbsp; The configuration complexity is the lowest, but it is not quite ready for production as of early 2025.&nbsp; The performance hit with IPsec and NFS over TLS is similar, and both provide better performance than NFS with krb5p.</li></ul><p>If you are looking for details on how to configure over-the-wire encryption using these technologies with NetApp storage, read on!</p><h1 id="toc-hId-1093864249">&nbsp;</h1><h1 id="toc-hId--1458292712">NFS with Kerberos</h1><p>We will start with a quick discussion of using NFS with Kerberos.&nbsp; This option has been available for many years and is well documented in <a title="https://www.netapp.com/pdf.html?item=/media/19384-tr-4616.pdf" href="https://www.netapp.com/pdf.html?item=/media/19384-tr-4616.pdf" target="_blank" rel="noopener noreferrer nofollow">TR-4616: NFS Kerberos in ONTAP</a>.&nbsp; If you cannot trust who has root access on your NFS clients, then using NFS with Kerberos allows you to make sure that the users on your NFS client are who they say they are.&nbsp; NFS with Kerberos also provides for over-the-wire encryption, using the krb5p mount option.&nbsp; I won't go into the configuration steps for NFS with krb5p in this blog, since it is covered very well in TR-4616.&nbsp; While this is a great option for security, it also comes with the most complexity to configure and the largest performance hit of all the options for NFS over-the-wire encryption.&nbsp; In addition, there is no roadmap for improved performance of NFS with krb5p via hardware offload.</p><h1 id="toc-hId-284517623">&nbsp;</h1><h1 id="toc-hId-2027327958">NFS over IPsec</h1><p>Next up is running NFS over IPsec connections.&nbsp; ONTAP has supported IPsec for years, since the 9.8 release!&nbsp; In addition to pre-shared keys being supported since ONTAP 9.8, we have supported certificate authentication since 9.10.1.&nbsp; More recently, we support IPsec hardware offload using ONTAP 9.16.1 with our newer platforms.&nbsp; See the <a title="IPsec Evolution" href="https://docs.netapp.com/us-en/ontap/networking/ipsec-prepare.html#evolution-of-the-ontap-ipsec-implementation" target="_blank" rel="noopener noreferrer nofollow">Evolution of the ONTAP IPsec Implementation</a> for more details.</p><p>For the remainder of the IPsec section of this blog, I give some end-to-end examples of configuring IPsec with ONTAP and on the NFS client.&nbsp; There are multiple approaches to configuring IPsec, and many configuration options with the popular IPsec client software strongSwan.&nbsp; All traffic can be encrypted, or only certain ports.&nbsp; Policies can be configured between specific IP addresses, or between entire subnets.&nbsp; The approach I document in this article tries to keep the IPsec client configuration as generic as possible while allowing for simultaneous connections to multiple storage LIFs.</p><h2 id="toc-hId--721342508">&nbsp;</h2><h2 id="toc-hId-1021467827">ONTAP enforcement of IPsec</h2><p>When configuring NFS with Kerberos or using NFS over TLS, the NFS client can choose to mount an NFS export with the required options to enable these features or a standard mount can be performed with "sec=sys". This concept is different from IPsec in that once an IPsec security policy is defined and enabled for a LIF on the storage system, traffic is only allowed on that LIF via an IPsec connection.&nbsp;&nbsp;</p><h2 id="toc-hId--1530689134">&nbsp;</h2><h2 id="toc-hId-212121201">General IPsec storage information</h2><p>Below are some storage side commands that are useful to be aware of for any type of IPsec configuration:</p><pre><code># Enable ipsec on your cluster
security ipsec config modify -is-enabled true

# Check for active IPsec connections
security ipsec show-ikesa -node &lt;nodename&gt;

# Check for IPsec related errors
event log show -event ipsec.*
</code></pre><h2 id="toc-hId--1454759195">General IPsec client configuration</h2><p>To use IPSec with ONTAP we need IPsec client software that supports IKEv2.&nbsp; In the Linux world, two popular software packages that fill this requirement are strongSwan and Libreswan.&nbsp; For my examples, I will be using strongSwan.&nbsp; To install strongSwan, run the following commands on a Red Hat compatible Linux distribution:</p><pre><code>dnf install epel-release
dnf install strongswan
systemctl enable strongswan
systemctl start strongswan</code></pre><p>Here are some notes about strongSwan that will apply to all of the IPsec configurations we show in this article:</p><ul><li>The strongSwan client configuration file path is&nbsp;<span>/etc/strongswan/swanctl/swanctl.conf</span></li><li><span><span>Debugging logging on the IPsec client can be seen with "</span></span>grep charon /var/log/messages"</li></ul><h2 id="toc-hId-288051140">&nbsp;</h2><h2 id="toc-hId-2030861475">IPsec with pre-shared key authentication</h2><p>Configuration with a pre-shared key is straightforward.&nbsp; In the following example, we configure a storage system policy for each of two LIFs on the SVM and use a subnet definition for the IPsec clients:</p><pre><code>::&gt; security ipsec policy create -vserver svm1 -name lif1_psk -local-ip-subnets 192.168.0.201/32 -remote-ip-subnets 192.168.0.0/24
{Enter your passphrase - I used netapp123netapp123netapp123}
::&gt; security ipsec policy create -vserver svm1 -name lif2_psk -local-ip-subnets 192.168.0.202/32 -remote-ip-subnets 192.168.0.0/24
{Enter your passphrase - I used netapp123netapp123netapp123}
</code></pre><p>On the client, we use the following swanctl.conf configuration with a connection definition for each storage LIF and the pre-shared key:</p><pre><code>connections {
    svm1_lif1 {
        children {
            svm1_lif1 {
                esp_proposals = aes256gcm16
                mode = transport
                start_action = trap
                # Disabling replay_window required with ONTAP IPSec HW offload.
                replay_window = 0
                # Connection from local subnet to lif1.
                local_ts = 192.168.0.0/24
                remote_ts = 192.168.0.201/32
            }
        }
        # Connection from local subnet to lif2.
        local_addrs = 192.168.0.0/24
        remote_addrs = 192.168.0.201/32
        proposals = aes256-sha384-ecp384
        local {
            auth = psk
        }
        remote {
            auth = psk
        }
    }
    svm1_lif2 {
        children {
            svm1_lif2 {
                esp_proposals = aes256gcm16
                mode = transport
                start_action = trap
                # Disabling replay_window required with ONTAP IPSec HW offload.
                replay_window = 0
                # Connection from local subnet to lif2.
                local_ts = 192.168.0.0/24
                remote_ts = 192.168.0.202/32
            }
        }
        # Connection from local subnet to lif2.
        local_addrs = 192.168.0.0/24
        remote_addrs = 192.168.0.202/32
        proposals = aes256-sha384-ecp384
        local {
            auth = psk
        }
        remote {
            auth = psk
        }
    }
}
secrets {
    ike-svm1 {
        # This must match the pre-shared key entered for storage policy.
        secret = netapp123netapp123netapp123
        # The ike id must match the storage policy remote-ip-subnets.
        id = 192.168.0.0/24
    }
}</code></pre><p>Now run&nbsp;<span>"</span><span>swanctl --load-all" and then "</span><span>swanctl --list-conns" to make sure your connections are properly loaded.&nbsp; If all is well, you should be able to successfully ping the storage LIFs from the IPsec client,</span></p><h2 id="toc-hId--521295486">&nbsp;</h2><h2 id="toc-hId-1221514849">IPsec with certificate authentication</h2><p>Configuration with certificate authentication is a bit more involved due to the requirement for creating and configuring certificates both on the storage LIFs and the IPsec clients.&nbsp;&nbsp;If you are familiar with PKI, you can create and manage the certificates however you wish.&nbsp; In this example I use the certificate management tools built into ONTAP.&nbsp;&nbsp;Note that when copying a public key certificate or a private key, always include the&nbsp;"<span>-----BEGIN ..." and "</span><span>-----END ..." lines.&nbsp; First, we will create a certificate authority (CA), add that CA to the local ONTAP ipsec configuration, and copy the CA public key certificate to the IPsec client strongSwan configuration directory:</span></p><pre><code>security certificate create -vserver svm1 -type root-ca -common-name svm1 -cert-name svm1_ipsec_ca
security ipsec ca-certificate add -vserver svm1 -ca-certs svm1_ipsec_ca
security certificate show -vserver svm1 -cert-name svm1_ipsec_ca -instance
{Copy the public key certificate to a file on the IPsec client at /etc/strongswan/swanctl/x509ca/svm1_ipsec_ca.pem}</code></pre><p>Next, we will create the certificate to use for our storage LIF.&nbsp; Repeat the following steps for each storage LIF that is part of your IPsec policy, making sure to use the proper FQDN and IP address when generating the certificate signing request:</p><pre><code>security certificate generate-csr -common-name svm1_lif1.demo.netapp.com -algorithm RSA -hash-function SHA256 -ipaddr 192.168.0.201 -dns-name svm1_lif1.demo.netapp.com
{Save each certificate request and private key}
security certificate sign -vserver svm1 -ca svm1 -ca-serial 1821A2A76A371FFC -expire-days 360
{Enter each certificate to sign and get signed certificate}
security certificate install -type server -vserver svm1
{Enter each signed certificate and private key}</code></pre><p>We also need a certificate to use for the Linux IPsec client.&nbsp; We will again use the ONTAP certificate management functionality to create the certificate, and then place the public key certificate and private key in the correct location for strongSwan on the IPsec client:</p><pre><code>security certificate generate-csr -common-name linux1.demo.netapp.com -algorithm RSA -hash-function SHA256 -ipaddr 192.168.0.61
{Save certificate request and private key}
security certificate sign -vserver svm1 -ca svm1 -ca-serial 1821A2A76A371FFC -expire-days 360
{Enter certificate to sign and get signed certificate}
{copy the signed public key certificate to /etc/strongswan/swanctl/x509/linux1.demo.netapp.com.pem}
{copy the private key to /etc/strongswan/swanctl/private/linux1.demo.netapp.com.key}</code></pre><p>OK!&nbsp; With all the certificates in place, we once again configure a storage system policy for each of two LIFs on the SVM and use a subnet definition for the IPsec clients:</p><pre><code>security ipsec policy create -vserver svm1 -name lif1_pki -local-ip-subnets 192.168.0.201/32 -remote-ip-subnets 192.168.0.0/24 -auth-method PKI -cert-name svm1_lif1.demo.netapp.com -local-identity CN=svm1_lif1.demo.netapp.com -remote-identity ANYTHING
security ipsec policy create -vserver svm1 -name lif2_pki -local-ip-subnets 192.168.0.202/32 -remote-ip-subnets 192.168.0.0/24 -auth-method PKI -cert-name svm1_lif2.demo.netapp.com -local-identity CN=svm1_lif2.demo.netapp.com -remote-identity ANYTHING</code></pre><p>Finally, we have our swanctl.conf on the IPsec client:</p><pre><code>connections {
    svm1_lif1 {
        children {
            svm1_lif1 {
                esp_proposals = aes256gcm16
                mode = transport
                start_action = trap
                # Disabling replay_window required with ONTAP IPSec HW offload.
                replay_window = 0
                # Connection from local subnet to lif1.
                local_ts = 192.168.0.0/24
                remote_ts = 192.168.0.201/32
            }
        }
        # Connection from local subnet to lif1.
        local_addrs = 192.168.0.0/24
        remote_addrs = 192.168.0.201/32
        proposals = aes256-sha384-ecp384
        local {
          auth = pubkey
          id = "CN=linux1.demo.netapp.com"
          certs = linux1.demo.netapp.com.pem
        }
        remote {
          auth = pubkey
          id = "CN=svm1_lif1.demo.netapp.com"
        }
    }
    svm1_lif2 {
        children {
            svm1_lif2 {
                esp_proposals = aes256gcm16
                mode = transport
                start_action = trap
                # Disabling replay_window required with ONTAP IPSec HW offload.
                replay_window = 0
                # Connection from local subnet to lif2.
                local_ts = 192.168.0.0/24
                remote_ts = 192.168.0.202/32
            }
        }
        # Connection from local subnet to lif2.
        local_addrs = 192.168.0.0/24
        remote_addrs = 192.168.0.202/32
        proposals = aes256-sha384-ecp384
        local {
          auth = pubkey
          id = "CN=linux1.demo.netapp.com"
          certs = linux1.demo.netapp.com.pem
        }
        remote {
          auth = pubkey
          id = "CN=svm1_lif2.demo.netapp.com"
        }
    }
}
</code></pre><p>Now run&nbsp;<span>"</span><span>swanctl --load-all" and then "</span><span>swanctl --list-conns" to make sure your connections are properly loaded.&nbsp; If all is well, you should be able to successfully ping the storage LIFs from the IPsec client.</span></p><h2 id="toc-hId--1330642112">&nbsp;</h2><h2 id="toc-hId-412168223">IPsec configuration notes for IPv6</h2><p>I've also tested IPsec with IPv6, and ran into a couple of strongSwan configuration requirements to make this work.&nbsp; The first issue is that we need to bypass IPv6 NDP NS and NA traffic in the swanctl.conf as shown in this snippet of the configuration file:</p><pre><code>{Add this at the start of the connections block}
    # Bypass IPv6 NDP NS and NA traffic.
    # As per https://docs.strongswan.org/docs/5.9/config/IPv6Ndp.html
    ndp {
        children {
            ns {
                mode = pass
                start_action = trap
                local_ts = ::/0[ipv6-icmp/135]
                remote_ts = ::/0[ipv6-icmp/135]
            }
            na {
                mode = pass
                start_action = trap
                local_ts = ::/0[ipv6-icmp/136]
                remote_ts = ::/0[ipv6-icmp/136]
            }
        }
    }</code></pre><p>One more change that I found from my testing with IPv6 is that simple IP address endpoints (without subnet notation) must be given in the local_addrs and remote_addrs files of swanctl.conf, as shown in this snippet:</p><pre><code>        local_addrs = fd12:1234:5678:1::2
        remote_addrs = fd12:1234:5678:1::4</code></pre><p>Finally, note that ONTAP IPsec HW offload is not currently supported for IPv6.</p><h1 id="toc-hId--343037379">&nbsp;</h1><h1 id="toc-hId-1399772956">NFS over TLS</h1><p>Finally, we will showcase the use of NFS over TLS.&nbsp; The NFS over TLS feature was introduced in ONTAP 9.15.1 as a Tech Preview.&nbsp; This means that it is not yet ready for production, and full GA support for this feature in ONTAP will come in a future release.&nbsp; You should also be aware that this is a very new feature on the Linux NFS client side as well, as it first shows up in RHEL as a <a title="RHEL 9.4 Release Notes" href="https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/9.4_release_notes/technology-previews#technology-previews-file-systems-and-storage" target="_blank" rel="noopener nofollow noreferrer">Technology Preview in RHEL 9.4</a>.</p><h2 id="toc-hId-1345631932">NFS over TLS storage configuration</h2><p>Let's look at the configuration steps to get NFS over TLS running.&nbsp; NFS over TLS relies on certificates, and we will need to configure a unique certificate for each LIF in the SVM that will handle NFS over TLS traffic.&nbsp; If you are familiar with PKI, you can create and manage the certificates however you wish.&nbsp; In this example, I will simplify the setup by using the certificate management tools built into ONTAP.&nbsp; First, we will create a certificate authority (CA) in the SVM and display the public key certificate of the CA to be used later on our NFS client.&nbsp;&nbsp;Note that when copying a public key certificate or a private key, always include the&nbsp;"<span>-----BEGIN ..." and "</span><span>-----END ..." lines.</span></p><pre><code>security certificate create -vserver svm1 -type root-ca -common-name svm1_ca
security certificate show -vserver svm1 -common-name svm1_ca -type root-ca -instance</code></pre><p><span>Next, we will create a certificate for one of our SVM LIFs and configure the LIF to use this certificate for NFS over TLS:</span></p><pre><code>security certificate generate-csr -common-name svm1_lif1.demo.netapp.com -algorithm RSA -hash-function SHA256 -ipaddr 192.168.0.61 -dns-name svm1_lif1.demo.netapp.com,svm1_lif1,svm1
{Save certificate request and private key}
security certificate sign -ca svm1_ca -vserver svm1 -ca-serial 181F8F545154B6BA -expire-days 364
{Enter certificate to sign and get signed certificate}
security certificate install -vserver svm1 -type server -cert-name svm1_lif1.demo.netapp.com
{Enter signed certificate and private key}
nfs tls interface enable -vserver svm1 -lif svm1_lif1 -certificate-name svm1_lif1.demo.netapp.com</code></pre><p>The above commands will be required for each LIF on which you want to run NFS over TLS traffic.&nbsp; Also, a few notes are in order about the security certificate generate-csr command above:</p><ul><li>The -common-name argument must be the FQDN of the LIF IP address.</li><li>You must use the correct LIF IP address in the -ipaddr argument.</li><li>You should configure the -dns-name argument to include any hostnames that may be used in NFS mounts from the client.&nbsp; This includes configurations where you may use multi-homed DNS entries so that multiple LIF IP addresses are returned for a single hostname.</li></ul><h2 id="toc-hId-1032753638">&nbsp;</h2><h2 id="toc-hId--1519403323">NFS over TLS client configuration</h2><p>Now, on the Linux NFS client, we have to first install the ktls package.&nbsp; In my example, I'm using a Red Hat 9.4 compatible client:</p><pre><code>dnf install ktls-utils
systemctl enable tlshd
systemctl start tlshd</code></pre><p>Next, remember that CA public key certificate I told you to make a copy of from the output of the "security certificate show -vserver svm1 -common-name svm1_ca -type root-ca -instance" command?&nbsp; We need to place it on the Linux client and run a command as follows:</p><pre><code>vi /etc/pki/ca-trust/source/anchors/svm1_ca.pem
{Paste the CA public certificate that was used to sign LIF certificates on storage side}
update-ca-trust extract</code></pre><p>Now we should be able to mount an NFS export using TLS!&nbsp; Here is the syntax to mount with NFSv3 over TLS:</p><pre><code>mount -o nfsvers=3,xprtsec=tls svm1_lif1:/vol1 /vol1</code></pre><p>That's it!&nbsp; If you are using IPv6, the procedure for NFS over TLS works the same way - substitute IPv6 IP addresses as required when creating your certificates.&nbsp;</p><p>I hope you found all of these details useful!&nbsp; Hit me in the comments if you have any questions on these technologies or how the configuration works.</p></div>]]>
        </description>
    </item>
    <item>
        <title>Designed for devs: Introducing the Visual Studio Code extension for Amazon FSx for NetApp ONTAP</title>
        <link>https://community.netapp.com/community/discussion/464819/designed-for-devs-introducing-the-visual-studio-code-extension-for-amazon-fsx-for-netapp-ontap</link>
        <pubDate>Mon, 15 Dec 2025 17:19:21 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>Shmuel</dc:creator>
        <guid isPermaLink="false">464819@/community/discussions</guid>
        <description><![CDATA[<div><p><span>AI-assisted coding with GitHub Copilot has transformed how millions of developers write code. Yet, when provisioning the infrastructure their applications depend on, developers still face time-consuming manual workflows that break focus and slow delivery.</span></p><p><span>That&rsquo;s because, while infrastructure-as-code (IaC) automates many tasks, it still demands researching configurations, writing complex templates, and switching between tools. What if developers could instead ask for the infrastructure they need, and let an AI handle the rest?</span></p><p><span>There&rsquo;s a new way for </span><a href="https://aws.amazon.com/fsx/netapp-ontap/" target="_blank" rel="noopener nofollow noreferrer"><span>Amazon FSx for NetApp ONTAP (FSx for ONTAP)</span></a><span> users to do just that: </span><strong>The FSx for ONTAP Visual Studio Code (VS Code) extension</strong><span>. </span><a href="https://marketplace.visualstudio.com/items?itemName=NetApp.netapp-fsx-ontap" target="_blank" rel="noopener nofollow noreferrer"><span>Now available in the Visual Studio Marketplace</span></a><span>, this extension brings enterprise-grade storage provisioning directly into VS Code.&nbsp;</span></p><p><span>In this post, we introduce the FSx for ONTAP VS Code extension. We see how application developers, DevOps engineers, and platform engineers can use it to generate optimized infrastructure templates to deploy and manage FSx for ONTAP file systems and volumes&mdash;all with the help of an AI assistant that&rsquo;s built directly into the developer interface, where the code lives.</span></p><p><span>Here&rsquo;s what we cover:</span></p><ul><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Designed-for-devs-Introducing-the-Visual-Studio-Code-extension-for-Amazon-FSx/ba-p/464819#toc-hId--844649491">The efficiency gap between development and provisioning in cloud storage</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Designed-for-devs-Introducing-the-Visual-Studio-Code-extension-for-Amazon-FSx/ba-p/464819#toc-hId--1653996117">What is the FSx for ONTAP VS Code extension?</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Designed-for-devs-Introducing-the-Visual-Studio-Code-extension-for-Amazon-FSx/ba-p/464819#toc-hId-1831624553">Core capabilities of the FSx for ONTAP VS Code extension</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Designed-for-devs-Introducing-the-Visual-Studio-Code-extension-for-Amazon-FSx/ba-p/464819#toc-hId--720532408">Key benefits of the FSx for ONTAP VS Code extension</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Designed-for-devs-Introducing-the-Visual-Studio-Code-extension-for-Amazon-FSx/ba-p/464819#toc-hId--1529879034">Common operations using the FSx for ONTAP VS Code extension</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Designed-for-devs-Introducing-the-Visual-Studio-Code-extension-for-Amazon-FSx/ba-p/464819#toc-hId-16417796">Getting started</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Designed-for-devs-Introducing-the-Visual-Studio-Code-extension-for-Amazon-FSx/ba-p/464819#toc-hId-1044066842">Deploy or modify FSx for ONTAP infrastructure</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Designed-for-devs-Introducing-the-Visual-Studio-Code-extension-for-Amazon-FSx/ba-p/464819#toc-hId--1508090119">Launch ONTAP CLI or AWS CLI terminal sessions</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Designed-for-devs-Introducing-the-Visual-Studio-Code-extension-for-Amazon-FSx/ba-p/464819#toc-hId-234720216">Get AI-powered insights through @fsx-ontap</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Designed-for-devs-Introducing-the-Visual-Studio-Code-extension-for-Amazon-FSx/ba-p/464819#toc-hId-1222324949">Try out the FSx for ONTAP VS Code extension today</a></li></ul><h2 id="toc-hId-1707507470">&nbsp;</h2><h2 id="toc-hId--844649491"><span>The efficiency gap between development and provisioning in cloud storage</span></h2><p><span>Modern software development often spans multiple layers, from writing code to provisioning infrastructure and managing data. To manage these effectively, developers and DevOps engineers must frequently move across integrated development environments (IDEs), the AWS Console, and documentation. This fragmented workflow creates four key challenges:</span></p><ul><li aria-level="1"><strong>Constant context switching disrupts productivity:</strong><span> Moving between tools forces mental reloading, turning simple tasks into time-consuming exercises.</span></li></ul><ul><li aria-level="1"><strong>Manual processes introduce configuration risk:</strong><span> Handcrafting IaC templates and copying connection strings or credentials can lead to deployment errors that require hours of debugging.</span></li></ul><ul><li aria-level="1"><strong>Provisioning cycles stretch from hours to days: </strong><span>Manual configuration and coordination between tools and teams delay deployments and slow delivery velocity.</span></li></ul><ul><li aria-level="1"><strong>Teams lack visibility into costs and best practices: </strong><span>There are no embedded insights or recommendations for costs and optimizations in this process, so tracking spending and governance becomes another manual task.</span></li></ul><p><strong>The result:</strong><span> Developers lose momentum, platform engineers have more tickets to manage, and innovation slows before code even reaches production.</span></p><h2 id="toc-hId-898160844">&nbsp;</h2><h2 id="toc-hId--1653996117"><span>What is the FSx for ONTAP VS Code extension?</span></h2><p><a href="https://marketplace.visualstudio.com/items?itemName=NetApp.netapp-fsx-ontap" target="_blank" rel="noopener nofollow noreferrer"><span>The FSx for ONTAP VS Code extension</span></a><span> brings FSx for ONTAP operations directly into VS Code, connecting </span><a href="https://code.visualstudio.com/docs/copilot/overview" target="_blank" rel="noopener nofollow noreferrer"><span>GitHub Copilot</span></a><span> with your AWS environment through a unified, AI-assisted experience.</span></p><p><span>The extension provides full visibility and insights into your FSx for ONTAP infrastructure using a conversational AI interface directly in your developer environment. It integrates with the ONTAP&reg; CLI, FSx APIs, and </span><a href="https://aws.amazon.com/cloudwatch/" target="_blank" rel="noopener nofollow noreferrer"><span>Amazon CloudWatch</span></a><span> APIs.</span></p><p><span>At the heart of the extension is </span><strong>the</strong><strong> @fsx-ontap </strong><strong>chat participant</strong><span>. By simply typing</span><span> @fsx-ontap </span><span>in the GitHub Copilot Chat, you can use natural language prompts to ask context-based questions about your file systems, retrieve metrics, check backups, or request intelligent recommendations&mdash;all powered by real-time data from FSx for ONTAP and CloudWatch APIs.</span></p><p><span>Together, these capabilities support IaC automation, resource management, and AI-driven operations within a single, developer-first interface.</span></p><h2 id="toc-hId-88814218">&nbsp;</h2><h2 id="toc-hId-1831624553"><span>Core capabilities of the FSx for ONTAP VS Code extension&nbsp;</span></h2><p><span>The FSx for ONTAP VS Code extension simplifies how developers and platform engineers use and manage FSx for ONTAP, unlocking more automation, visibility, and control.</span></p><ul><li aria-level="1"><strong>Seamless onboarding and resource navigation: </strong><span>After installation, you can authenticate with existing AWS credentials or select an AWS profile configured through the AWS CLI. The extension automatically discovers all FSx for ONTAP resources&mdash;file systems, storage virtual machines (SVMs), and volumes&mdash;and presents them in a structured navigation panel for immediate visibility.</span></li></ul><ul><li aria-level="1"><strong>IaC generation and deployment: </strong><span>Generate </span><a href="https://aws.amazon.com/cloudformation/" target="_blank" rel="noopener nofollow noreferrer"><span>AWS CloudFormation</span></a><span> or Terraform templates from your prompts or selections. Parameters such as capacity, throughput, and deployment type are pre-populated according to AWS and NetApp&reg; best practices to streamline configurations. You can also review and customize templates for your specific requirements before deployment.</span></li></ul><ul><li aria-level="1"><strong>Direct CLI access for advanced customization: </strong><span>For hands-on control, you can open a terminal session directly from the extension to access the ONTAP CLI or AWS CLI. The extension supports connections through </span><a href="https://aws.amazon.com/ec2/" target="_blank" rel="noopener nofollow noreferrer"><span>Amazon Elastic Compute Cloud (Amazon EC2)</span></a><span> Instance Connect or standard SSH for more secure, in-context access to the underlying file system. With this capability, you can perform advanced configurations and troubleshooting without leaving VS Code.</span></li></ul><ul><li aria-level="1"><strong>AI-powered Q&amp;A with</strong><strong> @fsx-ontap</strong> <strong>:</strong> <span>The integrated</span><span> @fsx-ontap </span><span>chat participant brings conversational AI into the IDE. You can type questions such as:</span></li></ul><ul><li aria-level="2"><span>List all volumes in my development Region.</span></li><li aria-level="2"><span>Show Snapshot copies for fsx-prod.</span></li><li aria-level="2"><span>How much storage is available on fsx-west?</span></li></ul><p><span>The chat participant retrieves live data from FSx for ONTAP and Amazon CloudWatch APIs, providing actionable insights in real time. Include</span><span> /filesystem </span><span>in your question to access ONTAP commands for deeper insights beyond the AWS Console.</span></p><ul><li aria-level="1"><strong>Built-in best practices and smart recommendations: </strong><span>The extension surfaces guidance aligned with </span><a href="https://dev.to/thatcloudexpert/how-can-the-aws-well-architected-framework-improve-your-storage-layer-3cp7" target="_blank" rel="noopener nofollow noreferrer"><span>AWS Well-Architected Framework</span></a><span> principles and NetApp best practice recommendations for cost, performance, reliability, and security. It highlights configuration options, flags potential missteps, and suggests optimizations that you can apply before deployment.</span></li></ul><p><strong>Note:</strong><span> Always review and validate AI-generated templates, recommendations, and responses against your specific environment and requirements.</span></p><h2 id="toc-hId--720532408"><span>Key benefits of the FSx for ONTAP VS Code extension&nbsp;</span></h2><p><span>The capabilities of the FSx for ONTAP VS Code extension deliver value at every level, from individual developers accelerating daily workflows to organizations standardizing infrastructure operations at scale.</span></p><p><span>For developers and DevOps engineers managing FSx for ONTAP, the extension supports:</span></p><ul><li aria-level="1"><strong>Faster provisioning:</strong><span> Generate and deploy infrastructure directly from your IDE with AI-guided templates.</span></li></ul><ul><li aria-level="1"><strong>Unified workflow:</strong><span> Manage file systems, volumes, and configurations from a single workspace without switching between the AWS Console, command-line tools, and documentation.</span></li></ul><ul><li aria-level="1"><strong>Improved quality:</strong><span> Real-time visibility into system metrics and configurations combined with built-in guidance and instant access to troubleshooting commands through</span><span> @fsx-ontap</span><span> helps maintain best practices.</span></li></ul><p><span>These individual improvements compound at the organizational level, supporting:</span></p><ul><li aria-level="1"><strong>Cost optimization: </strong><span>AI-driven insights recommend optimal storage configurations, data tiering, and performance settings to help control spending and improve efficiency.</span></li></ul><ul><li aria-level="1"><strong>Standardization and repeatability: </strong><span>Consistent templates and embedded validation align every deployment with AWS and NetApp best practices for security, reliability, and governance.</span></li></ul><ul><li aria-level="1"><strong>Operational reliability: </strong><span>On-demand reporting through Amazon CloudWatch supports proactive health management and minimizes downtime.</span></li></ul><p><span>Whether you're provisioning a single volume or managing FSx for ONTAP across multiple teams and accounts, the extension brings speed, consistency, and intelligence to every interaction, making storage operations a seamless part of the development workflow.</span></p><h2 id="toc-hId-1022277927">&nbsp;</h2><h2 id="toc-hId--1529879034"><span>Common operations using the FSx for ONTAP VS Code extension</span></h2><p><span>Let&rsquo;s take a look at installation and some of the common operations that you can carry out using the FSx for ONTAP VS Code extension.</span></p><h3 id="toc-hId-16417796"><span>Getting started</span></h3><p><span>In the VS Code Marketplace, search for &ldquo;NetApp FSx ONTAP&rdquo; and then install the extension. Select the NetApp icon in the activity bar to begin.</span></p><p><span>The following screen shows the welcome page for the NetApp FSx for ONTAP VS Code extension.</span></p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/c0/c0d16bea6a2ebe3f2f34e3436694c755.png" role="button" title="image1.png" alt="image1.png" width="1591" /></span></p><p><span>From the welcome page, select</span><strong> Connect to AWS</strong><span> to choose your AWS credential profile (from those configured through</span><span> aws configure</span><span>) and select your preferred Region(s) using the globe icon.</span><span><br /><br /></span></p><div id="tinyMceEditorShmuel_1">&nbsp;</div><div><div id="lia-vid-6386516363112w960h540r793"><video-js data-video-id="6386516363112" data-account="6057994499001" data-player="default" data-embed="default" controls="" data-application-id=""></video-js></div>(function() {  var wrapper = document.getElementById('lia-vid-6386516363112w960h540r793');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();<a rel="nofollow" href="https://community.netapp.com/t5/video/gallerypage/video-id/6386516363112">(view in My Videos)</a></div><p><span>Once configured, the extension automatically displays a hierarchical view of the entire FSx for ONTAP environment in the sidebar.</span></p><p><span>You can now view and manage your FSx for ONTAP file systems directly from your IDE.&nbsp;</span></p><h3 id="toc-hId-1044066842"><span>Deploy or modify FSx for ONTAP infrastructure</span></h3><p><span>You can select from pre-built Terraform or CloudFormation templates that embed AWS and NetApp best practices. You can review, customize, and deploy directly from your IDE with full visibility into the process.</span></p><p><span>Here you can see the process of selecting the pre-built Terraform template to quickly deploy FSx for ONTAP infrastructure.</span><span><br /><br /></span></p><div id="tinyMceEditorShmuel_2">&nbsp;</div><div><div id="lia-vid-6386515972112w960h540r566"><video-js data-video-id="6386515972112" data-account="6057994499001" data-player="default" data-embed="default" controls="" data-application-id=""></video-js></div>(function() {  var wrapper = document.getElementById('lia-vid-6386515972112w960h540r566');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();<a rel="nofollow" href="https://community.netapp.com/t5/video/gallerypage/video-id/6386515972112">(view in My Videos)</a></div><p><span>&nbsp;</span></p><h3 id="toc-hId--1508090119"><span>Launch ONTAP CLI or AWS CLI terminal sessions</span></h3><p><span>You can open</span> <span>terminal sessions from the extension to access the ONTAP CLI or AWS CLI for advanced management operations.</span></p><p><span>The following screen shows the in-IDE terminal session connecting directly to your file system for advanced configuration. You can connect using SSH or through Amazon EC2 Instance Connect for more secure, in-context access to your file systems.</span><span><br /><br /></span></p><div id="tinyMceEditorShmuel_3">&nbsp;</div><div><div id="lia-vid-6386514894112w960h540r82"><video-js data-video-id="6386514894112" data-account="6057994499001" data-player="default" data-embed="default" controls="" data-application-id=""></video-js></div>(function() {  var wrapper = document.getElementById('lia-vid-6386514894112w960h540r82');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();<a rel="nofollow" href="https://community.netapp.com/t5/video/gallerypage/video-id/6386514894112">(view in My Videos)</a></div><h3 id="toc-hId-234720216"><span>Get AI-powered insights through</span> <span>@fsx-ontap</span></h3><p><span>You can access the</span><span> @fsx-ontap </span><span>chat participant in the Copilot Chat to get AI-based insights using natural language.</span></p><p><span>The following screen shows how</span><span> @fsx-ontap </span><span>provides real-time, contextual resource information. With the chat participant, you can use natural language to query resources, retrieve metrics, and perform operational tasks and get responses you can understand.</span></p><div id="tinyMceEditorShmuel_4">&nbsp;</div><div><div id="lia-vid-6386515769112w960h540r485"><video-js data-video-id="6386515769112" data-account="6057994499001" data-player="default" data-embed="default" controls="" data-application-id=""></video-js></div>(function() {  var wrapper = document.getElementById('lia-vid-6386515769112w960h540r485');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();<a rel="nofollow" href="https://community.netapp.com/t5/video/gallerypage/video-id/6386515769112">(view in My Videos)</a></div><p><span>For more advanced use cases, explore </span><a href="https://github.com/NetApp/fsx-ontap-vscode" target="_blank" rel="noopener nofollow noreferrer"><span>the source code and documentation in the fsx-ontap-vscode GitHub repository</span></a><span> to learn about extensibility, issue reporting, and contribution guidelines.</span></p><h2 id="toc-hId--520485386">&nbsp;</h2><h2 id="toc-hId-1222324949"><span>Try out the FSx for ONTAP VS Code extension today</span></h2><p><span>The FSx for ONTAP VS Code extension simplifies how developers and platform teams interact with storage on AWS. Combining automation, AI assistance, and best practices within VS Code turns complex infrastructure tasks into intuitive, conversational operations.</span></p><p><span>For teams managing FSx for ONTAP on AWS, this isn't just added convenience, it's a productivity enhancer that supports faster deployment while maintaining quality, security, and cost efficiency.</span></p><p><span>Ready to explore the difference?</span></p><ul><li aria-level="1"><span>Install from the </span><a href="https://marketplace.visualstudio.com/items?itemName=NetApp.netapp-fsx-ontap&amp;utm_source=chatgpt.com" target="_blank" rel="noopener nofollow noreferrer"><span>Visual Studio Code Marketplace</span></a><span>.</span></li><li aria-level="1"><span>Explore </span><a href="https://github.com/NetApp/fsx-ontap-vscode" target="_blank" rel="noopener nofollow noreferrer"><span>the open-source project on GitHub</span></a><span>.</span></li><li aria-level="1"><span>Learn more about </span><a href="https://aws.amazon.com/fsx/netapp-ontap/" target="_blank" rel="noopener nofollow noreferrer"><span>Amazon FSx for NetApp ONTAP</span></a><span>.</span></li></ul></div>]]>
        </description>
    </item>
    <item>
        <title>Introducing Autonomous Ransomware Protection Powered by AI in NetApp ONTAP 9.17.1</title>
        <link>https://community.netapp.com/community/discussion/464190/introducing-autonomous-ransomware-protection-powered-by-ai-in-netapp-ontap-9-17-1</link>
        <pubDate>Thu, 04 Dec 2025 16:34:50 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>MikeFoley2</dc:creator>
        <guid isPermaLink="false">464190@/community/discussions</guid>
        <description><![CDATA[<div><h3 id="toc-hId-1510987477">Understanding ARP/AI Functionality</h3><p>The ARP/AI operates by analyzing file characteristics without accessing actual file contents, ensuring data privacy while identifying suspicious encrypted files through probabilistic modeling<span>.</span></p><ol><li>It monitors saved data for signals such as data entropy, encrypted file content<span> and</span> headers to detect potential <span>ransomware</span> without opening files&nbsp;</li><li>Upon detection, ARP/AI can automate responses like <span>taking an immutable </span>snapshot, evidence creation, alert generation, and with additional services like <span>user blocking using </span> Ransomware Protection Services<span> in NetApp Console</span>.</li></ol><h3 id="toc-hId--1041169484">Data Safety and AI Model Design</h3><p>The AI model is purpose-built for ransomware detection, with no command line access or use for other tasks. It assigns probabilities to modified files indicating the likelihood of malicious encryption, ensuring no file content is used for training or decision-making.</p><h3 id="toc-hId-701640851">Evolution of ARP/AI</h3><p>Since its initial introduction in ONTAP 9.10.1 with basic detection capabilities, ARP/AI has undergone significant advancements. The introduction of learning modes&nbsp; in <span>ONTAP </span>9.10.1, <span>pretrained model</span> and automatic model&nbsp; updates introduced in <span>ONTAP </span>9.16.1, have continued to enhance its functionality.</p><h3 id="toc-hId--1850516110">Model Training Process</h3><p>ARP/AI models are trained in a lab sandbox using clean files <span>from open datasets, </span>exposed to known malware to generate corrupted files<span>.</span>. Along See Figure 1 for a visual explanation of the process.</p><p></p><p>Figure 1 &ndash; Generating the AI Model Package for ONTAP<br />To ensure data safety, ARP/AI creates snapshots every four hours and additional snapshots upon ransomware detection. These snapshots allow rollback to pre-infection states and are marked for deletion after specified durations, which are adjustable by users. See Figure 2 for an explanation of how this works.</p><p></p><p>Figure 2 &ndash; How ARP/AI uses Snapshots to protect data in ONTAP 9.17.1</p><h3 id="toc-hId--107705775">ARP/AI for SAN Environments</h3><p>Introduced in <span>ONTAP </span>9.17.1, ARP/AI for SAN detects ransomware at the volume level using data entropy. It reports volumes infected by ransomware without pinpointing specific files inside complex storage like VMDKs, enabling rollback of entire volumes.<span> This capability is </span><span>now </span><span>also available </span><span>in </span><span>NetApp&rsquo;s new ASA r2 storage systems.</span></p><p>In Figure 3 below, the image shows that NFS/CIFS volumes detects ransomware at the file level. In the example it shows regular files (.docx, .jpg, etc) and VMware VMDK virtual disk files. If there is ransomware within the virtual disk, ARP/AI would point you at the VMDK but is unable to &ldquo;see inside&rdquo; the VMDK to detect the ransomware infected file itself.</p><p>ARP/AI for SAN will show you which <strong>volume</strong> contains ransomware. In the example, there is a LUN on the SAN volume, and, in this example, it is formatted with VMware&rsquo;s VMFS file system.</p><p>On that file system are two virtual machines and their files. If ransomware got into one of the virtual machines, ARP/AI would detect that the whole VOLUME is suspect. This is because ARP/AI for SAN detects ransomware at the block level. ONTAP doesn&rsquo;t have visibility into both the VMFS file system and the VMDK&rsquo;s that reside in it.</p><p><em>Note that the VMFS file system is only being used as an example. ARP/AI for SAN is agnostic to the contents of the SAN volume because it is looking for ransomware at the volume/block level, not at the LUN or filesystem level. This means that the virtual machine could be running on a different hypervisor with a different filesystem.</em></p><p>In either case, File or SAN, you are notified that ransomware exists, and you can respond automatically via a snapshot and/or additional methods that may be unique for your environment.</p><p></p><p>Figure 3 &ndash; ARP/AI for Block vs NFS/CIFS</p><p>Beginning with ONTAP 9.17.1, ARP requires an evaluation period to determine if entropy levels for SAN volume workloads are suitable for ransomware protection. After ARP is enabled on a SAN volume, it monitors data continuously during an evaluation period to determine an optimal encryption threshold. ARP distinguishes between suitable and unsuitable workloads in the evaluated SAN volume and, if the workloads are determined to be suitable for protection, automatically sets an encryption threshold based on evaluation period statistics.</p><h3 id="toc-hId-1635104560">User Interface and Thresholds</h3><p>Enabling ARP/AI is straightforward via the The AI triggers on multiple signals, detecting abnormal entropy spikes and suspected ransomware, with thresholds that automatically adjust&nbsp;</p><p>This is best covered in the <a href="https://docs.netapp.com/us-en/ontap/anti-ransomware/respond-san-entropy-eval-period.html" target="_blank" rel="noopener noreferrer nofollow" data-airgap-id="148">documentation</a>.</p><h3 id="toc-hId--917052401">Wrap Up</h3><p>To wrap things up, ARP/AI for ONTAP 9.17.1 is a great improvement in your security posture. Now it&rsquo;s not just for file shares but for your SAN workloads as well! You are alerted immediately in ONTAP or via SYSLOG to your SIEM that ransomware has been found and a Ransomware discovery snapshot has been taken.</p><p>It&rsquo;s been my personal belief for many years that the more security we can push down into the infrastructure at the closest level possible to the data is the best security. ARP/AI for ONTAP is another great <span>feature</span> that brings that capability to your storage.</p><p>Oh, and did I mention that it&rsquo;s free? That&rsquo;s right, it&rsquo;s built in (not bolted on like some solutions!) and part of ONTAP. Give it a try, let us know what you think. It&rsquo;s easy to enable (or disable if you really must) and will give you piece of mind should the bad actors decide you are their next target.</p></div>]]>
        </description>
    </item>
    <item>
        <title>Infrastructure Health: Your Proactive Guardian for Peak Performance</title>
        <link>https://community.netapp.com/community/discussion/463739/infrastructure-health-your-proactive-guardian-for-peak-performance</link>
        <pubDate>Thu, 16 Oct 2025 20:20:57 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>cwopat</dc:creator>
        <guid isPermaLink="false">463739@/community/discussions</guid>
        <description><![CDATA[<div><p>Your infrastructure teams face mounting pressures daily, and managing modern data infrastructure has never been more complex, or more critical. NetApp customers understand the high stakes: maintaining resilient operations while facing mounting demands on data center storage, governance, and business continuity.</p><p>That&rsquo;s why we&rsquo;re thrilled to introduce Infrastructure Health, the powerful new addition to Data Infrastructure Insights, designed to give you a smarter, unified approach to risk visibility, governance, and proactive issue resolution so you can prevent problems before they impact your operations.</p><h2 id="toc-hId-1707476780">Real-Time Intelligence for Your Infrastructure</h2><p>Infrastructure Health delivers a real-time overview of your entire system's health, detects anomalies as they emerge, and provides actionable insights to ensure peak performance across your environment.</p><p>At its core, this feature consolidates key metrics and trends across storage and fabric <span>infrastructure</span> components, creating a unified view that eliminates blind spots. Built in monitors work continuously in the background, identifying patterns and potential issues before they escalate into service-impacting problems. It codifies enterprise policies across multi-vendor storage estates, turning scattered alerts into clear, prioritized scorecards to provide a true understanding of storage and fabric health at a glance.</p><h3 id="toc-hId--1041193686"><span>What&rsquo;s in it for you?</span></h3><p><strong>Comprehensive Health Dashboard</strong>: Infrastructure Health serves as your command center, presenting critical system metrics in an intuitive, easy-to-navigate interface. This centralized view eliminates the need to jump between multiple monitoring tools, saving time and reducing the risk of missing important indicators.</p><div id="tinyMceEditorcwopat_0">&nbsp;</div><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/16/16603ee70ac26049ee6ab31c15cadfee.png" role="button" title="IH1.png" alt="IH1.png" width="940" /></span></p><p><span><strong>ML-Powered Anomaly Detection</strong></span><span>: Advanced algorithms analyze historical patterns and current performance metrics to identify deviations that might indicate emerging issues. This proactive approach allows your team to address problems during maintenance windows rather than during critical business hours.</span></p><p><strong>Actionable Insights and Recommendations</strong>: The system doesn't just alert you to problems&mdash;it provides specific, actionable recommendations based on best practices and your environment's unique characteristics. These prescriptive insights help guide decision-making and reduce troubleshooting time.</p><div id="tinyMceEditorcwopat_1">&nbsp;</div><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/f1/f1a763438a6b4f0394ff4f19f348fa5b.png" role="button" title="IH2.png" alt="IH2.png" width="940" /></span></p><h2 id="toc-hId-898130154">Amplifying your monitoring impact</h2><p>Effective monitoring is key to driving meaningful change. Strong governance is an essential foundation to ensure your infrastructure remains compliant, audit-ready, and aligned with business priorities. With Infrastructure Health, you can gain deeper insights to deliver:</p><h4 id="toc-hId--2047053817"><span>Proactive Issue Resolution</span></h4><p>Gone are the days of firefighting infrastructure problems. Infrastructure Health enables early detection of performance degradations, allowing your team to resolve issues before they impact end users or critical services. This shift from reactive to proactive management significantly improves service reliability, delivers unified risk visibility, enables proactive issue resolution, and enhances business resilience by reducing unplanned downtime and associated revenue loss.</p><p>For existing Data Infrastructure Insights customers, this enhancement builds upon the existing monitoring capabilities, adding a layer of intelligence that makes your current investment even more valuable. New users will immediately benefit from this proactive approach, experiencing faster time-to-value as they implement Data Infrastructure Insights in their environments.</p><h4 id="toc-hId--304243482"><span>Improved Operational Efficiency</span></h4><p>Time is your most valuable resource, and Infrastructure Health helps you use it more effectively. By streamlining monitoring processes and providing clear, prioritized alerts, your team spends less time troubleshooting and more time on strategic initiatives that drive business value. Centralized monitoring minimizes alert fatigue and boosts IT team productivity by accelerating mean time to resolution (MTTR). Holistic infrastructure health insights support data-driven decisions to optimize resource allocation and lower operational costs.</p><p>The unified dashboard reduces context switching between tools, while intelligent filtering ensures you focus on the most critical issues first. This efficiency gain translates directly into cost savings and improved team productivity. Enhanced compliance and audit readiness are built in through comprehensive risk tracking to mitigate potential fines and reputational damage.</p><h4 id="toc-hId-1438566853"><span>Unified Visibility Across Your Environment</span></h4><p>One of the most significant advantages of Infrastructure Health is its ability to provide comprehensive visibility across multiple categories and vendor platforms. Whether you're managing NetApp storage systems alongside third-party solutions or operating in a purely NetApp environment, this unified view eliminates silos. The hierarchical views organize information by region and data center, supporting governance and executive visibility. Unified risk scores per location make it easy to drill down from high-level overviews to specific component details. This flexibility ensures that both executive stakeholders and technical teams get the information they need in the format that makes most sense for their role.</p><h4 id="toc-hId--1113590108"><span>Seamless Integration</span></h4><p>Infrastructure Health integrates seamlessly with your existing Data Infrastructure Insights deployment. For current customers, the feature activates through a simple configuration process that leverages your existing data sources and monitoring infrastructure. This approach minimizes implementation time and ensures continuity of service.</p><h4 id="toc-hId-629220227"><span>Scalable Design</span></h4><p><li-wrapper><i></i></li-wrapper></p><p>Built with enterprise scalability in mind, Infrastructure Health handles environments of any size, from single data centers to global, multi-region deployments. The system automatically adjusts its monitoring scope and analysis depth based on your environment's complexity and requirements. This proactive approach to infrastructure monitoring aligns with broader industry trends toward predictive maintenance and AI-driven operations.</p><h2 id="toc-hId--1529909724">Take the Next Step</h2><p>Whether you're an existing Data Infrastructure Insights customer looking to enhance your monitoring capabilities or a NetApp customer exploring comprehensive infrastructure monitoring solutions, Infrastructure Health offers immediate value and long-term strategic benefits.</p><p>Ready to transform your infrastructure monitoring approach? <a href="https://www.netapp.com/forms/dii-demo-request/" target="_blank" rel="noopener noreferrer nofollow"><span>Schedule a personalized demo</span></a> to see Infrastructure Health in action.</p></div>]]>
        </description>
    </item>
    <item>
        <title>NetApp Console: Your New Centralized, Simplified, Secure Management Solution</title>
        <link>https://community.netapp.com/community/discussion/463481/netapp-console-your-new-centralized-simplified-secure-management-solution</link>
        <pubDate>Tue, 14 Oct 2025 17:06:26 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>Cathi_Allen</dc:creator>
        <guid isPermaLink="false">463481@/community/discussions</guid>
        <description><![CDATA[<div><p>In today&rsquo;s fast-paced IT landscape, managing complex environments with growing storage footprints, multiple sites, and diverse workloads have become increasingly challenging. Organizations face fragmentation, inefficiency, higher operational risks, and slower response times due to the proliferation of management tools, each with its own login, workflow, and learning curve. Enter <a href="https://netapp.com/console" target="_blank" rel="noopener noreferrer nofollow">NetApp Console</a> &ndash; the game-changing solution designed to address these challenges head-on.</p><p><strong>One Console. Simplified Operations. Security First.</strong></p><p>NetApp&reg; Console is built on a restructured and enhanced foundation, encompassing platform investments, core services, enterprise readiness, security, administration and functionality. It is now the intuitive, intelligent, highly secure, and compliant single point of control for seamless management for your <a href="https://www.netapp.com/intelligent-data-infrastructure/" target="_blank" rel="noopener noreferrer nofollow">NetApp intelligent data infrastructure</a>. With its reimagined user interface and experience, managing your <a href="https://www.netapp.com/data-services" target="_blank" rel="noopener noreferrer nofollow">NetApp Data Services</a> and <a href="https://www.netapp.com/unified-storage/" target="_blank" rel="noopener noreferrer nofollow">NetApp storage</a> and has never been more intuitive, smarter, and insightful.</p><p><strong>Centralized Management Interface</strong></p><p>NetApp Console offers seamless management of storage and Data Services across your NetApp systems. With one secure login and one intuitive interface, it centralizes control, enabling administrators to deploy, discover, configure, monitor, and maintain systems, wherever your data lives. &nbsp;The integrated NetApp manageability tools, that you know and love, improve agility with centralized access and usage. You can orchestrate <a href="https://www.netapp.com/ontap-data-management-software/" target="_blank" rel="noopener noreferrer nofollow">NetApp ONTAP</a> protection and resilience by activating and managing Data Services.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/f8/f8f56239454840cc755b4f716b70778c.jpg" role="button" title="Console storage management.jpg" alt="NetApp Console storage management" width="1444" /><span>NetApp Console storage management</span></span></p><p>&nbsp;<strong>Intelligent, Simplified Operations</strong></p><p>Manual, repetitive processes waste time and increase the risk of mistakes. Console replaces them with intelligent, guided workflows that accelerate administration, simplifies those processes, and reduces errors and risks. &nbsp;From initial onboarding assistant that gets you operational quickly&mdash;covering account association, agent deployment, and marketplace connectivity&mdash;to ongoing management, Console is designed for speed and simplicity. The Console agent&rsquo;s simplified deployment makes it easy to secure connectivity between environments while providing centralized administration and monitoring. Easily manage your NetApp systems and enable Data Services with drag and drop functionality and wizard driven configurations.</p><p>The new home page delivers a consolidated view of insightful dashboards, quick access to recent activity, links to demos, videos, and important features and Data Services, and information on updates and resources. The dashboards provide real-time visibility into performance, alerts, protection, and resource utilization&mdash;identifying any issues or concerns so you can proactively address them before they impact business continuity. Intuitive automated workflows guide provisioning, monitoring, and optimization of your storage and Data Services, reducing manual effort, risk, and complexity. Built-in licenses and subscription administration gives you real-time visibility into usage patterns, helping you track costs, identify trends, optimize resource allocation, and manage billing.</p><p><span>&nbsp;</span></p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/7e/7e466a76845ce846b0689823eb1da8a6.jpg" role="button" title="Console dashboard full.jpg" alt="NetApp Console home page" width="448" /><span>NetApp Console home page</span></span></p><p><strong>Security-First Foundation</strong></p><p>Rising threats and compliance requirements demand stronger security. NetApp Console is zero-trust and compliance ready, and enforces identity verified access control, least-privilege permissions, credential protection, and incorporates an advanced multi-tenancy model. Multi-factor authentication and federated identity ensure that only verified users gain access, no exceptions. Console is purpose-built and certified to meet strict compliance and governance requirements&mdash;ready for HIPAA, SOC 2, Texas state and local mandates, and more.</p><p><a title="Empowering partners to collaborate seamlessly with enterprises through NetApp Console" rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Empowering-partners-to-collaborate-seamlessly-with-enterprises-through-NetApp/ba-p/463561" target="_blank" data-airgap-id="126">Fine-grained access controls and policy-driven boundaries allow external partners to provide real-time secure collaboration and support without compromising visibility, authority, or compliance</a>. Read-only modes give safe, non-destructive visibility for those who need to see but not change. Real-time monitoring and anomaly detection help identify unusual activity early, while comprehensive activity auditing strengthens governance and compliance readiness.</p><p><span>&nbsp;</span></p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/f7/f7d6cacea0e2bca1b53b825729c91213.jpg" role="button" title="Console iam.jpg" alt="NetApp Console identity and access" width="1444" /><span>NetApp Console identity and access</span></span></p><p><span>&nbsp;</span></p><p><strong>Why It Matters</strong></p><p>NetApp Console is built for the way you work today&mdash;and ready for how you&rsquo;ll scale tomorrow. Whether managing a single ONTAP cluster or dozens of systems across multiple sites, the NetApp Console provides you with centralized, intelligent, and secure management experience.</p><p><strong>Conclusion</strong></p><p>NetApp Console is more than just a control tool; it is a transformative management plane that centralizes, simplifies, and secures your IT operations. Embrace the future of IT management with NetApp Console.</p><p><strong><em>One Console. Simplified Operations. Security First.</em></strong></p><p><strong><em>Take command of your NetApp Data Services and storage with NetApp Console.</em></strong></p><p>Excited to learn more? Read the <a href="https://www.netapp.com/pdf.html?item=/media/142714-sb-4470-netapp-console-solution-brief.pdf" target="_blank" rel="noopener noreferrer nofollow">solution brief</a>.</p><p>Want to kick the tires? Take your own <a href="https://mydemo.netapp.com/s/-rBKDQ" target="_blank" rel="noopener noreferrer nofollow">Console demo journey with these guided demos</a>.</p><p>Ready to get started? <a href="https://console.netapp.com/" target="_blank" rel="noopener noreferrer nofollow">Login into NetApp Console</a>.</p></div>]]>
        </description>
    </item>
    <item>
        <title>Building Accelerated, Data-Grounded Apps with Spice.ai and NetApp</title>
        <link>https://community.netapp.com/community/discussion/463612/building-accelerated-data-grounded-apps-with-spice-ai-and-netapp</link>
        <pubDate>Mon, 13 Oct 2025 23:36:33 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>RachelZhu</dc:creator>
        <guid isPermaLink="false">463612@/community/discussions</guid>
        <description><![CDATA[<div><p>In today&rsquo;s data-driven world, organizations are shifting from siloed data stacks toward intelligent, composable data platforms that support real-time analytics and AI workloads. By leveraging <a href="https://spice.ai/" target="_blank" rel="noopener nofollow noreferrer">Spice.ai</a> data engines, NetApp ONTAP S3 Lakehouse, and Azure NetApp Filers by Instaclustr,&nbsp; we can connect various data sources like Dremio, PostgreSQL, and S3 data to build a modern, performant, and cost-efficient architecture for data applications.</p><p><strong><span style="font-family: comic sans ms,sans-serif;">Seeing is believing</span>,</strong>&nbsp; to watch a live demo and ask more questions, visit <strong>Will Stowe</strong> at NetApp Insight AI booth this week.</p><p><span>In this post, we&rsquo;ll walk through how Spice.ai connects and queries multiple NetApp data sources, combines data, integrates LLM&rsquo;s like GPT-4, and accelerates locally to present data and answers to end users in real-time.</span></p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/38/38e0013ad541bd301a8774ca9bb304d2.png" role="button" title="RachelZhu_0-1760396961183.png" alt="RachelZhu_0-1760396961183.png" width="1009" /></span></p><p><strong>Spice.ai &mdash;The ETL-less SQL Query Federation &amp; Acceleration Platform</strong></p><p><a href="https://spice.ai/" target="_blank" rel="noopener nofollow noreferrer">Spice.ai</a> <span>provides an intelligent data layer that combines </span><span>SQL query federation &amp; acceleration, hybrid search &amp; retrieval, and LLM inference in a high-performance, lightweight runtime</span><span>. It enables developers to query data across multiple sources with sub-second latency, cache frequently used data automatically, and integrate </span><a href="https://spiceai.org/blog/amazon-s3-vectors-with-spice" target="_blank" rel="noopener nofollow noreferrer"><span>vector search</span></a><span> and machine learning without complex pipelines.&nbsp;&nbsp;</span>With Spice.ai, you can:</p><ul><li><span>Connect to and query across multiple data sources (Postgres, S3, Dremio, etc.)</span></li><li><span>Accelerate queries locally </span><span>alongside the application - providing faster query times by eliminating network latency</span></li><li><span>Run vector, keyword, and full-text search in the same SQL query</span></li><li><span>Serve local or hosted LLM models&nbsp; </span></li></ul><p><strong>Dremio &mdash; The Query Acceleration Engine</strong></p><p><a href="https://www.dremio.com/" target="_blank" rel="noopener nofollow noreferrer">Dremio</a>&nbsp;acts as a data Lakehouse query platform, enabling self-service analytics without needing to move or copy data.&nbsp;</p><p><span>It connects seamlessly to object storage and databases, providing:</span></p><ul><li><span>High-performance SQL queries on data lakes</span></li><li><span>Semantic layers for business-friendly data models</span></li><li><span>Native Apache Iceberg support for modern table formats</span></li></ul><p><span>Using Dremio, you can expose NetApp S3 data as tables and join them with structured data in Postgres - without ETL</span></p><p><strong>&nbsp;</strong></p><p><strong>PostgreSQL &mdash; The Structured Backbone</strong></p><p><a href="https://www.postgresql.org/" target="_blank" rel="noopener nofollow noreferrer">PostgreSQL</a>&nbsp;remains the go-to relational database for structured transactional data. Whether you&rsquo;re storing user profiles, product catalogs, or reference tables, Postgres provides robust SQL capabilities and easy integration with both Dremio and Spice.ai.</p><p><span style="font-size: x-large;"><strong>Quick easy beyond believe</strong></span></p><p>Getting started with Spice.ai is incredibly straightforward. Here&rsquo;s how you can set up and begin querying your data in just a few steps:</p><p>1. Get started with Spice.ai in just 30 seconds: Visit <a href="https://spiceai.org/docs/getting-started" target="_blank" rel="noopener nofollow noreferrer">Spice.ai Documentation</a> to get started quickly. &nbsp;</p><p>2. Configure with a powerful and easy yaml file: Below is an example.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/7e/7ec26295945107820da32cfa1f06557a.png" role="button" title="RachelZhu_1-1760396961187.png" alt="RachelZhu_1-1760396961187.png" width="596" /></span></p><p>3. Run your spice.ai setup using the command: spice run</p><p>4. Check SQL connection: spice sql; show tables</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/4a/4a2f306e4407a1d3c5f1238859025e59.png" role="button" title="RachelZhu_2-1760396961192.png" alt="RachelZhu_2-1760396961192.png" width="1960" /></span></p><p>5. Use gtp-4o with spice chat to get your question answered with data and summaries: spice chat</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/0d/0d3d8667009185bc4d30f87effbb8f37.png" role="button" title="RachelZhu_3-1760396961211.png" alt="RachelZhu_3-1760396961211.png" width="2288" /></span></p><p>By combining the power of Spice.ai, Dremio, PostgreSQL, and NetApp ONTAP S3 Lakehouse, you can build a modern data platform that supports real-time analytics and AI workloads. This architecture is not only performant and scalable but also cost-efficient, making it ideal for today's data-centric applications.</p><p>Get started today and transform your data infrastructure into a powerful, intelligent platform that drives business insights and innovation.</p></div>]]>
        </description>
    </item>
    <item>
        <title>Optimize Hyper-V Performance and Capacity Management with NetApp Data Infrastructure Insights</title>
        <link>https://community.netapp.com/community/discussion/462971/optimize-hyper-v-performance-and-capacity-management-with-netapp-data-infrastructure-insights</link>
        <pubDate>Tue, 02 Sep 2025 13:00:00 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>conhan</dc:creator>
        <guid isPermaLink="false">462971@/community/discussions</guid>
        <description><![CDATA[<div><p><span data-contrast="none">If you&rsquo;re running Microsoft Hyper-V, you&rsquo;ve probably felt the pain of juggling many siloed tools, chasing down performance issues, and never quite having the full picture of how your VMs, hosts, and storage all fit together. It&rsquo;s all too easy to get stuck context-switching between Hyper-V Manager, Perfmon, and your storage array&rsquo;s UI or CLI, just trying to figure out where the real problem is. That leads to slow troubleshooting, finger-pointing, and sometimes overprovisioning &ldquo;just in case.&rdquo;</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-contrast="none">This is where NetApp Data Infrastructure Insights (DII) really changes the game. DII gives you true end-to-end visibility, proactive alerting, and AI-powered troubleshooting across your entire Hyper-V environment, from the VM, through the host, all the way to your NetApp storage.</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-contrast="none">Let&rsquo;s take a look at how DII helps Hyper-V and storage teams break down silos, solve problems faster, and make the most of your resources.</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></p><h2 id="toc-hId-1707449027"><strong>End-to-End Hyper-V Observability&nbsp;</strong></h2><p><span data-contrast="none">You can&rsquo;t fix what you can&rsquo;t see. DII consolidates and normalizes metrics from your Hyper-V hosts, VMs, datastores, and your NetApp storage backend (ONTAP, ASA, AFF, or FAS), giving you a clear, unified view of your entire service path. If you&rsquo;re running fibre channel, DII even maps out your FC fabric, configuration, performance, and with alerts included.</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-contrast="none">All this data comes together in a single topology model, so you can actually see how a VM&rsquo;s performance flows through the host (and fabric) to the storage LUN or volume.</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><h3 id="toc-hId--1041221439">&nbsp;</h3><h3 id="toc-hId-701588896"><span data-contrast="none">With DII you get:</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></h3><ul><li aria-setsize="-1" data-leveltext="&#61623;" data-font="Symbol" data-listid="5" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="1" data-aria-level="1"><span data-contrast="none">Unified topology maps that show VMs, Hyper-V hosts, datastores (on NAS or iSCSI/FC), and NetApp volume details, all in one place, thanks to the new </span><a href="https://media.netapp.com/video-detail/0e62b784-8456-5ef7-8879-f0352135a0f1/simplified-troubleshooting-with-vm-analyzer" target="_blank" rel="noopener noreferrer nofollow"><span>VM</span></a><span data-contrast="none"> and </span><a href="https://media.netapp.com/video-detail/f440ecdb-42cf-5856-b5e7-c47da8c3f72e/enhanced-it-operations-for-block-workloads" target="_blank" rel="noopener noreferrer nofollow"><span>SAN Analyzer</span></a><span data-contrast="none"> features.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:996,&quot;335559738&quot;:48,&quot;335559739&quot;:48,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><ul><li aria-setsize="-1" data-leveltext="&#61623;" data-font="Symbol" data-listid="5" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="2" data-aria-level="1"><span data-contrast="none">At-a-glance performance and capacity trends for every VM, host, and volume (IOPS, throughput, latency, capacity, and more).</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:996,&quot;335559738&quot;:48,&quot;335559739&quot;:48,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><ul><li aria-setsize="-1" data-leveltext="&#61623;" data-font="Symbol" data-listid="5" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="3" data-aria-level="1"><span data-contrast="none">The ability to explore VM and host counters (CPU, capacity, disk and IP throughput, etc.) right alongside storage metrics, in a visual, intuitive way you just can&rsquo;t get from native tools.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:996,&quot;335559738&quot;:48,&quot;335559739&quot;:48,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><h3 id="toc-hId--1850568065">&nbsp;</h3><h3 id="toc-hId--107757730"><strong><span data-contrast="none">Why does this matter?</span></strong><span>&nbsp;<br /></span></h3><p><span data-contrast="none">When you can visually trace an application&rsquo;s performance from the VM guest all the way back to the storage volume in a single view, you cut out the guesswork. Troubleshooting gets faster, and both Hyper-V and storage teams are finally working from the same playbook.</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><h3 id="toc-hId-1635052605">&nbsp;</h3><h3 id="toc-hId--917104356"><strong><span data-contrast="none">Scenario: Pinpointing a Latency Spike in Minutes</span></strong><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></h3><ol><li aria-setsize="-1" data-leveltext="%1." data-font="" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="1" data-aria-level="1"><span data-contrast="none">A Hyper-V admin receives an alert that a workload on a VM&#8239;is running slowly.&nbsp;</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></li><li aria-setsize="-1" data-leveltext="%1." data-font="" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="1" data-aria-level="1"><i><span data-contrast="none">Instead of reacting </span></i><span data-contrast="none">by scrambling between Windows Performance Monitor, Hyper-V Manager, and array GUIs, they </span><i><span data-contrast="none">proactively </span></i><span data-contrast="none">open the DII alert for the VM&rsquo;s high disk latency.&nbsp;</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></li><li aria-setsize="-1" data-leveltext="%1." data-font="" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="1" data-aria-level="1"><span data-contrast="none">The timeline view of the alert shows the latency spike (55 ms).&nbsp;</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></li></ol><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/8b/8b901c68d11ac10dbc6d74146717b298.png" role="button" title="conhan_0-1756483715972.png" alt="conhan_0-1756483715972.png" width="891" /></span></p><p><span data-contrast="none">4. Through use of the VM Analyzer the admin reviews the service path showing end to end, from VM to volume for this VM.&nbsp;</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/ca/cab0283fd4ca268613167c722ea58985.png" role="button" title="conhan_1-1756483715972.png" alt="conhan_1-1756483715972.png" width="877" /></span></p><p><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:720,&quot;335559740&quot;:240}">5. </span><span data-contrast="none">And by focusing on the Host for the VM, the topology map highlights that the VM&#8239;shares its HyperV host with 30 other VMs and 3 other datastores.</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/e5/e5737ec1eca569bcdf0e9d4fd072cbe5.png" role="button" title="conhan_2-1756483715973.png" alt="conhan_2-1756483715973.png" width="849" /></span></p><p><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:996,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;6.&nbsp;</span><span data-contrast="none">The admin drills into the HyperV host CPU utilization and confirms the jump above 95% at the same time indicating CPU saturation from the multiple VMs.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559738&quot;:48,&quot;335559739&quot;:48,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/2d/2ddaf47228f744b49ce20c1979b3a689.png" role="button" title="conhan_3-1756483715973.png" alt="conhan_3-1756483715973.png" width="1008" /></span></p><p><span data-contrast="none">Within minutes, the admin identified that a high host CPU load, and not the storage array, is causing the slowdown. They coordinate with the virtualization team who confirms 30 high CPU workloads had been inadvertently launched at that time and agree to reschedule or throttle the workloads, and watch DII confirm that the VM latency returns to normal and the alert resolves.</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559731&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></p><h2 id="toc-hId-1022219484">&nbsp;</h2><h2 id="toc-hId--1529937477"><strong><span data-contrast="none">Proactive Monitoring and Change Analysis</span></strong><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></h2><p><span data-contrast="none">Let&rsquo;s face it, being reactive is exhausting and usually means you&rsquo;re one step behind. With DII, you can set up Monitors for your Hyper-V hosts and VMs, define thresholds for any metric that matters (CPU, memory, storage latency, you name it), and get alerted the moment something&rsquo;s off.</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-contrast="none">But it doesn&rsquo;t stop there. DII&rsquo;s Anomaly Detection and Change Analysis features let you see exactly what changed, whether it was an OS update, a policy tweak, or a storage config change, that triggered the alert.</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><h3 id="toc-hId-16359353">&nbsp;</h3><h3 id="toc-hId-1044008399"><span data-contrast="none">Here&rsquo;s what&rsquo;s in it for Hyper-V teams:</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></h3><ul><li aria-setsize="-1" data-leveltext="&#61623;" data-font="Symbol" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="1" data-aria-level="1"><span data-contrast="none">AI-driven anomaly detection flags inconsistencies before users even notice.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:996,&quot;335559738&quot;:48,&quot;335559739&quot;:48,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><ul><li aria-setsize="-1" data-leveltext="&#61623;" data-font="Symbol" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="2" data-aria-level="1"><span data-contrast="none">Automated change correlation ties metric shifts to real-world changes, which means no more hunting for what happened.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:996,&quot;335559738&quot;:48,&quot;335559739&quot;:48,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><ul><li aria-setsize="-1" data-leveltext="&#61623;" data-font="Symbol" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="3" data-aria-level="1"><span data-contrast="none">Prebuilt Monitor templates for all the critical counters (host CPU, memory, disk IOPS/latency, IP throughput) let you hit the ground running.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:996,&quot;335559738&quot;:48,&quot;335559739&quot;:48,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><h3 id="toc-hId--1508148562">&nbsp;</h3><h3 id="toc-hId-234661773"><strong><span data-contrast="none">Why does this matter?</span></strong></h3><p><span data-contrast="none">It means no more bouncing between tools, no more endless log-diving, and way less time spent figuring out who needs to fix what. You get the context you need, right when you need it, and both virtualization and storage admins can actually work together to solve problems before they become tickets.</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><h2 id="toc-hId--520543829"><strong><span data-contrast="none">Combined Benefits for Virtualization and Storage Teams</span></strong><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></h2><p><span data-contrast="none">When Hyper-V admins and NetApp storage managers are on the same page with DII, everybody wins. Here&rsquo;s what that looks like:</span><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><ul><li aria-setsize="-1" data-leveltext="&#61623;" data-font="Symbol" data-listid="7" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="1" data-aria-level="1"><strong><span data-contrast="none">Faster MTTR:</span></strong><span data-contrast="none">&#8239;AI-powered alerts, unified topology, and change analysis mean you&rsquo;re solving problems in minutes, not days.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:996,&quot;335559738&quot;:48,&quot;335559739&quot;:48,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><ul><li aria-setsize="-1" data-leveltext="&#61623;" data-font="Symbol" data-listid="7" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="2" data-aria-level="1"><strong><span data-contrast="none">Smarter capacity planning:</span></strong><span data-contrast="none">&#8239;Trending and forecasting tools help you right-size hosts and volumes before things get tight.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:996,&quot;335559738&quot;:48,&quot;335559739&quot;:48,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><ul><li aria-setsize="-1" data-leveltext="&#61623;" data-font="Symbol" data-listid="7" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="3" data-aria-level="1"><strong><span data-contrast="none">Better teamwork:</span></strong><span data-contrast="none">&#8239;Shared dashboards and clear analysis take the blame game out of troubleshooting and speed up decisions.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:996,&quot;335559738&quot;:48,&quot;335559739&quot;:48,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><ul><li aria-setsize="-1" data-leveltext="&#61623;" data-font="Symbol" data-listid="7" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" data-aria-posinset="4" data-aria-level="1"><strong><span data-contrast="none">Real business value:</span></strong><span data-contrast="none">&#8239;Proactive monitoring keeps users happy, maintains your SLAs, and helps you avoid costly overprovisioning.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:996,&quot;335559738&quot;:48,&quot;335559739&quot;:48,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><p><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559740&quot;:240}">&nbsp;</span></p><h2 id="toc-hId-1222266506"><strong><span data-contrast="none">Curious to see DII in action for your Hyper-V environment?</span></strong><span>&nbsp;</span></h2><h2 id="toc-hId--1329890455">&nbsp;</h2><p><span data-contrast="none">Check out the </span><a href="https://www.netapp.com/data-infrastructure-insights/" target="_blank" rel="noopener noreferrer nofollow"><span>NetApp Data Infrastructure Insights product page</span></a><span data-contrast="none"> and </span><a href="https://www.netapp.com/forms/dii-demo-request/" target="_blank" rel="noopener noreferrer nofollow"><span>request a personalized demo</span></a>&nbsp;<span data-contrast="none">to see how DII can help you turn complex Hyper-V and storage operations into something a whole lot simpler and more efficient.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559738&quot;:120,&quot;335559739&quot;:120,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-ccp-props="{}">&nbsp;</span></p></div>]]>
        </description>
    </item>
    <item>
        <title>[ B2B ] - What Happens When a NFS Share is Mounted</title>
        <link>https://community.netapp.com/community/discussion/462010/b2b-what-happens-when-a-nfs-share-is-mounted</link>
        <pubDate>Mon, 21 Jul 2025 15:39:13 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>RodrigoNascimento</dc:creator>
        <guid isPermaLink="false">462010@/community/discussions</guid>
        <description><![CDATA[<div><p>I'm excited to kick off a new blog series called Back to Basics (B2B). The goal is to revisit fundamental concepts that often slip through the cracks because the world is going too fast, life happens, and you have to keep all the plates spinning without breaking any of them.&nbsp;</p><p>Mounting an NFS share might seem like a straightforward task - but have you ever wondered what really happens behind the scenes when you do it on a Linux client? To answer this question, we'll take a closer look at the NFS protocol and use some powerful tools to peek under the hood from the client's perspective. Let's dive in!</p><h2 id="toc-hId-1707440191">Network File System (NFS)</h2><div><div><span>Let's take a quick look at the history of NFS. If you'd rather skip the details, here is the key takeaway:</span></div><ul><li><span>NFS is a mature, battle-tested protocol with decades of engineering behind it. It's an industry-standard solution for file sharing, well-suited for modern workloads like AI/ML pipelines, and needless to say it's fully embraced by NetApp. That means you get top-tier performance from your NetApp storage without needing to install any proprietary agents, modules, or "magic" components on your systems.</span></li></ul><br /><div><span>In 1984, Sun Microsystems developed a solution to enable file access over a network as if the files were local. This solution, known as the Network File System (NFS), was initially used internally at Sun.</span></div><br /><div><span>In 1989, NFS was publicly available for the first time with the release of NFSv2 under RFC 1094. This version introduced a stateless protocol using UDP, it supported 32-bit file sizes and offsets (limiting files to 4GB) [</span><span>1</span><span>], and it gained widespread adoption due its simplicity and portability.</span></div><br /><div><span>By 1995, NFSv3 was introduced via RFC 1813, bringing significant enhancements such as the support for 64-bit file sizes and offsets, TCP as an optional transport protocol, and asynchronous writes for improved performance [</span><span>2</span><span>].</span></div><br /><div><span>Then, a major redesign followed with NFSv4.0, published in 2003 under RFC 3530. This version transitioned NFS to a stateful protocol, incorporating built-in support for security mechanisms like Kerberos and Access Control Lists (ACLs), the integration of file locking and mounting into the protocol, and compound operations to reduce network round-trips [</span><span>3</span><span>].</span></div><br /><div><span><span>In 2010, NFSv4.1 was released under RFC 5661, introducing parallel NFS (pNFS) for scalable and parallel access to storage, a session model for enhanced recovery and performance&nbsp;</span></span><span>(client ID trunking and session trunking)</span><span>, and it improved delegation and layout handling [</span><span>4</span><span>].<br /></span></div><br /><div><span>Then, in 2016, NFSv4.2 was published under RFC 7862, adding several modern features such as server-side copy to offload file copy operations to the server, the support for sparse file for efficient storage of files with holes, the application I/O hints to optimize server-side caching, among other features to improve security, and space management [</span><span>5</span><span>].</span></div><div><span>Now that we've covered the history, let's dive into what happens when you mount an NFS share on a Linux client. For this walkthrough, I'll be using NFSv4.1, as features like pNFS and session trunking are essential for delivering the performance and scalability required by modern AI/ML workloads.</span></div><h2 id="toc-hId--844716770"><span>Looking Under the Hood</span></h2><div><div><span>To understand the interaction between the NFS client and NFS server during a mount operation, the first step is to enable kernel tracing for the&nbsp;&nbsp;</span><span style="font-family: courier new,courier;"><span>sunrpc</span></span><span>,&nbsp;</span><span style="font-family: courier new,courier;"><span>nfs</span></span><span>, and </span><span><span style="font-family: courier new,courier;">nfsv4</span>&nbsp;</span><span>modules. Before enabling tracing, ensure that these modules are loaded into the kernel. You can do this using the&nbsp;</span><span><span style="font-family: courier new,courier;">modprobe</span>&nbsp;</span><span>command:</span></div><div><pre><code>sudo modprobe sunrpc
sudo modprobe nfs
sudo modprobe nfsv4
sudo modprobe nfs_layout_nfsv41_files</code></pre><div><div><span>Once the modules are loaded, enable tracing by writing 1 to the </span><span><span style="font-family: courier new,courier;">enabled</span>&nbsp;</span><span>file for each event in the kernel tracing subsystem:</span></div></div><pre><code>echo 1 | sudo tee /sys/kernel/tracing/events/sunrpc/enabled
echo 1 | sudo tee /sys/kernel/tracing/events/nfs/enabled
echo 1 | sudo tee /sys/kernel/tracing/events/nfs4/enabled</code></pre><div><div><span>Next, I opened 2 (two) terminal windows. In the first window, I ran a command to continuously read tracing information from the kernel's tracing subsystem:</span></div></div><pre><code>cat /sys/kernel/tracing/trace_pipe</code></pre><p>&nbsp;<span>This streams live trace events as they occur, allowing us to observe the interaction between the NFS client and server in real-time.</span></p><div><div><span>In the second window, I ran the following mount command:</span></div><div><pre><code>sudo mount -t nfs4 -o vers=4.1,rsize=65536,wsize=65536,proto=tcp 10.26.128.221:/vol_cp_5node /cp</code></pre></div></div><p>&nbsp;<span>The original tracing output was 899 lines long. To keep things consice and focused, I filtered the data to include only the relevant events needed to understand the communication flow between the NFS client and server, from the client's perspective.</span></p><div><div><span>The trace begins with the mount command parsing the mount options:</span></div><div><pre><code>           &lt;...&gt;-3331    [012] .....   949.293271: nfs_mount_option: option source
           &lt;...&gt;-3331    [012] .....   949.293276: nfs_mount_option: option vers
           &lt;...&gt;-3331    [012] .....   949.293277: nfs_mount_assign: option vers=4.1
           &lt;...&gt;-3331    [012] .....   949.293278: nfs_mount_option: option rsize
           &lt;...&gt;-3331    [012] .....   949.293279: nfs_mount_option: option wsize
           &lt;...&gt;-3331    [012] .....   949.293280: nfs_mount_option: option proto
           &lt;...&gt;-3331    [012] .....   949.293280: nfs_mount_assign: option proto=tcp
           &lt;...&gt;-3331    [012] .....   949.293282: nfs_mount_option: option addr
           &lt;...&gt;-3331    [012] .....   949.293282: nfs_mount_assign: option addr=10.26.128.221
       mount.nfs-3331    [012] .....   949.293283: nfs_mount_option: option clientaddr
       mount.nfs-3331    [012] .....   949.293283: nfs_mount_assign: option clientaddr=10.26.56.192
       mount.nfs-3331    [012] .....   949.293286: nfs_mount_path: path='/vol_cp_5node'
</code></pre><div><div><span>Next, it prepares the RPC transport where the xprt_create and rpc_clnt_new initialize the RPC client to communicate with the NFS server at port 2049:</span></div><div><pre><code>       mount.nfs-3331    [012] .....   949.293390: xprt_create: peer=[10.26.128.221]:2049 state=BOUND
       mount.nfs-3331    [012] .....   949.293405: rpc_clnt_new: client=00000000 peer=[10.26.128.221]:2049 program=nfs server=10.26.128.221 xprtsec=none flags=DISCRTRY|INFINITE_SLOTS|NO_RETRANS_TIMEOUT
       mount.nfs-3331    [012] .....   949.293407: rpc_task_begin: task:00000001@00000000 flags=NULLCREDS|DYNAMIC|SOFT|SOFTCONN|CRED_NOREF runstate=ACTIVE status=0 action=0x0
       mount.nfs-3331    [012] .....   949.294496: rpc_connect_status: task:00000001@00000000 status=-11
</code></pre><div><div><span>With the communication established between client and server, now the system needs to establish a NFS session. It starts by giving a unique identity for the NFS client on the server. The client sends an EXCHANGE_ID RPC to the server:</span></div><div><pre><code>       mount.nfs-3331    [012] .....   949.295698: rpc_request: task:00000002@00000000 nfsv4 EXCHANGE_ID (sync)</code></pre><div><div><span>... and the server responds with a client ID (xid=0x734ec2e0):</span></div><div><pre><code>       mount.nfs-3331    [012] .....   949.296538: rpc_stats_latency: task:00000002@00000000 xid=0x734ec2e0 nfsv4 EXCHANGE_ID backlog=11 rtt=719 execute=841
       mount.nfs-3331    [012] .....   949.296541: nfs4_exchange_id: error=0 (OK) dstaddr=10.26.128.221
</code></pre></div></div><div><div><span>Next, it's time to create the session. The client uses the client ID from EXCHANGE_ID to request a session:</span></div><div><pre><code>   10.26.128.221-m-3333    [001] .....   949.297657: rpc_request: task:00000004@00000000 nfsv4 CREATE_SESSION (sync)
   10.26.128.221-m-3333    [001] .....   949.298389: rpc_stats_latency: task:00000004@00000000 xid=0x754ec2e0 nfsv4 CREATE_SESSION backlog=10 rtt=583 execute=731
</code></pre></div></div><div><div><span>Then, the server responds with session parameters like session id (0x87e0d01f), number of slots, sequence ID and callback information. This session now will be used for all subsequent NFS operations:</span></div><div><pre><code>   10.26.128.221-m-3333    [001] .....   949.298393: nfs4_create_session: error=0 (OK) dstaddr=10.26.128.221
   10.26.128.221-m-3333    [001] .....   949.299115: nfs4_sequence_done: error=0 (OK) session=0x87e0d01f slot_nr=0 seq_nr=1 highest_slotid=63 target_highest_slotid=63 status_flags=0x0 ()</code></pre></div></div><div><div><span>Then, the client sends a LOOKUP_ROOT, and SECINFO_NO_NAME request to the server. The LOOKUP_ROOT operation retrieves the filehandle of the root directory of the exported NFS file system, and the SECINFO_NO_NAME determines the security mechanisms (authentication methods) supported by the server for accessing a specific path component. These operations are important to establish the starting point of the NFS namespace on the client side. Once the client gathered and validated the root filehandle, it can begin traversing the directory tree:</span></div><div><pre><code>       mount.nfs-3331    [012] .....   949.299259: rpc_request: task:00000001@00000001 nfsv4 SECINFO_NO_NAME (sync)
       mount.nfs-3331    [012] .....   949.300992: rpc_stats_latency: task:00000001@00000001 xid=0x774ec2e0 nfsv4 SECINFO_NO_NAME backlog=718 rtt=1612 execute=2444
       mount.nfs-3331    [012] .....   949.305147: nfs4_setup_sequence: session=0x87e0d01f slot_nr=0 seq_nr=3 highest_used_slotid=0
       mount.nfs-3331    [012] .....   949.305148: rpc_request: task:00000002@00000001 nfsv4 LOOKUP_ROOT (sync)
       mount.nfs-3331    [012] .....   949.306163: rpc_stats_latency: task:00000002@00000001 xid=0x784ec2e0 nfsv4 LOOKUP_ROOT backlog=10 rtt=782 execute=1020
       mount.nfs-3331    [012] .....   949.306164: nfs4_sequence_done: error=0 (OK) session=0x87e0d01f slot_nr=0 seq_nr=3 highest_slotid=63 target_highest_slotid=63 status_flags=0x0 ()
       mount.nfs-3331    [012] .....   949.306168: nfs4_lookup_root: error=0 (OK) fileid=00:00:64 fhandle=0x507c44a0 valid=TYPE|MODE|NLINK|OWNER|GROUP|SIZE|FSID|FILEID|ATIME|MTIME|CTIME|CHANGE|0x400200</code></pre></div><div>&nbsp;<span>Next, the client probes the server about the file system capabilities with a FSINFO and SERVER_CAPS request, and gets its attributes issuing a GETATTR operation retrieving file type, size, permissions, timestamps, etc:</span></div><div><pre><code>       mount.nfs-3331    [012] .....   949.306786: nfs4_setup_sequence: session=0x87e0d01f slot_nr=0 seq_nr=5 highest_used_slotid=0
       mount.nfs-3331    [012] .....   949.306786: rpc_request: task:00000004@00000001 nfsv4 FSINFO (sync)
       mount.nfs-3331    [012] .....   949.307693: rpc_stats_latency: task:00000004@00000001 xid=0x7a4ec2e0 nfsv4 FSINFO backlog=3 rtt=897 execute=907
       mount.nfs-3331    [012] .....   949.307693: nfs4_sequence_done: error=0 (OK) session=0x87e0d01f slot_nr=0 seq_nr=5 highest_slotid=63 target_highest_slotid=63 status_flags=0x0 ()
       mount.nfs-3331    [012] .....   949.307694: nfs4_fsinfo: error=0 (OK) fileid=00:00:64 fhandle=0x507c44a0 valid=TYPE|MODE|NLINK|OWNER|GROUP|SIZE|FSID|FILEID|ATIME|MTIME|CTIME|CHANGE|0x400200
       mount.nfs-3331    [012] .....   949.307696: nfs4_setup_sequence: session=0x87e0d01f slot_nr=0 seq_nr=6 highest_used_slotid=0
       mount.nfs-3331    [012] .....   949.307697: rpc_request: task:00000005@00000001 nfsv4 SERVER_CAPS (sync)
       mount.nfs-3331    [012] .....   949.308249: rpc_stats_latency: task:00000005@00000001 xid=0x7b4ec2e0 nfsv4 SERVER_CAPS backlog=3 rtt=452 execute=552
       mount.nfs-3331    [012] .....   949.308249: nfs4_sequence_done: error=0 (OK) session=0x87e0d01f slot_nr=0 seq_nr=6 highest_slotid=63 target_highest_slotid=63 status_flags=0x0 ()
       mount.nfs-3331    [012] .....   949.309855: nfs4_setup_sequence: session=0x87e0d01f slot_nr=0 seq_nr=10 highest_used_slotid=0
       mount.nfs-3331    [012] .....   949.309855: rpc_request: task:00000009@00000001 nfsv4 GETATTR (sync)
       mount.nfs-3331    [012] .....   949.310555: nfs4_sequence_done: error=0 (OK) session=0x87e0d01f slot_nr=0 seq_nr=10 highest_slotid=63 target_highest_slotid=63 status_flags=0x0 () 
       mount.nfs-3331    [012] .....   949.310557: nfs4_getattr: error=0 (OK) fileid=00:2f:64 fhandle=0x507c44a0 valid=TYPE|MODE|NLINK|OWNER|GROUP|SIZE|FSID|FILEID|ATIME|MTIME|CTIME|CHANGE|0x400200
</code></pre></div></div><div><div><span>Then, it verifies for the client access permissions, and resolves the full path&nbsp;</span><span style="font-family: courier new,courier;"><span>/vol_cp_5node</span></span><span>:</span></div></div><pre><code>       mount.nfs-3331    [012] .....   949.310575: nfs_access_enter: fileid=00:2f:64 fhandle=0x507c44a0 version=1881467492116116952
       mount.nfs-3331    [012] .....   949.310577: nfs_access_exit: error=-10 (CHILD) fileid=00:2f:64 fhandle=0x507c44a0 type=4 (DIR) version=1881467492116116952 size=4096 cache_validity=0x0 () nfs_flags=0x0 () mask=0x81 permitted=0xffffffff
       mount.nfs-3331    [012] .....   949.310577: nfs_access_enter: fileid=00:2f:64 fhandle=0x507c44a0 version=1881467492116116952
       mount.nfs-3331    [012] .....   949.310580: nfs4_setup_sequence: session=0x87e0d01f slot_nr=0 seq_nr=11 highest_used_slotid=0
       mount.nfs-3331    [012] .....   949.310580: rpc_request: task:0000000a@00000001 nfsv4 ACCESS (sync)
       mount.nfs-3331    [012] .....   949.311414: rpc_stats_latency: task:0000000a@00000001 xid=0x804ec2e0 nfsv4 ACCESS backlog=3 rtt=688 execute=834
       mount.nfs-3331    [012] .....   949.311415: nfs4_sequence_done: error=0 (OK) session=0x87e0d01f slot_nr=0 seq_nr=11 highest_slotid=63 target_highest_slotid=63 status_flags=0x0 ()
       mount.nfs-3331    [012] .....   949.311421: nfs4_access: error=0 (OK) fileid=00:2f:64 fhandle=0x507c44a0
       mount.nfs-3331    [012] .....   949.311422: nfs_access_exit: error=0 (OK) fileid=00:2f:64 fhandle=0x507c44a0 type=4 (DIR) version=1881467492116116952 size=4096 cache_validity=0x0 () nfs_flags=0x4 (ACL_LRU_SET) mask=0x1 permitted=0x7
       mount.nfs-3331    [012] .....   949.311428: nfs_lookup_enter: flags=0x5 (FOLLOW|AUTOMOUNT) name=00:2f:64/vol_cp_5node fileid=0
       mount.nfs-3331    [012] .....   949.311429: nfs4_setup_sequence: session=0x87e0d01f slot_nr=0 seq_nr=12 highest_used_slotid=0
       mount.nfs-3331    [012] .....   949.312312: nfs4_sequence_done: error=0 (OK) session=0x87e0d01f slot_nr=0 seq_nr=12 highest_slotid=63 target_highest_slotid=63 status_flags=0x0 ()
       mount.nfs-3331    [012] .....   949.312317: nfs4_lookup: error=0 (OK) name=00:2f:64/vol_cp_5node
       mount.nfs-3331    [012] .....   949.312320: nfs_lookup_exit: error=0 (OK) flags=0x5 (FOLLOW|AUTOMOUNT) name=00:2f:64/vol_cp_5node fileid=105
</code></pre><p>&nbsp;<span>Finally, the mount completes successfully and the RPC resources are released:</span></p><pre><code>       mount.nfs-3331    [012] .....   949.315199: nfs_mount_option: option source
       mount.nfs-3331    [012] .....   949.315201: nfs_mount_path: path='/vol_cp_5node'
       mount.nfs-3331    [012] .....   949.316737: rpc_clnt_shutdown: client=00000002
       mount.nfs-3331    [012] .....   949.316738: rpc_clnt_release: client=00000002
    kworker/12:1-450     [012] .....   949.316760: rpc_clnt_free: client=00000002
       mount.nfs-3331    [012] .....   949.328981: rpc_clnt_shutdown: client=00000001
       mount.nfs-3331    [012] .....   949.328990: rpc_clnt_release: client=00000001
    kworker/12:1-450     [012] .....   949.329007: rpc_clnt_free: client=00000001
</code></pre><div><h2 id="toc-hId-898093565"><span>A Bunch of Tracing Messages, Now What?</span></h2><br /><div><span>Understanding the communication flow by analyzing the sequence of tracing messages is incredibly valuable to me. It significantly enhances my ability to troubleshoot deployment and performance issues. Let me give you a couple practical examples.</span></div><br /><p><span>Suppose you issue an NFS mount command and it hangs without any obvious reason. In such cases, you can terminate the command. Next, enable tracing for the&nbsp;</span><span><span style="font-family: courier new,courier;">sunrpc&nbsp;</span></span><span>and </span><span style="font-family: courier new,courier;"><span>nfs</span></span><span>&nbsp;subsystems, then re-run the mount operation. With tracing enabled, you can observe the communication flow and identify exactly where the process is getting stuck.</span></p><br /><div><span>Now, supose your system begins performing more I/O than usual due to a subtle increase in user activity. You can enable tracing for the NFS subsystem and monitor the </span><span style="font-family: courier new,courier;"><span>highest_slotid</span></span><span>,&nbsp;</span><span style="font-family: courier new,courier;"><span>target_highest_slotid</span></span><span>, and </span><span style="font-family: courier new,courier;"><span>highest_used_slotid</span></span><span>&nbsp;in the </span><span style="font-family: courier new,courier;"><span>nfs4_setup_sequence</span></span><span>&nbsp;and </span><span style="font-family: courier new,courier;"><span>nfs4_sequence_done</span></span><span>&nbsp;trace events.</span></div><br /><div><span>If you observe that </span><span style="font-family: courier new,courier;"><span>highest_used_slotid</span></span><span>&nbsp;from </span><span style="font-family: courier new,courier;"><span>nfs4_setup_sequence</span></span><span>&nbsp;frequently matches the </span><span style="font-family: courier new,courier;"><span>highest_slotid</span></span><span>&nbsp;reported in </span><span style="font-family: courier new,courier;"><span>nfs4_sequence_done</span></span><span>, this indicates that your system is hitting a session slot bottleneck. In such cases, you should consider increasing the number of available slots to improve concurrency and performance.&nbsp;</span><span>Not sure what the NFSv4 slot table is or how it works? Don't worry, we'll break it down in the next post of this series.&nbsp;</span></div><br /><div><span>Tracing isn't just about collecting logs. It's about gaining visibility into the inner workings of your system. Whether you're troubleshooting a stalled mount or diagnosing a session slot bottleneck, tracing empowers you to move from guesswork to informed action. The more fluent you become in reading these messages, the more effective you'll be at tuning and scaling your systems with confidence.</span></div><div><div><h2 id="toc-hId--1654063396"><span>Wrapping Up</span></h2><br /><div><span>In the next post, we'll explore what really happens under the hood when you read from or write to a file on an NFS server with pNFS enabled. We'll trace the data paths, examine how layout operations work, and see how the client coordinates with multiple data servers to boost performance. If you've ever wondered how NFS scales I/O across nodes, stay tuned for the next post in the </span><span><em><strong>Back to Basics</strong></em>&nbsp;</span><span>series.</span></div></div></div></div></div></div></div></div></div></div></div></div><h2 id="toc-hId-88746939"><span>References</span></h2><div><div><div><strong>[1</strong><span><strong>]</strong> Nowicki, B. (1989). <strong>RFC 1094: NFS Network File System Protocol Specification</strong>. Available from: &lt;</span><span><a href="https://www.rfc-editor.org/rfc/pdfrfc/rfc1094.txt.pdf" target="_blank" rel="noopener nofollow noreferrer">https://www.rfc-editor.org/rfc/pdfrfc/rfc1094.txt.pdf</a></span><span>&gt;</span></div><div><strong>[2</strong><span><strong>]</strong> Callaghan, B., Pawlowaki, B., Staubach, P. (1995). <strong>RFC 1813: NFS Version 3 Protocol Specification</strong>. Available from: &lt;</span><span><a href="https://www.rfc-editor.org/rfc/pdfrfc/rfc1813.txt.pdf" target="_blank" rel="noopener nofollow noreferrer">https://www.rfc-editor.org/rfc/pdfrfc/rfc1813.txt.pdf</a></span><span>&gt;</span></div><div><strong>[3</strong><span><strong>]</strong> Shepler, S., et al. (2003). <strong>RFC 3530: Network File System (NFS) version 4 Protocol</strong>. Available from: &lt;</span><span><a href="https://www.rfc-editor.org/rfc/pdfrfc/rfc3530.txt.pdf" target="_blank" rel="noopener nofollow noreferrer">https://www.rfc-editor.org/rfc/pdfrfc/rfc3530.txt.pdf</a></span><span>&gt;</span></div><div><strong>[4</strong><span><strong>]</strong> Shepler, S., Eisler, M., Noveck, D. (2010). <strong>RFC 5661: Network File System (NFS) Version 4 Minor Version 1 Protocol</strong>. Available from: &lt;</span><span><a href="https://www.rfc-editor.org/rfc/pdfrfc/rfc5661.txt.pdf" target="_blank" rel="noopener nofollow noreferrer">https://www.rfc-editor.org/rfc/pdfrfc/rfc5661.txt.pdf</a></span><span>&gt;</span></div><div><strong>[5</strong><span><strong>]</strong> Haynes, T. (2016). <strong>RFC 7862: Network File System (NFS) Version 4 Minor Version 2 Protocol</strong>. Available from: &lt;</span><span><a href="https://www.rfc-editor.org/rfc/pdfrfc/rfc7862.txt.pdf" target="_blank" rel="noopener nofollow noreferrer">https://www.rfc-editor.org/rfc/pdfrfc/rfc7862.txt.pdf</a></span><span>&gt;</span></div></div></div></div></div>]]>
        </description>
    </item>
    <item>
        <title>Move Your VMs to OpenShift Virtualization—The Shift Toolkit Way</title>
        <link>https://community.netapp.com/community/discussion/462579/move-your-vms-to-openshift-virtualization-the-shift-toolkit-way</link>
        <pubDate>Fri, 08 Aug 2025 18:34:21 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>NiMo</dc:creator>
        <guid isPermaLink="false">462579@/community/discussions</guid>
        <description><![CDATA[<div><p>For organizations adapting to changes in virtualization licensing while optimizing total cost of ownership (TCO), OpenShift Virtualization combined with NetApp ONTAP offers a powerful, future-ready solution. This presents a compelling alternative option for virtualization. Built on&nbsp;KubeVirt, an open-source technology, it enables seamless management of virtual machines (VMs) alongside containers within a unified Kubernetes environment. This integration allows IT teams to consolidate workloads on a single platform, streamlining operations and accelerating cloud-native transformation. NetApp ONTAP stands out as the most versatile data platform for virtualization, on-premises or in the cloud. It supports all major hypervisors in on-premises environment and offers native data services across leading public clouds. ONTAP&rsquo;s integration empowers organizations to:</p><ul><li>Seamlessly adapt to licensing changes</li><li>Choose the optimal deployment model for each workload</li><li>Maintain consistent data management across hybrid and multi-cloud environments</li></ul><p>This flexibility positions ONTAP as a strategic enabler for organizations navigating the evolving virtualization landscape.</p><h2 id="toc-hId-1707445191"><strong>What is OpenShift virtualization</strong></h2><p>Key Capabilities</p><ul><li>KVM-based VMs run in containers, managed as Pods</li><li>Fully scheduled, deployed, and managed by Kubernetes</li><li>Intuitive VM lifecycle management via the OpenShift web console</li><li>Integrated with Kubernetes-native persistent storage and orchestration</li></ul><p>Storage &amp; Data Protection with NetApp Trident</p><ul><li>Trident CSI: Dynamic storage provisioning over NFS, FC, iSCSI, NVMe/TCP</li><li>Granular VM-level operations: snapshots, clones, volume expansion</li></ul><p>Trident Protect:</p><ul><li>Crash-consistent VM backups to S3-compatible storage</li><li>Disaster recovery with replication, failover, and failback</li></ul><p>Beyond the powerful storage features like snapshots, clones, and efficiency, NetApp ONTAP plays a key role in streamlining VM migration to OpenShift Virtualization. Depending on the number of VM disks and their size, the available migration options will take some time. This is where ONTAP along with cloning capability via Shift toolkit make the migration seamless. Call it the virtual machine migration offloader to storage.</p><h2 id="toc-hId--844711770"><strong>Why Shift toolkit</strong></h2><p>Shift toolkit combines high-fidelity format conversion with native storage cloning and efficiency&nbsp;to convert a VMDK to RAW and&nbsp;handles it at scale &amp; speed. The metadata only nature of FlexClone means the conversion can be done in seconds to minutes (for example, 2 TB in seconds). This allows customers to run VM conversions with minimal storage overhead and near-zero downtime. To emphasize the point, there is no data copy in here, meaning the conversion happens instantly.&nbsp;This saves time and compute resources.&nbsp;This makes ONTAP a&nbsp;strategic enabler&nbsp;for large-scale migrations involving&nbsp;tens of thousands of VMs, delivering efficiency without disruption.</p><p>While VMKFStools cloning with copy offload is a supported method, it still requires data movement across volumes, even though the process is offloaded to the storage layer. In contrast, the Shift Toolkit significantly outperforms XCOPY offload. It acts as a VM migration offloader that eliminates the need for actual data copying.&nbsp;The Shift Toolkit API enables intra-volume copies, where both the source and destination reside within the same volume. By leveraging NetApp&rsquo;s proprietary deduplication technology, the destination file typically occupies only a few kilobytes for metadata, allowing clone operations to complete almost instantly.</p><p>Importantly, this approach avoids reliance on deprecated protocols within the VMware ecosystem. Instead, it uses supported, traditional datastores to enable fast and seamless VM migration.</p><p>This blog covers how the NetApp Shift Toolkit brings the same seamless migration experience to Red Hat OpenShift Virtualization as it does for hypervisors like Hyper-V and provides a step-by-step guide on transitioning to OpenShift Virtualization using Shift Toolkit&rsquo;s conversion APIs. Looking ahead, future releases of the toolkit will offer enhanced capabilities and deeper integration to further streamline the migration journey.</p><h4 id="toc-hId-505071555"><strong>Prerequisites</strong></h4><ul><li>OpenShift cluster with OpenShift Virtualization operator and NetApp Trident CSI driver installed.</li><li><a href="https://mysupport.netapp.com/site/tools/tool-eula/netapp-shift-toolkit/download" target="_blank" rel="noopener noreferrer nofollow">Shift toolkit v2.2</a> installed
<ul><li>No additional configuration required. Since only Shift toolkit API is used in this case, there is no need to configure Shift toolkit resource groups or blueprint.</li></ul></li></ul><ul><li>Administrator level privileges on the OpenShift cluster</li><li>A Linux instance (this can be an existing management instance as well) with tridentctl and OC command line tool installed.</li><li>kubeconfig exported or OC login shd be executed to connect to the cluster.</li><li>Download the script named - Shift VM to OpenShift from Shift toolkit script block and copy the zip file to this Linux instance.</li><li>Unzip the zip using unzip &lt;filename&gt; (<span style="font-size: small; font-family: courier new,courier;">unzip 'shift-vm-to-openshift.zip'</span>)</li><li>Ensure <span style="font-size: small; font-family: courier new,courier;">Python3</span> is installed (<span style="font-size: small; font-family: courier new,courier;">dnf install python3</span>)</li><li>Install <span style="font-size: small; font-family: courier new,courier;">openjdk 8</span> or later version (<span style="font-size: small; font-family: courier new,courier;">yum install java-1.8.0-openjdk</span>)</li><li>Run <span style="font-size: small; font-family: courier new,courier;">pip install -r requirements.txt</span> (need internet)</li></ul><h5 id="toc-hId-2051368385"><strong>VM requirements:</strong></h5><ul><li>Ensure the VMDKs for a VM are placed on individual volumes. For instance, consider a VM with 3 disks. Each of the disk should be placed on its individual volume (mapping datastore to PVC construct). This needs to be done manually using storage vmotion.</li><li>The script runs against RHEL 8 and 9, SLES 12 and Windows 2019/2022</li></ul><p>Note: The script doesn&rsquo;t assign Network now. This needs to be manually assigned. Will be covered in a later update.</p><h5 id="toc-hId--500788576"><strong>PrepareVM requirements (for injecting Virtio drivers):</strong></h5><ul><li>PrepareVM script is embedded in the zip file. Use powershell to execute the script from the Shift toolkit VM.</li><li>Ensure vmware.powercli module is installed (install-module VMware.PowerCLI -scope AllUsers -force -SkipPublisherCheck -AllowClobber)</li><li>For Windows VM, mount the virtio iso to the VM. The virtio driver can be downloaded from <a href="https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso" target="_blank" rel="noopener nofollow noreferrer">here</a>.</li></ul><h4 id="toc-hId-1438535264"><strong>Preparing the VM</strong></h4><p>Shift toolkit runs the VirtIO driver, qemu-agent installation and fstab update script<strong>. </strong>To accomplish the same, Shift toolkit uses powercli to connect to the guest VMs (Linux or windows) and updates the VirtIO drivers ensuring the necessary drivers are available once the VM boots up on OpenShift side.</p><p>The script for Linux and Windows can be found in the zip extract. The syntax to use is as follows:</p><p><span style="font-size: small; font-family: courier new,courier;">.\prepare-vm.ps1 -vCenter "IP or FQDN" -vCenterUser "administrator@domain.com" -vCenterPass "password" -vmName "vm name" -guestUser "user" -guestPass "password" -osFlavor "linux" -localWindowsScriptPath "prepare-vm-win.ps1" -localLinuxScriptPath "prepare-vm-linux.sh"</span></p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/66/66303022122a8b73a2b384618ace3678.png" role="button" title="niyaz_0-1754665348537.png" alt="niyaz_0-1754665348537.png" width="940" /></span></p><p>Note: The script remains the same for Linux or windows distro, just need to ensure the right parameters are passed.</p><h4 id="toc-hId--1113621697"><strong>Discovering VMs from vCenter and volumes on ONTAP storage</strong></h4><p>In order to start the process, update the json file with the following details:</p><ul><li>ONTAP Cluster
<ul><li>This can be a SVM, its management IP and vsadmin credentials</li><li>Splitclone parameter can be set to &ldquo;False&rdquo; if the clone volume doesn&rsquo;t need to be detached.</li></ul></li><li>vCenter
<ul><li>Min RBAC rights to access the vCenter to discover the VMs and associated VMDK files.</li></ul></li><li>Shift toolkit
<ul><li>The Shift toolkit VM IP and the credentials to access the same. If using the default credentials, it will be admin/admin</li></ul></li><li>Trident storage class
<ul><li>Should be NFS backend and ensure the right version is updated</li></ul></li><li>OpenShift
<ul><li>Specify the project name (default is used as an example)</li></ul></li></ul><p>Note: Keep the rest of the values as default</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/d4/d4657ee93341963df4b84a1a23740344.png" role="button" title="niyaz_1-1754665586451.png" alt="niyaz_1-1754665586451.png" width="940" /></span></p><h2 id="toc-hId-1022215648"><strong>High level workflow:</strong></h2><p>Once the pre-reqs are met, simply execute python3 main.py which will do the orchestration.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/36/3687bc14c18f5ec5fc1677c4e689a773.png" role="button" title="niyaz_2-1754665675328.png" alt="niyaz_2-1754665675328.png" width="940" /></span></p><p>Below sections cover what steps are triggered by Shift toolkit APIs to convert the VMDK ad create a VM on the OpenShift side.</p><h5 id="toc-hId--2119481828"><strong>Convert VMDK</strong></h5><p>Once the json file is updated, the script will automatically find the VMDKs associated with each VM including the primary boot disk. The conversion happens in seconds compared to other approaches.</p><div id="tinyMceEditorniyaz_3"></div><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/71/715f9bf60b0cc62b8c392787e7e253f3.png" role="button" title="niyaz_0-1754677921922.png" alt="niyaz_0-1754677921922.png" width="1268" /></span></p><p>Note:&nbsp;if there are multiple VMDK files, each VMDK will be converted.</p><h5 id="toc-hId--376671493"><strong>Upload the RAW image to OpenShift Virtualization Cluster</strong></h5><p>With the virtual machine disk image converted to&nbsp;<strong>RAW</strong>&nbsp;format, script uploads the RAW file to OpenShift cluster and import them individually using trident.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/74/749b8835cf00c42ef233c8f026442e19.png" role="button" title="niyaz_10-1754666272746.png" alt="niyaz_10-1754666272746.png" width="940" /></span></p><h5 id="toc-hId-1745069141"><strong>Create Virtual Machine</strong></h5><p>Script generates a &ldquo;YAML&rdquo; for each VM depending on the OS.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/28/283245092b61c77645351cc17fcef5ac.png" role="button" title="niyaz_11-1754666335320.png" alt="niyaz_11-1754666335320.png" width="940" /></span></p><h5 id="toc-hId--807087820"><strong>Booting VM for the first time</strong></h5><p>Depending on the Virtual Machine OS, Shift toolkit will auto assign the VM boot option, along with the storage controller interface. In case of Linux distros, VirtIO is used. And for Windows, Shift toolkit starts with SATA interface and then auto installs VirtIO drivers and then changes the interface to VirtIO by modifying the YAML.</p><p>Note: Once the VM boots up, ensure to assign the network manually for this iteration.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/1e/1ea457ae8e91109608917881620cb2d6.png" role="button" title="niyaz_12-1754666396455.png" alt="niyaz_12-1754666396455.png" width="940" /></span></p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/3d/3d3d2ae8396596d94090df8859e9ceb7.png" role="button" title="niyaz_13-1754666410761.png" alt="niyaz_13-1754666410761.png" width="940" /></span></p><p>All the above is covered by running <strong><em>python3 main.py</em></strong></p><h2 id="toc-hId-2031609296"><strong>Fast, Simple VM Migration with ONTAP and Shift Toolkit</strong></h2><p>In this blog demo, a RHEL VM with 3 fully populated disks totalling 1.5&#8239;TB was migrated to OpenShift Virtualization in under 5 minutes. The VMDK to RAW conversion completed in seconds - thanks to ONTAP and Shift Toolkit.</p><p>This showcases a streamlined, low-impact approach to rehoming VMs using ONTAP storage. And if you're using block protocols, storage class migration is your go-to solution. This is just the beginning, stay tuned for deeper protocol level integration ahead.</p><h2 id="toc-hId--520547665"><strong>Planning a Move to OpenShift Virtualization? Shift Toolkit Has You Covered.</strong></h2><p>If you are planning to migrate to OpenShift virtualization or already in the process, give Shift toolkit script a try. It&rsquo;s completely <a href="https://mysupport.netapp.com/site/tools/tool-eula/netapp-shift-toolkit/download" target="_blank" rel="noopener noreferrer nofollow">free</a>. Reach out to your NetApp team to register your interest and explore upcoming integrations that streamline operations.</p></div>]]>
        </description>
    </item>
    <item>
        <title>Enabling secure SMB in NetApp Trident</title>
        <link>https://community.netapp.com/community/discussion/462205/enabling-secure-smb-in-netapp-trident</link>
        <pubDate>Wed, 23 Jul 2025 14:09:24 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>Balasubramaniam</dc:creator>
        <guid isPermaLink="false">462205@/community/discussions</guid>
        <description><![CDATA[<div><div id="main-content"><p><span>In today&rsquo;s data-driven world, secure access to shared resources is paramount. With the increasing adoption of containerized environments, NetApp<sup>&reg;</sup> Trident&trade; provides a robust solution for integrating storage into Kubernetes ecosystems. One of its key features is support for the SMB protocol, enabling seamless file sharing for Windows nodes. In this blog, we explore how to enable <strong>secure SMB</strong> in NetApp Trident so</span><span> that your data remains protected.</span></p></div><div><hr /><h3 id="toc-hId-1510928582"><strong>Why secure SMB?<br /><br /></strong></h3><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/90/90213eab651591f126471b1b8a834696.png" role="button" title="Balasubramaniam_11-1753178923118.png" alt="Balasubramaniam_11-1753178923118.png" width="507" /></span>&nbsp; &nbsp;&nbsp;<span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/68/6886df2ffe3ea57722347ca4341e6745.png" width="394" height="394" role="button" title="Balasubramaniam_12-1753179005278.png" alt="Balasubramaniam_12-1753179005278.png" /></span></div><div><span>SMB is a widely used protocol for file sharing, giving users access to files, printers, and other resources on a network. However, without proper security measures, SMB can expose sensitive data to unauthorized access. Enabling secure SMB ensures:</span><ul><li><strong>Authentication.</strong> Validates user credentials.</li><li><strong>Access control.</strong> Restricts access based on permissions.</li></ul><p><span>NetApp Trident simplifies the integration of secure SMB into Kubernetes environments, making it easier for organizations to adopt secure practices.<br /></span></p><span>Beginning with the 25.06 release, NetApp Trident supports secure provisioning of SMB volumes created using the </span><span style="font-family: courier new,courier;"><span>ontap-nas</span></span><span> and </span><span style="font-family: courier new,courier;"><span>ontap-nas-economy </span></span><span>back ends. When secure SMB is enabled, Trident configures access control lists (ACLs) to provide controlled access to SMB shares for selected Active Directory (AD) users and user groups.</span><hr /><h3 id="toc-hId--1041228379"><span>Prerequisites</span></h3><p><span>Before enabling secure SMB, follow these steps:</span></p><ol><li><strong>Configure NetApp ONTAP<sup>&reg;</sup>.</strong> Your ONTAP system should be running a supported version and have SMB enabled.&nbsp;Refer to&nbsp;<span><a href="https://docs.netapp.com/us-en/ontap/" target="_blank" rel="noopener noreferrer nofollow">NetApp ONTAP Documentation</a></span>&nbsp;for details.</li><li><span><strong>Set up Kubernetes cluster.</strong></span> A working Kubernetes cluster with at least one Windows node (required only for mounting the SMB volume; it is not mandatory for creating the SMB volume) and NetApp Trident installed. Follow the&nbsp;<span><a href="https://netapp-trident.readthedocs.io/en/stable-v25.06/install.html" target="_blank" rel="noopener nofollow noreferrer">NetApp Trident Installation Guide</a></span>&nbsp;to set up Trident.</li><li><strong>Set up SMB. </strong><span><a href="https://docs.netapp.com/us-en/trident/trident-use/ontap-nas-prep.html#prepare-to-provision-smb-volumes" target="_blank" rel="noopener noreferrer nofollow"><strong>Prepare to provision SMB volumes</strong></a>:</span></li></ol><ul><li><strong>Trident back end.</strong> Make sure that your Trident back end is configured to provision SMB volumes.</li><li><strong>useREST in Trident back end.</strong> Secure SMB is compatible with both REST API and ZAPI. Therefore, it is not mandatory to set the useREST flag to true.</li><li><strong>SMB credentials.</strong> Valid credentials for accessing SMB shares.</li></ul><hr /><h3 id="toc-hId-701581956"><strong>Enable secure SMB</strong></h3><p><span>Follow these steps to configure secure SMB in NetApp Trident.<br /><br /><strong>Notes:</strong></span></p><ul><li>To enable secure SMB in NetApp Trident,&nbsp;<strong>Step 2,</strong> Adding the <span style="font-family: courier new,courier;">trident.netapp.io/smbShareAdUser</span> annotation to the storage class, is mandatory.</li><li><strong>Step 1</strong> and <strong>Step 3</strong> are optional and can be included based on the user&rsquo;s requirements.</li><li>Trident backend configuration and storage class creation are one-time processes, provided that the same storage class is used to create the Persistent Volume Claim (PVC).</li></ul><p><span>&nbsp;</span></p><p><strong>Step 1:</strong>&nbsp; Specify <span style="font-family: courier new,courier;">adAdminUser</span> in TridentBackendConfig as shown in the following example:</p><ul><li>The <span style="font-family: courier new,courier;">adAdminUser</span> field is used to specify a user with an <span>administrative role for the SMB volume's SMB share.</span></li><li><span style="font-family: courier new,courier;">adAdminUser</span> will have <span style="font-family: courier new,courier;">full_control</span> to the SMB shares.</li></ul><div data-hasbody="true" data-macro-name="code"><div><div><div id="highlighter_735806"><pre><code>apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: backend-tbc-ontap
  namespace: trident
spec:
  version: 1
  storageDriverName: ontap-nas
  managementLIF: 10.x.x.x
  svm: svm0
  useREST: true
  defaults:
    adAdminUser: tridentADtest
  credentials:
    name: backend-tbc-ontap-invest-secret&#8203;</code></pre></div></div></div></div><p><strong><span>Step 2:</span></strong><span>&nbsp;Add the annotation in the storage class:</span></p><ul><li>Add the <span style="font-family: courier new,courier;">trident.netapp.io/smbShareAdUser</span>&nbsp;annotation to the storage class to enable secure SMB without fail.</li><li>The user value specified for the annotation&nbsp;<span style="font-family: courier new,courier;">trident.netapp.io/smbShareAdUser</span>&nbsp;should be the same as the username specified in the&nbsp;smbcreds&nbsp;secret.</li><li>You can choose one of the following for&nbsp;<span style="font-family: courier new,courier;">smbShareAdUserPermission</span>:&nbsp;<span style="font-family: courier new,courier;">full_control</span>,&nbsp;<span style="font-family: courier new,courier;">change</span>, or&nbsp;<span style="font-family: courier new,courier;">read</span>. The default permission is&nbsp;<span style="font-family: courier new,courier;">full_control</span>.</li></ul><pre><code>apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ontap-smb-sc
  annotations:
    trident.netapp.io/smbShareAdUserPermission: change
    trident.netapp.io/smbShareAdUser: tridentADuser
parameters:
  backendType: ontap-nas
  csi.storage.k8s.io/node-stage-secret-name: smbcreds
  csi.storage.k8s.io/node-stage-secret-namespace: trident
  trident.netapp.io/nasType: smb
provisioner: csi.trident.netapp.io
reclaimPolicy: Delete
volumeBindingMode: Immediate</code></pre><div data-hasbody="true" data-macro-name="code"></div><p><strong>Note:</strong></p><ul><li>When the configuration is complete (Step 2), the user can use&nbsp;<span style="font-family: courier new,courier;">trident.netapp.io/smbShareAccessControl</span>&nbsp;PVC annotation and create PVCs to specify the users with different permissions. This step can be repeated as many times as needed; the permission priority will be PVC, storage class, and then Trident backend.</li></ul><p><strong><span>Step 3:</span></strong><span>&nbsp;Create a PVC.</span></p><p><span>The following example creates a PVC:</span></p><ul><li>The PVC requests storage from the NetApp ONTAP back end via Trident, using the ontap-smb-sc storage class.</li><li>The&nbsp;<span style="font-family: courier new,courier;">trident.netapp.io/smbShareAccessControl</span>&nbsp;annotation ensures that only specific AD users/groups have access to the SMB share, with defined permissions (<span style="font-family: courier new,courier;">full_control</span>,&nbsp;<span style="font-family: courier new,courier;">change</span>, or&nbsp;<span style="font-family: courier new,courier;">read</span>).&nbsp;This is crucial for environments where secure access to shared storage is r<span>equired.</span></li></ul><pre><code>apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc
  namespace: trident
  annotations:
    trident.netapp.io/snapshotDirectory: "true"
    trident.netapp.io/smbShareAccessControl: |
      full_control:
        - TridentADtest
      change:
        - tridentADuser
      read:
        - tridentADdev
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: ontap-smb-sc</code></pre><div data-hasbody="true" data-macro-name="code"></div><p><strong><span>Sample output of SMB share</span></strong></p><ul><li>Once the PVC is created, Trident creates an SMB volume in ONTAP with a new SMB share, where the user with the specified permissions is added to the access control lists, as shown in the following image.</li><li>The default share ACL Everyone/Full Control is removed when secure SMB is enabled, because it poses a security risk.</li></ul><div id="tinyMceEditorBalasubramaniam_8">&nbsp;</div><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/a4/a4f806db73705f1ad826df9e1f7cbe12.png" role="button" title="Balasubramaniam_13-1753179541526.png" alt="Balasubramaniam_13-1753179541526.png" width="702" /></span><hr /><h3 id="toc-hId--1850575005"><span>Points to remember</span></h3><ul><li>Secure SMB is supported for&nbsp;<span style="font-family: courier new,courier;">ontap-nas</span>&nbsp;managed volume imports and is not applicable to unmanaged volume imports.</li><li><span>Importing&nbsp;</span><span style="font-family: courier new,courier;">ontap-nas-economy</span><span>&nbsp;volumes is not supported.</span></li><li><span>Only read-only clones are supported for </span><span><span style="font-family: courier new,courier;">ontap-nas-economy</span> volumes. Even if a user has </span><span><span style="font-family: courier new,courier;">full_control</span> in the ACL, they cannot write to the read-only clone.</span></li><li><span>If Secure SMB is enabled, Trident ignores the SMB share mentioned in the back end and creates a new SMB share with the provided ACL.</span></li><li><span>Updating the PVC annotation, storage class annotation, and back-end field does not update the SMB share ACL.</span></li><li><span>The SMB share ACL specified in the annotation of the clone PVC takes precedence over those in the source PVC.</span></li><li><span>Be sure to provide valid AD users when enabling secure SMB. Invalid users will not be added to the ACL.</span></li><li><span>If you provide the same AD user in the back end, storage class, and PVC with different permissions, the permission priority will be PVC, storage class, and then back end.</span>Trident supports SMB volumes mounted to pods running exclusively on Windows nodes.</li></ul><hr /><h3 id="toc-hId--107764670"><strong>Best practices for secure SMB</strong></h3><ul><li><strong>Regular updates.</strong> Keep your ONTAP and Trident versions up to date to take advantage of the latest security enhancements.</li><li><strong>Strong credentials.</strong> Use complex passwords and rotate them regularly.</li><li><strong>Access control.</strong> Restrict SMB access to authorized users and applications.</li><li><strong>Monitoring.</strong> Enable logging and monitoring to detect and respond to unauthorized access attempts.</li></ul><hr /><h3 id="toc-hId-1635045665"><strong>Conclusion</strong></h3><p><span>Enabling secure SMB in NetApp Trident is a straightforward process that significantly enhances the security of your containerized workloads. By following the steps outlined in this document, you authenticate your SMB shares and protect them from unauthorized access. NetApp Trident continues to evolve, making it easier for organizations to adopt secure storage practices in Kubernetes environments.<br /><br /></span></p><p><span>For more information, refer to the <a href="https://netapp.io/" target="_blank" rel="noopener nofollow noreferrer">NetApp Trident Documentation</a> or join the community discussions on <a rel="nofollow" href="https://community.netapp.com/" target="_blank">NetApp Community</a>.</span></p></div></div>]]>
        </description>
    </item>
    <item>
        <title>SnapMirror active sync and the active-active data center</title>
        <link>https://community.netapp.com/community/discussion/455156/snapmirror-active-sync-and-the-active-active-data-center</link>
        <pubDate>Tue, 17 Sep 2024 15:00:00 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>steiner</dc:creator>
        <guid isPermaLink="false">455156@/community/discussions</guid>
        <description><![CDATA[<div><ul><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-1903120639">SnapMirror active sync and the active-active data center</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--845549827">RPO=0</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-897260508">RTO=0</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--1458382948">SnapMirror active sync architecture</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-284427387">SAN design with SnapMirror active sync</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-1830724217">Uniform access</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-1021377591">Uniform access with local proximity</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--1530779370">Nonuniform access</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-212030965">Uniform access with ASA</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-342101928">SnapMirror active sync vs MetroCluster</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-2084912263">SnapMirror active sync setup</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--521385722">Storage Virtual Machines (SVM)</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-1221424613">Provision storage</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-1167283589">Create the volumes</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--1384873372">Create the LUNS</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-357936963">Define the CG</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--397268639">Establish replication</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--451409663">Create destination volumes</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--764287957">Initialize replication</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-978522378">Define the igroup</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-223316776">Map the LUNs</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-1966127111">Oracle Configuration</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-1911986087">Device Names</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--640170874">ASM Configuration</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-1102639461">Database Creation</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-2144385218">Failure scenarios</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-2090244194">Preferred sites</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-2036103170">Oracle and css_critical</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-1723224876">SnapMirror active sync preferred site</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-968019274">Loss of SnapMirror replication connectivity</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-913878250">Site A</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--1638278711">Site B</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-1901482983">Loss of Oracle RAC replication</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--650673978">Complete loss of replication network</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-1092136357">Storage system failure</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--1460020604">Cut the power to the mediator</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-282789731">Restoring services</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId-2025600066">SnapMirror active sync failover</a></li><li><a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/SnapMirror-active-sync-and-the-active-active-data-center/ba-p/455156#toc-hId--785294165">Summary</a></li></ul><h1 id="toc-hId-1903120639">SnapMirror active sync and the active-active data center</h1><p>I've been beating up on SnapMirror active sync in the lab for about a year now, and I have to say this is the coolest feature I&rsquo;ve seen added to ONTAP in years . In particular, I'm talking about SnapMirror active sync running in symmetric active-active mode. The value isn&rsquo;t in the feature itself, it&rsquo;s in the sorts of solutions it allows you to create. The foundation of SnapMirror active sync is SnapMirror synchronous, and it's been around much longer and is well-proven, but I only started using the active-active capabilities a year ago.</p><p>There are a number of ways to configure SnapMirror active sync, but the one I want to focus on here is an active-active application environment. You can build clustered environments including Oracle RAC, VMware, and Windows Server Failover Clusters (WSFC) &nbsp;where the application cluster is distributed across two sites and IO response times are symmetric. You get RPO=0 through synchronous cross-site mirroring and RTO=0 through built-in ONTAP automation and the fact that storage resources are available on both sites, all the time.</p><p>This post should be useful for anyone looking at synchronous replication solutions, but I&rsquo;m going to use Oracle RAC to illustrate SnapMirror active sync functionality because you can examine the RTO=0 and RPO=0 characteristics of the overall solution from the application layer all the way to the storage layer. The same database is operational at both sites, all the time. A disaster requires breaking a mirror, but you don&rsquo;t really fail anything over because the services were running at the surviving site all along.</p><p>The examples used might be Oracle RAC, but the principles are universal. This includes concepts like "preferred site", heartbeats, tiebreaking, and timeouts. Even if you know next to nothing about Oracle RAC, read on.</p><p>Before diving into the details of how SnapMirror active sync (SM-as) works, I&rsquo;d like to explain what SnapMirror active sync (SM-as) is for.</p><h2 id="toc-hId--845549827">RPO=0</h2><p>If you work in IT, you&rsquo;ve definitely heard about the Recovery Point Objective. How much data can you afford to lose if certain events happen? If you're looking at synchronous replication, that means RPO=0, but that's more nuanced than it seems. When I see a requirement for RPO=0, I usually divide it into two categories:</p><ul><li>RPO for common problems</li><li>RPO for disaster scenarios</li></ul><p>RPO=0 for normal problems is fairly easy to accomplish. For example, if you have a database you should expect to need to recover it occasionally. Maybe a patch went wrong and caused corruption or someone deleted the wrong file. All you usually need is RAID-protected storage and a basic backup plan and you can restore the database, replay logs, and fix the problem with no loss of data. You should expect to have RPO=0 recoverability for these types of common problems, and if you choose ONTAP we can make the procedures easier, faster, and less expensive.&nbsp;</p><p>If you want RPO=0 for disaster scenarios, things get more complicated. As an example, what if you have a malicious insider who decided to destroy your data and its backups? That requires a very different approach using the right technology with the right solution. We have some cool things to offer in that space.</p><p>SnapMirror active sync is about RPO=0 for disaster scenarios that lead to site loss. It might be permanent site loss because of a fire or maybe it's a temporary loss because of a power outage. Perhaps it's more isolated, like a power surge that destroys a storage array. SM-as addresses these scenarios with synchronous mirroring. It's not just RPO=0 replication either, it's a self-healing, integrated, intelligent RPO=0 replication solution.</p><h2 id="toc-hId-897260508">RTO=0</h2><p>A requirement for RPO=0 often comes with a requirement for Recovery Time Objective (RTO) of zero as well. The RTO is the amount of time you can be without a service, and overall it's an easily understood SLA, with one exception, which is RTO=0. What does that mean?</p><p>The term "RTO=0" across the whole IT industry. I continue to insist there&rsquo;s no such thing as RTO=0. That would require instantaneously recognizing a problem exists and then instantly correcting it to restore service. That isn&rsquo;t possible. From a storage perspective, there&rsquo;s no way to know whether a 10 millisecond wait for a LUN to respond is because the storage system is merely busy with other IO or the data center itself fell into a black hole and no longer exists.</p><p>You can&rsquo;t have RTO=0, but you can have a near-zero RTO from the perspective of IT operations. That exact definition of &ldquo;near-zero&rdquo; will depend on business needs. If an RTO is low enough that operations aren&rsquo;t significantly affected, that&rsquo;s what the industry calls RTO=0. It means &ldquo;nondisruptive&rdquo;.</p><p>Not all of the RTO is determined solely by storage availability. For example, a typical ONTAP controller failover completes in around 2-4 seconds, and during this time there will be a pause in SAN IO. The OS&rsquo;s, however, often have much higher timeouts. ONTAP can fail over in 2 seconds and be fully ready to serve data again, but sometimes the host will wait 15 seconds before retrying an IO and you can&rsquo;t change that. OS vendors have optimized SAN&nbsp; behavior over the years, but it's not perfect. Those rare but real and occasionally lengthy IO timeouts are probably happening from time to time in your SAN already. Sometimes an FC frame will go missing because a cable is just slightly damaged and there will be a brief performance blip. It shouldn&rsquo;t cause real-world problems, though. Nothing should crash.</p><p>Since SM-as failover operations should be nondisruptive to ongoing IT operations, including disasters, I&rsquo;ll call SM-as an RTO=0 storage solution since that's the way the RTO term is used in the industry.&nbsp;</p><p>You still have to think about the application layer, though. For example, you could distribute a VMware cluster across sites and replicate the underlying storage with SM-as, but failure of a given site would require VMware HA to detect the loss of a given VM and restart it on the surviving site. That takes some time. Does that requirement meet your RTO? If you can&rsquo;t start a VM quickly enough, you can consider containerization. One of its benefits is a container can be activated nearly instantaneously. There&rsquo;s no OS boot sequence. That might be an option to improve the big-picture RTO. Finally, if you&rsquo;re using a truly active-active application like Oracle RAC, you can proactively have the same database running at both sites all the time. The right solution depends on the RTO and the behavior of the entire solution during failover events.</p><p>From a storage perspective, achieving that near-zero RTO is a lot more complicated than you&rsquo;d think. How does one site know the other site is alive? What should happen if a write cannot be replicated? How does a storage system know the difference between a replication partner that is permanently offline versus a partner that is only temporarily unreachable? What should happen to LUNs that are being accessed by a host but are no longer guaranteed to be able to serve the most recent copy of data? What happens when replication is restored?</p><p>On to the diagrams&hellip;</p><h1 id="toc-hId--1458382948">SnapMirror active sync architecture</h1><p>Let&rsquo;s start with the basics of how SM-as <strong>replication </strong>works.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/c1/c181adb6a98fc4bfaed927e08df8a11c.png" role="button" title="basic.png" alt="basic.png" width="1077" /></span></p><p><br />Here&rsquo;s what this shows:</p><ul><li>These are two different storage clusters. One of them is Cluster1, and the other is Cluster2. (I'll explain the jfs_as1 and jfs_as2 labels a little later&hellip;)</li><li>It might look like there are six LUNs but it&rsquo;s logically only three.</li><li>The reason is there are six different LUN images, but the LUN1 on each jfs_as1 is functionally the same as LUN1 on jfs_as2, the LUN2's are the same, and the LUN3's are the same.</li><li>From a host point of view, this looks like ordinary SAN multipathing. LUN1 and its data is available and accessible on either cluster.</li><li>IO behavior and IO performance are symmetric.
<ul><li>If you perform a read of LUN1 from the cluster on site A, the read will be serviced by the local copy of the data on site A</li><li>If you perform a read of LUN1 from the cluster on site B, the read will be serviced by the local copy of the data on site B</li><li>Performing a write of LUN1 will require replication of the write to the opposite site before the write is acknowledged.</li></ul></li></ul><p>Now let's look at <strong>failover</strong>. There&rsquo;s another component involved &ndash; the mediator.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/05/0520bf689a984b76d6d6565dca1ce0b8.png" role="button" title="mediator.png" alt="mediator.png" width="902" /></span></p><p>The mediator is required for safely automating failover. Ideally, it would be placed on an independent 3<sup>rd</sup> site, but it can still function for most needs if it&rsquo;s placed on site A or site B. The mediator is not really a tiebreaker, although that&rsquo;s effectively the function it provides. It's not taking any actions; it&rsquo;s providing an alternate communication channel to the storage systems.</p><p>The #1 challenge with automated failover is the split-brain problem, and that problem arises if your two sites lose connectivity with each other. What should happen? You don&rsquo;t want to have two different sites activate themselves as the surviving copy of the data, but how can a single site tell the difference between actual loss of the opposite site and an inability to communicate with the opposite site?</p><p>This is where the mediator enters the picture. If placed on a 3<sup>rd</sup> site, and each site has a separate network connection to that site, then you have an additional path for each site to validate the health of the other. Look at the picture above again and consider the following scenarios.</p><ul><li>What happens if the mediator fails or is unreachable from one or both sites?
<ul><li>The two clusters can still communicate with each other over the same link used for replication services.</li><li>Data is still served with RPO=0 protection</li></ul></li><li>What happens if Site A fails?
<ul><li>Site B will see <strong>both</strong> of the communication channels to the partner storage system go down.</li><li>Site B will take over data services, but without RPO=0 mirroring</li></ul></li><li>What happens if Site B fails?
<ul><li>Site A will see <strong>both</strong> of the communication channels to the partner storage system go down.</li><li>Site A will take over data services, but without RPO=0 mirroring</li></ul></li></ul><p>There is one other scenario to consider: Loss of the data replication link. If the replication link between sites is lost, RPO=0 mirroring will obviously be impossible. What should happen then?</p><p>This is controlled by the preferred site status. In an SM-as relationship, one of the sites is secondary to the other. This makes no difference in normal operations, and all data access is symmetric, but if replication is interrupted then the tie will have to be broken to resume operations. The results is that the preferred site will continue operations without mirroring and the secondary will halt IO processing until replication is reestablished. More on this topic below&hellip;</p><h1 id="toc-hId-284427387">SAN design with SnapMirror active sync</h1><p>As explained above, SM-as functionally provides the same LUNs on two different clusters. That doesn&rsquo;t mean you necessarily want your hosts to access their LUNs across all available paths. You might, or you might not. There are two basic options called uniform and non-uniform access.</p><h2 id="toc-hId-1830724217">Uniform access</h2><p>Let&rsquo;s say you had a <strong>single</strong> host, and you wanted RPO=0, RTO=0 data protection. You&rsquo;d probably want to configure SM-as with uniform access, which means the LUNs would be visible to your host from both clusters.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/5d/5d926f22646b8043e46e5fbfbe4c9b3c.png" role="button" title="onehost.png" alt="onehost.png" width="848" /></span></p><p>Obviously, this will mean that complete loss of site A would also result in the loss of your host and its applications, but you would have extremely high availability storage services for your data. This is probably a less common use case for SM-as, but it does happen. Not all applications can be clustered. Sometimes all you can do is provide ultra-available storage and accept that you&rsquo;ll need to find alternate servers on a remote site in the event of disaster.</p><p>Another option with uniform access is in a full mesh networked cluster.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/5d/5db352e9bf2bf033ab0e41cfad74b6f2.png" role="button" title="fullmesh.png" alt="fullmesh.png" width="848" /></span></p><p>If you use SM-as with uniform access in a cluster as shown above, any host should always have access to a usable copy of the data. Even if one of the storage systems failed or storage replication connectivity was lost, the hosts would continue working. From a host multipath point of view, it all looks like a single storage system. A failure of any one component would result in some of the SAN paths disappearing off the network, but otherwise everything would continue working as usual.</p><h3 id="toc-hId--917946249">&nbsp;</h3><h2 id="toc-hId-1021377591">Uniform access with local proximity</h2><p>Another feature of SM-as is the option to configure the storage systems know where the hosts are located. When you map the LUNs to a given host, you can indicate whether or not they are local to the storage system.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/2f/2f98e9640a385b63ac2663c17f0cc6f2.png" role="button" title="fullmesh.paths.png" alt="fullmesh.paths.png" width="717" /></span></p><p>In normal operation, all IO is local IO. Reads and writes are serviced from the local storage array. Write IO will, of course, need to be replicated by the local controller to the remote system before being acknowledged, but all read IO will be serviced locally and will not incur extra latency by traversing the SAN.</p><p>The only time the nonoptimized paths will be used is when all active/optimized paths are lost. For example, if the entire array on site A lost power, the hosts at site A would still be operational, although they would be experiencing higher read latency.</p><p>Note: There are redundant paths through the local cluster that are not shown on these diagrams for the sake of simplicity. ONTAP storage systems are HA themselves, so a controller failure should not result in site failure. It should merely result in a change in which local paths are used by an affected host.</p><h2 id="toc-hId--1530779370">Nonuniform access</h2><p>Nonuniform access means each host has access to only a subset of available ports.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/7e/7ef86e05902385801f8d8925579e43dd.png" role="button" title="nonuniform.png" alt="nonuniform.png" width="772" /></span></p><p>The primary benefit to this approach is SAN simplicity: you remove the need to stretch a SAN over the network. Some users don't have dark fiber between sites or lack the infrastructure to tunnel FC SAN traffic over an IP network.&nbsp;In some cases, the additional latency overhead of an application accessing storage across sites on a regular basis would be unacceptable, rendering the improved availability of uniform access unnecessary.</p><p>The disadvantage to nonuniform access is that certain failure scenarios, including loss of the replication link, will result in half of your hosts losing access to storage. Applications that run as single instances, such as a non-clustered database that is inherently only running on a single host at any given mount, would fail if local storage connectivity were lost. The data would still be protected, but the database server would no longer have access. It would need to be restarted on a remote site, preferably through an automated process. For example, VMware HA can detect an all-paths-down situation and restart a VM on another server where paths are available. In contrast, a&nbsp;clustered application such as Oracle RAC can deliver the same services that are constantly running at both sites. Losing a site with Oracle RAC doesn&rsquo;t mean loss of the application service as a whole. Instances are still available and running at the surviving site.&nbsp;</p><h2 id="toc-hId-212030965">Uniform access with ASA</h2><p>The diagrams above showed path prioritization with AFF storage systems. NetApp ASA systems provide active-active multipathing, including with the use of SM-as. Consider the following diagram:</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/e5/e58ca09222ffc177c758347d7a7398f1.png" role="button" title="fullmesh.asa.png" alt="fullmesh.asa.png" width="772" /></span></p><p>An ASA configuration with non-uniform access would work largely the same as it would with AFF. With uniform access, IO would be crossing the WAN. This may or may not be desirable. If the two sites were 100 meters apart with fiber connectivity there should be no detectable additional latency crossing the WAN, but if the sites were a long distance apart then read performance would suffer on both sites. In contrast, with AFF those WAN-crossing paths would only be used if there were no local paths available and read performance would be better.</p><p>ASA with SM-as in a low-latency configuration offers two interesting benefits. First, it essentially doubles the performance for any single host because IO can be serviced by twice as many controllers using twice as many paths. Second, it offers extreme availability because an entire storage system could be lost without interrupting host access.</p><h1 id="toc-hId-342101928">SnapMirror active sync vs MetroCluster</h1><p>Those of you that know NetApp probably know SM-as' cousin, MetroCluster. SM-as is similar to NetApp MetroCluster in overall functionality, but there are important differences in the way in which RPO=0 replication is implemented and how it is managed.</p><ul><li>A MetroCluster configuration is more like one integrated cluster with nodes distributed across sites. SM-as behaves like two otherwise independent clusters that are cooperating in serving data from specified RPO=0 synchronously replicated LUNs.</li><li>The data in a MetroCluster configuration is only accessible from one particular site at any given time. A second copy of the data is present on the opposite site, but the data is passive. It cannot be accessed without a storage system failover.</li><li>MetroCluster and SM-as mirroring occur at different levels. MetroCluster mirroring is performed at the RAID layer. The low-level data is stored in a mirrored format using SyncMirror. The use of mirroring is virtually invisible up at the LUN, volume, and protocol layers.</li><li>In contrast, SM-as mirroring occurs at the protocol layer. The two clusters are overall independent clusters. Once the two copies of data are in sync, the two clusters only need to mirror writes. When a write occurs on one cluster, it is replicated to the other cluster. The write is only acknowledged to the host when the write has completed on both sites. Other than this protocol splitting behavior, the two clusters are otherwise normal ONTAP clusters.</li><li>The sweet spot for MetroCluster is large-scale replication. You can replicate an entire array with RPO=0 and near-zero RTO. This simplifies the failover process because there is only one "thing" to fail over, and it scales extremely well in terms of capacity and IOPS.</li><li>The first sweet spot for SM-as is granular replication. Sometimes you don&rsquo;t want to replicate all data on a storage system as a single unit, or you need to be able to selectively fail over certain workloads.</li><li>The second sweet spot for SM-as is for active-active operations, where you want fully usable copies of data to be available on two different clusters located in two different locations with identical performance characteristics and, if desired, no requirement to stretch the SAN across sites. You can have your applications already running on both sites, which reduces the overall RTO during failover operations.</li></ul><h1 id="toc-hId-2084912263">SnapMirror active sync setup</h1><h2 id="toc-hId-2030771239">&nbsp;</h2><p>Although the following sections focus on an Oracle RAC configuration, the concepts are applicable to most any SnapMirror active sync deployment. Using Oracle RAC as an example is especially helpful because Oracle RAC is inherently complicated. If you understand how to configure and manage Oracle RAC on SM-as, including all the nuances, requirements, and especially the benefits ONTAP delivers for such a configuration, you&rsquo;ll be able to use SM-as for any workload.</p><p>Additionally, I&rsquo;ll be using the CLI to configure ONTAP, but you can also use the SystemManager GUI, and I want to say that I think it's outstanding. The UI team did great work with SnapMirror active sync. I&rsquo;m using the CLI mostly because I personally prefer a CLI, but also because it's easier to explain what's happening with ONTAP if I can go step-by-step with the CLI. The GUI automates multiple operations in a single step.</p><p>Finally, I'll assume a mediator is already properly configured.</p><h2 id="toc-hId--521385722">Storage Virtual Machines (SVM)</h2><p>One item of ONTAP terminology you need to understand is the SVM, also called a vserver. ONTAP storage clusters are built for multitenancy. When you first install a system, it doesn't provide storage services in the same way that a new VMware server can't run applications. You need to create a VM.</p><p>An ONTAP SVM (again, also called a vserver, especially at the CLI) is not an actual VM running under a hypervisor, but conceptually it's the same thing. It's a virtual storage system with its own network addresses, security configuration, user accounts, and so forth. Once you create an SVM, you then provision your file shares, LUNs, S3 buckets, and other storage resources under the control of that SVM.</p><p>You'll see the use of -vserver in the examples below. I have two clusters, Cluster1 and Cluster2. Cluster1 includes an SVM called jfs_as1, which will be participating in a SnapMirror active sync relationship with SVM jfs_as2, located on Cluster2.</p><h2 id="toc-hId-1221424613">Provision storage</h2><p>Once the SVM is defined, the next step is to create some volumes and LUNs. Remember &ndash; with ONTAP, a volume is not a LUN. A volume is a management object for storing data, including LUNs. We usually combine related LUNs in a single volume. The volume layout is usually designed to simplify management of those LUNs.</p><p>Confused? Here&rsquo;s a diagram of my basic volume and LUN layout.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/60/60eb92e603b4673949c6fbe2974801a2.png" role="button" title="pre-mirroring layout.png" alt="pre-mirroring layout.png" width="1970" /></span></p><p>There is no true best practice for any database layout. The best option depends on what you want to do with the data. In this case, there are three volumes:</p><ul><li>One volume for the Oracle Grid management and quorum LUNs.</li><li>One volume for the Oracle datafiles.</li><li>One volume for the Oracle logs, and this includes redo logs, archive logs, and the controlfiles.</li><li>LUN count for datafile IO of 8 LUNs. This isn't an ONTAP limitation, it's about the host OS. You need multiple LUNs to maximum SAN performance through the host IO stack. 4-8 LUNs is usuall required. The LUN count for logs and other sequentially accessed files is less important.</li></ul><p>This design is all about manageability. For example, if you need to restore a database, the quickest way to do it would be to revert the state of the datafiles and then replay logs to the desired restore point. If you store the datafiles in a single volume, you can revert the state of that one volume to an earlier snapshot, but you need to ensure the log files are separated from datafiles. Otherwise, reverting the state of the datafiles would result in loss of archive log data that is critical for RPO=0 data recovery.</p><p>Likewise, this design allows you to manage performance more easily. You simply place a QoS limit on the datafile volume, rather than individual LUNs. As an aside, never place a QoS limit on a database transaction log because of the bursty nature of log IO. The <strong>average</strong> IO for transaction logs is usually fairly low, but the IO occurs in short bursts. If QoS engages during those bursts, the result will be significant performance damage. QoS is for datafiles only.</p><h3 id="toc-hId-1167283589">Create the volumes</h3><p>I created my three volumes as follows.</p><pre>Cluster1::&gt; vol create -vserver jfs_as1 -volume jfsAA_grid_siteA -snapshot-policy none -percent-snapshot-space 0 -size 256g -space-guarantee<br />Cluster1::&gt; vol create -vserver jfs_as1 -volume jfsAA_oradata_siteA -snapshot-policy none -percent-snapshot-space 0 -size 1t -space-guarantee<br />Cluster1::&gt; vol create -vserver jfs_as1 -volume jfsAA_logs_siteA -snapshot-policy none -percent-snapshot-space 0 -size 500g -space-guarantee none</pre><p>There&rsquo;s a lot of different options when creating a volume. If you use SystemManager, you&rsquo;ll get volumes with default behavior that is close to universally appropriate, but when using the CLI you might need to look at all the available options.</p><p>In my case, I wanted to create volumes for the grid, datafile, and log LUNs that include the following attributes:</p><ul><li>Disabling scheduled snapshots. Scheduled snapshots can provide powerful on-box data protection, but the schedule, retention policy, and naming conventions need to be based on the SLAs. For now, I&rsquo;d rather just disable snapshots to ensure no snapshots are unknowingly created.</li><li>Set the snapshot reserve to 0%. There is no reason to reserve snapshot space in a SAN environment.</li><li>Set space guarantees to none. Space guarantees would reserve the volume&rsquo;s capacity on the system, which is almost always wasteful with a database. Most databases compress well, so reserving the full size of the volume would be unnecessary.</li><li>I want space efficiency settings to be enabled, but this is default behavior and does not require special arguments.</li></ul><h3 id="toc-hId--1384873372">Create the LUNS</h3><p>The next step is to create the required LUNs inside the volumes. I&rsquo;ll be using the defaults, plus disabling space reservations. This will result in LUNs only consuming the space actually required by that LUN within the volume.</p><pre>Cluster1::&gt; lun create -vserver jfs_as1 /vol/jfsAA_grid_siteA/lun0 -size 64g -ostype linux -space-reserve disabled<br />Cluster1::&gt; lun create -vserver jfs_as1 /vol/jfsAA_grid_siteA/lun1 -size 64g -ostype linux -space-reserve disabled<br />&hellip;<br />Cluster1::&gt; lun create -vserver jfs_as1 /vol/jfsAA_logs_siteA/lun0 -size 64g -ostype linux -space-reserve disabled<br />Cluster1::&gt; lun create -vserver jfs_as1 /vol/jfsAA_logs_siteA/lun1 -size 64g -ostype linux -space-reserve disabled</pre><h3 id="toc-hId-357936963">Define the CG</h3><p>There are now three volumes of data: Oracle datafiles LUNs, Oracle log LUNs, and RAC cluster resource LUNs. While three separate volumes deliver optimal manageability, synchronous replication requires a single container. This RAC environment needs to be replicated and kept in sync as a unified whole. If site failure occurs, all resources at the surviving site need to be consistent with one another. We need a consistency group.</p><p>As mentioned above, with ONTAP, a volume is a not a LUN, it&rsquo;s just a management container. If all LUNs in a given dataset were placed on a single volume, you can create snapshots, clone, restore, or replicate that single volume as a unit. In other words, a volume in ONTAP is natively a consistency group.</p><p>In many SM-as use cases, placing all the LUNs of a given application in a single volume might be all you need to meet your data protection requirements. Sometimes your requirements are more complicated. You might need to separate an application into multiple volumes based on manageability requirements, but also want to manage the application as a unit. That&rsquo;s why we created ONTAP Consistency Groups, and you can read more about them <a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Consistency-Groups-in-ONTAP/ba-p/438567" target="_blank">here</a> and <a rel="nofollow" href="https://community.netapp.com/t5/Tech-ONTAP-Blogs/Fun-with-automation-ONTAP-Consistency-Groups/ba-p/450997" target="_blank">here</a>.</p><p>I can define a consistency group for my three volumes at the CLI by providing a CG name and the current volumes.</p><pre>Cluster1::&gt; consistency-group create -vserver jfs_as1 -consistency-group jfsAA -volumes jfsAA_oradata_siteA,jfsAA_logs_siteA,jfsAA_grid_siteA</pre><p>The result is I've created a CG called jfsAA (I used the letters AA to denote the active-active configuration I&rsquo;m building) based on the current grid, datafile, and log volumes and the LUNs they contain. Also, note that I used a suffix of _siteA so I can more easily keep track of while cluster hosts which volumes and the data within those volumes. More on that below&hellip;</p><h2 id="toc-hId--397268639"><span>Establish</span> replication</h2><p>There are now volumes of LUNs on site A, but replication isn&rsquo;t operational yet. The first step to prepare for replication is to create volumes on site B. As mentioned previously, the SystemManager UI automates all of the setup work, but it&rsquo;s easier to explain each step in the automated sequence of events using the CLI</p><h3 id="toc-hId--451409663">Create destination volumes</h3><p>Before I can replicate data, I need a place to host the replicas.</p><pre>Cluster2::&gt; vol create -vserver jfs_as2 -volume jfsAA_grid_siteB -snapshot-policy none -percent-snapshot-space 0 -size 256g -type DP -space-guarantee none<br />Cluster2::&gt; vol create -vserver jfs_as2 -volume jfsAA_oradata_siteB -snapshot-policy none -percent-snapshot-space 0 -size 1t -type DP -space-guarantee none<br />Cluster2::&gt; vol create -vserver jfs_as2 -volume jfsAA_logs_siteB -snapshot-policy none -percent-snapshot-space 0 -size 500g -type DP -space-guarantee none</pre><p>The commands above created three volumes on site B using the same settings as used as site A, except they are a type &ldquo;DP&rdquo;, which means a data protection volume. This identifies a volume that will be joined to a replication relationship. No LUNs are being provisioned. They will be automatically created once replication is initialized and the content of the volumes on Cluster2 are synchronized from the source volumes on Cluster1.</p><h3 id="toc-hId--764287957">Initialize replication</h3><p>The following command creates an SnapMirror active sync relationship in active-active mode. This command is run on the uninitialized controller. SnapMirror is designed as a pull technology. For example, asynchronous SnapMirror updates pull new data from the source. It is not pushed from the source to a destination.</p><pre>Cluster2::&gt; snapmirror create -source-path jfs_as1:/cg/jfsAA -destination-path jfs_as2:/cg/jfsAA -cg-item-mappings jfsAA_grid_siteA:@jfsAA_grid_siteB,jfsAA_oradata_siteA:@jfsAA_oradata_siteB,jfsAA_logs_siteA:@jfsAA_logs_siteB -policy AutomatedFailOverDuplex<br />Operation succeeded: SnapMirror create for the relationship with destination "jfs_as2:/cg/jfsAA".</pre><p>This operation makes a lot more sense if you see it in the GUI, but I can break down the command. Here&rsquo;s what it does:</p><pre>snapmirror create</pre><p>That's self-evident. It's creating a snapmirror relationship.</p><pre>-source-path jfs_as1:/cg/jfsAA</pre><p>Use a source of the SVM called jfs_as1 and the consistency group called jfsAA. You'll see this syntax elsewhere in the ONTAP CLI. A consistency group is denoted as [svm name]:/cg/[cg name].</p><pre>-destination-path jfs_as2:/cg/jfsAA</pre><p>Replicate that source CG called jfsAA to the SVM called jfs_as2 and use the same CG name of jfsAA</p><pre>-cg-item-mappings \<br />jfsAA_grid_siteA:@jfsAA_grid_siteB, \<br />jfsAA_oradata_siteA:@jfsAA_oradata_siteB,\<br />jfsAA_logs_siteA:@jfsAA_log_siteB</pre><p>This section controls the mapping of volumes to volumes. The syntax is [source volume]:@[destination volume]. I've mapped the source grid volume to the destination grid volume, oradata to oradata, and logs to logs. The only difference in the name is the suffix. I used a siteA and siteB suffix for the volumes to avoid user errors. If someone is performing management activities on the UI, using either SystemManager or the CLI, they should be readily able to tell whether they're working on the site A or site B system based on the suffix of the volume names.</p><pre>-policy AutomatedFailOverDuplex</pre><p>The final argument specifies a snapmirror relationship of type AutomatedFailoverDuplex, which means bidirectional synchronous replication with automated failure detection. The relationship now exists, but it's not yet initialized. This requires the following command on the second cluster.</p><pre>Cluster2::&gt; snapmirror initialize -destination-path jfs_as2:/cg/jfsAA<br />Operation is queued: SnapMirror initialize of destination "jfs_as2:/cg/jfsAA".</pre><p>I can check the status as follows, and the key is looking for a Relationship Status of InSync and Healthy being true.</p><pre>Cluster2::&gt; snapmirror show -vserver jfs_as2 -destination-path jfs_as2:/cg/jfsAA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Source Path: jfs_as1:/cg/jfsAA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Destination Path: jfs_as2:/cg/jfsAA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Relationship Type: XDP<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Relationship Group Type: consistencygroup<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SnapMirror Policy: AutomatedFailOverDuplex<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mirror State: Snapmirrored<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Relationship Status: InSync<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Healthy: true</pre><h3 id="toc-hId-978522378">Define the igroup</h3><p>Before I make the LUNs available, I need to define the initiator group (igroup). I&rsquo;m building an Oracle RAC cluster, which means two different hosts will be accessing the same LUNs. I&rsquo;m using iSCSI, but FC works the same. It just uses WWNs rather than iSCSI initiator IDs.</p><p>First, I'll create the igroup on the site A system. Any LUNs mapped to this igroup will be available via iSCSI to hosts using the specified initiator.</p><pre>Cluster1::&gt; igroup create -vserver jfs_as1 -igroup jfsAA -ostype linux -initiator iqn.1994-05.com.redhat:a8ee93358a32</pre><p>Next, I'll enter Advanced mode and associate the local initiator name with the local SVM. This is how ONTAP controls path priority.&nbsp; Any host with a WWN or iSCSI initiator listed in igroup will be able to access LUNs mapped to that igroup, but the path priorities would not be optimal. I want paths originating on site A to only be advertised as optimal paths to the hosts located on site A.</p><pre>Cluster1::&gt; set advanced<br />Cluster1::*&gt; igroup initiator add-proximal-vserver -vserver jfs_as1 iqn.1994-05.com.redhat:a8ee93358a32 -proximal-vservers jfs_as1</pre><p>I then repeat the process on site B, using the WWN or iSCSI initiator of the host on site B.</p><pre>Cluster2::&gt; igroup create -vserver jfs_as2&nbsp; -igroup jfsAA -ostype linux -initiator iqn.1994-05.com.redhat:5214562dfc56<br />Cluster1::*&gt; set advanced<br />Cluster2::*&gt; igroup initiator add-proximal-vserver -vserver jfs_as2 iqn.1994-05.com.redhat:5214562dfc56 -proximal-vservers jfs_as2</pre><p>I didn't really need to add the <span style="font-family: courier new,courier;">proximal-vserver</span> information. Read on to understand why not.</p><h2 id="toc-hId-223316776">Map<span> the LUNs</span></h2><p>Next, I map the LUNs to the igroup so the hosts will be able to access them. Although I used the same igroup name on each site, these igroups are located on different SVMs.</p><pre>Cluster1::&gt; lun map -vserver jfs_as1 /vol/jfsAA_grid_siteA/lun0&nbsp; -igroup jfsAA<br />Cluster1::&gt; lun map -vserver jfs_as1 /vol/jfsAA_grid_siteA/lun1&nbsp; -igroup jfsAA<br />&hellip;<br />Cluster1::&gt; lun map -vserver jfs_as1 /vol/jfsAA_oradata_siteA/lun6 -igroup jfsAA<br />Cluster1::&gt; lun map -vserver jfs_as1 /vol/jfsAA_oradata_siteA/lun7 -igroup jfsAA</pre><pre>Cluster2::&gt; lun map -vserver jfs_as2 /vol/jfsAA_grid_siteB/lun0&nbsp; -igroup jfsAA<br />Cluster2::&gt; lun map -vserver jfs_as2 /vol/jfsAA_grid_siteB/lun1&nbsp; -igroup jfsAA<br />&hellip;<br />Cluster2::&gt; lun map -vserver jfs_as2 /vol/jfsAA_oradata_siteB/lun6 -igroup jfsAA<br />Cluster2::&gt; lun map -vserver jfs_as2 /vol/jfsAA_oradata_siteB/lun7 -igroup jfsAA</pre><h2 id="toc-hId-1966127111">Oracle Configuration</h2><p>From this point, setup is exactly like any other Oracle RAC server. Functionally, this is like a 2-site Oracle Extended RAC cluster, except there's no need for configuring ASM failgroups. The replication services are built-in to the storage system.</p><h3 id="toc-hId-1911986087">Device Names</h3><p>There are multiple ways to control device names with Oracle, but my personal preference is using udev rules and multipath aliases. It takes more up-front work, but I have more control over the exact naming conventions to be used.</p><p>The <span style="font-family: courier new,courier;">multipath.conf</span> file looks like this on each RAC node:</p><pre>[root@jfs12 ~]# cat /etc/multipath.conf<br />multipaths {<br />&nbsp;&nbsp;&nbsp; multipath {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wwid&nbsp; 3600a0980383041327a2b55676c547247<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alias grid0<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; multipath {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wwid&nbsp; 3600a0980383041327a2b55676c547248<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alias grid1<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; multipath {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wwid&nbsp; 3600a0980383041327a2b55676c547249<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alias grid2<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &hellip;<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; multipath {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wwid&nbsp; 3600a0980383041334a3f55676c69734d<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alias logs5<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; multipath {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wwid&nbsp; 3600a0980383041334a3f55676c69734e<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alias logs6<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; multipath {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wwid&nbsp; 3600a0980383041334a3f55676c69734f<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alias logs7<br />&nbsp;&nbsp;&nbsp; }<br />}</pre><p>Then I have the following udev rule:</p><pre>[root@jfs12 ~]# cat /etc/udev/rules.d/99-asm.rules<br />ENV{DM_NAME}=="grid*", GROUP:="asmadmin", OWNER:="grid", MODE:="660"<br />ENV{DM_NAME}=="oradata*", GROUP:="asmadmin", OWNER:="grid", MODE:="660"<br />ENV{DM_NAME}=="logs*", GROUP:="asmadmin", OWNER:="grid", MODE:="660"</pre><p>The result is clear device names that are automatically assigned the correct user and group permissions. You can even see the devices in /dev/mapper.</p><pre>[root@jfs12 ~]# ls /dev/mapper<br />control&nbsp; grid1&nbsp; logs0&nbsp; logs2&nbsp; logs4&nbsp; logs6&nbsp; oradata0&nbsp; oradata2&nbsp; oradata4&nbsp; oradata6&nbsp; vg00-root</pre><h3 id="toc-hId--640170874">ASM Configuration</h3><p>Unlike typical Extended RAC, I created the ASM diskgroups with external redundancy, which means no mirroring by ASM itself. Replication services are provided by the storage system, not RAC. I created the following ASM diskgroups:</p><pre>[root@jfs12 ~]# /grid/bin/asmcmd ls<br />DBF/<br />GRID/<br />LOGS/</pre><p><br />From this point on, the installation process is exactly like any other Oracle RAC installation.</p><h3 id="toc-hId-1102639461">Database Creation</h3><p>I used the following database layout:</p><pre>[root@jfs12 ~]# /grid/bin/asmcmd ls DBF/NTAP<br />124D13D9FE3FFF29E06370AAC00A260E/<br />124DA9A2A3BB954AE06370AAC00A7624/<br />DATAFILE/<br />NTAPpdb1/<br />PARAMETERFILE/<br />PASSWORD/<br />TEMPFILE/<br />pdbseed/<br />sysaux01.dbf<br />system01.dbf<br />temp01.dbf<br />undotbs01.dbf<br />undotbs02.dbf<br />users01.dbf<br /><br />[root@jfs12 ~]# /grid/bin/asmcmd ls LOGS/NTAP<br />ARCHIVELOG/<br />CONTROLFILE/<br />ONLINELOG/<br />control01.ctl<br />control02.ctl<br />redo01.log<br />redo02.log<br />redo03.log<br />redo04.log</pre><p>There is a reason for this, but it's not connected to the use of SnapMirror active sync. See the section above called "Provision storage" for an explanation.</p><h1 id="toc-hId-2144385218">Failure scenarios</h1><p>The following diagram shows the Oracle database and storage configuration as it exists at the hardware level (mediator not shown), and it is using a non-uniform network configuration. There is no SAN connectivity across sites.</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/ea/ea737d84f79906b3aa5a427a35422aa7.png" role="button" title="logical.v1.png" alt="logical.v1.png" width="732" /></span></p><p>I wrote above that I didn't need to configure host proximity. The reason is I'm using a nonuniform configuration. I have not stretched the SAN across sites. The only paths available to hosts are local paths. There's no reason to add host proximity settings because hosts will never be able to see storages paths to an opposite site. I included the instructions for configuring host proximity for readers who may be using uniform configurations and need to know how proximity settings are controlled.</p><p>Several of the scenarios described below that resulted in loss of database services would not have happened with a uniform network configuration. There is no cross-site SAN connectivity, so anything that results in the loss of active paths on a given site will mean there were no paths remaining at all. In a uniform network configuration, each site would be able to use alternate paths on the opposite site. The reason a non-uniform configuration was chosen for these tests was to illustrate that it is possible to have active-active RPO=0 replication without extending the SAN. It's a more demanding use case, and while it does have some limitations it also has benefits, such as a simpler SAN architecture.</p><p>There's another way to look at the storage architecture. The existence of replication is essentially invisible to the Oracle database and the RAC cluster. Various failure scenarios might result in disruption to certain database servers or the loss of certain paths, but as far as the database is concerned, there's just one set of LUNs. Logically, it looks like this:</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/18/18082662ad16cfa8080b83c2ff304f1e.png" role="button" title="logical1.png" alt="logical1.png" width="786" /></span></p><h2 id="toc-hId-2090244194">Preferred sites</h2><p>The configuration is symmetric, with one exception that is connected to split-brain management.</p><p>The question you need to ask is this - what happens if the replication link is lost and neither site has quorum? What do you want to happen? This question applies to both the Oracle RAC and the ONTAP behavior. If changes cannot be replicated across sites, and you want to resume operations, one of the sites will have to survive and the other site will have to become unavailable.</p><h3 id="toc-hId-2036103170">Oracle and css_critical</h3><p>In the case of Oracle RAC, the default behavior is that one of the nodes in a RAC cluster that consists of an even number of servers will be deemed more important than the other nodes. The site with that higher priority node will survive site isolation while the nodes on the other site will evict. The prioritization is based on multiple factors, but you can also control this behavior using the <span style="font-family: courier new,courier;">css_critical</span> setting.</p><p>My environment has two nodes, jfs12 and jfs13. The current settings for <span style="font-family: courier new,courier;">css_critical</span> are as follows:</p><pre>[root@jfs12 ~]# /grid/bin/crsctl get server css_critical<br />CRS-5092: Current value of the server attribute CSS_CRITICAL is no.</pre><pre>[root@jfs13 trace]# /grid/bin/crsctl get server css_critical<br />CRS-5092: Current value of the server attribute CSS_CRITICAL is no.</pre><p>I want the site with jfs12 to be the preferred site, so I changed this value to yes on a site A node and restart services.</p><pre>[root@jfs12 ~]# /grid/bin/crsctl set server css_critical yes<br />CRS-4416: Server attribute 'CSS_CRITICAL' successfully changed. Restart Oracle High Availability Services for new value to take effect.<br /><br />[root@jfs12 ~]# /grid/bin/crsctl stop crs<br />CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'jfs12'<br />CRS-2673: Attempting to stop 'ora.crsd' on 'jfs12'<br />CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on server 'jfs12'<br />CRS-2673: Attempting to stop 'ora.ntap.ntappdb1.pdb' on 'jfs12'<br />&hellip;<br /><br />CRS-2673: Attempting to stop 'ora.gipcd' on 'jfs12'<br />CRS-2677: Stop of 'ora.gipcd' on 'jfs12' succeeded<br />CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'jfs12' has completed<br />CRS-4133: Oracle High Availability Services has been stopped.<br /><br />[root@jfs12 ~]# /grid/bin/crsctl start crs<br />CRS-4123: Oracle High Availability Services has been started.</pre><h3 id="toc-hId-1723224876">SnapMirror active sync preferred site</h3><p>At any given moment, SnapMirror active sync will consider one site the "source" and the other the "destination". This implies a one-way replication relationship, but that's not what's happening. This is how the preferred site is determined. If the replication link is lost, the LUN paths on the source will continue to serve data while the LUN paths on the destination will become unavailable until replication is reestablished and enters a synchronous state. The paths will then resume serving data.</p><p>My current configuration has site A as the preferred site for both Oracle and ONTAP. This can be viewed via SystemManager:</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/86/867f8335007077e2f3fc80374118a967.png" role="button" title="sm.1.png" alt="sm.1.png" width="571" /></span></p><p>or at the CLI:</p><pre>Cluster2::&gt; snapmirror show -destination-path jfs_as2:/cg/jfsAA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Source Path: jfs_as1:/cg/jfsAA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Destination Path: jfs_as2:/cg/jfsAA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Relationship Type: XDP<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Relationship Group Type: consistencygroup<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SnapMirror Schedule: -<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SnapMirror Policy Type: automated-failover-duplex<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SnapMirror Policy: AutomatedFailOverDuplex<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mirror State: Snapmirrored<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Relationship Status: InSync</pre><p>The key is that the <strong>source</strong> is the SVM on cluster1. As mentioned above, the terms "source" and "destination" don't describe the flow of replicated data. Both sites can process a write and replicate it to the opposite site. In effect, both clusters are sources and destinations. The effect of designating one cluster as a source simply controls which cluster survives as a read-write storage system if the replication link is lost.</p><h2 id="toc-hId-968019274">Loss of SnapMirror replication connectivity</h2><p>If I cut the SM-as replication link, write IO cannot be completed because it would be impossible for a cluster to replicate changes to the opposite site. Here's what will happen with an Oracle RAC environment.</p><h3 id="toc-hId-913878250">Site A</h3><p>The result on site A of a replication link failure will be an approximately 15 second pause in write IO processing as ONTAP attempts to replicate writes before it determines that the replication link is genuinely inoperable. After the 15 seconds elapses, the ONTAP cluster on site A resumes read and write IO processing. The SAN paths will not change, and the LUNs will remain online.</p><h3 id="toc-hId--1638278711">Site B</h3><p>Since site B is not the SnapMirror active sync preferred site, its LUN paths will become unavailable after about 15 seconds.</p><p>The replication link was cut at the timestamp 15:19:44. The first warning from Oracle RAC arrives 100 seconds later as the 200 second timeout (controlled by the Oracle RAC parameter <span style="font-family: courier new,courier;">disktimeout</span>) approaches.</p><pre>2024-09-10 15:21:24.702 [ONMD(2792)]CRS-1615: No I/O has completed after 50% of the maximum interval. If this persists, voting file /dev/mapper/grid2 will be considered not functional in 99340 milliseconds.<br />2024-09-10 15:22:14.706 [ONMD(2792)]CRS-1614: No I/O has completed after 75% of the maximum interval. If this persists, voting file /dev/mapper/grid2 will be considered not functional in 49330 milliseconds.<br />2024-09-10 15:22:44.708 [ONMD(2792)]CRS-1613: No I/O has completed after 90% of the maximum interval. If this persists, voting file /dev/mapper/grid2 will be considered not functional in 19330 milliseconds.<br />2024-09-10 15:23:04.710 [ONMD(2792)]CRS-1604: CSSD voting file is offline: /dev/mapper/grid2; details at (:CSSNM00058:) in /gridbase/diag/crs/jfs13/crs/trace/onmd.trc.<br />2024-09-10 15:23:04.710 [ONMD(2792)]CRS-1606: The number of voting files available, 0, is less than the minimum number of voting files required, 1, resulting in CSSD termination to ensure data integrity; details at (:CSSNM00018:) in /gridbase/diag/crs/jfs13/crs/trace/onmd.trc<br />2024-09-10 15:23:04.716 [ONMD(2792)]CRS-1699: The CSS daemon is terminating due to a fatal error from thread: clssnmvDiskPingMonitorThread; Details at (:CSSSC00012:) in /gridbase/diag/crs/jfs13/crs/trace/onmd.trc<br />2024-09-10 15:23:04.731 [OCSSD(2794)]CRS-1652: Starting clean up of CRSD resources.</pre><p>Once the 200 second voting disk timeout has been reached, this Oracle RAC node will evict itself from the cluster and reboot.</p><h2 id="toc-hId-1901482983">Loss of Oracle RAC replication</h2><p>Loss of the Oracle RAC replication link will produce a similar result, except the timeouts will be shorter by default. An Oracle RAC node will wait 200 seconds after loss of storage connectivity before evicting, but it will only wait 30 seconds after loss of the RAC network heartbeat.</p><p>The CRS messages are similar to those shown below. &nbsp;You can see the 30 second timeout lapse. Since <span style="font-family: courier new,courier;">css_critical</span> was set on jfs12, located on site A, that will be the site to survive and jfs13 on site B will be evicted.</p><pre>2024-09-12 10:56:44.047 [ONMD(3528)]CRS-1611: Network communication with node jfs13 (2) has been missing for 75% of the timeout interval.&nbsp; If this persists, removal of this node from cluster will occur in 6.980 seconds<br />2024-09-12 10:56:48.048 [ONMD(3528)]CRS-1610: Network communication with node jfs13 (2) has been missing for 90% of the timeout interval.&nbsp; If this persists, removal of this node from cluster will occur in 2.980 seconds<br />2024-09-12 10:56:51.031 [ONMD(3528)]CRS-1607: Node jfs13 is being evicted in cluster incarnation 621599354; details at (:CSSNM00007:) in /gridbase/diag/crs/jfs12/crs/trace/onmd.trc.<br />2024-09-12 10:56:52.390 [CRSD(6668)]CRS-7503: The Oracle Grid Infrastructure process 'crsd' observed communication issues between node 'jfs12' and node 'jfs13', interface list of local node 'jfs12' is '192.168.30.1:33194;', interface list of remote node 'jfs13' is '192.168.30.2:33621;'.<br />2024-09-12 10:56:55.683 [ONMD(3528)]CRS-1601: CSSD Reconfiguration complete. Active nodes are jfs12 .<br />2024-09-12 10:56:55.722 [CRSD(6668)]CRS-5504: Node down event reported for node 'jfs13'.<br />2024-09-12 10:56:57.222 [CRSD(6668)]CRS-2773: Server 'jfs13' has been removed from pool 'Generic'.<br />2024-09-12 10:56:57.224 [CRSD(6668)]CRS-2773: Server 'jfs13' has been removed from pool 'ora.NTAP'.</pre><h2 id="toc-hId--650673978">Complete loss of replication network</h2><p>Oracle RAC split-brain detection has a dependency on the Oracle RAC storage heartbeat. If loss of site-to-site connectivity results in simultaneous loss of both the RAC network heartbeat and storage replication services, the result is the RAC sites will not be able to communicate cross-site via either the RAC interconnect or the RAC voting disks. The result in an even-numbed set of nodes may be eviction of both sites under default settings. The exact behavior will depend on the sequence of events and the timing of the RAC network and disk heartbeat polls.</p><p>The risk of a 2-site outage can be addressed in two ways. First, using an odd number of RAC nodes, preferably by use of a 3<sup>rd</sup> site tiebreaker. If a 3<sup>rd</sup> site is unavailable, the tiebreaker instance could be placed on one site. This means that loss of site-to-site connectivity will cause LUN paths to go down on one site, but one of the RAC sites will still have quorum and will not evict.</p><p>If a 3<sup>rd</sup> site is not available, this problem can be addressed by adjusting the <span style="font-family: courier new,courier;">misscount</span> parameter on the RAC cluster. Under the defaults, the RAC network heartbeat timeout is 30 seconds. This normally is used by RAC to identify failed RAC nodes and remove them from the cluster. It also has a connection to the voting disk heartbeat.</p><p>If, for example, the conduit carrying intersite traffic for both Oracle RAC and storage replication services is cut by a backhoe, the 30 second <span style="font-family: courier new,courier;">misscount</span> countdown will begin. If the RAC preferred site node cannot reestablish contact with the opposite site within 30 seconds, and it also cannot use the voting disks to confirm the opposite site is down within that same 30 second window, then the preferred site nodes will also evict. The result is a full database outage.</p><p>Depending on when the <span style="font-family: courier new,courier;">misscount</span> polling occurs, 30 seconds may not be enough time for SnapMirror active sync to time out and allow storage on the preferred site to resume services before the 30 second window expires. This 30 second window can be increased.</p><pre>[root@jfs12 ~]# /grid/bin/crsctl set css misscount 100<br />CRS-4684: Successful set of parameter misscount to 100 for Cluster Synchronization Services.</pre><p>This value allows the storage system on the preferred site to resume operations before the <span style="font-family: courier new,courier;">misscount</span> timeout expires. The result will then be eviction only of the nodes at the site where the LUN paths were removed. Example below:</p><pre>2024-09-12 09:50:59.352 [ONMD(681360)]CRS-1612: Network communication with node jfs13 (2) has been missing for 50% of the timeout interval.&nbsp; If this persists, removal of this node from cluster will occur in 49.570 seconds<br />2024-09-12 09:51:10.082 [CRSD(682669)]CRS-7503: The Oracle Grid Infrastructure process 'crsd' observed communication issues between node 'jfs12' and node 'jfs13', interface list of local node 'jfs12' is '192.168.30.1:46039;', interface list of remote node 'jfs13' is '192.168.30.2:42037;'.<br />2024-09-12 09:51:24.356 [ONMD(681360)]CRS-1611: Network communication with node jfs13 (2) has been missing for 75% of the timeout interval.&nbsp; If this persists, removal of this node from cluster will occur in 24.560 seconds<br />2024-09-12 09:51:39.359 [ONMD(681360)]CRS-1610: Network communication with node jfs13 (2) has been missing for 90% of the timeout interval.&nbsp; If this persists, removal of this node from cluster will occur in 9.560 seconds<br />2024-09-12 09:51:47.527 [OHASD(680884)]CRS-8011: reboot advisory message from host: jfs13, component: cssagent, with time stamp: L-2024-09-12-09:51:47.451<br />2024-09-12 09:51:47.527 [OHASD(680884)]CRS-8013: reboot advisory message text: oracssdagent is about to reboot this node due to unknown reason as it did not receive local heartbeats for 10470 ms amount of time<br />2024-09-12 09:51:48.925 [ONMD(681360)]CRS-1632: Node jfs13 is being removed from the cluster in cluster incarnation 621596607</pre><p>Note: Oracle Support strongly discourages altering with the <span style="font-family: courier new,courier;">misscount</span> or <span style="font-family: courier new,courier;">disktimeout</span> parameters to solve configuration problems. Changing these parameters can, however, be warranted and unavoidable in many cases, including SAN booting, virtualized, and storage replication configurations. If, for example, you had stability problems with a SAN or IP network that was resulting in RAC evictions you should fix the underlying problem and not charge the values of the <span style="font-family: courier new,courier;">misscount</span> or <span style="font-family: courier new,courier;">disktimeout</span>. Changing timeouts to address configuration errors is masking a problem, not solving a problem. Changing these parameters to properly configure a RAC environment based on design aspects of the underlying infrastructure is different and is consistent with Oracle support statements. With SAN booting, it is common to adjust <span style="font-family: courier new,courier;">misscount</span> all the way up to 200 to match <span style="font-family: courier new,courier;">disktimeout</span>.</p><h2 id="toc-hId-1092136357">Storage system failure</h2><p>The result of a storage system failure is nearly identical to the result of losing the replication link. The surviving site should experience a roughly 15 second IO pause on writes. Once that 15 second period elapses, IO will resume on that site as usual.</p><p>The Oracle RAC node on the failed site will lose storage services and enter the same 200 second <span style="font-family: courier new,courier;">disktimeout</span> countdown before eviction and subsequent reboot.</p><pre>2024-09-11 13:44:38.613 [ONMD(3629)]CRS-1615: No I/O has completed after 50% of the maximum interval. If this persists, voting file /dev/mapper/grid2 will be considered not functional in 99750 milliseconds.<br />2024-09-11 13:44:51.202 [ORAAGENT(5437)]CRS-5011: Check of resource "NTAP" failed: details at "(:CLSN00007:)" in "/gridbase/diag/crs/jfs13/crs/trace/crsd_oraagent_oracle.trc"<br />2024-09-11 13:44:51.798 [ORAAGENT(75914)]CRS-8500: Oracle Clusterware ORAAGENT process is starting with operating system process ID 75914<br />2024-09-11 13:45:28.626 [ONMD(3629)]CRS-1614: No I/O has completed after 75% of the maximum interval. If this persists, voting file /dev/mapper/grid2 will be considered not functional in 49730 milliseconds.<br />2024-09-11 13:45:33.339 [ORAAGENT(76328)]CRS-8500: Oracle Clusterware ORAAGENT process is starting with operating system process ID 76328<br />2024-09-11 13:45:58.629 [ONMD(3629)]CRS-1613: No I/O has completed after 90% of the maximum interval. If this persists, voting file /dev/mapper/grid2 will be considered not functional in 19730 milliseconds.<br />2024-09-11 13:46:18.630 [ONMD(3629)]CRS-1604: CSSD voting file is offline: /dev/mapper/grid2; details at (:CSSNM00058:) in /gridbase/diag/crs/jfs13/crs/trace/onmd.trc.<br />2024-09-11 13:46:18.631 [ONMD(3629)]CRS-1606: The number of voting files available, 0, is less than the minimum number of voting files required, 1, resulting in CSSD termination to ensure data integrity; details at (:CSSNM00018:) in /gridbase/diag/crs/jfs13/crs/trace/onmd.trc<br />2024-09-11 13:46:18.638 [ONMD(3629)]CRS-1699: The CSS daemon is terminating due to a fatal error from thread: clssnmvDiskPingMonitorThread; Details at (:CSSSC00012:) in /gridbase/diag/crs/jfs13/crs/trace/onmd.trc<br />2024-09-11 13:46:18.651 [OCSSD(3631)]CRS-1652: Starting clean up of CRSD resources.</pre><p>The SAN path state on the RAC node that has lost storage services looks like this:</p><pre>oradata7 (3600a0980383041334a3f55676c697347) dm-20 NETAPP,LUN C-Mode<br />size=128G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw<br />|-+- policy='service-time 0' prio=0 status=enabled<br />| `- 34:0:0:18 sdam 66:96&nbsp; failed faulty running<br />`-+- policy='service-time 0' prio=0 status=enabled<br />&nbsp; `- 33:0:0:18 sdaj 66:48&nbsp; failed faulty running</pre><p>The linux host detected the loss of the paths much quicker than 200 seconds, but from a database perspective the client connections to the host on the failed site will still be frozen for 200 seconds under the default Oracle RAC settings. Full database operations will only resume after the eviction is completed.</p><p>Meanwhile, the Oracle RAC node on the opposite site will record the loss of the other RAC node. It otherwise continues to operate as usual.</p><pre>2024-09-11 13:46:34.152 [ONMD(3547)]CRS-1612: Network communication with node jfs13 (2) has been missing for 50% of the timeout interval.&nbsp; If this persists, removal of this node from cluster will occur in 14.020 seconds<br />2024-09-11 13:46:41.154 [ONMD(3547)]CRS-1611: Network communication with node jfs13 (2) has been missing for 75% of the timeout interval.&nbsp; If this persists, removal of this node from cluster will occur in 7.010 seconds<br />2024-09-11 13:46:46.155 [ONMD(3547)]CRS-1610: Network communication with node jfs13 (2) has been missing for 90% of the timeout interval.&nbsp; If this persists, removal of this node from cluster will occur in 2.010 seconds<br />2024-09-11 13:46:46.470 [OHASD(1705)]CRS-8011: reboot advisory message from host: jfs13, component: cssmonit, with time stamp: L-2024-09-11-13:46:46.404<br />2024-09-11 13:46:46.471 [OHASD(1705)]CRS-8013: reboot advisory message text: At this point node has lost voting file majority access and oracssdmonitor is rebooting the node due to unknown reason as it did not receive local hearbeats for 28180 ms amount of time<br />2024-09-11 13:46:48.173 [ONMD(3547)]CRS-1632: Node jfs13 is being removed from the cluster in cluster incarnation 621516934</pre><h2 id="toc-hId--1460020604">Cut the power to the <span>mediator</span></h2><p>The mediator service does not directly control storage operations. It functions as an alternate control path between clusters. It exists primarily to automate failover without the risk of a split-brain scenario. In normal operation, each cluster is replicating changes to its partner, and each cluster therefore can verify that the partner cluster is online and serving data. If the replication link failed, replication would cease.</p><p>The reason a mediator is required for safe automated operations is because it would otherwise be impossible for a storage clusters to be able to determine whether loss of bidirectional communication was the result of a network outage or actual storage failure.</p><p>The mediator provides an alternate path for each cluster to verify the health of its partner. The scenarios are as follows:</p><ul><li>If a cluster can contact its partner directly, replication services are operational. No action required.</li><li>If a preferred site cannot contact its partner directly or via the mediator, it will assume the partner is either actually unavailable or was isolated and has taken its LUN paths offline. The preferred site will then proceed to release the RPO=0 state and continue processing both read and write IO.</li><li>If a non-preferred site cannot contact its partner directly, but can contact it via the mediator, it will take its paths offline and await the return of the replication connection.</li><li>If a non-preferred site cannot contact its partner directly or via an operational mediator, it will assume the partner is either actually unavailable or was isolated and has taken its LUN paths offline. The non-preferred site will then proceed to release the RPO=0 state and continue processing both read and write IO. It will assume the role of the replication source and will become the new preferred site.</li></ul><p>If the mediator is wholly unavailable:</p><ul><li>Failure of replication services for any reason will result in the preferred site releasing the RPO=0 state and resuming read and write IO processing. The non-preferred site will take its paths offline.</li><li>Failure of the preferred site will result in an outage because the non-preferred site will be unable to verify that the opposite site is truly offline and therefore it would not be safe for the nonpreferred site to resume services.</li></ul><h2 id="toc-hId-282789731">Restoring services</h2><p>It's difficult to demonstrate what happens when power is restored after a failure or a replication link failure is repaired. SnapMirror active sync will automatically detect the presence of a faulty replication relationship and bring it back to an RPO=0 state. Once synchronous replication is reestablished, the paths will come online again.</p><p>In many cases, clustered applications will automatically detect the return of failed paths, and those applications will also come back online. In other cases, a host-level SAN scan may be required, or applications may need to be brought back online manually. It depends on the application and how it's configured, and in general such tasks can be easily automated. ONTAP itself is self-healing and should not require any user intervention to resume RPO=0 storage operations.</p><p>Another feature of SnapMirror active sync that is difficult to demonstrate is the speed of recovery. Unlike many competitors, ONTAP replication uses a pointer-based mechanism to track changes. The result is resynchronization after replication interruption is extremely fast. ONTAP is able to identify changed blocks and efficiently and quickly ship them to the remote system, even if replication was interrupted for days, weeks, or months. Many competitors use a slower and less efficient extent-based approach which requires reading and transferring much more data than merely those blocks which have changed. In some cases, the entire mirror must be rebuilt.</p><p>In addition, ONTAP's unique pointer-based technology preserves an intact copy of your data during resynchronization. The copy would be out of date, but it would exist. Resynchronization with many competing technologies results in a copy that is corrupt until the resynchronization is complete. This leaves a customer exposed to significant data loss if the last remaining copy of the data is damaged.&nbsp;</p><p>This is one of many examples of how ONTAP features not only deliver results, but also deliver a superior end result because ONTAP just works better.&nbsp;</p><h2 id="toc-hId-2025600066">SnapMirror active sync failover</h2><p>Changing the preferred site requires a simple operation. IO will pause for a second or two as authority over replication behavior switches between clusters, but IO is otherwise unaffected.</p><p>GUI example:</p><p><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/21/21457a421c0a038da5cc353d91d7a4c7.png" role="button" title="sm.2.png" alt="sm.2.png" width="580" /></span></p><p>Example of changing it back via the CLI:</p><pre>Cluster2::&gt; snapmirror failover start -destination-path jfs_as2:/cg/jfsAA<br />[Job 9575] Job is queued: SnapMirror failover for destination "jfs_as2:/cg/jfsAA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ".<br /><br />Cluster2::&gt; snapmirror failover show<br />Source&nbsp;&nbsp;&nbsp; Destination&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Error<br />Path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type&nbsp;&nbsp;&nbsp;&nbsp; Status&nbsp;&nbsp;&nbsp; start-time end-time&nbsp;&nbsp; Reason<br />-------- -----------&nbsp; -------- --------- ---------- ---------- ----------<br />jfs_as1:/cg/jfsAA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jfs_as2:/cg/jfsAA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; planned&nbsp; completed 9/11/2024&nbsp; 9/11/2024<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 09:29:22&nbsp;&nbsp; 09:29:32</pre><p>The new destination path can be verified as follows:</p><pre>Cluster1::&gt; snapmirror show -destination-path jfs_as1:/cg/jfsAA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Source Path: jfs_as2:/cg/jfsAA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Destination Path: jfs_as1:/cg/jfsAA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Relationship Type: XDP<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Relationship Group Type: consistencygroup<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SnapMirror Policy Type: automated-failover-duplex<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SnapMirror Policy: AutomatedFailOverDuplex<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mirror State: Snapmirrored<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Relationship Status: InSync</pre><h1 id="toc-hId--785294165">Summary</h1><p>The examples above are designed to illustrate SnapMirror active sync functionality. As with most enterprise IT projects, there are few true best practices. The right configuration depends on business needs including RPO, RTO, and SLAs. With respect to disaster recovery, it also depends on which disaster scenarios are more likely than others to occur.</p><p>The next posts planned will include use of an Oracle RAC tiebreaker, use of uniform networking, and quantifying application IO resumption times. The foundation remains the same - SnapMirror active sync operating in active-active mode, an integrated RPO=0/RTO=0 SAN replication technology that is reliable, self-healing, easily configured, and easily managed.</p><p data-unlink="true">If you want to learn more, you can visit the official ONTAP documentation for <a href="https://docs.netapp.com/us-en/ontap/snapmirror-active-sync/index.html" target="_blank" rel="noopener noreferrer nofollow">SnapMirror active sync</a>, and if you'd really like to see it in action I recommend getting in touch with Neto and the rest of the CPOC (Customer Proof Of Concept) team. They've got all the cool hardware to simulate your real-world workloads.&nbsp;</p></div>]]>
        </description>
    </item>
    <item>
        <title>Improve IT Operations Efficiency and Accelerate Troubleshooting with new Data Infrastructure Insight</title>
        <link>https://community.netapp.com/community/discussion/461727/improve-it-operations-efficiency-and-accelerate-troubleshooting-with-new-data-infrastructure-insight</link>
        <pubDate>Thu, 26 Jun 2025 09:00:00 +0000</pubDate>
        <category>Tech ONTAP Blogs</category>
        <dc:creator>cwopat</dc:creator>
        <guid isPermaLink="false">461727@/community/discussions</guid>
        <description><![CDATA[<div><p><span data-contrast="auto">IT Operations teams are managing complex infrastructures with limited visibility, dealing with an overwhelming number of alerts, and reactively troubleshooting while dealing with constant context switching to get needed information, causing delays in incident response. New features in <a href="https://www.netapp.com/data-infrastructure-insights/" target="_blank" rel="noopener noreferrer nofollow">NetApp Data Infrastructure Insights</a> make it easier for teams to deal with these challenges. With the launch of VM Analyzer and landing page enhancements, Data Infrastructure Insights enables storage infrastructure teams to simplify their workflows and accelerate troubleshooting. Here&rsquo;s how this new feature and functionality transforms IT operations for teams while delivering value back to the business.&nbsp;</span><span data-ccp-props="{&quot;335551550&quot;:0,&quot;335551620&quot;:0}">&nbsp;</span></p><h2 id="toc-hId-1707417165"><strong><span data-contrast="auto">VM Analyzer: Enhanced troubleshooting with application-centric insights&nbsp;</span></strong><span data-ccp-props="{}">&nbsp;</span></h2><p><span data-contrast="auto">Troubleshooting in virtual environments has long been hampered by complexity. Application dependencies across virtual machines, hosts, and storage layers often create a tangled web of metrics that make it difficult to pinpoint the root cause of issues. The new VM Analyzer feature in Data Infrastructure Insights can help you cut through the noise with unified topology views.&nbsp;</span><span data-ccp-props="{}">&nbsp;VM Analyzer isolates application-specific infrastructure and delivers AI-driven insights to pinpoint root causes and resolve performance issues faster.&#8239;&nbsp;</span></p><p><strong>With VM Analyzer, teams can:&nbsp;&nbsp;</strong></p><ul><li><span data-contrast="auto">Quickly trace performance issues to their true source</span><span data-ccp-props="{}">&nbsp;</span></li><li><span data-contrast="auto">Resolve incidents with </span><span data-contrast="none">prescriptive recommendations&nbsp;</span><span data-ccp-props="{}">&nbsp;</span></li><li><span data-contrast="none">Align VM and storage performance with mission-critical applications</span><span data-ccp-props="{}">&nbsp;</span></li></ul><p><strong><span data-contrast="auto">What&rsquo;s new:</span></strong><span data-contrast="auto">&#8239;</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></p><ul><li><span data-contrast="auto">AI-driven metric correlation surfaces anomalies the moment they occur&#8239;</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559685&quot;:1080,&quot;335559731&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></li><li><span data-contrast="auto">Application-centric topology maps display VMs, hosts, storage paths, and network links in a single view&#8239;</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559685&quot;:1080,&quot;335559731&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></li><li><span data-contrast="auto">Automated change detection highlights configuration updates that may impact performance&#8239;</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559685&quot;:1080,&quot;335559731&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span><span>&nbsp;</span></li></ul><p><strong><span data-contrast="auto">Why it matters:</span></strong><span data-contrast="auto"> Modern environments shift quickly, and manual investigation across dashboards drains hours and delays fixes. VM Analyzer brings everything into one streamlined process to identify the true source of a problem so you can act immediately.&#8239;</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></p><p><span data-contrast="auto">Here&rsquo;s an example scenario where VM Analyzer can help to quickly troubleshoot an issue:&nbsp;</span><span data-ccp-props="{}">&nbsp;</span></p><p><span data-contrast="auto">A storage manager needs to resolve a critical latency issue reported by the VM support team because a MySQL server VM is experiencing high disk latency. Without a tool like VM Analyzer, the storage team would likely spend hours combing through storage system metrics only to discover the problem doesn&rsquo;t originate there. This is a common occurrence since storage teams are often the first to take blame for issues, and it not only wastes time but can lead to misdiagnoses and increased frustration for users and team members.&nbsp;</span><span data-ccp-props="{}">&nbsp;</span></p><p><span data-contrast="auto">With Data Infrastructure Insights, a storage manager can immediately dig into the issue through an alert and receive a detailed timeline that reveals the latency spike along with related metrics like IOPS and throughput. Utilizing VM Analyzer, the storage manager sees a full topology view of the VM&rsquo;s infrastructure and dependencies.&nbsp;</span></p><p><span data-contrast="auto"><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/f6/f6df2611c6de3d6ab3c4793df5381d94.png" role="button" title="Launch Blog 1.png" alt="Launch Blog 1.png" width="1804" /></span></span></p><p><span data-contrast="auto"><span data-contrast="auto"><span>VM Analyzer </span><span>correlates latency spikes with a timeline entry for a recent infrastructure </span><span>change</span><span> so</span><span> the storage manager can </span><span>quickly pinpoint the root cause of the issu</span><span>e</span><span>.</span></span><span data-contrast="auto"> <span>In this case,</span> </span><span data-contrast="auto"><span>t</span><span>he VM&rsquo;s memory allocation was </span><span>significantly</span><span> reduced just before the latency spike.&nbsp;</span></span><span data-ccp-props="{}">&nbsp;</span></span></p><p><span data-contrast="auto"><span data-ccp-props="{}"><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/55/555c925a33d92e5dcce4c0983fe499a8.png" role="button" title="Launch Blog 2.png" alt="Launch Blog 2.png" width="900" /></span></span></span></p><p><span data-contrast="auto"><span data-ccp-props="{}"><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/fc/fcb15cd121f08c0d94b0fd2f09d52e62.png" role="button" title="Launch Blog 3.png" alt="Launch Blog 3.png" width="1591" /></span></span></span></p><p><span data-contrast="auto">With the problem identified, the storage manager can work with the virtual compute team to quickly restore the VM&rsquo;s memory allocation and, within minutes, VM Analyzer will reflect the correction, showing that metrics have returned to normal levels. Perhaps just as valuable, this ability to confirm the resolution of an issue with precise data can ensure there are no lingering concerns.&nbsp;&nbsp;</span><span data-ccp-props="{}">&nbsp;</span></p><p><span data-contrast="auto">This scenario highlights the capability of VM Analyzer to correlate performance issues with infrastructure changes to eliminate blind troubleshooting and enable speedy diagnosis and resolution. Watch the demo video to see this scenario in action:&nbsp;</span><span><br /></span></p><p><span data-contrast="auto"><video-js data-video-id="6374825573112" data-account="6057994499001" data-player="default" data-embed="default" controls="" data-application-id=""></video-js></span></p></div>(function() {  var wrapper = document.getElementById('lia-vid-6374825573112w960h540r17');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();<a rel="nofollow" href="https://community.netapp.com/t5/video/gallerypage/video-id/6374825573112">(view in My Videos)</a><p><strong><span data-contrast="auto">VM Analyzer key benefits:</span></strong><span data-contrast="auto">&#8239;</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></p><ul><li data-leveltext="&#61623;" data-font="Symbol" data-listid="27" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><span data-contrast="auto">Faster root-cause analysis: Instantly see when IOPS, throughput, or latency deviate&mdash;and why.&#8239;</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><ul><li data-leveltext="&#61623;" data-font="Symbol" data-listid="27" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><span data-contrast="auto">Reduced mean time to resolution (MTTR): With AI-backed alerts and change correlation, troubleshoot in minutes, not days.&#8239;</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><ul><li data-leveltext="&#61623;" data-font="Symbol" data-listid="27" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"><span data-contrast="auto">Team alignment: Shared topology views give both storage and compute teams the same data, reducing finger-pointing and wasted effort.&#8239;</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}">&nbsp;</span></li></ul><h2 id="toc-hId--844739796">&nbsp;</h2><h2 id="toc-hId-898070539"><strong><span data-contrast="auto">Landing page enhancements to streamline your workflows&nbsp;</span></strong><span data-ccp-props="{}">&nbsp;</span></h2><p><span data-contrast="auto">Even the most advanced tools need the right interface to support users effectively. The latest updates to landing pages within Data Infrastructure Insights focus on maximizing screen real estate and reducing context switching to ensure that you have smoother workflows during investigations and troubleshooting.&nbsp;</span><span data-ccp-props="{}">&nbsp;</span></p><p><span data-contrast="auto">This new design keeps all the functionality and detail that storage teams have come to rely on from Data Infrastructure Insights while making it more concise and easier to consume. The new layout helps minimize distraction from context switching and saves teams time when every second counts.&nbsp;</span><span data-ccp-props="{}">&nbsp;</span></p><p><span data-contrast="auto">What you get from the improved interface:&nbsp;</span><span data-ccp-props="{}">&nbsp;</span></p><ul><li data-leveltext="&#61623;" data-font="Symbol" data-listid="16" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><span data-contrast="auto">A cleaner, more intuitive layout tailored for efficiency</span><span data-ccp-props="{}">&nbsp;</span></li></ul><ul><li data-leveltext="&#61623;" data-font="Symbol" data-listid="16" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><span data-contrast="auto">Reduced context switching for faster problem resolution&nbsp;</span><span data-ccp-props="{}">&nbsp;</span></li></ul><ul><li data-leveltext="&#61623;" data-font="Symbol" data-listid="16" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&#61623;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"><span data-contrast="auto">Maximized usability without compromising functionality</span><span data-ccp-props="{}">&nbsp;</span></li></ul><p><span><span><img src="https://us.v-cdn.net/6038798/uploads/migrated-images/8e/8eff1151bdde791a4e72098f21e00046.png" role="button" title="Launch Blog 4.png" alt="Launch Blog 4.png" width="1899" /></span></span></p><h2 id="toc-hId--1654086422">&nbsp;</h2><h2 id="toc-hId-88723913"><strong><span data-contrast="auto">Combined Benefits for Your ITOps&nbsp;</span></strong><span data-ccp-props="{}">&nbsp;</span></h2><p><span data-contrast="auto">The introduction of VM Analyzer and enhanced user interface capabilities mark a significant step forward in simplifying storage operations. Together, these features and enhancements offer a cohesive experience that empowers storage operations teams to achieve more with less effort. With faster troubleshooting and streamlined monitoring, teams can escape the constant fire drills and manual processes and boost overall efficiency. Early issue detection paired with recommended actions minimizes downtime and prevents costly disruptions. By aligning data-driven recommendations with application and business priorities, Data Infrastructure Insights strengthens IT Operations with precise insights and proactive monitoring.&nbsp;</span><span data-ccp-props="{}">&nbsp;</span></p><p><span data-contrast="auto">Request a </span><a href="https://www.netapp.com/forms/cloud-insights-demo-request/" target="_blank" rel="noopener noreferrer nofollow"><span data-contrast="none">personalized demo</span></a><span data-contrast="auto"> to see how Data Infrastructure Insights can unlock the next level of operational excellence for your organization.&nbsp;</span><span data-ccp-props="{}">&nbsp;</span></p>]]>
        </description>
    </item>
   </channel>
</rss>
