Friday, December 11, 2015

Nimble Storage - So Easy Even I Can Do It - Part Deux - Volumes, Initiators and Performance Policies

Hi Friends,

So last we left our array it was setup and ready to login.  Okay, great, now what?  The great thing is creating a volume and getting it visible to your consumers is super simple!

After you log into your Nimble array you'll be at the Home screen.  Lots of cool stuff there, but let's focus on creating our volume first.  Click on Manage > Volumes.
 


Now that we're in the Volume area, let's click on New Volume.  Yep, there's cool stuff on the left side too, I'll talk about that later as well.










Lots of new goodies!!  First we name our volume, give it a performance policy, choose if the data is encrypted, what iSCSI Initiator Group can access the data and if we're going to use CHAP or not.



































Let's start with Performance Policy.  Applications are interesting things.  They tend to vary a lot, not just in what they do, but how they read and write data to disk.  The cool thing about the Nimble is you can select from a pre-defined list of popular applications or you can create your own performance policy!

Here's a list of the pre-defined policies and if you don't see your application here, you can either select "default" or you can create a policy to best match the performance characteristics of your application.


































Here I've clicked on the New Performance Policy button.  Fist you name your new policy, select the block size your application best utilizes and whether or not you want to use compression and caching.  Compression and caching are usually on by default to give you great space savings and performance, but there are times when you don't need or want those features enabled.  More on that in another blog post.


















Here I've called my volume "vol-creation1", given it a Performance Policy of "VMware ESX", Data Encryption is "Disabled", my iSCSI Initiator Group is set to group I've already created and I'm not using CHAP.  More on Encryption later!


































Next we tell our Nimble what size our volume is going to be.  Here I'm selecting 2TB.  How about SPACE?  This is all about volume reserves, quotas, warnings, etc.  I'm going to take the defaults because they are pretty good as is.  If there's something you want to change, you can.


































Lot's of good stuff here, so I'm going to break this up into two images.  First of all we're going to choose how we protect the volume.  You've got a lot of choices, none, use a pre-existing collection, create a new volume collection or protect the volume as standalone.  So what is a volume collection?  Basically you're creating a protection template that tells Nimble how you're going to protect the volume.  And the cool thing is you can re-use the template after you create it for other volumes.

The next step is to choose your synchronization.  You can select None, Microsoft VSS or VMware vCenter.  This is really cool because with Microsoft VSS you can have Nimble talk to your Microsoft application that supports VSS to do application consistent snapshots.  If you're using VMware, you can have vCenter create a VM consistent snapshot before you create your Nimble snapshot.



























Now we're going to create a schedule for our template.  We can choose how often, when to start, on what days, how many snapshots to keep and if we want to replicate to another Nimble array.  Pretty neat huh?  More on replication later.

Okay, something new for our seasoned Nimble admins.  Notice the Performance piece in the workflow?  And notice we can click Next or Finish?  If you don't want to mess with advanced performance just click Finish, but I'm adventurous, so let's click Next!






























Now this is really cool!  If you want Nimble to make the caching decisions, just leave this at Normal(default), BUT, if you're daring like me, you can choose to pin this volume.  So what does pinning do?  Say you want a particular volume to behave like a flash array.  You can select Pinned and the volume will not be evicted from cache when the data gets cold.

Remember, you've got a finite amount of cache in your array, so the more volumes you pin, the less cache you have for "regular" volumes.  CASL does a fantastic job swapping data in and out of cache, but sometimes you just need a bigger hammer!

So when would you need this?  One scenario I've been working on is putting your VDI gold image and replica on a single volume and pinning that to cache.  Create a small volume ~50g and pin the sucker!  It's a small size so it won't use a lot of cache, plus when you do a refresh or recompose, you're reading the two images directly from cache!



After you decide whether to pin or not, click Finish and you're done!!


Until Next Time!
-Brain

Monday, November 30, 2015

VMware Perspective - Go Away Zombie NIC!!!

Hi Friends,

I was doing some NIC manipulation on one of my virtual machines for some Horizon View testing I was doing.  After I finished changing the NIC on the golden image I did some work on the guest OS, powered it off and took a snapshot so I could point Horizon View to the new image.  After I started cloning the new desktops I realized I had forgot to change the NIC back so the desktops could talk to my private network.  Crud!




















Not a big problem, I'll just edit the golden image in vCenter and switch the NIC back to have the NIC I want and take a new snapshot...  Hey!!  I deleted you!  Go away zombie NIC!!!




















Hmmm, maybe it's because I did the change in the vCenter client and not in the vCenter webclient?



















Hmmm, no looks good....  Hmmm, maybe check the vCenter client???

































No, looks good....

Well, I'm outta ideas!  Time to check my buddy Google!

I found this discussion on the VMware Communities that said to check the snapshots because VMware would remember old configurations if the Snapshot was still there.  Ah Ha!  The snapshot I took!!




I deleted the snapshot that had the zombie NIC in it and.....






So long zombie NIC!!!




















I hope this was helpful!  Thanks Google and VMware Communities!!

Until Next Time!
-Brain

Tuesday, November 24, 2015

Nimble Storage - So Easy Even I Can Do It - Part Deux - Setup

Hi Friends,

As promised, here's the first blog in the new series:

Nimble Storage - So Easy Even I Can Do It - Part Deux

Today we're going to go through Setup and it couldn't be easier!

Once you've got your array racked, stacked and powered you can setup the array in a couple ways.  If you want to install it through the serial cable, you can do that, but I prefer using the Nimble Setup Manager!  This way I can configure it from the comfort of my own cube, it's warmer and less noisy than the datacenter.
















If you haven't downloaded the Nimble Setup Manager, head over to InfoSight.  Click on the download cloud and select Integration Kits, Windows Toolkit and grab the latest software version.


This is a pretty cool pack of software.  It has the Setup Manager and the Connection Manager.  I'm just going to cover the Setup Manager today.

Install the Windows Toolkit on a Windows machine on the same network the array has been plugged into.  The Setup Manager will detect the new array on the network.  How cool is that?!?!














Launch the Nimble Setup Manager by clicking on the icon.














I still can't get over how cool this is!  There's my array!  Select the array you want to configure and click next.




































You'll get this information box telling you what IP address your browser will go to to access the array.  Yep, I know that's not a good looking IP address, don't worry, trust the Setup Manager and click OK.  :-)



















Now we need to make a decision, is this a stand-alone array or do we want to join it to an existing group?  Let's start off with a stand-alone array and in another blog I'll show you how joining an existing group works.



























We'll need to enter in some information now.

1. Array Name
2. Group Name
3. Management IP
4. Netmask
5. Default Gateway
6. Domain Name
7. Admin Password

If this is a stand alone array the array and group names are just names you'd like to call the array and what the group the array belongs to is called.

The management IP is the IP address you're going to use to administer the array.  Don't worry about data IP's just yet, but we will need them soon.

The netmask, default gateway and domain name will depend on your environment.

Enter in a password for your array.  If you don't like it, you can always change it later, but don't forget it!  :-)



































Next you should see this message telling you you're ready to proceed to the next steps using the management IP you just entered!












Cool, now you'll be greeted by the Nimble Storage Login Page.  Enter in the password you just entered.































Now we're going to setup the advanced networking.  Remember when we put in the Management IP?  Well, we can use Management for management and data, but this is more of a temporary configuration and it's better to separate the traffic.  We'll use 10gig ports for data and 1gig ports for management.  So on this page we need to do a couple things.  We need to change the Traffic Type from Mgmt + Data to just Mgmt and add our data subnets using the Add Data Subnet button.


















Now we're looking good!  I've switched Management to Mgmt only, I've added two data networks called iSCSI-A and iSCSI-B and have configured them to be Data only.  You'll need a couple of IP addresses for your Data Discovery.

Notice the Management subnet no longer has a Discovery IP address?  That's by design since it will no longer be serving data and will only be used for management.

And you'll notice I also highlighted MTU.  I've selected Standard, but you can select Jumbo Frames if you're using them.

















Now that we've created our subnets we need to assign them to ports.  In my image all the ports are 1gig.  On newer arrays 10gig ports would be available for you.  It's super easy to select what subnet you want for each port, just click the pull down and select one.



















And here's a finished Network Settings.  I've put Management on eth1 and iSCSI-A and iSCSI-B on eth5 and eth6.  Remember we had to put in an IP address for our data subnets?  Those were for discovery and those will be the ones you use to let clients discover your Nimble array.  The Data IP Address is the actual IP data will go over.

Diagnostic IP's are in case something happens to the management IP and you need a direct way to connect to the individual Controllers.



















Now we put in our Domain Name and DNS Servers.  If you only have one DNS server, that's fine.




















Select your Time Zone and the name or IP address of your NTP server.















Remember all the blogs I've written about the excellent Nimble Support and InfoSight?  Well here's how you get all the information to them.  Put in a From Address, that's who emails will be from and a To Address, who receives them.  If you want Nimble Support to be aware of your array and all the goodness that comes along with it, select Send event data to Nimble Storage Support and Send AutoSupport data to Nimble Storage Support.  If you're not able to use these features, talk with your Nimble Account Manager.



























That's it!  You're ready to rock and roll!


















I hope you've enjoyed the first part of my Nimble Storage - So Easy Even I Can Do It - Part Deux!  Be on the look out for the next blog.

Until Next Time!
-Brain



Monday, November 23, 2015

Nimble Storage InfoSight To The Rescue!


Hi Friends,

If you’ve followed my blog for some time now you might have read an article or two about a product Nimble Storage created called InfoSight.  Hey, if not, we’re all busy and I’ll forgive you this time…


If you’d like to learn more about InfoSight visit the Nimble Storage website, but here’s a small bit about the coolness of InfoSight, taken from the Nimble Storage website.

At the heart of InfoSight is a powerful engine comprised of deep data analytics applied to telemetry data gathered from Nimble arrays deployed across the globe. More than 30 million sensor values are collected per day per Nimble Storage array.The InfoSight Engine transforms the millions of gathered data points into actionable information that allows customers to realize significant operational efficiency through: 

  • Maintaining optimal storage performance
  • Projecting storage capacity needs
  • Proactively monitoring storage health and getting granular alerts

One of the more difficult things as a Sys Admin is keeping an eye on all of your servers and storage.  It seems Sys Admins are always being told to do more with less and let’s face it; it can be a bit overwhelming trying to keep on top of every problem unless it’s something big and nasty.  And none of us want it to get to that point!  With Nimble Storage InfoSight, we’ve got your back!   
 

I was in a meeting today with one of the Nimble Storage Sales Engineers and he told me an InfoSight story that I thought was so cool that I asked him to be a guest blogger.  With that, I’d like to introduce Mark Antonaccio.  Take it away Mark!

Thanks Neil! This story starts back in May of this year. I had just started as an SE at Nimble, and right away I experienced the power of predictive analytics and the value it could bring to my customer. I’ll leave this customer unnamed, but I can say that they are a global leader in the payments industry. They have multiple Nimble storage arrays, and they use InfoSight to proactively manage the performance and capacity of each. Here’s the story:

Our customer received an email from Nimble support that notified them of a new software release. I met with them to discuss upgrading their arrays to the latest version, informing them that it would provide new functionality, including per-volume encryption and cache pinning. I also opened a ticket with Nimble support to determine if any additional steps would need to be taken as part of the upgrade. Here’s what we found out - the array was actually blacklisted and was currently not eligible to be upgraded. InfoSight showed that we needed to correct a latency issue due to cache underprovisioning and possible sequential I/O contention. So right away, InfoSight saved us from moving forward with the upgrade and possibly inducing performance problems in a production environment. Now, we needed to dig deeper and find the root cause. Our wonderful Nimble support folks were on the case, and they quickly found the cause of the cache issue. Log volumes were being placed into cache with no benefit, reducing the available cache space for DB volumes that could utilize it. These log volumes were misconfigured within the Nimble array. There was a straightforward, non-disruptive, and simple fix that could be performed by one of our capable Storage Architects. We wrote a script that automated the creation of a new performance policy that did not cache data, and applied it to all of the log volumes. We then saw the cache utilization drop, clearing the way for the upgrade to take place.

That is awesome Mark!  Thank you so much for sharing this story with my readers!  I can't say enough cool things about InfoSight.  Knowledge is power and InfoSight gives you the knowledge and power you need to keep your environment running in tip-top shape!

Until Next Time!
-Brain


Wednesday, November 11, 2015

Nimble Storage - So Easy Even I Can Do It - Part Deux - Introduction

Hi Friends,

It's been awhile since I wrote the "So Easy Even I Can Do It" series for Nimble Storage.  When I started we were on 1.x CASL code and lots has changed, but not how easy it is to setup a Nimble Array.  Yes, there are more features and yes there are a few more steps, but it's still super easy to do.

Be on the lookout for the NEW and improved Nimble Storage - So Easy Even I Can Do It series!


Tuesday, November 10, 2015

BrainWavez Episode 33: OpenStack – Everything You Wanted To Know, But Were Afraid To Ask

Hi Friends,

Got a great BrainWavez episode for you today!  I talk with Jay and Binh about OpenStack!  What it is, what are the components that make up OpenStack, what it means to the cloud market and how Nimble Storage is getting involved.  We had a great time recording this episode and it's filled with great OpenStack information!  Huge thanks to Jay and Binh!!

For iTunes users: [iTunes]
For everyone else: [mp3]

Wednesday, October 14, 2015

Microsoft Office Activation Error: 0x80072EE7

Hi Friends,

Got a good error for you today!  So I've changed the way I'm activating my Office 2010 VDI desktops to use my KMS instead of activating them directly from Microsoft.  The interesting thing about Office is that it's VERY perceptive.  If I change hardware in my VDI environment it knows it immediately and wants to re-activate Office...  I can understand why Microsoft is doing this, but what a pain when I'm just trying to introduce a new blade into my environment!

So I've been experimenting bringing in a new type of blade into my environment and from my past experience I knew Office was going to complain.  This time I was READY!

I opened up Word and sure enough, I get the activation screen.  Okay, so I go to the CLI so I can activate Office.

1.  cd Program Files\Microsoft Office\Office14
2.  cscript ospp.vbs /sethst:FQDNofYourKMSServer
3.  cscript ospp.vbs /act

What?!  Error!!




















What the heck is error 0x80072EE7?

I ran the script to check the error and here's what I got.



















What do you mean you can't resolve the server name?!?!

I pinged my KMS, did an NSLOOKUP, no problem....  Hmmmm....

Well I was outta ideas, so time to head over to my good buddy Google.

I typed in the error and almost nothing....

Ummmm....

I kept searching and I finally found an article on the Microsoft Technet of someone that got the same error message.

This is from the page:

"0x80072EE7:
The server name or address could not be resolved
Source: Winhttp
When you use MAK product keys, the machine must be able to contact MS webservers, to activate.
This error you are getting, suggests that the machine cannot resolve the host for the MS webservers.
If it cannot resolve the name, then it cannot connect, so it cannot activate."


What the heck?  Office needs to contact Microsoft?  Isn't that what my KMS is supposed to do?  In a normal VDI environment you're probably never going to hit this problem because each of the desktops will get it's own DHCP address that will be able to contact Microsoft.  But, since I'm running in an isolated environment my desktops can't contact the outside world.

Sooooo, I had to change my internal NIC to one that could reach the outside world.  Re-ran cscript ospp.vbs /act and everything worked.

D'oh!!




















This is probably why I didn't find much information on it, because most people don't hit this error.  Well, if you happen to hit the error, it might be because your desktop can't contact Microsoft.

Until Next Time!
-Brain

Tuesday, October 6, 2015

Woo Hoo! BrainWavez on The Main Nimble Storage Website!

Hi Friends,

I'm very excited to let you know that BrainWavez is on the main Nimble Storage website again!  This time for BrainWavez Episode 32 - Meet Suresh Vasudevan - Nimble Storage CEO

How cool is that?!?!

If you haven't had a chance to check out this episode, I highly recommend listening when you get a chance.

Thursday, October 1, 2015

Brain, Meet OpenStack - How to Quickstart OpenStack and Connect Up Nimble Storage!

Hi Friends,

Ready for something completely different?!

Yep, you read that right, OpenStack.  I know what you're thinking, "But Brain, you're the Windows VDI guy who loves GUI's!  What are you doing working on an open source cloud tool that runs on Linux?!"

Well, believe it or not, once upon a time I used to be a Unix admin and I've been hearing lots of cool stuff about OpenStack and wanted to try it for myself and see what all the excitement was about.

So bear with me here, I'm a COMPLETE novice!  Huge thanks to Jay for getting me started!! :-)

I thought I'd walk you through a quick start-up and how I connected Nimble Storage to my OpenStack environment.

1.  Go grab yourself a copy of Centos 7 and install it.  I'm using my VMware environment to host my OpenStack test environment since I'm limited on physical hardware.

2.  I'm using the RDO implementation for my test OpenStack environment.  What is RDO?  From the RDO page, "RDO is two things. It's a freely-available, community-supported distribution of OpenStack that runs on Red Hat Enterprise Linux, CentOS, Fedora, and their derivatives. In addition to providing a set of software packages, it's also a community of users of cloud computing platform on Red Hat Linux operating systems to get help and compare notes on running OpenStack."

From the RDO page, "For a commercially-supported enterprise ready OpenStack solution, Red Hat provides Red Hat Enterprise Linux OpenStack Platform, an enterprise-class cloud platform based on OpenStack Juno."

3.   Head over to the Quickstart page on the RDO site.  It's got all the per-requisites and how to get your instance running.  I'm going to put the steps in the blog because I'm going to forget how to do this if I don't!  All of the quickstart steps are taken from the RDO site.

4. We need to stop and disable NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl enable network
 
5. Make sure your networking is all good. Take a look at the steps on the Quickstart page for more information.

6. Update your current packages on your Linux distribution.
sudo yum update -y
 
7. Setup the RDO repositories.
sudo yum install -y https://rdoproject.org/repos/rdo-release.rpm
 
8. Now let's install the Packstack Installer.
sudo yum install -y openstack-packstack
 
9. Next we'll run Packstack to install OpenStack.  This step will take a bit of time, so be patient.  And if you're not patient, ummm, go do something else.
packstack --allinone
 
Alright, you've installed OpenStack!  You can now log into the OpenStack GUI!

10.  http://x.x.x.x/dashboard

Hmmm, username and password....


Oh! Hey, it's on the quickstart page!  Username is "admin" and password can be found in the file keystonerc_admin in the /root/ directory of the control node.

Okay, now that we have OpenStack installed, we need to let OpenStack know about our Nimble array.

11.  Head over to Nimble Storage InfoSight and from the Integration Kits tab select Nimble Cinder Volume Driver for OpenStack.  The cool thing is we don't need the driver, that's included in the OpenStack build now, but we do need to open up the User Guide and add some stuff to the cinder.conf file.


























12. Open up the document and search for /etc/cider/cinder.conf.  It's in there a few times, so make sure you're at the part of the document that talks about configuring the Nimble Storage Adaptive Flash Cinder Driver.

13. Within the [DEFAULT] section of your /etc/cinder/cinder.conf file we need to add the nimble information.  You might see lvm already there, so just put in a comma and add Nimble-Cinder.






14.  Go to the end of the cinder.conf file and add the [Nimble-Cinder] information.  This will be the IP, username and password of your Nimble Storage array that you want to connect up to OpenStack.











15.  Okay now we need to create the Nimble Storage backend type.  You can call it whatever you like, I chose Nimble-Cinder.
cinder type-create Nimble-Cinder

I got a weird error when I tried to run the command, so I needed to go to my /root directory and type 
source keystonerc_admin

I'm not sure if you'll run into the same thing, but if you do, that's how I was able to continue.

16.  Next associate the type label with the Nimble-Cinder driver.
cinder type-key Nimble-Cinder set volume_backend_name=Nimble-Cinder

17.  Now we need to restart OpenStack.
service openstack-cinder-scheduler restart
service openstack-cinder-api restart
service openstack-cinder-volume restart

18.  Head over to your OpenStack GUI and we're ready to add some Nimble Storage!!

19.  Once there click on Volumes.

























20.  Now click on +Create Volume.














21.  Name the Volume, select Nimble-Cinder as the Type, select the size of the volume and then click Create Volume.

































22.  When the volume has been created it will appear in the Volumes page in the OpenStack GUI.









23.  Let's head over to the Nimble Storage array and see if the volume is showing up there.


Alright!  There's our 100GB OpenStack1 volume!

Next time I'll show you some more coolness of OpenStack, as I learn it!  :-)

-Brain