Converged Infrastructure and You

Pausing briefly from the VMware Storage topic, I thought it might be a good time to write a bit about converged infrastructure and how it is changing the role of IT.

I, like many of you, started out supporting and designing various systems.  I chose to specialize in storage and virtualization, and started down the path of becoming very focused.  When I started working on storage, I was offered the position by my manager at the time.  He told me it would be a great career move, people who specialized in storage at the time were making a good living, and had their choice of jobs.  At that time, most companies IT departments were very silo-ed, budgets were big, and departments were always growing.

When I moved into datacenter management and then into consulting, I began to realize that specializing would no longer work.  Around this time I read Nicholas Carr’s book, The Big Switch: Rewiring the World, from Edison to Google.  In thinking this through, it occurred to me that if IT is truly to become a utility as he suggests, it is not going to be possible for those of us involved in designing, building, supporting, and selling IT infrastructure to be specialized on a specific technology.  As I began to talk to companies, as I began to understand the concept of good enough.

Most of us in the IT field are perfectionists, or something close.  It is difficult for us to not design the perfect solution for every project or customer.  The problem is that most customers don’t have the money for the perfect solution.  Ideally every project should be designed by a team each with expertise in their respective areas.  It should be custom built for the client, and it should use a variety of technologies custom designed for their specific needs.

The reality is that most customers need a solution that is just good enough.  It doesn’t need to be the perfect fit, it doesn’t need to be fully customized.  Sure there are some customers who still want that level of customization, but often don’t want to pay for it.  With the growing popularity of OpenStack, IT Automation, and the desire to consume everything as a service, most business people don’t care what is under the covers.  Gone are the days when IT budgets rival that of a small city, or in some cases a small country, business people don’t care how smart you are, or how much you know, they don’t care if it is a mac or a pc, they want it to work, and they want it to be fast and simple, sorry Nick Burns.

[youtube=http://www.youtube.com/watch?v=05NWJ2p4jhQ&w=420&h=315]

Bringing this back to storage and virtualization, the promise of virtualization was breaking down the barriers between the different silos within IT, it was to bring more self service and more automation.  I am always amazed by the companies who go to great lengths to put the silos back in place.  The growing popularity of converged infrastructure means we don’t have the luxury of specializing.  O sure, there will always be opportunities in some very large companies to specialize, someone will always slip through the cracks, maintaining their old way of doing things, but for the majority of companies, for the majority of IT professionals, it is time to start diversifying.

For most of us this means expanding out of our comfort zones.  I personally am spending a little time each week forcing myself to learn more about my weaker areas, networking and big data, as well as brushing up on my server, cloud, and virtualization knowledge.  I will never be an expert in everything, but if I can help customers get to just good enough, at a price point they can afford, then that is worth more than the perfect solution they will never buy.  This is not to say that I won’t try my best, ask for help, and engage my peers with expertise in other areas, but this does mean that I can no longer afford to consider the areas I don’t typically work in to be someone else’s responsibility.  It is time for us to break down the barriers, start talking, and cross training in each others jobs, and bringing some value to the business.  Converged infrastructure means we all have to learn the entire stack and be able to manage everything.

Converged Infrastructure and You

VMware Storage Part 9: Scale Out Storage AKA Software Defined Storage

As a concept Scale Out Storage is a little counter intuitive for those of us who started out in fiber channel modular and monolithic Arrays. When I started in storage we would purchase the file controllers, and then add drive shelves behind them to a predetermined maximum set by the vendor. This was scale up, traditional, and pretty predictible. Typically in this model we could get to 50% capacity or so before we started losing performance pretty quickly.

In 1999 a company called LeftHand Networks introduced us to the concept software defined storage.  Of course at that point, we didn’t really know it was software defined storage, VMware was afterall still very early on in their life cycle.  The concept though was simple.  Keep two copies of the data at all times, and you don’t need to worry about redundancy.  Since it was all based on industry standard x86 servers, the hardware was less important provided it was on the supported list.  In 2008, HP realized what this product actually was and what it could do for the industry, and acquired the company, adding it to their storage portfolio.

The concept behind LeftHand, now HP StoreVirtual, and software defined storage is fairly simple.  Traditionally we started out with servers without shared storage.  Need more storage buy another server, or perhaps direct attach storage to the server.  This is relatively inefficient, since storage is isolated on the system it is using.

Servers_Only
Traditional servers with no shared storage

Traditional shared storage made things a little better, we can share storage out from a larger pool.  Storage is given as needed to servers.  This is necessary also for enabling advanced features in a virtualized environment, or clustering for high availability.  Again far more efficient, but also more complex to manage, and often expensive.

servers_shared_storage
Traditional shared storage environment.

In a software defined storage environment, particularly with the HP StoreVirtual VSA, we can have the simplicity and cost efficiency of the simple server environment, as well as the advantages of shared storage.  As long as there are two copies of the data the data can be accessed by any node.  Since this is all done in software, using a Virtual Storage Appliance is simply the next evolution in the process.  The servers can be running VMware, and we can present their local storage as shared storage.  To expand we can simply add drives to the existing servers.  When more performance is needed another server with a Virtual Storage Appliance.  Because we are presenting the storage used by the VMware host servers as shared storage, we can combine the server and storage virtualization on the same physical server.

Software Defined Storage (StoreVirtual VSA)
Software Defined Storage (StoreVirtual VSA)

 

This model scales well, and allows for a combination of simplicity of management, advanced features, and cost efficiency.  With the addition of the advanced features provided by the innovation by the HP engineering team, this solution should be considered in any production environment, and is a cost effective solution when combined with an HP Proliant server.

VMware Storage Part 9: Scale Out Storage AKA Software Defined Storage

VMware Storage Part 8: Storage Networking Revisited

Storage networking is a topic that could easily descent into deep religious debate, but I often get questions from customers and partners such as what does it matter in a virtualized environment, if we are virtualizing, why should we care what the storage network looks like. The specific question more recently was around 1GbE iSCSI versus SAS, so I want to specifically address the SMB market space, but the decision points are not dissimilar.

To start with a quick look at the SAS protocol. SNIA has a great presentation on the differences between the various storage networking protocols, http://www.snia.org/sites/default/education/tutorials/2011/spring/storman/GibbonsTerry_Shareable_Storage_With_Switched_SASv2.pdf. SAS, as it points out, is not a standard, but rather a way of conveying unique sas attributes. This is yet another way, primarily in highly dense server scenarios, to present shared storage. Essentially it is a way of sharing out direct attached storage. The main draw here is the speed over the 1GbE iSCSI. Since SAS is generally at 6Gbps, and can run over 4 channels for 24Gbps.

The main challenges for SAS focus on deployment and cost. It is often looked at as a cost saving measure over Fibre Channel, high speed and a lower cost. The challange here is that it is fairly limited in it’s scalability. It also introduces some complexity not found in iSCSI. Bringing in new switches, and zoning them is reminiscent of fibre channel, which is far more scalable.

iSCSI is not without it’s challenges of course. There is the consideration of using separate physically isolated switches from the remainder of the network, or using VLAN tagging on existing switches. 1GbE iSCSI can be saturated given enough utilization, and proper design is critical to minimize latency.

So to answer the question, what does it matter, the first response is is it supported. VMware publishes an exceptional Hardware Compatibility List, http://www.vmware.com/resources/compatibility/search.php, which should always be the first stop on these decisions. Secondarily to that, know your environment. While Switches SAS does have it’s place, at this point, in the SMB environment, it often makes sense to stick with what is a known quantity. Every environment already has an IP network, so leveraging that, or extending it is the simplest way of moving forward. This keeps the environment standards based, and does not require sticking with a specific solution. At the end of the day, beyond what is supported, the best design principle is to keep everything simple. While it may not matter as long as it is supported, generally speaking, then best designs are the ones which are well documented, easily repeated, and simple.

As always, there are exceptions to every rule, but I would say that using iSCSI is preferable over SAS for all those reasons, why make things more difficult than they need to be.

VMware Storage Part 8: Storage Networking Revisited

VMware Storage Part 7: P2000

Moving on from the more general VMware storage topics, I think it is good, since I work for HP, and since I spend much of my day designing HP storage solutions for virtual environments, to talk a little about the different models, where they fit, and why it is good to have more than one storage system to look at when designing for a VMware environment.

The HP P2000 family is now in it’s 4th Generation. This is HP’s entry level SAN, solid performance, a standard modular design, and an easily learned interface that is quite intuitive. This is an excellent platform, and not just for small businesses. The simplicity of design scales out very well for users with a middle ware layer, such as VMware to manage the multiple arrays.

The biggest draw of this device is the variance between connectivity methods. The P2000 allows for SAS connectivity, either direct connected or using a small sas switch, 1GbE iSCSI, 10GbE iSCSI, and FC. There is also a combination controller allowing for iSCSI and FC in the same system. This level of flexibility enables environments to be designed around multiple protocols, or in smaller environments to take advantage of less costly protocols.

The user interface on the P2000 is very simple and functional. Provided the user understands some basic server terminology, the P2000 can be configured, and even snapshotting and replication are easily provisioned. The concepts around this are a pay per array system. If you want snapshots, or replicaiton, you license the array rather than a per TB charge. The system can be administered through a user friendly web GUI, a robust CLI, or by using plugins in VMware vCenter.

The only real downsides to this system is the small amount of Cache, and the limited feature set. For the most demanding of applications and users, this might not be the best fit simply because they are going to want to leverage the larger amount of more expensive DRAM in higher end arrays. This can be mitigated by I/O accelerators on the server side, or by scaling out with multiple systems, so it is not a huge problem. The limited feature set, again is not always a bad thing. It is critical to understand what is needed from the array, and to plan accordingly. For example, if thin provisioning is a critical success factor, this might not give you the same level as a 3Par for example. On the otherhand, if cost is the biggest factor, and you have a constraint of using a 1GbE iSCSI network, this is a perfect fit.

Another option not often considered with the P2000 is, while it is a block only array, it can be paired with the HP Storeasy File Gateway, to provide file services with built in deduplication, and a familiar windows interface. What does this have to do with a VMware environment?!?!?! It has been my experience that many VMware environments run primarily Microsoft Windows. This means that windows file shares are quite important, and overlooked.

In a VMware environment, this is a great shared storage system. It is easy to administer, it is a good value for the price, and it does enable many of the VAAI features available with VMware. Additionally this is one of the most flexible systems on the market. When you absolutely need SAS or 1GbE iSCSI connectivity, this is always a great fit. At the end of the day, there is a reason why companies like HP have multiple storage offerings, and this one is exceptional in it’s space.

VMware Storage Part 7: P2000

VMware Storage Part 6: Object Storage

Object storage is starting to come back around recently with services like Box.net, and Dropbox to name a few. It is really a simple concept, which can be important in a virtualized environment, especially when you look at the industry trends.

Object storage is really quite simple. You store a file, not as blocks on a file system, but rather as an “Object” on a raw device. This is not so much different than when a database is given a raw mount point and manages the storage internally. The concept is that I place an “object” in the store. I define a policy that I want it protected in R1/R10. This means when I create the object, or modify it, the system needs to keep two copies, generally on separate physical hardware, and in some cases in separate geographies.

This sounds very much like the old Lefthand, now StoreVirtual concept, where data is constantly replicated to keep multiple copies. The major difference is that the storage is accessed via an API, application programming interface. Think about drop box for a second. I place a file in my drop box folder on my laptop. It is replicated up to the “cloud”, and is available on my iPad, iPhone, web browser, etc. I didn’t tell it what do do, I just placed a file in the folder and it was suddenly available everywhere I am. I can have the same object on a Mac as a Windows PC without worrying about incompatible file systems, permissions, many of the things which are inherent to the file storage models. The great part is I don’t worry about backing up the file when I image my laptop because it comes right back when I link my freshly imaged laptop to the application which is calling the API.

What is happening here is that programatically, storage is being controlled, the object, my file, is being replicated. I don’t think about anything going on in the back end, it is simple, and it is cost effective. I am using the object storage as a repository, so there is not a performance expectation.

The performance in and of itself is an interesting discussion point. This is not something I am going to run my virtual desktop environment on, at least not just yet, but it is a great way to throw some large inexpensive drives out and present them to my end user community as a way to store data. This enables me to archive more effeciently, and share files across heterogeneous environments.

So what does this have to do with VMware? When we design a VMware environment, we often look at just the virtual infrastructure. We think about todays statefull applications, and we assume virtualization will just simplify our lives. It is critical to take a step back and think about what changes with a virtual environment. If we are simplifying and consolidating, we are also introducing new complexities, and potentially opening the door to a whole new series of challanges. Using our expensive primary VMware storage as an archive platform may not be the wisest solution, having a windows VM chugging away on our virtual environment may be much more costly.

One of my favorite sayings is, there are nine ways to skin a cat, no offense to cat lovers, and as we design VMware storage solutions, it is critical to look at the project on a larger level. As I learn more about Openstack, I will be posting more on the Software Defined Datacenter and what I believe that really means.

VMware Storage Part 6: Object Storage

VMware Storage Part 5: Storage Networking Overview

Storage networking is an interesting discussion. This is usually pretty dependent on your storage vendor, or your personal preferences, but this is often also a misunderstood issue. When I was new to storage, we used to joke about iSCSI, real men used Fibre Channel. File storage like NFS was someone else’s problem, I was only interested in block, fibre channel storage. In a VMware environment, it becomes increasingly clear that we need to examine all types of storage networking to make sure that we have the right fit. Now I did talk a bit about this topic in previous posts on SAN and NAS, but I feel it is worth discussing in greater detail.

To start, VMware fully supports NFS, linux Network File System, and this is a perfectly logical way to handle storage in this environment. It is simple, it works much like a traditional file system, it is easy to grow, and is generally thin provisioned by default. There is no VMware File System, VMFS, to manage, the NFS server provides the file system. In cases where datastore sizes need to change often, and cases where redundancy is less important this might work. The main draw here at this point is simplicity of provisioning, and management. This can happen over 1GbE and 10GbE, and this really has to be decided based on network bandwith needs. It can be done using a converged network, but should always be on a separate subnet from the rest of the network traffic.

The major downside of NFS is that it is sometimes treated by VMware as a second class citizen. Most times when VMware releases new features from a storage perspective they are released on block storage. NFS is usually not far behind, but it does take time. Another downside is a lack of multipathing. Now I will say there are ways to do multipathing with NFS in a VMware environment, but it is more complex and not always a standard. Finally NFS is heavily reliant on the NFS server. While there are some good systems out there, there is also a reason a majority of the largest deployments have opted to use block storage for VMware. It is more trusted, and gives more options for storage vendors.

iSCSI is another IP based protocol, supported in both 1GbE and 10GbE. This is a great protocol for small to mid sized environments. It is simple to configure, and runs on the traditional IP network, using traditional IP switches with a few minor modifications. iSCSI is attractive because it generally keeps costs down. It also can run over a converged network, but should be isolated by VLAN’s at a minimum, and dependent upon your storage vendor may take advantage of multiple paths for redundancy or performance. Modern storage arrays are moving away from 1GbE in favor of 10GbE for iSCSI, which is something to consider if looking at this as an option.

The major downside of iSCSI is that it is so easy to deploy improperly, and is seldom designed correctly. Being an IP based protocol it is not purpose built for storage, so there is inherent latency. Jumbo frames and flow control, though widely debated, often time can have tremendous impact on the storage in a VMware environment. With 1GbE networking in larger environments, or 10GbE in a converged network, speed and complexity can be a factor. In a future post I will discuss storage network design in more details, but this should give a high level idea of some of the challanges.

Fibre Channel Networking, in the enterprise at least, is probably the most common protocol. The major advantage is this is dedicated. A fibre channel network is designed to transmit the SCSI commands between the storage and the host server. This becomes particularly important in a virtualized environment. Again more on this in a future post on storage network design. The major advantage here is that the latency is very low, and the switches are not having to handle any other traffic. In a virtualized environment, we also want to consider the number of servers per host we are using. In a traditional physical server if we have 2 fibre channel hba ports on the servers, and we virtualize 20 servers per host, we now have 10 times as many servers using the same bandwith. In this context, the low latency and lack of resource contention on the storage network is much more important.

The downside for Fibre Channel is cost and complexity. This requires dedicated specialized switches that cannot be used for anything else outside of storage. They are costly to deploy and to manage when compared to a typical IP network. They are also complex. They are often times outside the traditional network teams expertise so they will leave management to the storage team.

Finally there are of course Fibre Channel over Ethernet, FCOE, and Serial Attached SCSI, SAS, but these are less common in most environments and have not as of yet gained wide adoption.

At the end of the day these all get us to the same place, and all have their merrits. There are pros and cons to each, and I will talk more about the actual network design soon. It is good to know about each and where it may or may not be a good fit in a particular environment.

VMware Storage Part 5: Storage Networking Overview

VMware Storage Part 4 1/2: VSAN revisited

No sooner do I get a post up about VSAN and how I don’t think this is a major storage play, but rather a lower end play, than I see this on twitter…

20131021-204341.jpg

Now I want to say, if your not reading guys like Duncan and Scott to name just a very few, then you are missing a majority of what is happening in the virtualization world. With the recent hires at VMware technical marketing, the future is anything but boring. That being said, I love speculating, and I do realize this is typical for VMware to push the envelope, release new and innovative products and then make them even more awesome.

I would have to say though this is significant if it means what it seems to. There are so many amazing products on the market now from a storage perspective alone, that VMware would be missing a huge segment if they didn’t work on this. I do stand by my thoughts though, this doesn’t kill competition, it just makes the rest of us work harder to innovate.

Competition is never a bad thing, it can bring out the best in us. I look forward to seeing what this means for those of us who have invested heavily in the future of VMware, from a career standpoint, and those who are using the products. What an exciting time to be alive and in technology.

VMware Storage Part 4 1/2: VSAN revisited

VMware Storage Part 3: NAS

Nas is an interesting topic when it comes to VMware. This is often a religious debate, many users of products that are better at file storage than block love to talk about using VMware on NAS. Now there is really nothing wrong with that, NAS is a great medium for VMware storage.

To start with, NAS, Network Attached Storage, is nothing more than allowing multiple client machines to share storage. Likely your PC has a shared drive, probably several, your public or departmental share is on a NAS using the windows SMB, Server Message Block, protocol.

In a VMware environment, we use the NFS, Network File System, a linux based protocol to connect the servers to the storage. Remember with VMware we want to use shared storage for High Availability and load distribution. The advantage to using NFS really comes down to simplicity. When we use NFS storage in VMware what we are doing is just creating a file rather than writing blocks. This was an early attraction when block based storage was not able to keep up with the writes coming from VMware. Since it was writing to an open file, there was no concept of writing and committing data, it was all just writing. This hasn’t changed, but block storage has gotten significantly better, but that is for another post.

The simplicity also comes from the ability to expand simply. If you have the space on the NFS server you can just grow the NFS share, no extents (joining multiple logical volumes together), just grow the file system. Really not much too it, and very simple to manage you also don’t worry about the file system. In a block based system you create a file system based on VMFS, the VMware File System, on NFS, it is it’s own file system, you are just a file living there.

So the plus side is this is pretty simple, and the performance is now about the same from block to file, so what is the downside?

The biggest issue on my side is multipathing. There are ways to get around this, mostly proprietary, and with proper networking you can actually use nic bonding to give you a sense of multiple paths, but this requires some planning outside of the VMware environment, and can be challanging. On that point you are bound by your IP network, remember this doesn’t run over Fiber Channel, so if you go this direction, you better be on a rock solid network.

The other major downside, from my perspective, is VMware typically releases the features first to the block systems and then to NAS. Now again this gap is closing, but it is there. If you are like me, you update your iPhone to the latest code the min it is released and the servers stop crashing. In my lab, I run bleeding edge code, and I am all about the coolest and flashy, so this is important to me.

At the end of the day, NAS is great in a VMware environment. I personally like to have both options available, and would never tell someone they are wrong for going either direction, just make sure you are able to justify your decision.

VMware Storage Part 3: NAS

VMware Storage Part 2: SAN

Continuing on with the theme from last week. Again this is just to get things started, I do intend to dig into some of these areas much deeper, and discuss specific products, but to assume that everyone knows the basics would be in opposition to my desire to make technology, specifically virtualizaiton, something we can all understand and work with.

I was first introduced to the concept of a SAN with the Apple X-Raid in 2004 by a software developer I worked with. We were at a small software startup in Sacramento, CA, and the concept seemed outrageous to me. Shortly after that I ended up moving to a Casino where I was handed a SAN and the VMware ISO images. I quickly learned the value of shared storage.

The concept behind a SAN is that rather than the islands of storage we talked about in part 1, we can logically divide a large pool of storage between multiple servers. This is important in a VMware environment to enable things such as High Availability and Load Balancing between hosts. Since all hosts have access to all shared storage (SAN), a Virtual Machine may reside on any host.

A critical design point when using a SAN in any environment, but especially in VMware, is multipathing. This is simply having more than one connection from the host server to the shared storage. This becomes particularly critical in a VMware environment. Remember we are dealing with consolidation, so I may be moving 5,10, or more workloads to a single VMware host. Not only does this increase risk but also the load carried by the storage connections. This is where your SAN vendor’s controller design can help or hurt you, but that is a topic for another day.

SAN’s come in many flavors, but the connectivity methods are generally iSCSI, Fiber Channel, and Fiber Channel Over Ethernet. Each of these has it’s own advantages and disadvantages. What I have found is generally speaking this is largely dependent on the environment. For smaller customers, iSCSI is often perfectly acceptable, and can provide a familiar medium for the networking team. In larger environments, Fiber Channel is often preferable since it offers a simple and low latency network which is designed to do one thing and one thing only.

One closing thought on storage networking, it is important to consider line speed. With the release of 16G Fiber Channel, and 10GbE becoming more affordable, it is often wise to step up and pay for the fastest storage network you can afford. As Solid State Drives continue to gain market share we are seeing more and more storage networks become saturated. Many storage array vendors are dropping support for slower speeds, 1GbE iSCSI in particular. Always wise to prevent bottlenecks wherever possible even if it does cost a little more up front.

VMware Storage Part 2: SAN

VMware Storage Part 1: Introduction & Local Storage

One of my favorite radio talk hosts talks about the importance of having the “heart of a teacher”. When I started out in IT, I thought I wanted to be in tech support, teach others how to use their computers, and how to make the technology work for them. I have come to realize that while I enjoy helping others, I prefer to talk about concepts, and help them understand storage and virtualization. I am going to spend the next several posts going through some of the VMware storage concepts, in what to many may seem simple terms, but many of the people I talk to do not have a solid understanding, so I think it is always wise to level set, to start from a common point as it were. While there are many blogs out there with some incredibly technical content on this, many well written and helpful, I thought I would give this my own slant in an attempt to help some of the people I interact with and meet new ones. Feedback is appreciated, and I am always open to suggestions for new topics.

VMware in general is all about abstraction. With compute we put the software layer between the physical hardware and the operating system. This enables us to have portable servers, and to consolidate many workloads on to a smaller physical footprint. When we think about this from the storage side of things, it is not so much different. If we think about VMware creating a container to hold many servers, then a datastore, storage presented to VMware to hold Virtual Machines can be considered a container to store the hard drives and configuration files that make up a Virtual Machine. This storage is presented as one or more logical drives, datastores in VMware terms, up to 64TB in size. The reason behind sizing a datastore will be covered later, and is certainly open for discussion, but it is enough to know for now that we create a datastore from logical disk space.

When creating a Virtual Machine, VMware will ask you how much space you want, and which datastore you want to place it on. This will again be covered in a future post about design, but it is important to note, a datastore can contain multiple Virtual Machines, much like a VMware Host, physical machine running VMware, can contain multiple Virtual Machines.

Each VMware Host machine, provided it contains local hard drives, will have a datastore called “Local Datastore” or something similar. This is not a bad thing, it can be useful for Virtual Machines which you do not want to be able to move, but it is limited in that shared storage is required for high availability and resource distribution. With the release of VSAN in vSphere 5.5, as well as many Virtual Storage Appliance, VSA products, this can be used as shared storage as well, but more on that later.

To wrap up, storage is one of the more critical aspects to virtualization success. There are many more features to cover, I will be explaining many of the VMware features as well as where each different HP storage product may make sense as well as some reasons why I personally would choose HP over competitors products. Stay tuned and please let me know if there are other topics I should be covering, or if there is more detail needed.

VMware Storage Part 1: Introduction & Local Storage