NS0-529 is the exam for the NetApp Certified Implementation Engineer – Data Protection Specialist (NCIE-DP). Most people who fail it can explain SnapMirror. Where they struggle is choosing between a relationship type, a policy and a failover procedure while the clock is running. This guide follows the exam blueprint and pairs each domain with ONTAP CLI work you can do in a lab, so the commands become familiar before exam day.
NS0-529 exam at a glance
| Item | Detail |
|---|---|
| Exam code | NS0-529 (NCIE-DP) |
| Certification | NetApp Certified Implementation Engineer – Data Protection Specialist |
| Questions | 60 |
| Duration | 90 minutes |
| Passing score | 65% |
| Price | USD 150 |
| Delivery | Pearson VUE |
Ninety minutes for 60 questions works out to 90 seconds each. Many questions are short scenarios ("the customer needs X with an RPO of Y, which configuration?"), so you need to recognise the answer quickly instead of working it out from first principles. NetApp lists the current objectives on the official NCIE Data Protection certification page. Check it before you book, because the NS05xx data protection exam has been refreshed many times (NS0-525 through NS0-528 before this one).
The five domains and what they really test
- Data protection solutions: designing and documenting a solution, plus its dependencies (licences, peering, network, ONTAP versions).
- ONTAP core data protection features: Snapshot copies, SnapMirror, SnapVault-style retention, how storage efficiency survives replication, and hybrid cloud targets.
- NetApp data protection software: deploying and running the tools around ONTAP, including protection for Kubernetes applications.
- ONTAP business continuity: SnapMirror active sync and SVM-DR.
- Troubleshooting and testing: fixing broken relationships, DR drills and restores.
Domains 4 and 5 are where hands-on experience pays off most, so the lab sections below spend the most time there.
Lab setup you can actually run
You don't need production hardware. Two ONTAP simulators (or two ONTAP Select evaluation nodes) on one hypervisor are enough for everything below except SAN-based active sync performance testing. Name them cluster1 and cluster2, give each an intercluster LIF, and create one data SVM per cluster.
Step 1: Peer the clusters and SVMs
Everything in SnapMirror depends on peering, and a surprising number of exam distractors are peering mistakes.
# On cluster2 (destination)
cluster2::> network interface create -vserver cluster2 -lif ic1 -service-policy default-intercluster \
-home-node cluster2-01 -home-port e0c -address 192.168.10.21 -netmask 255.255.255.0
cluster2::> cluster peer create -address-family ipv4 -peer-addrs 192.168.10.11
# On cluster1 (source)
cluster1::> cluster peer create -address-family ipv4 -peer-addrs 192.168.10.21
cluster1::> cluster peer show -instance
# SVM peering
cluster1::> vserver peer create -vserver svm1 -peer-vserver svm1_dr -applications snapmirror -peer-cluster cluster2
cluster2::> vserver peer accept -vserver svm1_dr -peer-vserver svm1
Things to remember: the cluster peer passphrase must match on both sides, every node needs an intercluster LIF that can reach the peer, and the SVM peer application must include snapmirror.
Domain 2: SnapMirror relationship and policy logic
Since ONTAP 9.3 the default relationship type is XDP (extended data protection). The policy, not the relationship type, decides whether the destination behaves as a mirror, a vault or both. That is the single most tested idea in this domain.
| Policy type | Built-in example | Behaviour |
|---|---|---|
| async-mirror |
MirrorAllSnapshots, MirrorLatest
|
Destination mirrors source Snapshot copies for DR |
| vault | XDPDefault |
Keeps labelled Snapshot copies longer than the source (backup) |
| mirror-vault | MirrorAndVault |
DR and longer retention in one relationship |
| sync-mirror / strict-sync-mirror |
Sync, StrictSync
|
SnapMirror Synchronous, zero RPO |
Step 2: Create a mirror-vault relationship
cluster2::> volume create -vserver svm1_dr -volume vol1_dst -aggregate aggr1 -size 20g -type DP
cluster2::> snapmirror policy create -vserver svm1_dr -policy mv_daily -type mirror-vault
cluster2::> snapmirror policy add-rule -vserver svm1_dr -policy mv_daily -snapmirror-label daily -keep 30
cluster2::> snapmirror policy add-rule -vserver svm1_dr -policy mv_daily -snapmirror-label weekly -keep 8
cluster2::> snapmirror create -source-path svm1:vol1 -destination-path svm1_dr:vol1_dst \
-policy mv_daily -schedule daily
cluster2::> snapmirror initialize -destination-path svm1_dr:vol1_dst
The vault rules only work if the source Snapshot policy creates copies with the matching snapmirror-label. A classic exam scenario is "the vault destination never keeps weekly copies", and the fix is the source label, not the destination rule.
cluster1::> volume snapshot policy modify-schedule -vserver svm1 -policy default \
-schedule weekly -snapmirror-label weekly
Efficiency and hybrid cloud
SnapMirror transfers keep source storage efficiency (deduplication and compression savings carry over), and you can enable network compression in the policy with -is-network-compression-enabled true. For hybrid cloud, the same relationship model replicates to Cloud Volumes ONTAP or Amazon FSx for NetApp ONTAP. Expect questions where the cloud copy is simply another SnapMirror destination with the same peering steps.
You should also know fan-out (one source, several destinations) and cascade (A to B to C) topologies, and which relationship types are allowed in each.
Domain 3: Data protection software, including Kubernetes
The software domain covers the tools that sit on top of ONTAP Snapshot and SnapMirror:
- SnapCenter for application-consistent backups (SQL Server, Oracle, VMware, SAP HANA and others), with plug-ins that quiesce the application before the Snapshot copy.
- NetApp Backup and Recovery in the NetApp Console (formerly BlueXP backup and recovery) for backup to object storage and centrally managed policies.
- NetApp Trident protect for Kubernetes applications. It took over the role of Astra Control and works through Kubernetes custom resources.
A Trident protect flow is a good thing to know at the level of "which object does what":
# AppVault: where backups are stored (an object storage bucket)
apiVersion: protect.trident.netapp.io/v1
kind: AppVault
metadata:
name: s3-vault
namespace: trident-protect
spec:
providerType: AWS
providerConfig:
s3:
bucketName: k8s-backups
endpoint: s3.amazonaws.com
providerCredentials:
accessKeyID:
valueFromSecret: {name: s3-secret, key: accessKeyID}
secretAccessKey:
valueFromSecret: {name: s3-secret, key: secretAccessKey}
After that come an Application resource that defines what to protect (namespaces and label selectors), then Snapshot, Backup and Schedule resources. For cross-cluster DR, an AppMirrorRelationship uses SnapMirror underneath. If a scenario asks how to replicate a stateful Kubernetes app to a second cluster with storage-level efficiency, that is the answer it is looking for.
Domain 4: Business continuity with SnapMirror active sync and SVM-DR
SnapMirror active sync
SnapMirror active sync was called SnapMirror Business Continuity (SM-BC) before ONTAP 9.15.1. It replicates a consistency group synchronously and fails over automatically, using the ONTAP Mediator or, from ONTAP 9.17.1, the Cloud Mediator as the tiebreaker.
Points that come up again and again:
- Supported on AFF, ASA and ASA r2, and both clusters must be the same type.
- Protects iSCSI or FC LUNs and NVMe namespaces. Know that the documentation also describes NAS configurations, where the secondary SVM is dormant.
-
AutomatedFailOverDuplexgives symmetric active/active (both sites serve I/O locally, used with VMware vMSC, Windows failover clusters and Oracle RAC).AutomatedFailOveris the asymmetric mode, where the secondary proxies I/O.
cluster1::> snapmirror mediator add -mediator-address 192.168.10.50 -peer-cluster cluster2 -username mediatoradmin
cluster2::> snapmirror create -source-path svm1:/cg/cg_app -destination-path svm1_dr:/cg/cg_app_dst \
-cg-item-mappings lun_vol1:@lun_vol1_dst,lun_vol2:@lun_vol2_dst \
-policy AutomatedFailOverDuplex
cluster2::> snapmirror initialize -destination-path svm1_dr:/cg/cg_app_dst
cluster2::> snapmirror show -destination-path svm1_dr:/cg/cg_app_dst -fields state,status,healthy
SVM-DR
SVM-DR replicates a whole SVM: volumes plus configuration such as LIFs, export policies, CIFS shares and name services, depending on the identity-preserve setting.
cluster2::> vserver create -vserver svm1_dr -subtype dp-destination
cluster2::> snapmirror create -source-path svm1: -destination-path svm1_dr: \
-identity-preserve true -policy MirrorAllSnapshots -schedule hourly
cluster2::> snapmirror initialize -destination-path svm1_dr:
With -identity-preserve true the destination takes over the source network identity, so the source SVM must be stopped before the destination starts serving data. With false, only data and part of the configuration are copied, and clients have to be pointed at new LIFs. That one difference explains half the SVM-DR scenario questions.
Domain 5: Troubleshooting, DR drills and restores
A planned SVM-DR failover drill
cluster2::> snapmirror update -destination-path svm1_dr:
cluster2::> snapmirror quiesce -destination-path svm1_dr:
cluster2::> snapmirror break -destination-path svm1_dr:
cluster1::> vserver stop -vserver svm1
cluster2::> vserver start -vserver svm1_dr
Then fail back by reversing the direction with snapmirror resync from the original source side, update, break again and restart the original SVM. Practise the full round trip at least twice. The exam likes to ask which step comes next, or which step was skipped.
Health checks that answer most "why is it broken" questions
cluster2::> snapmirror show -fields state,status,healthy,lag-time,unhealthy-reason
cluster2::> snapmirror show-history -destination-path svm1_dr:vol1_dst
cluster1::> cluster peer health show
cluster1::> event log show -message-name *snapmirror* -severity <=error
| Symptom | Usual cause |
|---|---|
lag-time keeps growing |
Schedule missing, transfer failing, or not enough intercluster bandwidth |
Broken-off state |
Someone ran snapmirror break (planned or not), so resync is needed |
| Resync deletes newer data | Expected: resync rolls the destination back to the common Snapshot copy |
| Vault keeps no copies | Source Snapshot copies lack the matching snapmirror-label
|
| Peering unavailable | Intercluster LIF routing, firewall ports 11104/11105, or passphrase mismatch |
Restores
Know the difference between a single-file restore from a Snapshot copy, snapmirror restore from a vault destination back to a new or existing volume, and FlexClone of a destination for test restores without breaking the relationship.
cluster1::> snapmirror restore -source-path svm1_dr:vol1_dst -destination-path svm1:vol1_restore \
-source-snapshot daily.2026-10-25_0010
A four-week NS0-529 study plan
| Week | Focus | Lab goal |
|---|---|---|
| 1 | Domains 1–2 | Peering, mirror, vault and mirror-vault relationships with labels |
| 2 | Domain 3 | SnapCenter concepts, cloud backup, a Trident protect backup on a test cluster |
| 3 | Domain 4 | SVM-DR with identity-preserve true and false, active sync concepts and commands |
| 4 | Domain 5 and review | Two full DR drills, restore paths, timed practice sets |
In week four, switch from reading to timed questions. The NetApp ONTAP documentation on SnapMirror active sync is the best single reference for the business continuity domain. For timed practice, NWExam has free NS0-529 sample questions that follow the same five domains, which helps you find weak areas before the real exam.
Exam-day checklist
- Policy type decides behaviour: mirror for DR, vault for retention, mirror-vault for both.
- Labels connect source Snapshot policies to vault rules.
- Identity-preserve true means stop the source SVM first.
- Active sync uses consistency groups, a Mediator and an automated failover policy.
- Resync is destructive on the side that becomes the destination.
- Use about 90 seconds per question, flag long scenarios and come back to them.
If you can run every command block in this guide from memory and explain why each step comes in that order, you are ready for NS0-529.