All posts by Aaron Margeson

Getting Cisco UCS drivers right with Windows

I’ve already mentioned one pain point with Cisco UCS – drivers – in my previous post concerning vSphere, but the same thing applies to other environments, including Windows servers. You better have the EXACT version Cisco wants for your specific environment. But how do you know which drivers to get, how do you get them, how do you know when you need to upgrade them, and how do you know what drivers you have installed? This post applies to Windows Server, which by extension, includes Hyper-V.

Why is getting the drivers so important?

I want to emphasize that getting the exact right version of Cisco UCS drivers is a big deal! I’ve personally now seen two vSphere environments that had issues because the drivers were not exactly correct. The best part is the issues never turned up during a testing of the environment. Just weird intermittent issues like bad performance, or VMs needing consolidation after backups, or a VM hangs out of nowhere a week or two down the road. Make sure you get the drivers exactly right!  I don’t work with Windows Servers on bare metal nearly as much as VMware, but I’m sure getting the drivers right is equally, if not more, crucial.

How do I install Windows Server 2012 on Cisco UCS?

You have two choices.  One is create a Windows Server installation ISO with the drivers slipstreamed into it, or you can insert the driver image during the routine to install the proper storage driver to see your storage to which you’ll install Windows, which is available from Cisco for download. Also, at least currently, remember that Cisco UCS does not support Windows in a boot from SAN configuration using FCoE.

Remember however you’re still not done.  You’ll need to still update the network card drivers.

How do I know which drivers should be installed?

This is relatively simple. First, collect some info about your Cisco UCS environment. You need to know these (don’t worry, if you don’t know what info you need, Cisco’s Interoperability page will walk you through it):
1. Standalone C-Series not managed by UCSM or UCSM managed B and/or C-Series? For those of you who don’t know, if you got blades, you got UCSM.
2. If UCSM is present, which version is it running? Ex. 2.2(3c)
3. Which server model(s) are present? Ex. B200-M3. Also note the processor type (ex. Xeon E5-2600-v2). They can get picky about that.
4. What OS and major version? Note there is a difference between support for Server 2012 and 2012 R2.  Cisco at least at the time of this blog post does not change support depending upon installed Service Packs.
5. What type and model of I/O cards do you have in your servers? Example – CNA, model VIC-1240

Then head on over to the Interoperability Matrix site.  Fill in your info, and you get a clear version of the driver and firmware.

ucswindriverlookup

It’s very straightforward to know which drivers are needed from that.

How do I figure out which drivers are installed?

 

You can do this one of two ways.  You can manually check them via Device Manager, or you can use PowerShell.  I’m assuming everyone knows how to check these with Device Manager.  To use PowerShell, use the following:

Get-WmiObject Win32_PnPSignedDriver | select-object devicename,driverversion

 

Note that you can use the -ComputerName parameter to check a remote system, or even a PowerShell array of remote systems for their drivers easily.

How do I update Cisco UCS drivers?

You need to go to Cisco’s support page for UCS downloads, and download the driver ISO that has your driver, which is typically just the driver ISO with the same version as UCS Manager.  For example, if you’re running 2.2.5(a), you need the 2.2.5 driver ISO.

Next, use the virtual media option within the Cisco KVM, mount the ISO, so it’s ready to go.  You could also extract the contents somewhere on the server, it doesn’t matter.

Next, login to the server, pull up Device Manager, and locate the adapter instances you need to update.  If you’re using a VIC, which is pretty much everyone, you need to find the relevant storage and network adapters.  This example, the customer wasn’t using the FC functionality, so we’re just doing the ENIC devices.

updatingwinucsdrivers

When the dialogue comes up, browse to select the zip file that was *contained* in the original zip file. If you select just the zip file you downloaded itself, it will fail. Repeat for the fnic and enic drivers.

Double click one of the VIC instances, click the Driver tab, note the currently installed driver version, and then Update Driver…

Next, click Browse my computer for driver software.

Next, click “Let me pick from a list of device drivers on my computer”.  Don’t even bother trying any other options, it will continue to want to install the old driver because… REASONS!!!

Next, click Have Disk… and browse on the CD to the right folder for the hardware and OS you’re running.  This is a Server 2012 non-R2 server, so as an example, it’s under Windows\Network\Cisco\VIC\W2K12\x64.

After the driver installs, verify the new driver version is now showing in Device Manager.  Unfortunately, you’re not done yet.  You gotta update the drivers on every other instance, but it’s a little easier for the rest.

For the other instances, double click each one, click Update Drivers…, “Browse my computer for driver software”, “Let me pick from a list of drive drivers on my computer”, and you will see both the old and new driver versions.  Pick the new one, and click Next.

updatingwinucsdrivers2

Rinse and repeat for all instances, and ensure the driver tab reflects the proper new version.  Remember that FNIC HBA drivers will need to be updated on those instances separately under Storage Controllers.

I took a quick look to see if Microsoft made some device driver PowerShell cmdlets, but unfortunately I don’t see any at this time.

When should I check my drivers?

You should do this during any of the following:

• During initial deployments
• When UCS Manager or a standalone C-Series BIOS is updated
• If you update to a new major OS, although I’d check when planning to install Service Packs to Windows as well.

Also, remember, newer drivers aren’t the right drivers necessarily. Check the matrix for what the customer is or will be running to see which drivers should go along with it!

Desk Treadmill Progress – 8/17/2015

I’ll be posting quite a bit about using my treadmill desk, and one thing I want to include is my desk treadmill progress as time goes on.  This will help me track my progress with it, and it may also help anyone else who is using a desk treadmill perhaps to see if they are having similar or difference experiences.

From the beginning to last week

I really wish I had started this blog when I started using my treadmill desk.  I’m sure I’ll have forgotten details about things, and I didn’t retain my data from the beginning, either.

I got the treadmill desk setup March 9th, 2015.  At the time, I wasn’t exercising regularly, my weight was about 275 pounds (I’m 6’1″), not in the worst shape, but definitely not in good shape.

Basically, when I began using my treadmill desk, the pace was significantly slower than it is now.  I began walking at about 1.8mph to 2.0mph depending upon how precise I needed to be with my mouse.  For distance, I have to admit I let my enthusiasm for getting into better shape get the better of me.  The first few days I was aroud 15,000 steps, but by the third day, enthusiasm took over, and I was walking 20,000 steps for awhile, then 31,600 step day, and from then on through the 28th, I was walking daily pretty much between 20-33K steps.  It caught up with me big time.  I plummeted to barely 15K steps for awhile, and that lasted another month or two, with some sporadic periods where I was hitting 20K sometimes.  Finally, around the end of May, I guess I got my legs back, and I began pushing to average 20K steps again.  And that’s where I am now.

Speed wise, I slowly moved the speed up to where now I can mouse pretty well at 2.7mph, and can walk at 3mph well with just typing.

My weight has seen a fairly steady decline in 5 or so months I’ve had it, and I’m down to about 255!  I haven’t really conscientiously tried to eat better, either, so I’m pretty confident that the weight loss is due to the treadmill desk.

Last Week’s Numbers

So, how did I do last week?  Pretty darn well!  Following a week where I didn’t get nearly as many steps in because the treadmill was getting repaired due to a bad belt, so I couldn’t walk during the week, I bounced back to my old ways until the end of the week, due to a minor medical issue (I’m fine, don’t worry).

Monday – 28,237 steps, 13.6 miles

Tuesday – 21,306 steps, 10.3 miles

Wednesday – 22,652 Steps, 10.9 miles

Thursday – 15,597 steps, 7.5 miles

Friday – 9,886 steps, 4.8 miles

Saturday – 9,053 steps, 4.4 miles

Sunday – 5,935 steps, 2.9 miles

Total: 90,014 Steps, 54.4 miles

This week’s weight: 254.3 pounds.

I won’t have access to the treadmill for the next few weeks, so don’t expect one of these for awhile.

Getting Cisco UCS drivers right with vSphere

I’ve noticed one pain point with Cisco UCS – drivers. You better have the EXACT version Cisco wants for your specific environment. But how do you know which drivers to get, how do you get them, how do you know when you need to upgrade them, and how do you know what drivers you have installed? These are all not necessarily straightforward, and getting the info you need can be a real pain.  This post will show how to accomplish this within vSphere.  For Windows servers, please see my follow-up post due out in a few days.

Why is getting the drivers so important?

I want to emphasize that getting the exact right version of Cisco UCS drivers is a big deal! I’ve personally now seen two environments that had issues because the drivers were not exactly correct. The best part is the issues never turned up during a testing of the environment. Just weird intermittent issues like bad performance, or VMs needing consolidation after backups, or a VM hangs out of nowhere a week or two down the road. Make sure you get the drivers exactly right!

How do I install ESXi on Cisco UCS?

First off, pretty much everyone knows that when you’re installing ESXi on Cisco, HP, Dell, IBM, or other vendor servers, use the vendor’s media. That’s common practice I hope by now. In most but not all cases, you get the drivers you need for an initial deployment from the get go, you get hardware health info within VMware, sometimes management and monitoring tasks for out of band management cards, and you ensure vendor support by doing this. We all know I think by now to do initial ESXi installs with vendor media, in this case Cisco. It’s important for Cisco UCS since so many installs require boot from SAN, that you gotta have those drivers within the media off the bat.

Now, if you think you’re done if you’ve downloaded the latest Cisco co-branded ESXi media for an initial deployment, you’re wrong (see below). Also, don’t assume that just because you use the co-branded media to install ESXi on a UCS server, you never need driver updates. You will likely when you update UCS Manager and/or update ESXi down the road.

How do I know which drivers should be installed?

This is relatively simple. First, collect some info about your Cisco UCS environment. You need to know these (don’t worry, if you don’t know what info you need, Cisco’s Interoperability page will walk you through it):
1. Standalone C-Series not managed by UCSM or UCSM managed B and/or C-Series? For those of you who don’t know, if you got blades, you got UCSM.
2. If UCSM is present, which version is it running? Ex. 2.2(3c)
3. Which server model(s) are present? Ex. B200-M3. Also note the processor type (ex. Xeon E5-2600-v2). They can get picky about that.
4. What OS and major version? Note the Update number. Ex. ESXi 5.5 Update 2
5. What type and model of I/O cards do you have in your servers? Example – CNA, model VIC-1240

Then head on over to the Interoperability Matrix site.  Fill in your info, and you get a clear version of the driver and firmware.

ucsdriverlookup

It’s very straightforward to know which drivers are needed from that.

How do I figure out which drivers are installed?

If you go looking at Cisco for how to find that out, you get treated to esxcli commands.  Do you really want to enable SSH on all your hosts, SSH into each host, run some commands, then have to disable SSH on all those boxes when you’re done, and not have an easy way to document what they are?  Nope!

BEHOLD! POWERCLI!

To get the fnic driver versions for all ESXi hosts:

$hosts = Get-VMHost
$versions = @{}
Foreach($vihost in $hosts){
$esxcli = Get-VMHost $vihost | Get-EsxCli
$versions.Add($vihost, ($esxcli.system.module.get("fnic") |
Select Version))
}
$versions.GetEnumerator() | Sort Name | Format-List 

You get this:

Name : esxi01.vspheredomain.local
Value : @{Version=Version 1.6.0.12, Build: 1331820, Interface: 9.2 Built on: Jun 12 2014}

Hey! That’s the wrong driver, even though I used the latest co-branded media! SON OF A…!

Let’s get some enic driver versions…

$hosts = Get-VMHost
$versions = @{}
Foreach($vihost in $hosts){
$esxcli = Get-VMHost $vihost | Get-EsxCli
$versions.Add($vihost, ($esxcli.system.module.get("enic") |
Select Version))
}
$versions.GetEnumerator() | Sort-Object Name | Format-List 

You get:

Name : esxi01.vspheredomain.local
Value : @{Version=Version 2.1.2.59, Build: 1331820, Interface: 9.2 Built on: Aug 5 2014}

Of course, Cisco apparently didn’t update those drivers in their co-branded media either.

Note for both scripts, you will get errors about get-esxcli not being supported without being connected directly to each host. It works for our purposes.

How do I update Cisco UCS drivers?

Now we know, despite using the latest Cisco co-branded media in my implementation, I need some driver updates. If you go to Cisco’s site for how to install these drivers, they’ll tell you to upload the package to each host and install them one at a time manually using esxcli commands. Do you really want to do that?

Let’s be smart/lazy/efficient and use VMware Update Manager. That way if a new host gets introduced, VUM will report that host non-compliant, and it’ll be easy to fix that one, too. And it’s easy to see which hosts do and don’t have those drivers down the road.

I find if I google the driver version, I find a download from VMware’s site with that exact version first or second link. Here’s our fnic driver and enic driver in this case.

Download those to your vCenter server or something with the vSphere thick client. Unzip them into their own folders. Open up a thick vSphere client connection to vCenter (Web Client won’t allow you to do this), click Home, then click Update Manager.

Next, click Patch Repository tab at the top, and then click Import Patches in the top right.

vumimportpatches

When the dialogue comes up, browse to select the zip file that was *contained* in the original zip file. If you select just the zip file you downloaded itself, it will fail. Repeat for the fnic and enic drivers.

When you’re finished, you can then build a baseline that includes the updated drivers. Click Baselines and Groups, then Create above the baselines pane.

vumcreatebaseline

Call it something like “Cisco UCS Current Drivers”.  Select “Host Extension” as a Host Baseline type.  In the following pain, find the drivers and click the down arrow to add them into the baseline.  Note the Patch ID field has driver version specifics, useful if you’ve already got some Cisco drivers imported before.

vumselectpatches

You can then attach that baseline directly to the appropriate object(s) within the host and clusters view, or I like to make a Baseline Group called “Critical and non-critical patches with Cisco updated drivers”, add all the appropriate baselines to that group, and attach that group to the appropriate objects in the Hosts and Clusters view.

Then remediate your hosts. When new drivers come out, import them in, then edit the Cisco baseline, swapping out the last updated drivers with the new ones, and remediate to push them out.

Done!

When should I check my drivers?

You should do this during any of the following:

• During initial deployments
• When UCS Manager or a standalone C-Series BIOS is updated
• Major ESXi version upgrades
• Update pack upgrades for ESXi (when ESXi 5.5 servers for example are to be upgraded to Update 2, or 3, etc)

Also, remember, newer drivers aren’t the right drivers necessarily. Check the matrix for what the customer is or will be running to see which drivers should go along with it!

My Treadmill Desk – A Life Changer

In a previous post, I mentioned that as an IT pro, it can be a struggle to get stay healthy.

I’ll discuss how I changed my diet radically in a later post, but I wanted to talk about my treadmill desk.  A lot of people have been interested in it, so I wanted to get this post out there sooner rather than later.  I also have a lot of tricks, tips, etc. that I want to follow up with later, too.

Recently, there has been a lot of news about how sitting is slowly killing us because they tend to force people to sit for so much of their day.  Studies have been coming out that show that simply getting up every so often can significantly improve your health, including your metabolism, posture, weight control, blood pressure, and all kinds of health benefits.  More studies have been coming out showing the benefit of the ever increasingly popular standing desks.

About a year or so ago, I threw two disks out in my neck, and ever since, I’ve been more conscious about my posture.  The specialists I saw let me know that this kind of thing is increasingly common because people bend their necks to look at their phones, tablets, and even computer screens.  Considering so much of my time is spent on these kinds of devices, I really began noticing just how bad my posture was when using them, but especially when I was in front of my computer.  I tried better office chairs, but that didn’t seem to be enough, as my neck would still hurt.  I noticed when I sat, I inevitably slumped in my chair, and my neck posture wasn’t correct.

One day, I was working at a customer’s site, and the admin I was working with had a standing desk.  After talking with her about it, she suggested we work together using it for the day to see how I’d like standing.

By the end of the day, yes, my feet hurt, but my neck didn’t.  It felt noticeably better than how it does at my house or workplace.  I also had a friend online who bought a treadmill desk about a year before and raved about how it helped him drop weight and feel better. I could definitely stand to lose some weight.   Naturally, I felt a treadmill desk would be a good fit.

After researching and even trying some models out, I came to the conclusion I needed the following:

  1. A reliable treadmill that could go as slow as 1.8mph and as fast as 3.5mph, with a control module on top of the desk.   The speed isn’t hard to find.  The de facto treadmill people go with is the Lifespan TR1200-DT3, and that’s what I went with.
  2. A standing desk that would mechanically adjust, via a powered motor, with at least 3 memory settings for height.  (One for me standing, one for me sitting, and one for my wife standing when she would use it.)
  3. A desk that would adjust to heights that would be ergonomic for my arms bending at roughly 90 degree angles.
  4. A desk that would work with VESA monitor mounts to ensure the monitors could be set at a height about eye level.
  5. Although not absolutely necessary, it would be great to have a desk that had a solution for undermounting the CPU under the desk to not have to worry about any cord lengths other than maybe power.
  6. A desk wide enough to hold everything on my desk.
  7. NO INTEGRATED WRIST PAD!  The Lifespan desk/treadmill bundle had this, and when I tried it, I ABSOLUTELY hated it.
  8. A premade package to ensure I wasn’t buying something that couldn’t for example hold my computer underneath, and would be easy to assemble, despite the higher cost.

I settled on an Uplift from The Human Solution in black, 72″ wide model.  It included an undermount for my computer, the electric motor, four height memory setting, a good warranty, pre-drilled holes to make assembly very easy, and it was reasonably priced compared to the competition. Here’s some pictures, and pardon the cord mess, I hadn’t installed wire management at the time.

Here’s the CPU mount close up:

treadmillcpumount

Here is the treadmill and desk controls:

treadmillcontrols

So far, it’s been a complete life changer.  I’ve dropped 15 points since I purchases it about four months ago.  My neck feels better, I have more energy, and I just generally feel much better.

However, there’s been a learning curve to using it, and other things I needed to make it work for me you may not think about, which I’ll talk about in future posts.

Have any of you been thinking about getting a standing desk or a treadmill desk?  Have any of you gotten either?  How has it worked for you?

 

HP NC375T NICs are drunk, should go home

I ran into one of the most bizarre issues I’ve ever encountered in my decade of experience with VMware this past week.

I was conducting a health check of a customer’s vSphere 5.5 environment, and found that the servers were deployed with 8 NICs, but only 4 were wired up.  While the customer was running FC for storage, 4 NICs isn’t enough redundantly segregate VMotion, VM, and Management traffic, and the customer was complaining about VM performance issues when VMotioning VMs around.  The plan was to wire up the extra add-on NIC ports, and take a port each from the quadport onboard NIC and the add-on HP NC375T.

So first, I looked to see if I had the right driver and firmware installed for this NIC according to VMware’s compatibility list guide.  The driver was good, but commands to determine the firmware wouldn’t provide any info.  Also curious was the fact that this NIC was showing up as additional ports for the onboard Broadcom NIC.  FYI, this server is an HP DL380 Gen7, a bit older but still supported server for VMware vSphere 5.5.

At this point, I wanted to see if the onboard NIC would function, so I went to add the NICs into a new vSwitch.  Interestingly enough, the NICs did not show up as available NICs to add.  However, if I plugged the NICs in and just looked at the Network Adapters info, the NICs showed up there and even reported their connection state accurately.  I tried rebooting the server, same result.  One other server was identical, so I tried the same on that one, same exact behavior – they reported as ports that were part of the onboard NIC, commands to list the firmware version did not work, you could not add them into any vSwitch, but the connection status info reported accurately under the Network Adapters section of the vSphere console.

At this point, I was partly intrigued and enraged, because accomplishing this network reconfiguration shouldn’t be a big deal.  I put the original host I was working on in maintenance mode, evacuated all the VMs, and powered it off.  I reseated the card, powered it back on, and I got the same exact results.  I powered it off, removed the add-on NIC, and powered it back on, expecting to see the NIC ports gone, and they were, along with the first two onboard NIC ports!

This was, and still is, utterly baffling to me.  I did some more research, thinking this HP NC375T must be a Broadcom NIC since it’s messing with the onboard Broadcom adapter in mysterious ways, but nope!  It’s a rebadged Qlogic!  I reboot it, same result.  Cold boot it, same result.  I put the NIC back in, and the add-on NIC ports AND the two onboard NICs come back, all listed as part of the onboard Broadcom NIC!

I researched the NC375T for probably over an hour at this point, finding people having other weird problems, some of them fixed by firmware upgrades.  It took 45 minutes to actually find a spot on HP’s site to download drivers and firmware, but the firmware VMware and everyone else who had issues with this card swore you better be running to have any prayer of stability was not available.  I tried their FTP site, I tried Qlogic’s site, no dice.  I recommended to the customer that we should probably replace these cards since they’re poorly supported, and people were having so many problems, AND we were seeing the most absolutely bizarre behavior I’ve ever seen with a NIC.  The customer agreed, but we needed to get this host back to working again with the four NICs until we could get the replacement NIC cards.

At this point, I had a purely instinctual voice out of nowhere come in to my head and say, “You should pull the NIC out and reset the BIOS to defaults.”  To which, I replied, “Thanks weird oddly technically knowledgeable voice.”

And sure enough, it worked.  All onboard NIC ports were visible again.  Weird!  Just for fun, I stuck the NC375T back in.  What do you know, it was now listed as it’s own separate NIC, not a part of the onboard Broadcom adapter, AND I could add it to a vSwitch if I wanted, AND I could run commands to get the firmware version, which confirmed it was nowhere near the supported version for vSphere 5.5.

In the end, the customer still wanted these NICs replaced, which I was totally onboard with at this point, too, for many obvious reasons.

So, in conclusion, HP NC375T adapters are drunk, and should go home!

Jon Stewart Leaving Daily Show

This is first and foremost a technical blog, but on occasion, when I think it’s merited, I would like to comment on other topics, and this is a topic I have to comment about.  This is more probably for me to come to terms with it than probably it being any value to anyone else, I understand, but here it goes….

Jon Stewart’s run as the host of The Daily Show has ended.

You have to understand I used to teach US History in public schools.  Naturally, US history, current events, and politics are going to be important to me.  And that world for me has been forever changed upon discovering The Daily Show, and it’s going to change now that Stewart has left it.

I unfortunately discovered Stewart’s incarnation of TDS several years late.  I don’t know specifically when, but it was sometime just prior to the 2004 Presidential election, because I do remember TDS coverage leading up to it.  And it grabbed me almost immediately, and through the years, it was a staple of my life.  I went through periods of watching pretty much no television to keeping up with several shows, but the constant? TDS.  I don’t think I missed an episode from 2004 to now.  And when it was on break, I missed it.

Now, I know some people who may be reading this might not like Stewart, and perhaps it’s because he was on the wrong side of the political spectrum.  But if so, you probably missed the point.  During an interview with Mike Wallace on Fox News, Jon Stewart asked Wallace what he thought was Stewart at his highest aspiration, and Stewart told him plainly – Mark Twain. And this is why I admire Stewart so much.  Nobody cares today if Mark Twain was a Democrat or a Republican.  Mark Twain was great and important because of his insights, and his ability to articulate ideas.  Make no mistake – Jon Stewart is our Mark Twain.

Nobody articulated better the reality of our current political landscape than Jon Stewart, from corruption within the government on both sides of the aisle, to systemic problems within the political system, and, most of all, his insights and relentless critique of the media.  And I mean all media.  While Fox News attempted to illustrate what they felt was the problem that the mainstream media has a liberal bias and attempted to counterbalance it, Stewart held seemingly all media outlets accountable for lacking journalistic integrity, from the network news, to the 24-hour news networks, and the overtly partisan news networks of Fox and MSNBC.  He even called out all financial news networks such as CNBC, culminating in the incredibly popular confrontational interview of Jim Cramer in an interview on TDS.

He spoke out about incredibly important issues, and didn’t just take a side, but provided invaluable insight.  And most of all, he was very often disarmingly sincere.  When he spoke to Cramer, after making his point about the financial news networks seemingly promoting behaviors like stock speculation, or spreading false information to gain advantage in the markets with clips of Cramer doing these things, which when done systemically contributed partly to the downfall of the economy, he vividly told Cramer, “this isn’t a f***ing game.”

His calling out of Congress for not helping first responders to 9/11, his relentless attacks of anyone promoting disingenuous talking points on either side, whether it be the Swift Boaters or attacks by the New York Times against Marco Rubio finances…  I could go on and on.

Stewart helped millions of people, including me, not just see through various outlets plays to distort the truth, but to understand how and why it was happening.  And that’s something that isn’t something valuable to one side of the political aisle or the other.  It’s something that’s helpful for all of us.

And… his show was funny!  From political humor, to somehow being able to laugh at the Crocodile Hunter’s passing thanks to Stewart’s uncomfortably hilarious interview with Norm McDonald after it happened, to making fun of Arby’s repeatedly for absolutely no reason, and more…

I’ve watching Jon Stewart and The Daily Show for over a decade now.  Jon Stewart’s departure for me is the emotional equivalent of losing a family pet, which is a horrible comparison, but it’s the best one I can come up with that can approximate the emotional punch to the gut it is for me.  It’s like being told, “Yeah, Mark Twain’s around, but you’re not gonna hear from him as much anymore starting NOW.”

There won’t be another Jon Stewart, just like there won’t be another Mark Twain, but I’m ultimately glad we got him as long as we had him.

Are you a Daily Show or Jon Stewart fan?  What are your favorite moments?  How are you taking his departure?

Containers are coming!

Some of you may already are in the know, or have even deployed or managed them.  Some of you may have heard about them, heard of Docker, and even have a vague sense of what they are.   But make no mistake – containers are coming!

The question first though is what exactly are they?

Containers challenge what you know about operating systems, VMs, applications, and such, because they really make you realize how much you bind into the definitions of these things without realizing it just because that’s how it’s been.  Containers make you rethink much of what you know, just like VMs did when they were becoming the rage.

But let’s first make an analogy to help you understand what exactly containers are.

Let’s imagine a much simpler world of automobiles.  Imagine you needed a vehicle to accomplish a task.  While there were lots of brands, makes, models, and colors, there were really three basic types of vehicles in our hypothetical world:

  • Monster truck
  • Armored Humvee
  • Moped

What you would consider just a car didn’t exist.  No SUV’s, no  regular trucks, just those three basic types.  Now, imagine your task was to get across town where you need to smash other cars, and see above traffic.  That’s easy, you take the ridiculous monster truck.  If you needed something to get you to see your grandmother to say hello, that monster truck or the humvee would be pretty hilarious to show up in, but they’d not be particularly practical, so you take the moped.

That would look weird showing up to your grandma’s house…

But what about going to the grocery store to get a few bags of groceries, and you go to the local market where you need to parallel park?  Suppose the moped can’t carry all those groceries, so that’s out.  The monster truck is WAY overkill, too.  While the armored humvee would probably have a high safety rating, it’s overkill, and would kill you on gas mileage, but it’s the least ridiculous option you’ve got.

Ahnold, please tell us you have something more practical to go on an ice cream run… actually, nevermind, because this is so Ahnold!

But then… a new option existed – a novel idea called a car.  Except it’s not what most would typically think of.  Instead, it was one of these:

Admit it, the first time you saw one of these, you WTFBBQ’ed…

AND… it was a hybrid, and hybrids hadn’t been invented yet.  You start asking (what you would now consider since hybrids are ubiquitous) stupid questions like… “do I put gas in it?”  “What kind of gas does it take?”  “If I get in a wreck, will this happen?”

I have nothing to add other than I just wanted an excuse to use this…

Welcome to containers!  You used to run your applications (tasks) only on computers (monster trucks), but then we realized one application per physical computer was ridiculous, so we made VMs (humvee’s).  And we didn’t just get more efficient.  There were other inherent benefits to humvee’s.  Parking, while still difficult, is easier in a humvee than  that monster truck.  VMs ease DR, etc.

But we’re so used to VMs, we don’t see their downsides and the fact that those are often overkill, too!  Ever made for example six or one hundred redundant web servers for an application for high availability and to scale for the load?  Ask yourself something… do you honestly think you really need the full OS six or one hundred times to achieve your redundancy and scale out?  When you think about that, that’s pretty insane to store windows or linux that many times. Why do you think VDI environments often use linked clone techniques?  (Not that containers are linked clones, they’re not at all.)

Go look at your VM inventory sometime.  You’re bound to find some redundant VMs that store AND run entire operating systems multiple times, and there’s not necessarily a good reason other than, “I’m using VMs, what else am I supposed to do?  Each of these VMs needs a unique name/MAC address/IP address to work, so I can’t run the same application twice within the same VM, it just won’t work.”  That’s because you’re stuck choosing between grocery shopping with a monster truck, a humvee, and a moped.

And you’ve also just come to expect that the OS gets an identity on a network, not the applications within them.  A NIC bound to an OS gets an IP address.  If you want isolation between applications, they must be in separate OS’s.  Nevermind you already know that’s not true because your hypervisor is an OS, so your VMs technically are running on the same hypervisor server are in a sense running under the same OS, yet we expect isolation between them.

Containers, just like when server virtualization became all the rage, cause you to rethink and realize that IP’s don’t necessarily coincide with OS’s, but you kinda knew that since a NIC can have multiple IP addresses, and a OS can have multiple NICs, and you can add virtualized NICs, too, right?  Why does a computer name HAVE to refer to an OS instance on a physical or virtual machine?  It doesn’t, and you already know this with DNS aliases, network load balancing technologies, etc.,  but it’s so ingrained in your brain, it’s hard for you to think it could be any other way.

You think that’s air you’re breathing?

Containers are essentially VM-esque in that they’re in some ways a virtualized instance of an application, with their own unique instance identities (container1, container2, etc.) complete with IPs, names, MAC addresses, etc., but they’re not completely independent like a VM is as far as its OS, as they depend upon a controlling OS instance that can and generally is shared between multiple containers simultaneously.   It’s that notch on the dial between a VM and an individual application within an OS.

You may think this kind of technology is unnecessary and just causes confusion.  It’s honestly similar in my mind to the whole smartphone/phablet/mini-tablet/tablet/laptop/desktop computer continuum.  You may completely not participate in the use of one of those devices whatsoever because it doesn’t fit your needs, but it fits others.  I personally use a smartphone, a tablet, a laptop, and a workstation class computer, and I find those cover my needs, and have no use for a phablet and mini-tablet.  Some people find that they can go with a phablet instead of a smartphone and a tablet.  That’s all well and good.  Everybody doesn’t own every major type of automobile either.

But there’s a reason why each of those devices exists, and there’s a reason why container technology exists, too.  And it’s becoming more popular.  It’s been done for quite sometime in linux, and Microsoft is finalizing it’s first go with containers within Windows Server 2016.  So, as IT pros, it’s better to be aware of it before you’re driving a car you don’t know how to drive, as my analogy goes.

Physical fitness as an IT Pro

You gotta do it.  You just got to.  You have to focus on your physical fitness.

I’m speaking of being physically fit.  Not Arnold Schwarzenegger fit.  Not run a marathon without breaking a sweat fit.  But you have to be reasonably healthy.

Let’s face it, our jobs in IT, whether you’re a consultant, programmer, admin, or anything else is very often not conducive to your health.  Irregular work patterns due to emergencies, or rushing to meet some kind of deadline that’s crept up, long days sitting in your desk without a chance to move around much, perhaps a family life to keep up with as well, and the fact that perhaps a disproportionate amount of us aren’t really into playing sports or generally go outside leads many of us into very bad habits when it comes to my health.

I’m included.  When I graduated from high school, I was 180 pounds at 6’1″, could bench 250, and in very good health.

By the time I graduated from college, I was 220.  Paying for college tuition myself without student loans led to a hectic schedule of studying, working part time, taking classes, and eating conveniently, which often meant not well.

It just got worse when I transitioned into IT from teaching.  At least with teaching, I walked around A LOT.  When I got into IT, you SSH’ed into this, RDP’ed into that.  It wasn’t good.  I got up to about 330 pounds.  My doctor diagnosed me with high triglycerides.   I knew at that point, I had to do something, so I did.

I realized this – what’s the point of working hard in anything, even if it’s your passion, if it’s going to lead to a short life that you haven’t been able to do the things you want?

I realize that many of you may struggle with the same thing.  I’m no saint, but I did manage to drop 100 pounds to 230 via diet.  I did balloon back to 270 (never over), but I’ve managed to drop 15 pounds in the last 4 months or so,  so I’m doing better again.  My high triglycerides have gone away, and never came back.  I feel better, too.

I want to share what I did because some of it might work for you.  I also wanted it to be from someone who truly still struggles with it, because it is tough to do.  Perhaps all this may motivate and work for others also working in similar occupations that may struggle with how to maintain health when it seems like everything in your career goes against you doing just that.

This category is all about this topic.  Spoiler alert – I bought a treadmill desk, so this category is going to have a lot of information about this, and how my use of it has evolved, so stay tuned!

In the meantime, what things have you done to get healthier that have worked for you, whether it be exercise routines or diet?

Howto: Fix vCenter 5.5 Syslog Collector bug

I just ran into an issue for a customer that is running vCenter 5.5.  Apparently, there is a known issue with the 5.5 version of the syslog collector that causes the debug log to grow indefinitely when it was upgraded  to 5.5 according to the article.  However, the customer in question was built fresh with 5.5, although I did update within 5.5 to newer builds during that time.  Bottom line is it should be checked if they’re running 5.5 version of the syslog collector in all cases to be sure.  The KB article outlines steps to stop this, which basically involves turning off debug logging altogether.

The debug log doesn’t contain actual syslog info for hosts, so this log file is only useful for troubleshooting issues with the syslog collector itself, so it’s almost certainly safe to delete.

Please note this only impacts the syslog collector.  If you did not install the syslog collector, this isn’t applicable.

You can copy and paste the following into an admin elevated PowerShell window to automate stopping the syslog service, changing the config file for the syslog collector to turn off debug logging completely, delete the probably massive debug log, and start the syslog collector again.  You can also save it as a .ps1 file and run it in an elevated prompt as well.

stop-service vmware-syslog-collector
(get-content "C:\ProgramData\VMware\VMware Syslog Collector\vmconfig-syslog.xml") | foreach-object {$_ -replace "<level>1</level>", "<level>0</level>"} | set-content "C:\ProgramData\VMware\VMware Syslog Collector\vmconfig-syslog.xml"
remove-item "C:\ProgramData\VMware\VMware Syslog Collector\logs\debug.log"
start-service vmware-syslog-collector

This assumes of course the syslog collector is running on a Windows machine, not the vCenter Appliance.  The article doesn’t seem to make clear if this issue only applies to the Windows version of Vcenter, and how to fix the vCenter Appliance if the issue did impact it as well.

Hope this helps!

NDMP isn’t always a slam dunk

Hey everyone,

I recently did some work with a customer who deployed a VNXe to act initially as a file server for quite a bit of file data.  They were using Unitrends to backup their Hyper-V VMs, and for application level backups and physical machines.  Before deploying the VNXe to serve up CIFS data, they ran a Windows file server, which Unitrends could simply backup by deploying an agent into the OS, and all was well.

The customer asked me how to go about backing up the VNXe, especially with Unitrends, because they didn’t want to switch backup products or deploy an entirely new backup solution just for the VNXe.  My initial response was that NDMP is the best way to go for backups if that is an option with your backup product.

However, I did some research, and found that NDMP isn’t always the best thing to use.  In this case, check out Unitrends’ limitations when using NDMP.   The fact that you can’t restore your backups to anything but a VNXe, and you can’t granularly recover out of an NDMP backup would be very serious deal breakers for a lot of companies.

So check your NDMP backup vendor and storage array for what is supported, and make sure it’s what you want to use for backing it up.  You may actually prefer using CIFS mounts within a server, and back the server up to get the file data.