What is deswizzler or deswizzling
Applies to
- Data ONTAP 7
- Data ONTAP 8
- ONTAP 9
Answer
Note: Deswizzling, deswizzle, and deswizzler are used interchanglably in this article, but all refer to the same type of wafl scan.
- On Data ONTAP 7-mode and ONTAP 9 DP style SnapMirror destination volumes, this scan maps aggregate (physical) block locations to the volume (logical) block location, as the transfer does not include the physical disk block location.
- Example:
- In physical house addresses, you have a "physical" location, like 123 N. Main St, and a "logical" location, like Sunnyvale, California.
- These two properties are tied together with a postal code.
- It is possible for the postal service to reference together the "physical" and "logical" address parts by the postal code.
- Note: Volume move uses the type-DP SnapMirror engine, so the destination volume will have a deswizzler scan.
- Example:
How does this affect performance?
- Deswizzling scans are minimal overhead on CPU and disk singularly.
- Multiple scans might cause CPU or disk contention, but this is rare.
- If a block is read from a user/host and is swizzled (deswizzle scan has not updated this block yet), there is a slight read latency increase and extra overhead.
- The read does a slow path.
- In systems with SSDs this is minimal, but with HDDs, it may add a few milliseconds of latency per operation.
Why is there always a deswizzling scanner running?
- If the volume is a Data ONTAP 7-mode SnapMirror or DP type SnapMirror destination, each completed transfer induces a new snapshot needing a scan.
- Snapshots may be cleared out to let the scan run on the Active File System (AFS).
- Deswizzling scans may never finish due to snapshot creation restarting the scanner with the most recent to least recent snapshot.
- If you are in this situation, please schedule a window to stop all volume snapshots and SnapMirror type jobs.
- For more information, see Deswizzler runs constantly on a SnapMirror Destination Volume.
Does deswizzler run against SnapMirror type-XDP relationship destination volumes?
- No. Deswizzler does not run against SnapMirror type-XDP destination volumes in ONTAP 9 and later.
Can deswizzling be aborted?
- No. This scan is essential for performance should a SnapMirror destination be needed as a Disaster Recovery site being activated.
Does deswizzling take place on offline volumes?
- No. Starting in Data ONTAP 7.2.4, deswizzler will restart at a checkpoint instead of restarting from the beginning when a block level update is completed in the middle of a deswizzling scan.
- For more information, see BUG 229357.
What if a deswizzler is running on a volume that is not a dedicated SnapMirror destination volume?
- At some point in the volume's history, this volume was a SnapMirror destination, or a volume move destination.
- This could go back many months or even years without observation.
- As mentioned above, a window of no snapshots on this volume is needed to let the scan finish.
- Another possibility is a cascade SnapMirror, where the middle node of a tertiary SnapMirror trio is the source for the end destination.
Can the deswizzling scan be disabled?
- Yes. However, if any blocks are swizzled, there is a slow-path read penality, which on HDD systems may add a few milliseconds of read latency.
- The command is
options wafl.deswizzle.enable off
at the node shell or 7-mode shell.- For example, here is an example from a ONTAP 9 system:
Cluster::> node run node1 "options wafl.deswizzle.enable off"
Cluster::> node run node1 "options wafl.deswizzle.enable"
wafl.deswizzle.enable off
How do I check if deswizzler is running?
Administrators might check to see if the scanner is running with the wafl scan status command:
filer> priv set advanced filer*> wafl scan status
Volume volume1: Scan id Type of scan progress 226328 container block reclamation block 1871 of 24095 (fbn 11220) 226329 volume deswizzling snap 157, inode 2144843 of 2172681. level 1 of normal files. Totals: Normal files: L1:10/4881 L2:0/11336 L3:0/5723 L4:0/0 Inode file: L0:0/0 L1:0/0 L2:0/0 L3:0/0 L4:0/0