VMFS Deepdive Paper

I received this question yesterday about material around VMFS. Of course I pointed them to the white paper Cormac recently published, which is an awesome read. But I also had this other link laying around which I forgot to share with the world. This paper is written by Satyam Vaghani (former VMware Principal Engineer, now CTO of PernixData) and is a true deepdive on VMFS and topics like locking / metadata. Do note that this paper was written in the VMFS 3.x timeframe, and as such some of the concepts might have changed.

Nevertheless, a very interesting read if you ask me! Make sure to pick up a copy here.

Nimbus Data releases HALO 2013

Last week Nimbus Data reached out to me to update me on what they are working on, and more explicitly what they are releasing today. Today Nimbus announces HALO 2013 (their storage operating system). Those who are not familiar with Nimbus Data my colleagues Cormac Hogan wrote a great article about what they offer last year, make sure to read it. In short though:

Nimbus Data offers a flash array which is called Gemini. The array offers support for Fibre Channel, Infiniband, iSCSI and NFS. Of course data services like deduplication and replication are supported and they are all about extreme amounts of IOps, low latency and high throughput. Gemini also supports VMware VAAI.

With the 2013 release of HALO I believe Nimbus is getting ready to enter the world of Software Defined Storage. The 2013 release of HALO offers an Analytics module. This analytics module can provide real-time and historical data, and serve up over 200 metrics. This includes things like storage utilization and efficiency, but also statistics on various different levels like host level / port level etc.

Why I said “is getting ready to enter the world of Software Defined Storage” is because Nimbus Data also developed and published a REST based API. This API will allow for full administration of the platform and allow you to integrate with existing solutions in your stack. For instance all statistics are exposed via the API, I guess that means that plugins for all relevant monitoring solutions would be a logical next step, personally I think having a VC Ops adapter would be nice. Another thing which is added with the 2013 release is a mobile management platform, although I am not sure how many people would expose that to the outside… it is nice to have at least the ability to do so if you want. The mobile solution offers you utilization and performance charts, but also allows you to monitor system events.

I guess that this REST API also means that it shouldn’t take too long before VMware Site Recovery Manager support is added for Nimbus Data. This in my opinion is one of the few gaps they will still need to address, but I am guessing that is a matter of time. Also, Gemini is as of writing not on the VMware HCL however Nimbus has indicated that they are going through the motion and they should be listed within a reasonable amount of time. (At least that is what I was told, make sure to check the HCL if you are looking to buy a new array) Nevertheless, a nice update from Nimbus Data which will make your life as an administrator easier.

 

Startup Intro: AetherStore

AetherStore Every once in a while you see a solution by a startup and you get all excited. AetherStore is one of those type of solutions. The funny thing is that AetherStore is not directly related to my day-to-day job, but I can fully relate to their pitch. So what is AetherStore and who are the folks behind it?

AetherStore was founded by three graduates from Scotland’s University of St Andrews. This by itself is worth mentioning in my opinion as especially in this space I don’t typically see an enormous amount of innovation coming out of Europe. (Although since then they moved to the US.) With experience in distributed systems, fault tolerance, databases and storage it is not surprising to see what problems they are trying to solve and how they are intending to solve it.

AetherStore is indeed a storage solution as you probably had already guessed. AetherStore is all about using spare resources, and in this case storage resources. Essentially what AetherStore is aiming to do for your company is leveraging the available local disk space of your desktops (and servers for that matter) and offer that up as a “data store”. In other words; if you have 20 desktops with a 1 TB disk but only 100GB is used then 900GB of that disk can be used for other purposes. Now reality of course is that it isn’t possible to use the full 900GB for other purposes but you get my point.

AetherStore essentially is a distributed data store solution. This distributed data store is served up to users as a regular network file share and all the magic AetherStore does is hidden from the user. I guess the big question that pops-up immediately is what about availability, security and performance? All three of those are typically what either keeps the user, or the administrator busy. AetherStore solves those problems in various ways:

  • Performance: a local cache is used to optimize the end-user experience
  • Availability: Data is replicated to multiple “nodes” meaning that if a “node” fails than data can be reconstructred. On top of that AetherStore offers the ability to backup (and restore) data to the “cloud” (Mozy, Amazon etc)
  • Security: Data is encrypted

That is not all, on top of that AetherStore offers versioning of files and ensure efficiency by offering deduplication. I guess it all sounds very promising right? In my opinion it does, and it is one of those solutions that I have on my “watch lists”.

I do wonder what the requirements are when it comes down to availability of data when people move around different desktops; and desktops are also powered-off or restarted by users at random. I also would like to point out here that I have not played with AetherStore, neither is this article sponsored or am I affiliated with AetherStore in any way. This is simply and introduction to a cool startup which managed to intrigue / interest me with their technology.

If you want to find out more about AetherStore, make sure to sign up on http://www.aetherstore.com/ for early access if you are interested, and/or follow them on twitter. If you want to know more, I can recommend this white paper about AetherStore as it reveals some more of details of the implementation.

Startup Intro: SoftNAS

Last week I had a chat with Rick Braddy from SoftNAS. Some of you might know Rick from when he was the CTO of a hosted virtul desktop company called Virtual-Q and others from when he was the CTO of Citrix for XenApp and XenDesktop. Today Rick is the CTO for SoftNAS, a software and appliance based storage solution. Rick gave me an introduction to what it is SoftNAS (Professional) does and offers and I figured I would do a short write-up as an introduction to SoftNAS.

Ultimately SoftNAS is a virtual appliance that offers up local storage as shared storage. SoftNAS is build on top of CentOS and leverages ZFS. It is deployed as a virtual machine, which means that it takes a couple of minutes to set up. SoftNAS has a nice looking user interface which allows you to quickly create shared storage for your virtual environment. When I say quickly I mean in a matter of minutes you have shared storage to your disposal: select your volumes –> create a storage pool –> create a volume –> use it. For those who care, besides VMware vSphere SoftNAS also supports Hyper-V and Amazon EC2. [Read more...]

Why the world needs Software Defined Storage

Yesterday I was at a Software Defined Datacenter event organized by IBM and VMware. The famous Cormac Hogan presented on Software Defined Storage and I very much enjoyed hearing about the VMware vision and of course Cormac’s take on this. Coincidentally, last week I read this article by long-time community guru Jason Boche on VAAI and number of VMs, and after a discussion with a customer yesterday (at the event) about their operational procedures for provisioning new workloads I figured it was time to write down my thoughts.

I have seen many different definitions so far for Software Defined Storage and I guess there is a source of truth in all of them. Before I explain what it means to me, let me describe commonly faced challenges people have today.

In a lot of environments managing storage and associated workloads is a tedious task. It is not uncommon to see large spreadsheets with a long list of LUNs, IDs, Capabilities, Groupings and whatever more is relevant to them and their workloads. These spreadsheets are typically used to decide where to place a virtual machine or virtual disk. Based on the requirements of the application a specific destination will be selected. On top of that, a selection will need to be made based on currently available disk space of a datastore and of course the current IO load. You do not want to randomly place your virtual machine and find out two days later that you are running out of disk space… Well, that is if you have a relatively mature provisioning process. Of course it is also not uncommon to just pick a random datastore and hope for the best.

To be honest, I can understand many people randomly provision virtual machines. Keeping track of virtual disks, datastores, performance, disk space and other characteristics… it is simply too much and boring. Didn’t we invent computer systems to do these repeatable boring tasks for us? That leads us to the question where and how Software Defined Storage should help you?

A common theme recurring in many “Software Defined” solutions presented by VMware is:

Abstract, Pool, Automate.

This also applies to Software Defined Storage in my opinion. These are three basic requirements that a Software Defined Storage solution should meet. But what does this mean and how does it help you? Let me try to make some sense out of that nice three word marketing slogan:

Software Defined Storage should enable you to provision workloads to a pool of virtualized physical resources based on service level agreements (defined in a policy) in an automated fashion.

I understand that is a mouth full, so lets elaborate a bit more. Think about the challenges I described above… or what Jason described with regards to “VMs per Volume” and how there are various different components that can impact your service level. A Software Defined Storage (SDS) solution should be able to intelligently place virtual disks (virtual machines / vApps) based on selected policy for the object (virtual disk / machine / appliance). These policies typically contain characteristics of the provided service level. On top of that a Software Defined Storage solution should take risks / constraints in to account. Meaning that you don’t want your workload to be deployed to a volume which is running out of disk space for instance.

What about those characteristics, what are those? Characteristics could be anything, just two simple examples to make it a bit more obvious:

  • Does your application require recover-ability after a disaster? –> SDS selects destination which is replicated, or instructs storage system to create replicated object for the VM
  • Does your application require a certain level of performance? –> SDS selects destination that can provide this performance, or instructs storage system to reserve storage resources for the VM

Now this all sounds a bit vague, but I am purposely trying to avoid using product or feature names. Software Defined Storage is not about a particular feature, product or storage system. Although I dropped the word policy, note that enabling Profile Driven Storage within vCenter Server does not provide you a Software Defined Storage solution. It shouldn’t matter either (to a certain extent) if you are using EMC, NetApp, Nimbus, a VMware software solution or any of the other thousands of different storage systems out there. Any of those systems, or even a combination of them, should work in the software defined world. To be clear, in my opinion (today) there isn’t such a thing as a Software Defined Storage product, it is a strategy. It is a way of operating that particular part of your datacenter.

To be fair, there is a huge difference between various solutions. There are products and features out there that will enable you to build a solution like this and transform the way you manage your storage and provision new workloads. Products and features that will allow you to create a flexible offering. VMware has been and is working hard to be a part of this space, vSphere Replication / Storage DRS / Storage IO Control / Virsto / Profile Driven Storage are part of the “now”, but just the beginning… Virtual Volumes, Virtual Flash and Distributed Storage have all been previewed at VMworld and are potentially what is next. Who knows what else is in the pipeline or what other vendors are working on.

If you ask me, there are exciting times ahead. Software Defined Storage is a big part of the Software Defined Data Center story and you can bet this will change datacenter architecture and operations.

** There are two excellent articles on this topic the first by Bill Earl, and the second by Christos Karamanolis, make sure to read their perspective. **

Introducing startup PernixData – Out of stealth!

There are many startups out there that do something with storage these days. To be honest, many of them do the same thing and at times I wonder why on earth everyone focuses on the same segment and tries to attack it with the same product / feature set. One of the golden rules for any startup should be that you have a unique solution that will sell itself. Yes I realize that it is difficult, but if you want to succeed you will need to stand out.

About a year ago Satyam Vaghani (former VMware principal engineer who was responsible for VMFS, VAAI, VVOLs etc.) and Poojan Kumar (former VMware Data products lead and ex-Oracle Exadata founder) decided to start a company – PernixData. PernixData was conceptualized based on their experiences working on the intersection of virtualization, flash based storage and data. Today PernixData is revealed to the world. For those who don’t know, Pernix means “agile”. But what is PernixData about?

How many of you haven’t experienced storage performance problems? It probably is, in fact, the number one bottleneck in most virtualized environments. Convincing your manager (director / VP) that you need a new ultra-fast (and expensive) storage device is not easy; far from it. On top of that, data will always hit the network first before being acknowledged and every read will go over your storage network. How cool would it be if there was a seamless software solution that solves all your storage performance problems without you requiring to rip and replace your existing storage assets?

Server-side flash overcomes problems associated with network based storage and server-side caching solutions provide some respite. Yet, server-side caching solutions usually neither satisfy enterprise class requirements for availability nor transparently support clustered hypervisor features such as VMware vMotion. In addition, while they accelerate reads they fail to do much for writes. Customers are then stuck between either overhauling their entire storage infrastructure or going with caching solutions that work for limited use cases. PernixData is about to release a cool new product – a flash virtualization platform – that bridges this gap. By picking up where hypervisors left off, PernixData is planning to become the VMware of server flash and is aiming to do to server flash what VMware did to CPU and memory. So, what is this flash virtualization platform and why would you need it?

PernixData’s flash virtualization platform virtualizes all flash resources across all server nodes in a vCenter Server cluster into a single high-performance, enterprise class data tier. The great thing is that this happens in a transparent way. PernixData sits completely within the hypervisor and in the data-path of your virtual machine. Note that there are no requirements to install anything in the guest (virtual machine). PernixData is not a virtual appliance because virtual appliances introduce performance overhead and would need to be managed with all costs and complexity associated.

PernixData is also flash technology agnostic. It can leverage SSD or PCIe flash (or both) within the platform. The nice thing is that PernixData uses a scale-out architecture. As you add hosts with flash they can be dynamically added to the platform. On top of that, PernixData does both read and write acceleration while providing full data protection and is fully compatible with VM mobility solutions like vMotion, Storage vMotion, HA, DRS and Storage DRS.

Even more exciting PernixData will support both Write-through and Write-back modes. The cool part is that PernixData also ensures IO is replicated for high availability purposes. You don’t want to run your VM in Write-back mode when you cannot guaranteed data is highly available right?! I guess that is one of the unique selling points of the solution. A distributed, scale out, flash virtualization platform which is not only flash agnostic but also non-disruptive for your virtual workloads.

I would imagine this is many times cheaper than buying a new storage array. Even without knowing what the cost of PernixData will be, or which flash device (PCIe or SSD) you would decide to use… I bet when it comes to overall costs of the solution (product + implementation costs) it will be many many times cheaper.

As I started off with, the golden rule for any startup should be that they have a unique solution that sells itself. I am confident that PernixData FVP has just that by being a disruptive technology that solves a big problem in virtualized environments  in a scale-out and transparent manner while leveraging your existing storage investments.

If you want to be kept up to date, make sure to follow Satyam, Poojan , Charlie and PernixData on twitter. If you are interested in joining the PernixData FVP Beta, make sure to sign up!

Make sure to also read Frank’s article on PernixData.

VMware to acquire Virsto; Brief look at what they offer today

Most of you have seen the announcement around Virsto by now, for those who haven’t read this blog post: VMware to acquire Virsto. Virsto is a storage company which offers a virtual storage solution. I bumped in to Virsto various times in the past and around VMworld 2012 got reminded about them when Cormac Hogan wrote an excellent article about what they have to offer for VMware customers. (Credits go to Cormac for the detailed info in this post)  When visiting Virsto’s website there is one thing that stands out and that is “software defined storage”. Lets take a look at what Virsto offers and what software defined storage means to them.

Lets first start with the architecture. Virsto has developed an appliance and a host level service which together forms an abstraction layer for existing storage devices. In other words, storage devices are connected directly to the Virsto appliance and Virsto aggregates these devices in to a large storage pool. This pool is in its turn served up to your environment as an NFS datastore. Now I can hear you think, what is so special about this?

As Virsto has abstracted storage and raw device are connected to their appliance they control the on-disk format. What does this mean? Devices that are attached to the Virsto appliance are not formatted with VMFS. Rather Virsto has developed their own filesystem which is highly scalable and what makes this solution really interesting. This filesystem is what allows Virsto to offer specific data services, to increase performance and scale and reduce storage capacity consumption.

Lets start with performance, as Virsto sits in between your storage device and your host they can do certain things to your IO. Not only does Virsto increase read performance, but their product also increases write performance. Customers have experienced performance increases between 5x and 10x. For the exact technical details read Cormac’s article. For now let me say that they sequentialise IO in a smart way and de-stage writes to allow for a more contiguous IO flow to your storage device. As you can imagine, this also means that the IO utilisation of your storage device can and probably will go down.

From an efficiency perspective Virsto optimizes your storage capacity by provisioning every single virtual disk as a thin disk. However, this thin disk does not introduce the traditional performance overhead associated with thin disks preventing the waste of precious disk space just to avoid performance penalties. What about functionality like snapshotting and cloning, this must introduce overhead and slow things down is what I can hear you think… Again, Virsto has done an excellent job of reducing overhead and optimizing for scale and performance. Virsto allows for hundreds, if not thousands, of clones of a gold master without sacrificing performance while saving storage capacity. Not surprising Virsto is often used in Virtual Desktop and large Test and Development environments as it has proven to reduce the cost of storage with as much as 70%.

Personally I am excited about what Virsto has to offer and what they have managed to achieve in a relatively short time frame. The solution they have developed, and especially their data services framework promises a lot for the future. Hopefully I will have time on my hands soon to play with their product and provide you with more insights and experience.