I’ve been a big fan of automation almost since I discovered computers many years ago. It is my favorite thing about Cisco UCS.
Today, guest blogger: Olli Walsdorf, Technical Marketing Engineer, discusses using Ansible with UCS.
Olli has more than 20 years of storage experience, working in different roles at different storage vendors, and is now an expert for software-defined storage at Cisco. For the past four years Oliver was focused on developing storage solutions at Cisco. With his focus on SDS he drives the overall attention in the market for new technologies.
Building Scale-Out Storage solutions can be now fully automated to reduce the overall amount of work and to easily scale software-defined storage environments within minutes. Partners and customers can begin to leverage this capability using Ansible modules and playbooks for UCS Manager.
I have to admit that working in a Business Unit can be sometimes very challenging and fast and then there is no time to reflect and see the big picture, no matter which company you are working for. But sometimes projects are crystal clear, you can’t wait to see the result. One of those projects is Automation for scale-out storage.
Big Picture
In the 1990’s, where I started working in the storage industry, we handled GB of data and managed it by doing a lot of manual steps. Initial configuration and installation took a long time, sometimes days. In the 2000’s, storage arrays and disks got larger and we handled then TB of data but with the same problems as in the 1990’s. Now in the 2010’s the situation hasn’t changed that much. We’re now talking about PB of data, even EB but the initial work in the beginning is still the same and challenging.
There are exceptions but as soon as you come to a project where you need multi-PB, you run into an issue of scaling your work of configuration and installation.
Problem #1:
People might think of traditional storage systems solving their problem but they are limited in their ability to easily and cost-effectively scale to support large amounts of unstructured data. With now about 80 percent of data being unstructured, x86 servers are proving to be more cost effective, providing storage that can be expanded as easily as your data grows. Software-defined storage is a scalable and cost-effective approach for handling large amounts of data. Sounds good?
Problem #2
When scale-out storage grows, it can get complex in configuring and installing. This is one of the major obstacles when it comes to enterprise-readiness for software-defined storage. Touching each server and configuring network ports, disk for storage, or even the install media can take a long time and is mostly error-prone. And it’s a difference to prepare 5 servers or 50 servers.
Solution
But there are two ways out of the dilemma that can help a lot and reduce the overall amount of work to a minimum. Even large environments don’t take longer than smaller environments when it comes to the configuration and installation of the scale-out storage hardware.
- Cisco UCS Manager: Creating policies and profiles and associating them to servers simplifies scale-out storage solutions a lot. There is no need to repeat specific configurations for each server. Just assign the previously created Service Profile and you’re done. Cisco is doing it now for almost 9 years very successful.
- UCS Manager Ansible Modules: Sometimes it doesn’t make sense to create everything via the UCS Manager GUI and you want to further simplify the whole process for configuring and installing servers. Then Ansible for UCS Manager (https://github.com/CiscoUcs/ucsm-ansible) is the right way to move forward. You run a complete Ansible Playbook with all variables you need and within less than 2 minutes your UCS Manager Service Profiles get associated.
Ansible is one way to use the UCS API as described in this blog. There are many ways to do it but we’ve seen a very good adoption of using Ansible for automation in data centers.
We have now published all Ansible Modules for UCS Manager to configure a complete scale-out storage solution. A couple of options for you to run a scale-out storage Ansible Playbook for UCS Manager:
- Ansible Role: You can use the Ansible Role, described here –https://github.com/CiscoUcs/ansible-role-ucs
- Playbook:You could either use a hardcoded playbook or a playbook with variables and a JSON file.
I did a quick test of configuring and installing 2 x S3260 Dual Node Chassis. You could use much more hardware – the time would be around the same as the process of association works in parallel. Take a look at the 2 minute video.
That gives us now a couple of advantages:
- As much as I like the simplicity of UCS Manager GUI – when it comes to scaling and automation then Ansible for UCS Manager can do it in a much shorter time.
- You can run the playbooks as often as you want, even if you only want to change a small thing like MTU size for the storage network.
- The story gets even better when you integrate the northbound Cisco Nexus switches in Ansible.
Outlook:
The project won’t stop here. Our next steps for scale-out storage automation are:
- The full story obviously comes with the integration of scale-out storage vendors. Stay tuned for the first end-to-end Ansible full automation in the industry, from network to compute to storage to software.
- The big picture for the Cisco UCS team is certainly Cisco Intersight. Mid-term, we want to integrate the scale-out automation into Cisco Intersight to make it easy for customers and partners to use from a central user interface.
Summary
Scaling software defined storage solutions can be sometimes complex and difficult in the beginning but there are ways out of the dilemma with Cisco UCS. Ansible for Cisco UCS provides an easy way to scale your environment within minutes no matter how much capacity you have.
Oliver and Bill,
Thanks for the information, Github link, and demo showing how Ansible Playbooks can significantly simplify the scale-out of software defined storage solutions.