Behind the Scenes: Episode 145 – AI, Machine Learning and ONTAP with Santosh Rao

Welcome to the Episode 145, part of the continuing series called “Behind the Scenes of the NetApp Tech ONTAP Podcast.”

tot-gopher

This week on the podcast, NetApp Senior Technical Director Santosh Rao (@santorao) joins us to talk about how NetApp and NVidia are partnering to enhance AI solutions with the DGX-1, ONTAP and FlexGroup volumes using NFS!

You can find more information in the following links:

Finding the Podcast

The podcast is all finished and up for listening. You can find it on iTunes or SoundCloud or by going to techontappodcast.com.

This week’s episode is here:

Also, if you don’t like using iTunes or SoundCloud, we just added the podcast to Stitcher.

http://www.stitcher.com/podcast/tech-ontap-podcast?refid=stpr

I also recently got asked how to leverage RSS for the podcast. You can do that here:

http://feeds.soundcloud.com/users/soundcloud:users:164421460/sounds.rss

Our YouTube channel (episodes uploaded sporadically) is here:

Advertisements

Workaround for Mac Finder errors when unzipping files in ONTAP

ONTAP allows you to mount volumes to other volumes in a Storage Virtual Machine, which provides a way for storage administrators to create their own folder structures across multiple nodes in a cluster. This is useful when you want to ensure the workload gets spread across nodes, but you can’t use FlexGroup volumes for whatever reason.

This graphic shows how that can work:

junctioned-volumes.png

In NAS environments, a client will ask for a file or folder location and ONTAP will re-direct the traffic to wherever that object lives. This is supposed to be transparent to the client, provided they follow standard NAS deployment steps.

However, not all NAS clients are created equal. Sometimes, Linux serves up SMB and will do things differently than Microsoft does. Windows also will do NFS, but it doesn’t entirely follow the NFS RFCs. So, occasionally, ONTAP doesn’t expect how a client handles something and stuff breaks.

Mac Finder

If you’ve ever used a Mac, you’ll know that the Finder can do somethings a little differently than the Terminal does. In this particular issue, we’ll focus on how Finder unzips files (when you double-click the file) in volumes that are mounted to other volumes in ONTAP.

One of our customers hit this issue, and after poking around a little bit, I figured out how to workaround the issue.

Here’s what they were doing:

  • SMB to Mac clients
  • Shares at the parent FlexVol level (ie, /vol1
  • FlexVols mounted to other FlexVols several levels deep (ie, /vol1/vol2/vol3)

When files are unzipped after accessing a share at a higher level and then drilling down into other folders (which are actually FlexVols mounted to other FlexVols), then unzipping in Finder via double-click fails.

When the shares are mounted at the same level as the FlexVol where the unzip is attempted, unzip works. When the Terminal is used to unzip, it works.

However, when your users refuse to use/are unable to use the Terminal and you don’t want to create hundreds of shares just to work around one issue, it’s an untenable situation.

So, I decided to dig into the issue…

Reproducing the issue

The best way to troubleshoot problems is to set up a lab environment and try to recreate the problem. This allows you freedom to gather logs, packet traces, etc. without bothering your customer or end user. So, I brought my trusty old 2011 MacBook running OS Sierra and mounted the SMB share in question.

These are the volumes and their junction paths:

DEMO inodes /shared/inodes
DEMO shared /shared

This is the share:

 Vserver: DEMO
 Share: shared
 CIFS Server NetBIOS Name: DEMO
 Path: /shared
 Share Properties: oplocks
 browsable
 changenotify
 show-previous-versions
 Symlink Properties: symlinks
 File Mode Creation Mask: -
 Directory Mode Creation Mask: -
 Share Comment: -
 Share ACL: Everyone / Full Control
 File Attribute Cache Lifetime: -
 Volume Name: shared
 Offline Files: manual
 Vscan File-Operations Profile: standard
 Maximum Tree Connections on Share: 4294967295
 UNIX Group for File Create: -

I turned up debug logging on the cluster (engage NetApp Support if you want to do this), got a packet trace on the Mac and reproduced the issue right away. Lucky me!

finder-error

I also tried a 3rd party unzip utility (Stuffit Expander) and it unzipped fine. So this was definitely a Finder/ONTAP/NAS interaction problem, which allowed me to focus on that.

Packet traces showed that the Finder was attempting to look for a folder called “.TemporaryItems/folders.501/Cleanup At Startup” but couldn’t find it – and couldn’t create it, apparently either. But it would created folders named “BAH.XXXX” instead, and they wouldn’t get cleaned up.

So, I thought, why not manually create the folder path, since it wasn’t able to do it on its own?

You can do this through Terminal, or via Finder. Keep in mind that the path above has “folders.501” – 501 is my uid, so check your users uid on the Mac and make sure the folder path is created using that uid. If you have multiple users that access the share, you may need to create multiple folders.xxx in .TemporaryItems.

If you do it via Finder, you may want to enable hidden files. I learned how to do that via this article:

https://ianlunn.co.uk/articles/quickly-showhide-hidden-files-mac-os-x-mavericks/

So I did that and then I unmounted the share and re-mounted, to make sure there wasn’t any weird cache issue lingering. You can check CIFS/SMB sessions, versions, etc with the following command, if you want to make sure they are closed:

cluster::*> cifs session show -vserver DEMO -instance

Vserver: DEMO

Node: node1
 Session ID: 16043510722553971076
 Connection ID: 390771549
 Incoming Data LIF IP Address: 10.x.x.x
 Workstation IP Address: 10.x.x.x
 Authentication Mechanism: NTLMv2
 User Authenticated as: domain-user
 Windows User: NTAP\prof1
 UNIX User: prof1
 Open Shares: 1
 Open Files: 1
 Open Other: 0
 Connected Time: 7m 49s
 Idle Time: 6m 2s
 Protocol Version: SMB3
 Continuously Available: No
 Is Session Signed: true
 NetBIOS Name: -
 SMB Encryption Status: unencrypted
 Connection Count: 1

Once I reconnected with the newly created folder path, double-click unzip worked perfectly!

Check it out yourself:

Note: You *may* have to enable the option is-use-junctions-as-reparse-points-enabled on your CIFS server. I haven’t tested with it off and on thoroughly, but I saw some inconsistency when it was disabled. For the record, it’s on by default.

You can check with:

::*> cifs options show -fields is-use-junctions-as-reparse-points-enabled

Give it a try and let me know how it works for you in the comments!

ONTAP 9.4 is now GA!

ONTAP 9 is on a new cadence model, which brings a new release every 6 months.

Today, ONTAP 9.4GA is available here!

http://mysupport.netapp.com/NOW/download/software/ontap/9.4

sully-hearye

Also, check out the documentation center:

docs.netapp.com/ontap-9/index.jsp

NetApp published a general overview blog on NVMe with Joel Reich here:

https://blog.netapp.com/the-future-is-here-ai-ready-cloud-connected-all-flash-storage-with-nvme/

Jeff Baxter’s blog is here:

https://blog.netapp.com/netapp-ontap-9-4-is-ga-modernize-your-it-architecture-with-cloud-connected-flash/

We also did an overview podcast:

And a few others on ONTAP 9.4:

And a lightboard video:

This is a brief list of the new features…

Cloud!

Fabric Pool enhancements include:

  • Tiering to Microsoft Azure Blob storage
  • Tiering of active file system data
  • Predictive performance with the object storage profiler
  • Predictive space savings for Fabric Pool before you enable it

Efficiency!

  • Increased Snapshot limits – 1,023 per volume!
  • Background aggregate level deduplication scanner
  • Automatic enable of all storage efficiencies on data protection volumes
  • Support for 30TB SAS attached SSDs
  • Deduplication across snapshots and active file system
  • Reduced node root volume sizes on new platforms

Performance!

  • End-to-end NVMe support (NVMe attached drives in the new A800 + NVMe over fibre channel support)
  • SMB multichannel support
  • 100GbE Ethernet support

Security!

  • Secure purge of files (crypto-shred!)
  • Secure boot via UEFI on new platforms
  • Validated ONTAP images
  • Protected controller reboot

I went into more detail about the features in the RC blog here:

ONTAP 9.4RC1 is now available!

For more information, check out these brief videos for some lightboard action on new ONTAP 9.4 stuff:

Some other information on the launch can be found as follows:

GCP Cloud Volumes for NFS with native access to the GCP tool suite (Google Cloud)
https://blog.netapp.com/sweet-new-storage-service-from-netapp-for-google-cloud-platform/ 

Storage Grid Update 11.1
https://blog.netapp.com/storagegrid-11-1-and-netapp-hci-the-perfect-one-two-punch-for-scaling-your-environment/ 

A800 and the A220
https://blog.netapp.com/the-future-is-here-ai-ready-cloud-connected-all-flash-storage-with-nvme/ 

ONTAP 9.4 with first to market NVMe/FC support
http://www.demartek.com/Demartek_NetApp_Broadcom_NVMe_over_Fibre_Channel_Evaluation_2018-05.html

New NetApp FlexPod Cisco Validated Designs available!

new20flexpod

In case you weren’t aware, NetApp partners with other vendors, such as Cisco, to create bundled architectures that are co-supported and simple to deploy. These converged infrastructure products are known as “FlexPods” and they go through a rigorous testing and validation process by both NetApp and Cisco to ensure the highest probability of success in deployments.

There are two new Cisco Validated Designs (CVDs) available. I’ll basically be plagiarizing the announcement emails that went out here, because I like converging communications, too. 🙂

FlexPod Datacenter (AFF A300) with Citrix XenDesktop/XenApp for 6000 Seats (credit to Chris Gebhardt – @chrisgeb)

This CVD is a new milestone in user density on the A300 platform running ONTAP 9.3 at 6000 users.  In this CVD we were able to observe peak total values of 83,000 IOPS and a bandwidth of 1750 MB/s at a latency of less than 1ms.  This low latency translates directly into an excellent end-user experience on mixed use case scale testing scenario.

https://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/UCS_CVDs/cisco_ucs_xd715esxi65u1_flexpod.html

The solution provides customers with a blueprint for deploying large scale mixed use case of persistent, nonpersistent & RDS Windows 10 virtual machines on FlexPod.  Cisco & NetApp have stress-tested the limits of the infrastructure during many different scenarios.

Some of the key values of this solution include:

  • NetApp AFF A300array provides industry-leading storage solutions that efficiently handle the most demanding I/O bursts (for example, login storms), profile management, and user data management, deliver simple and flexible business continuance, and help reduce storage cost per desktop.
  • NetApp AFF A300array provides a simple to understand storage architecture for hosting all user data components (VMs, profiles, user data) on the same storage array.
  • NetApp ONTAP 9.3 softwareenables to seamlessly add, upgrade or remove storage from the infrastructure to meet the needs of the virtual desktops.
  • NetApp Virtual Storage Console(VSC) for VMware vSphere hypervisor has deep integrations with vSphere, providing easy-button automation for key storage tasks such as storage repository provisioning, storage resize, data deduplication, directly from vCenter.

 More information on this and other solutions can be found:

Cisco NetApp Website: http://www.cisconetapp.com/

All Flash FAS Datasheet: http://www.netapp.com/us/media/ds-3582.pdf

Additional FlexPod solutions with All Flash FAS, AltaVault, SAP HANA, Microsoft SharePoint, VMware vSphere, Cisco UCS Director and more, can be found:  http://www.netapp.com/us/solutions/flexpod/datacenter/validated-designs.aspx

FlexPod Datacenter with VMware 6.5 Update1 and Cisco ACI 3.1 Solution (credit to Dave Derry)

I am pleased to announce the release of an updated FlexPod Solution –  FlexPod Datacenter with VMware 6.5 Update1 and Cisco ACI 3.1.  This validated FlexPod design (CVD) refreshes FlexPod with All Flash FAS with ONTAP 9.3, Cisco ACI 3.1, and VMware vSphere 6.5 u1.

flexpod-aci.png

This solution continues the momentum of the huge success of NetApp All Flash FAS along with over 5000 Cisco Nexus 9k customers and over 200 production deployments of Cisco ACI in enterprises and service providers.

FlexPod with All Flash FAS and Cisco ACI is the optimal shared infrastructure to deploy a variety of workloads.  FlexPod provides a platform that is both flexible and scalable for multiple use cases and applications.   From virtual desktop infrastructure to SAP®, FlexPod can efficiently and effectively support business-critical applications running simultaneously from the same shared infrastructure. The flexibility and scalability of FlexPod also enable customers to create a right-sized infrastructure that can grow with and adapt to their evolving business requirements.

FlexPod is the leading converged infrastructure with the lowest storage cost per TB of any converged infrastructure in the market, according to IDC.  This coupled with All Flash FAS increases application performance by 20X and with Cisco ACI that provides up to 83% faster network provisioning times for applications compared to existing network provisioning tools.

Use Case Summary

This infrastructure solution validates this design including redundancy, failure and recovery testing:

  • UCS B200-M4 and M5 compute servers, 6300-series fabric interconnects, running UCS Manager 3.2
  • Nexus N9k running in ACI Fabric Mode, 40G end-to-end
  • Cisco APIC managing the Nexus 9k fabric, running ACI 3.1
  • AFF A300 controllers with ONTAP 9.3, with storage connected to the ACI fabric (NFS)
  • OnCommand System Manager, OnCommand Unified Manager, OnCommand Workflow Automation, NetApp Virtual Storage Console for vSphere
  • NetApp SnapDrive and SnapManager
  • VMware vSphere 6.5 u1
  • Validation of FC direct-connect and iSCSI for SAN boot and data access from the fabric interconnects to storage
  • FC, iSCSI, and NFS Storage access
  • NetApp storage QoS to limit load to keep CPU utilization at a recommended level

The FlexPod Datacenter with VMware 6.5 Update1 and Cisco ACI 3.1 design guide is located here:

https://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/UCS_CVDs/flexpod_esxi65u1_n9k_aci_design.html

To review additional validated FlexPod solutions including validated infrastructure and workload solutions, see this link:   http://www.netapp.com/us/solutions/flexpod/datacenter/validated-designs.aspx

We also will have a podcast soon that covers the CVD for OpenStack in a FlexPod. Stay tuned for that!

What am I supposed to do with “ONTAP Select”?

A few years ago, NetApp released a software-only version of ONTAP (or, software-defined, if you prefer), in which you could install enterprise-ready ONTAP on pretty much any hardware you wanted, so long as the hardware specs met the minimum requirements.

Originally, it was known as “ONTAP Edge” and was marketed for just what the name said – “edge” use cases, such as remote branch offices or DR sites. It was pretty limited in function; no HA, single node, small data footprint. As such, it didn’t get a huge amount of adoption.

But then, NetApp upped the ante and gave Edge a makeover and called it “ONTAP Select.” While the name kind of reminds you of a bulk-store supercenter membership, Select delivers on several fronts.

With ONTAP Select, you get:

  • Support for multiple hypervisors, including RedHat KVM and VMware
  • HA/failover capability
  • Up to 8 nodes in a cluster (which will likely increase over time)
  • 400TB capacity per node
  • “Pay as you grow” license model
  • Support for:
    • Direct attached HDD or SSD in a Hardware RAID Config
    • Datastores from external arrays (not limited to block-attached LUNs)
    • HCI-based datastores, such as NetApp HCI, vSAN, and Nutanix
  • Ability to install ONTAP Select even on competitor storage systems(!)

There’s plenty more you can read about here:

https://www.netapp.com/us/media/tr-4517.pdf 

https://www.netapp.com/us/media/tr-4613.pdf

We also did a podcast on ONTAP Select as a vNAS here:

So, what would you use it for?

There are more and more use cases for ONTAP Select popping up, including (but not limited to):

  • Remote branch office
  • SnapMirror destinations
  • Edge to core to cloud/data pipleline use cases (such as machine learning/AI)
  • Ruggedized deployments (think ONTAP on a tank)

There are some new technical reports available for solutions, found here:

Oracle Databases on ONTAP Select:
https://www.netapp.com/us/media/tr-4690.pdf

NetApp ONTAP Select Deploy on Intel NUC
https://www.netapp.com/us/media/tr-4698-deploy.pdf

And this podcast covered ruggedized ONTAP Select, via Vector Data:

This video also covers ONTAP Select solutions:

Behind the Scenes: Episode 144 – NetApp A-Team ETL 2018

Welcome to the Episode 144, part of the continuing series called “Behind the Scenes of the NetApp Tech ONTAP Podcast.”

tot-gopher

This week on the podcast, the NetApp A-Team descends upon NetApp HQ in Sunnyvale, CA to get briefings on upcoming roadmap information and to give feedback to product operations.

Included in this podcast are:

Finding the Podcast

The podcast is all finished and up for listening. You can find it on iTunes or SoundCloud or by going to techontappodcast.com.

This week’s episode is here:

Also, if you don’t like using iTunes or SoundCloud, we just added the podcast to Stitcher.

http://www.stitcher.com/podcast/tech-ontap-podcast?refid=stpr

I also recently got asked how to leverage RSS for the podcast. You can do that here:

http://feeds.soundcloud.com/users/soundcloud:users:164421460/sounds.rss

Our YouTube channel (episodes uploaded sporadically) is here:

 

ALL YOUR BASE…

allyourbasecats-w710-h473

When dealing in storage space/capacity numbers, there are generally two ways of representing the numbers – base 2 (binary) and base 10 (decimal/metric). Originally, space was all done in base 2. But, over the years, decimal has crept in to the storage representation – probably due to easier math. After all, it’s easier/quicker to multiply by 1000 than by 1024.

What that has done, however, is introduce some confusion, as not all storage vendors follow the same standards when reporting capacity. Seagate has an excellent knowledge base article on this here:

Gebi, Tebi, Pebi

In an attempt to alleviate the confusion, a new measurement name was created that isn’t widely adopted. Most people still refer to everything as MB, GB, TB, etc. But that’s all base 10. Base 2 uses a little “i” in the abbreviation, so we get MiB, GiB, TiB, etc. That is intended to represent a capacity measured in 1024 vs. 1000. It gets even more fun when you consider the “b” vs. “B” to mean byte versus bit, but I digress.

This handy table on the wiki entry for Tebibyte shows how the math works for decimal vs. binary in storage terms.

space-table.png

What happens when you use decimal vs. binary to measure storage? Well, it can mean that what you thought was 316GB of storage is really only 288GiB – depending on how the vendor has decided to display it.

What does this mean for ONTAP?

So, some vendors use decimal because it reports more space available. Microsoft actually has a statement on this here:

Although the International Electronic Commission established the term kibibyte for 1024 bytes, with the abbreviation KiB, Windows Explorer continues to use the abbreviation KB. Why doesn’t Explorer get with the program?

Because nobody else is on the program either.

If you look around you, you’ll find that nobody (to within experimental error) uses the terms kibibyte and KiB. When you buy computer memory, the amount is specified in megabytes and gigabytes, not mebibytes and gibibytes. The storage capacity printed on your blank CD is indicated in megabytes. Every document on the Internet (to within experimental error) which talks about memory and storage uses the terms kilobyte/KB, megabyte/MB, gigabyte/GB, etc. You have to go out of your way to find people who use the terms kibibyte/KiB, mebibyte/MiB, gibibyte/GiB, etc.

In other words, the entire computing industry has ignored the guidance of the IEC.

NetApp ONTAP uses binary because it’s closer to what is accurate with regards to how computers operate. However, ONTAP, while showing the correct *numbers* (in decimal) doesn’t show the correct *units*. ONTAP shows, by default, GB, TB, etc.  Bug 1078123 covers this.

:facepalm:

71a

For example, my Tech ONTAP Podcast FlexGroup volume is 10TB:

cluster::*> vol show -fields size -vserver DEMO -volume Tech_ONTAP
vserver volume     size
------- ---------- ----
DEMO    Tech_ONTAP 10TB

OR IS IT???

cluster::*> df /vol/Tech_ONTAP
Filesystem       kbytes      used     avail       capacity Mounted on Vserver
/vol/Tech_ONTAP/ 10200547328 58865160
                                      10141682168       0% /techontap DEMO
/vol/Tech_ONTAP/.snapshot
                 536870912   466168   536404744         0% /techontap/.snapshot DEMO

If we use TB to mean base 10, then 10200547328 + 536870912 (10737418240) kbytes is actually 10.737TB! If we use base 2, then yes, it’s 10TB.

There is a way to change the unit displayed to “raw,” but that basically just shows the giant number you’d see with “df.” If you’re interested:

cluster::> set -units
 auto raw B KB MB GB TB PB

Why should you care?

Ultimately, you probably don’t care. But it’s good to know when you’re trying to figure out where that extra X number of GB went, as well as how much capacity you’re buying up front. And it’s a good idea to make it a best practice to ask *every* vendor how they measure capacity, so they don’t try to shortchange you.

Behind the Scenes: Episode 143 – NetApp Service Level Manager 1.0GA

Welcome to the Episode 143, part of the continuing series called “Behind the Scenes of the NetApp Tech ONTAP Podcast.”

tot-gopher

This week on the podcast, we’re joined by NSLM Product Managers Yossi Weihs (https://www.linkedin.com/in/yossiw/) and Naga Anur (naga@netapp.com) to discuss the latest GA release of NetApp Service Level Manager and how it helps provisioning NetApp storage like a service provider oh-so-easy.

You can find the latest release of NSLM here:

https://mysupport.netapp.com/NOW/cgi-bin/software/?product=NetApp+Service+Level+Manager&platform=Linux

And the official TR:

https://www.netapp.com/us/media/tr-4654.pdf

You can find some handy blogs and Puppet modules here: https://netapp.io/2017/07/19/provision-storage-like-service-provider-netapp-service-level-manager/ https://github.com/NetApp/Puppet-with-NetApp-Service-Level-Manager

And installation/config videos here:

Finding the Podcast

The podcast is all finished and up for listening. You can find it on iTunes or SoundCloud or by going to techontappodcast.com.

This week’s episode is here:

Also, if you don’t like using iTunes or SoundCloud, we just added the podcast to Stitcher.

http://www.stitcher.com/podcast/tech-ontap-podcast?refid=stpr

I also recently got asked how to leverage RSS for the podcast. You can do that here:

http://feeds.soundcloud.com/users/soundcloud:users:164421460/sounds.rss

Our YouTube channel (episodes uploaded sporadically) is here:

Logical vs. Used Space in ONTAP 9.4

1eqdbk

In storage, the race to zero usually takes on two different faces:

  • Performance/latency
  • Space used/storage efficiencies

While it may seem counter-intuitive for a company that sells data storage to want people to have to use less of it, this is what people want. They don’t want to feel like they’re being double-charged for inefficiencies in how the storage filesystem operates or for duplicate files. It’s now gone from a “nice to have” feature to a necessity that every vendor must have.

NetApp has been one of the leaders in storage efficiency since the ONTAP 7.3 days, but they’ve recently stepped up their game by shaving even more off the top for space savings without having to sacrifice storage performance to do it.

Included in the storage efficiencies offered by ONTAP:

  • Volume Deduplication (inline and post-process)
  • Aggregate-level/cross volume deduplication (inline and post-process)
  • Data compaction
  • Compression (inline and post-process)
  • FabricPool

Sometimes, things like clones, snapshots and space guarantees are also factored in to storage efficiency, but that depends on your definition.

But I’m not here to tout the values of storage efficiency. I’m here to tell you about a new, relatively unknown feature added in ONTAP 9.4 that was brought to my attention by one of NetApp’s Sales Engineers, Riley Johnson.

So, what is it?

One of the main challenges we’ve seen is that while you like to save space in your cluster as a storage administrator, you may not necessarily like your end users/customers *knowing* you’re saving space, because that eats into your overall bottom line. Service providers, for example, might want to charge on data ingested rather than data that has been reduced, since storage efficiencies can make the actual amount of data being written to a volume wildly unpredictable and hard to track and if you ever needed to unpack that data, you might not have room.

For example… I can provision a 1TB volume and write 1.2TB to it, but with storage efficiencies, my storage system might report only 800GB used. If that data ever needed to inflate for whatever reason, then I could find myself painted into a corner. Before ONTAP 9.4, if my storage efficiencies saved me 400GB in space, then the client would see only 800GB used despite actually writing 1.2TB. ONTAP 9.4, however, introduced a volume-level option to change how space is reported back to clients when storage efficiencies are in use. (FlexVol only)

 [-is-space-reporting-logical {true|false}] - Logical Space Reporting
 If this parameter is specified, the command displays information only about the volumes that have logical space reporting enabled or disabled as specified. When space is reported logically, ONTAP reports the volume space such that all the physical space saved by the storage efficiency features are also as reported as used. This parameter is not supported on FlexGroups or Infinite Volumes.

By default, this option is off. But when you enable it, ONTAP will hide the fact that efficiencies have saved space from clients that run a df or other space reporting utility, and will instead report back the actual data amount that was written to the volume.

There are also several other options added to the volume level to help report space used vs. logical space used.

[-logical-used {<integer>[KB|MB|GB|TB|PB]}] - Logical Used Size
 If this parameter is specified, the command displays information only about the volume or volumes that have the specified logical used size. This value includes all the space saved by the storage efficiency features along with the physically used space. This does not include Snapshot reserve but does consider Snapshot spill. This parameter is not supported on FlexGroups or Infinite Volumes.

[-logical-used-percent <percent_no_limit>] - Logical Used Percentage
 If this parameter is specified, the command displays information only about the volume or volumes that have the specified logical used percentage. This parameter is not supported on FlexGroups or Infinite Volumes.

[-logical-available {<integer>[KB|MB|GB|TB|PB]}] - Logical Available Size
 If this parameter is specified, the command displays information only about the volume or volumes that have the specified logical available size. This value is the amount of free space currently available considering space saved by the storage efficiency features as being used. This does not include Snapshot reserve. This parameter is not supported on FlexGroups or Infinite Volumes.

[-logical-used-by-afs {<integer>[KB|MB|GB|TB|PB]}] - Logical Size Used by Active Filesystem
 If this parameter is specified, the command displays information only about the volume or volumes that have the specified logical size used by the active file system. This value differs from logical-used by the amount of Snapshot spill that exceeds Snapshot reserve. This parameter is not supported on FlexGroups or Infinite Volumes.

[-logical-used-by-snapshots {<integer>[KB|MB|GB|TB|PB]}] - Logical Size Used by All Snapshots
 If this parameter is specified, the command displays information only about the volume or volumes that have the specified logical size used across all Snapshot copies. This value differs from size-used-by-snapshots by the space saved by the storage efficiency features across the Snapshot copies. This parameter is not supported on FlexGroups or Infinite Volumes.

I proved this out on one of my volumes in a cluster running ONTAP 9.4. As you can see, this volume has a discrepancy in used vs. logical space:

vserver volume               used   logical-used is-space-reporting-logical
------- -------------------- ------ ------------ --------------------------
SVM1    xcp_hardlinks_source 8.97GB 15.89GB      false

From a NFS client, this is what I see with logical space reporting set to false:

[root@XCP /]# df -h
Filesystem                     Size Used Avail Use% Mounted on
10.x.x.x:/xcp_hardlinks_source 9.5G 9.0G 542M  95% /xcphardlink

As you can see, the client is reporting the “used” field from ONTAP – not “logical-used.” That means it’s not taking storage efficiency savings into account. If I’m an end user and I see that, I think “oh goodie! I have more space left!” even though I’ve actually used 15.9GB in logical space.

When “-is-space-reporting-logical” is set to true, the client will see the space as if no storage efficiencies were applied:

cluster ::*> vol modify -vserver SVM1 -volume xcp_hardlinks_source -is-space-reporting-logical true
Volume modify successful on volume xcp_hardlinks_source of Vserver SVM1.
[root@XCP /]# df -h | grep xcphardlink
Filesystem                     Size Used Avail Use% Mounted on
10.x.x.x:/xcp_hardlinks_source 17G  16G  542M  97% /xcphardlink

Fuzzy math

What we also see is that the “size” reported back is essentially logical used + available, so if you provisioned 10GB in a volume and have enabled logical space reporting, your clients will see a larger size than what the volume actually has. In the above, the size reporting is 17GB, which is roughly 16GB (used) + 542MB (available), rounded up.

As a result, reporting the logical space needs to be a decision made based on what you want your end users to see.

So where did all that space go?

On this volume, I had all available storage efficiencies enabled. As a result, there is roughly a 7GB discrepancy in logical space and used space after efficiencies are applied. We can see the difference with the following command:

vol show -fields size,logical-used,used,available,logical-available -is-flexgroup false -is-constituent false -vserver SVM -volume volname

Or with:

cluster::*> volume show-space -vserver SVM1 -volume xcp_hardlinks_source

Vserver: SVM1
 Volume Name: xcp_hardlinks_source
 Volume MSID: 2163226536
 Volume DSID: 1932
 Vserver UUID: 05e7ab78-2d84-11e6-a796-00a098696ec7
 Aggregate Name: aggr1_node1
 Aggregate UUID: 4b7f701e-ee9a-43db-980f-ba6f1ea7a8cb
 Hostname: ontap9-tme-8040-01
 User Data: 8.96GB
 User Data Percent: 90%
 Deduplication: 12KB
 Deduplication Percent: 0%
 Temporary Deduplication: -
 Temporary Deduplication Percent: -
 Filesystem Metadata: 7.02MB
 Filesystem Metadata Percent: 0%
 SnapMirror Metadata: -
 SnapMirror Metadata Percent: -
 Tape Backup Metadata: -
 Tape Backup Metadata Percent: -
 Quota Metadata: -
 Quota Metadata Percent: -
 Inodes: 3.88MB
 Inodes Percent: 0%
 Inodes Upgrade: -
 Inodes Upgrade Percent: -
 Snapshot Reserve: 512MB
 Snapshot Reserve Percent: 5%
 Snapshot Reserve Unusable: -
Snapshot Reserve Unusable Percent: -
 Snapshot Spill: -
 Snapshot Spill Percent: -
 Performance Metadata: 1.74MB
 Performance Metadata Percent: 0%
 Total Used: 9.47GB
 Total Used Percent: 95%
 Total Physical Used Size: 9.03GB
 Physical Used Percentage: 90%
 Logical Used Size: 15.89GB
 Logical Used Percent: 159%
 Logical Available: 542.1MB

We can also see efficiencies at the aggregate level:

cluster::*> aggr show-efficiency -aggregate aggr1_node1

Name of the Aggregate: aggr1_node1
 Node where Aggregate Resides: node1
Logical Size Used by Volumes, Clones, Snapshot Copies in the Aggregate: 3.19TB
 Total Physical Used: 140.9GB
 Total Storage Efficiency Ratio: 23.20:1
 Total Data Reduction Logical Used: 268.0GB
 Total Data Reduction Physical Used: 137.0GB
 Total Data Reduction Efficiency Ratio: 1.95:1
 Logical Space Used for All Volumes: 269.8GB
 Physical Space Used for All Volumes: 139.3GB
 Space Saved by Volume Deduplication: 58.33GB
Space Saved by Volume Deduplication and pattern detection: 122.7GB
 Volume Deduplication Savings ratio: 1.83:1
 Space Saved by Volume Compression: 7.85GB
 Volume Compression Savings ratio: 1.03:1
Space Saved by Inline Zero Pattern Detection: 64.33GB
 Volume Data Reduction SE Ratio: 1.94:1
 Logical Space Used by the Aggregate: 149.1GB
 Physical Space Used by the Aggregate: 140.9GB
 Space Saved by Aggregate Data Reduction: 8.21GB
 Aggregate Data Reduction SE Ratio: 1.06:1
 Logical Size Used by Snapshot Copies: 2.93TB
 Physical Size Used by Snapshot Copies: 3.48GB
 Logical Size Used by FlexClone Volumes: 1.77GB
 Physical Sized Used by FlexClone Volumes: 364.5MB
Snapshot And FlexClone Volume Data Reduction SE Ratio: 781.17:1
 Snapshot Volume Data Reduction Ratio: 860.45:1
 FlexClone Volume Data Reduction Ratio: 4.97:1
 Number of Volumes Offline: -
 Number of SIS Disabled Volumes: 7
 Number of SIS Change Log Disabled Volumes: 23

If we want to see the amount of space saved with all efficiencies, use the following:

cluster::*> vol show -vserver SVM1 xcp_hardlinks_source -fields sis-space-saved,sis-space-saved-percent
vserver volume               sis-space-saved sis-space-saved-percent
------- -------------------- --------------- -----------------------
SVM1    xcp_hardlinks_source 6.92GB          44%

If you want that number broken down into specific storage efficiencies, use this:

cluster::*> vol show -vserver SVM1 xcp_hardlinks_source -fields dedupe-space-saved,dedupe-space-saved-percent,compression-space-saved,compression-space-saved-percent
vserver volume               dedupe-space-saved dedupe-space-saved-percent compression-space-saved compression-space-saved-percent
------- -------------------- ------------------ -------------------------- ----------------------- -------------------------------
SVM1    xcp_hardlinks_source 2.14GB             14%                        4.77GB                  30%

Or, for a more basic view, use System Manager!

You can see storage efficiencies when you drill down into the actual volumes (Storage -> Volumes on the left menu) and then click on the desired volume and view the “Space Allocation” section:

space-allocation-ocsm.png

If you have questions, comment below!

Behind the Scenes: Episode 142 – Supportability in ONTAP

Welcome to the Episode 142, part of the continuing series called “Behind the Scenes of the NetApp Tech ONTAP Podcast.”

tot-gopher

This week on the podcast, we dish out information on one of NetApp’s best kept secrets – the supportability team! Join us as we uncover the work Matt Mercer, Scott Morris, Kunal Raina and Matt Trudewind are doing in the trenches to improve the overall customer experience for support of NetApp products.

Finding the Podcast

The podcast is all finished and up for listening. You can find it on iTunes or SoundCloud or by going to techontappodcast.com.

This week’s episode is here:

Also, if you don’t like using iTunes or SoundCloud, we just added the podcast to Stitcher.

http://www.stitcher.com/podcast/tech-ontap-podcast?refid=stpr

I also recently got asked how to leverage RSS for the podcast. You can do that here:

http://feeds.soundcloud.com/users/soundcloud:users:164421460/sounds.rss

Our YouTube channel (episodes uploaded sporadically) is here: