Friday, December 12, 2014

Performance Folks, Look What I Found! - Vdbench

Hi Friends,

I wanted to share with you a cool new performance testing tool I found.  As you may know I'm a big fan of IOmeter, it's easy to install, simple to use and gives good results.  But there were always a few things I wish it did.  For instance, what if I wanted to test compression ratio and deduplication capabilities on an array?  Also, IOmeter is great if you want to do a fire hose data blasting, but what if I want to set the IO rate?  How about writing and reading to raw devices vs. something that already has a file system on it?

I give you Vdbench.  Click on the Vdbench link to get it from the Oracle website.  It's a text based tool that is very easy to set up and has a TON of options to it.  It has so many options that I have just barely scratched the surface.  I'm doing some Windows filesystem testing right now, so I thought I would share some of the configurations I'm using to test the performance on my Nimble array.

So first off, after you download the tool, you need to install it.  How do you do that?  Unzip it.  That's it.  That's it?!  Yep, that's it.  What's great is you can run it on Windows, Unix, Linux, Mac, etc.  So you don't have to have different tools for different operating systems, pretty cool right?

















Yeah, I was pretty surprised too!

Like I said earlier, you can write to a filesystem or to the raw device which is pretty cool.  In the following example I created three drives, put NTFS on them and I'm varying the IO rate.

compratio=2.0,dedupratio=5,dedupunit=4k
sd=sd1,lun=n:\test1.txt,threads=32,size=50g
sd=sd2,lun=o:\test2.txt,threads=32,size=50g
sd=sd3,lun=p:\test3.txt,threads=32,size=50g
wd=wd1,sd=(sd1,sd2,sd3),xfersize=4k,rdpct=25,seekpct=100,openflags=directio
rd=run1,wd=wd1,iorate=(250,500,750,1000,max),elapsed=600,interval=5

Okay, this is where I like IOmeter better since it has a GUI.  I know, boo, hiss, GUI's suck, but I've really grown to like GUI's.  :-)  






Yeah yeah, laugh it up!  :-)


With Vdbench everything is CLI, so get your propeller hats on!  You create a configuration file and when you run Vdbench you reference that file, like the one I have above.  Let me break it down for you.












1.  compratio=2.0,dedupratio=5,dedupunit=4k
By default Vdbench writes non-compressible, non dedupable data.  Normally that's fine, but what if you want to test the compression and deduplication capabilities of your array?  Well that's where this line comes in.  Here I've got a compression ratio of 2:1, a dedupe ratio of 5:1 and the size of the data block that dedup tries to match with existing data, here I'm using 4k.

2.  sd=sd1,lun=n:\test1.txt,threads=32,size=50g
     sd=sd2,lun=o:\test2.txt,threads=32,size=50g
     sd=sd3,lun=p:\test3.txt,threads=32,size=50g
SD is your Storage Definition.  This can be either physical, logical, or a file system.  Here I'm pointing to a drive that already has a file system on it and telling Vdbench to create a 50gig file on each drive with a maximum concurrent I/O of 32 to each SD.

3.  wd=wd1,sd=(sd1,sd2,sd3),xfersize=4k,rdpct=25,seekpct=100,openflags=directio
WD is your workload definition and you just need to specify a variable since you can run multiple things with Vdbench.  Here I only have one workload.  I'm calling my storage devices with SD, my blocksize is 4k, I'm selecting a 25% read and 75% write workload, 100% random seek and using direct IO and no buffering.

4.   rd=run1,wd=wd1,iorate=(250,500,750,1000,max),elapsed=600,interval=5
RD is your run definition and you specify a name, similar to the above two variables.  Here I'm calling my workload definition 1.  Now this is really neat.  Here I'm specifying my IOPs and I'm selecting a varied run.  First I start out at 250, then step up to 500, next 750, 1000 and finally turn the fire hose on at full blast to see what the array can do at full throttle.  The neat thing about this is if you want to see how your array performs with specific IOPs you can.  Okay, **I** think its cool...  Next I'm running for a total of 600 seconds and reporting back to the screen every 5 seconds.

As I said earlier, I'm just scratching the surface of the tool and there's a TON more you can do with it.



















As I learn more about the tool and run more performance tests I'll share it with you!

Until Next Time!
-Brain

Wednesday, December 3, 2014

Cleaning Up Replicas, Virtual Desktops, Composer & ADAM Databases, AHHHH!!

Hi Friends,

I'm doing a bunch of testing with VMware Horizon with View using Linked Clones and I'm creating, deleting, creating, deleting, creating, deleting, well, you get the point.  Inevitably with so much creating and deleting I get stuck desktops....  What is a "stuck" desktop?  Well, it's a desktop that you tell Horizon do delete and it thinks and thinks and thinks, but no deleting happens.  Lousy rotten clone, I'll show you who's boss!!!
















So I go into vCenter right click those suckers and delete them!  Ha Ha!  I'm the boss of you clones!!
















But my smug demeanor is rapidly deflated when I go back into Horizon and see the desktops are still stuck at "deleting" as well as "missing".  ARGH!!!














AND.... I have a Linked Clone Replica(s) stuck in vCenter.  I think those are protected from removal or deletion by vCenter.  So, you not only have desktops stuck in purgatory, but you also have a replica(s) that can't be removed either.

Okay, so what the heck to do you do?  Well, there's lots of articles on the Internet, and there's different approaches.  The first thing is you have to do is determine is this production, or is this an environment that can be trashed a little or a lot?  Since I'm working in a lab environment, I can trash it, but I'd hate to have to rebuild EVERYTHING!!  So I thought I'd show you how to clean up your environment if it's NOT production.

WARNING - I suggest taking a backup before you try any of this as it IS destructive.  If you destroy your environment, I'm not responsible, so please don't blame me!! 

WARNING - Remember, these procedures are NOT for production, and if this is dev/test, but you've got lots of stuff you want to keep in your Composer database, move along, this is not the solution you're looking for....


















Okay, so you've got a bit of a mess on your hands.  You've got a bunch of "deleting(missing)" desktops, replica(s) that won't go away and you just wish it would all go away.  Maybe into a cornfield??
















Like I said, there's lots of articles out there, but I wanted to show you a destructive way to clean everything up so you can get moving quickly if you don't have anything worth saving.

1.  Clean up your ADAM database to get rid of the "deleting(missing)" desktops in Horizon.

This step is pretty easy.  Follow this VMware KB to open your ADAM database on your Horizon with View Connection Server.  This is the server that has the Horizon web administrative tool on it.  The only thing to watch out for is if you're using Remote Desktop. I had trouble connecting to the ADAM database using domain administrator and Remote Desktop.  The article tells you to use a user with elevated privileges, but it didn't work for me, so I consoled into the server using vCenter and that worked. Use the first part of this VMware KB to find and delete the desktops in the ADAM database once it's been opened.


2.  Clean the View Composer Database.

All those "deleting(missing)" desktops are gone!  You're good to go right?  Not so fast Mr.!  The Composer database still has all of those desktop references in it.

There's another section in that last KB about cleaning up your Composer database and I'd recommend following it if this is not a dev/test environment that you can trash.

So here's what I do.  Log onto your Composer server and de-install Composer.  Next log onto your SQL Server that has your Composer database and delete that database.  I told you this is destructive!!

3.  Get rid of the replica(s) from vCenter.

Okay, another method that I don't recommend if this is not a sandbox environment.  Log into vCenter and browse the datastores that the Linked Clones and replica(s) are using.  Delete all of the Linked Clone and replica folders of the machines you want to get rid of.  Don't just delete everything!  :-)

You'll notice you can't remove or delete the replica from inside vCenter, so we have to go to the ESXi server the replica(s) lives on.





















Find out what ESXi server the replica is living on and log into the GUI of that ESXi server.

You'll notice from here you CAN remove the replica now.  HURRAY!


















Remove the replica from inventory, but you'll notice it's STILL in vCenter and listed as orphaned.  Never fear, we'll get rid of that sucker!  Go back to vCenter, put the ESXi server into maintenance mode, disconnect and remove it from inventory.  Wo, wo, wo wo!!!  Isn't this a bit extreme?  Yes, yes it is.  But remember this is a quick and dirty way to get rid of the replica(s).  Add the ESXi server back into inventory, exit maintenance mode and you'll notice the replica is gone!!  Is this the best way to get rid of replicas?  Probably not, and I'm guessing it's not a best practice from VMware either so use at your own risk.  Big thanks to mwpreston.net for demonstrating this method of removing stuck replicas.

4.  Create your Composer Database.
If you remember we deleted our Composer Database earlier and it's time to create a new one.  I suggest using the same name so you don't have to change ODBC connections.  Give it the same permissions it had before too.

5.  Re-install Composer.
Go back to your Composer machine and make sure your ODBC connection still works.  When you're sure the connection is good, re-install Composer and point to the newly created database with the same name.

6.  Some last cleanup.
We're good now right?  Well....  Maybe....  I've had some trouble with the Composer connection in the VMware Horizon View Administrator tool after I've de-installed and re-installed.  The secure certificates didn't want to work anymore and the connection from the administrator tool wouldn't connect to Composer anymore.  I think this is because I de-installed and re-installed Composer, but who knows for sure.  :-)

The easiest thing is to go into the View Configuration > Servers and delete your vCenter Server connection from inside the View Administrator.  When you re-add it, add your Composer again and it should connect okay now.  Remember to make sure the Domain connection is working too when you add your Composer connections.  You'll probably have to re-enter it when you click on the Verify Server Information button.

























Well that should do it.  Everything should be working and you've got a crisp clean Composer database.

-Until Next Time
Brain




Tuesday, November 25, 2014

Nimble Storage Best Practices with VMware Horizon (with View) Best Practice Guide

Hi Friends,

Are you looking to implement VMware Horizon (with View)?  Do you have questions on where to put your Linked Clone Replica?  Where golden images belong?  How to protect your VDI environment?  Or how CASL by Nimble Storage can help?  Well friends, Mike and Neil have got you covered in our recently updated VMware Horizon (with View) best practice guide!

Until Next Time!
-Brain



Monday, November 17, 2014

Brain & Wendel #23 - A Day in the Life of a Nimble Support Engineer

Hi Friends,

This week on Brain & Wendel we talk with Jan Schwoebel, a Nimble Storage Escalation Support Engineer and virtualizaton expert.  Jan shares his experiences in support including, common storage and virtualization issues and fixes!  This is a great episode for virtualization and storage administrators!  Thanks for being our guest Jan!

Don't forget to check out Jan's blog, Mind The Virtualization where he shares a ton of his knowledge!

For iTunes: iTunes
For direct MP3: mp3



Friday, October 31, 2014

Brain and Wendel on Nimblestorage.com

Hi Friends,

Exciting news, Brain and Wendel are on the Nimble Storage main webpage!  How fricking cool is that?!  For those who haven't heard me blab on about Brain and Wendel, let me give you a quick summary.  Brain and Wendel is a podcast my buddy Wen and I cooked up where we discuss technology.  Snoozer right?  Absolutely not!  Each episode is about 20-30 minutes of lighthearted, laugh filled, hard core technology talk.  Episodes are available on iTunes and in direct MP3 download from brainandwendel.com. 

So if you're looking to learn about cloud storage, VDI, virtualization, performance testing, backups, data protection, storage, Oracle, Big Data and whatever else is on our minds, you're in luck!




-Brain

Monday, October 20, 2014

Holy Microsoft Office Activation VDI-Man!! - With a Little Help From Homer Simpson

Hi Friends,

I've got a GOOD one for you today!  This one caused some major freaking out...















I'm increasing the number of desktops in my environment so I can give my Nimble Storage a good workout.  But don't forget, more desktops equal more servers too.  I added four Cisco UCS servers and all seemed good.  I kicked of Login VSI and on SOME of the desktops I see this error message...






















What the heck?!  I activated you already!!!!!













To make things worse, it was only happening on SOME of the desktops...  Intermittent problems sucks.

I logged into the golden image as both a VDI user and Administrator, and Microsoft Office didn't want to be activated...

I logged into a Linked Clone desktop as a VDI user and Administrator and Microsoft Office didn't want to be activated...

What is the problem??  PLEASE someone tell me, what is the answer?!





















In the evening I was doing some research on why Windows suddenly wants to be reactivated.  In a lot of the forums I read it's usually due to a motherboard change.  Hmmm, motherboard change eh?

So in the morning I was determined to figure this out.  I ran an new workload in Login VSI and noted four desktops, two that were okay and two that wanted to be activated.  I logged into both manually and yep, same behavior as the automated behavior.  What is different between these four images?

Think Think!!
















The desktops that were NOT working were on my new UCS servers.  Why why why?

Different Motherboards - Office Needs Activating, Different Motherboards - Office Needs Activating, Different Motherboards - Office Needs Activating, Different Motherboards - Office Needs Activating...

AH HA!!!  They're a different model!  My regular servers are UCS B230 blades and these were UCS B200 and C220's!  And Microsoft Office is detecting it as a hardware change!!!

Now VMware has something called EVC or Enhanced vMotion Compatibility.  You can make your different Intel or AMD chips think they're a certain version of the chips.  I haven't tried this yet, but when I do I'll let everyone know what happens!






















In the mean time I migrated off those servers and I'm using them for Infrastructure so I don't have to worry about Microsoft Office activation.




















Until Next Time!
-Brain

Thursday, October 16, 2014

Brain & Wendel Episode 22: Best Practices for Data Protection

Hi Friends,

This time on Brain and Wendel, our special guest is Bill Roth, backup and disaster recovery guru!  Everything you wanted to know about backup and disaster recovery, but were afraid to ask.  (Okay, maybe not everything, but you get the point)  Also hear about how Nimble Storage can help you with backup and disaster recovery!

For iTunes
For direct MP3

Enjoy!
-Brain


Wednesday, October 15, 2014

How to Configure a Cisco UCS to Use a Single IQN for a Boot LUN on Path A and B

Hi Friends,

Got a cool new feature I wanted to share with you that will help simplify things in your UCS and Nimble when you are booting from iSCSI.  Pre UCS Manager 2.2, when you were setting up a service profile which would iSCSI boot, you set your iSCSI boot parameter for each iSCSI vNIC to draw from an iSCSI pool and each would grab their own IQN.  As you can see below, here's my iSCSI-Boot-A for one of my service profiles that has not been changed.  It has individual initiators for both A and B.







































Is this a bad thing?  No, not at all, but it can get confusing when you have a lot more than one service profile, you have a ton of IQN's and you think to yourself, "Does this IQN come from profile 1 or 100?"

So here's a way you can cut your boot IQN's in half.

WARNING - This will cause a reboot of the server bound to your service profile if you're changing to single IQN!
WARNING - If you're unfamiliar with UCS don't attempt this on your own, talk to your UCS Administrator for help!

1.  Click on the root of your service profile, click on the iSCSI vNICs tab and select Change Initiator Name.














2.  A Change Initiator Name box will pop up, select the IQN pool that you've been drawing from for IQNs.  If you're unfamiliar with this you probably want to talk to your UCS administrator.






















3.  You'll get a new pop up that tells you what you've done and that a reboot is necessary.
















4.  Once your server has rebooted, click on the root of the service profile again and the iSCSI vNICs tab.  You'll notice the Service Profile Initiator Name is now populated with your IQN pool and a common initiator for your boot vNICs.























5.  Remember, the IQN for your service profile has just changed, it will need to be modified wherever you used it.  For example, your Nimble, vCenter, etc.  Below is an initiator group on the Nimble that has both the original IQNs in it.  They will need to be removed and the new single IQN added.

Note:  You'll probably want to wait to remove the old IQNs until whatever you're booting comes back.  If you delete them before the boot happens, whatever is booting doesn't know about the new single IQN and may not boot if you remove the original IQNs before it has a chance to come back up.













This will help cut down on the number of IQNs you have to create and use, plus it will help with housekeeping and will hopefully keep things less complicated in your environment.

Until Next Time!
-Brain

Tuesday, October 14, 2014

Nimble Storage 2.x Setup - Still So Easy Even **I** Can Do It!

Hi Friends,

Awhile back, I wrote a series of blogs regarding how easy it is to set up Nimble Storage.  Those were on the 1.x platform and I wanted to show you how easy it is to setup a 2.x array!

You can use the console cable and setup the array with the CLI, but I don't know about you, I've grown to love GUI's!  So today I'm going to show you how you go from new array to ready in just a few minutes.

Before your array shows up, it's important to get some information ready for it.  Like if you've got a baby on the way.  You want to think of a name, set up the baby's room, get a crib, paint and all that good stuff.  The cool thing about the Nimble is there's no poopy diapers!  So here's what you'll want:

1. Name and management IP
2. IP for iSCSI-A discovery
3. IP for iSCSI-B discovery
4. IP for iSCSI-A Data traffic
5. IP for iSCSI-B Data traffic
6. Support IP for Controller A
7. Support IP for Controller B
8. Subnet masks
9. Default gateway
10. Whether or not you'll be using regular or jumbo frames
11. Time server
12. DNS
13. Mail Server to send logs to you and Nimble
14. Download Nimble Setup Manager

That's it!  If you don't have this information it's not like Nimble won't give you your array, kind of like if you don't set up the baby's room the hospital won't not let you take your baby home.  It just might be a bit more hectic and challenging when the critter comes home.

Now then!  You've got your shiny new array, take some time to show it off to your co-workers, it's a pretty cool product after all.

1. Install Nimble Setup Manager on a Windows host.
2. You'll want the array to be on the network you installed Nimble Setup Manager so it will see the array.
3.  Start up Nimble Setup Manager and the array should pop up like this.
























4.  Select your new array and click Next.
5.  Now a small decision.  Do you want this array to be in it's own group, or do you want to add it to an existing group?  No worries, you can always add it to a group later if you want.  This is some of the cool clustering in 2.x.  I'm going to select Create a new group.
























6.  Give your array it's name, group name, management IP, subnet mask, default gateway, DNS domain name and create an admin password to login to your array.
























7.  Accept the EULA if you agree with it.
8.  We're now done with the Nimble Setup Manager.  You're almost there!
























9.  Now open up a web browser and put in the management IP you entered earlier.  Enter the password you created.



















10.  Remember all those data and discovery IP's?  This is where you're going to need them.  Depending on your network this can look a lot different from my setup.  In my example, I have a management subnet that does not carry data traffic and two iSCSI subnets that only carry data traffic and are jumbo frames.

















11.  This part is cool.  Now you'll select which Nimble ports will use the subnets you just created.  Here I'm selecting eth1 as management and tg3 and tg4 (10gig) as my iSCSI data ports.  Notice the Diagnostic IP's at the bottom?  This is the support IP's you collected earlier.  These will help Support login if things go wrong on your array.


















12.  Enter in your domain name and DNS servers.















13.  Select your time zone and the name of your NTP server.












14.  Let's enter in our email information for emails and support.  Who the email will be from, who to send it to, if you want Nimble Support to get a copy of alerts, what your SMTP server is whether to send AutoSupports to Nimble and if you have an HTTP proxy.

























15.  You're done!
















Now onto the fun part, creating volumes, but I'll save that for another time.

Until Next Time!
-Brain

Wednesday, October 8, 2014

Brain is a Mega-Dork! Please Forgive Him!! Podcast-o-Rama!

Hi Friends,

I'm a Mega-Dork!  In my excitement over new Brain and Wendel episodes I managed to mangle the podcast numbering....  But hey, that's why pencils have erasers!  :-)











The other day I announced Episode 21 - What's New at Nimble Storage.  Well, that's kind of the same episode as Episode 18 - CS700 / All Flash Shelf.  I told you, I'm a Mega-Dork.

So, problem corrected!  If you'd like to hear about the CS700 and the All Flash Shelf, please listen to Episode 18.

To make it up to everyone, we've posted a NEW Episode 21!  This time the correct Episode 21.

In Episode 21, Wendel and I do a deep dive into Nimble Storage OS 2.1.  Find out about all the cool new features like volume move, networking, RBAC and much much more!  Enjoy our AWESOME new theme song by Level of Exit!  Huge thanks to Level of Exit!!

If you've been to our iTunes podcast site lately you've probably noticed most of the past episodes are missing unless you subscribe.  I'm working on it and hopefully they'll all return sometime very soon! (hopefully tomorrow!!)

As a bonus treat I added a bloopers section to the end of Episode 21.  Hear me screw up what RBAC stands for, over and over and over again!  :-)



















Until Next Time!
-Brain

Friday, October 3, 2014

Brain and Wendel - Episode 21 - What's New At Nimble Storage

Hi Friends,

Just when you thought it was safe to listen to your podcasts...  You wanted another episode and we listened!  Okay maybe you didn't ask, but hey, at least it's free!

 

Hear about the cool things going on at Nimble in Episode 21, What's New at Nimble Storage!

For non-itunes
For itunes

Until Next Time,
-Brain