Today I'd like to talk to you about WAFL.
No, not waffles, the NetApp Write Anywhere File Layout. I'm often asked about NetApp controllers write performance and if it can do RAID 1+0 or RAID 5, etc, so I felt it would be handy to discuss a bit about WAFL and how NetApp uses RAID for data resiliency. I've been focusing a lot on PVS and for those that know PVS, you know how write intensive it is. That's where WAFL comes in.
NetApp is one of those companies that did things differently, they built a new idea from the ground up and it really shows when you start to investigate how data is written to disk. Random writes are probably some of the most expensive operations because the platters have to spin up, the heads have to find the data, etc. etc. Instead of doing things the traditional way, a NetApp controller will hold that data in memory and wait until it has a bunch more blocks to write to disk. Without going into a lot of technobable, at an optimal time all that randomness is coalesced and written to disk, avoiding multiple spin ups. The coolness factor is just beginning. The blocks can be written anywhere on disk because the OS has a map of where the free space is, hence speeding up writes even more. Even cooler still, blocks don't have to overwrite previous blocks at the same location, you guessed it, speeding up writes even more!
But Neil, there's all that data in memory, what happens if the power goes out? Ah, I'm glad you asked! We have a card built into the controllers called NVRAM with memory and a battery. It's job is to mirror what's in volatile memory and copy it to disk if the lights go out.
So, back to RAID. NetApp uses RAID 4 and RAID DP (basically RAID 4 with a second parity drive for resiliency). But Neil, aren't there better technologies that that?! Ah, glad you asked that too! See, if NetApp didn't do things differently than yes, I'd agree with you, but with the WAFL intelligence built into the box, RAID is just a way to protect the data once it's actually on physical disk. So you see, you get RAID 1+0 resiliency but at a much lower cost!
So what you ask? Well, in your PVS environment that's 90% writes, you're got a storage platform that was created with writes in mind! This is a brief and watered down explanation and if there's interest I'll go into more detail, but I wanted to share some of the cool factor at the core of NetApp that often gets over looked.
Yes yes, I know, I still owe you an article on restoring PvDisk. I just got my brain back from holiday, give me a break. :-)
Until Next Time!