Puppet Scale Up with Apache/Passenger

Welcome back! I hope everyone had a good summer and recharged their batteries. Bonus points if you found time to play with puppet, too! Now that we’ve had a healthy break, let’s get back to it!

When we left the series in July, we had a Puppet master, a few nodes, were implementing the roles and profiles pattern, and used r10k to manage it all. However, we didn’t address scalability. Today, we’ll take a look at addressing this by using Apache and Passenger.

Scaling Up

There are two ways to scale – out and up. If we were to scale out, we’d be concerned with running multiple masters and synchronizing all data between them. That’s something we might look at eventually, but first we want to scale up, which is the process of providing more resources to our master. Since we are vSphere admins, we can easily increase the resources provided to the VM. For instance, our VM has 1 vCPU and 2GB of RAM. It would be easy, and helpful, to increase that, perhaps to 2×4 or 4×8 vCPUxRAM.

Unfortunately, system resources are not the only limitation in our system. Out of the box, Puppet uses WEBrick and scales to about 10 nodes. More than one nodes trying to talk at the same time will generate conflicts and cause some or all nodes to fail to receive a catalog. No matter the resources available, these limitations persist. The answer is to use a dedicated web server with a Rack-based application stack. While any server will work, if you don’t have a preference, then PuppetLabs suggests you use Apache with the Passenger mod. There is a lot of information on Puppet’s site about the limitations and the remedy.

Continue reading

Summer Wrap-Up – #VirtualDesignMaster, #HyperV, and more

With summer coming to a close, there’s an unavoidable temptation to look book on what was. This year has been pretty busy, so I thought I’d take some time to look back on my accomplishments.

In February, I started this blog. I set out with a goal of one article per week on the blog. In the last seven months, I’ve met that average for the week even if I don’t write another article (52 articles in 29 weeks), but I also learned that it’s not feasible for me to actually write one article every week. I wrote three series, on PowerCLI, Auto Deploy, and Puppet for the vSphere Admin (ongoing) and managed over 14,000 page views in ~7 months. I have been lucky enough to convince Jason Crichton (@hawkbox) to contribute articles on Hyper-V while I took a summer break, and there’s really no point in trying to advertise new content during VMworld next week. I count the blog as a success and I learned some lessons along the way.

Speaking of which, I am unable to attend VMworld this year. Last year was my first VMworld and I sorely miss the opportunity to go back and to meet all my tweeps. I’ll be watching online, however!

In the area of personal growth, I acquired my VCP5-DCV certification in April and became a vExpert in July. Both were exciting, the certification because it validated my technical knowledge and the vExpert because it validated my community activities. The fact that both came with some free licenses didn’t hurt, either. I plan to put those to good use in the coming months to continue my education! I’m looking forward to being part of these two communities and learning from the other members.

In July, Season 2 of Virtual Design Master (VDM) began. I was one of 11 contestants. I survived round 1 and round 2, but I had to fold on round 3 of 4 due to time commitments. Congratulations to Timothy Patterson (@PcProfessionals) for winning Season 2! I learned a LOT during this competition – taking all the skills I use on a day to day basis as a vSphere admin, what I studied for my VCP, and a number of vSphere design books and applying it to design and engineering, which is not part of my day job in operations. I haven’t done any actual design work in years, and then it was always on a much smaller scale. VDM was challenging, exciting, and scarey. It was also very rewarding. In addition to the technical growth, there was a great sense of community and co-opetition between the contestants and the viewers of the competition. Check out #VirtualDesignMaster on Twitter for some great discussions. There’s some good content about IPv6 and Openstack in particular.

As I mentioned above, I was able to convince Jason to become a contributing editor on my blog. He is in the middle of his own Hyper-V series, which now has its own page. As a vSphere admin myself, I find the content very helpful – the world isn’t all VMware – and I hope that others find it useful as well. We would both love to hear any comments you have on the series and what direction it should go in.

In addition to all of the above, my wife changed jobs in August and we moved from Richmond, VA to Indianapolis, IN. We’re really excited about the new job and home, but we’re both very exhausted, too. If you’re in the Indianapolis area and I didn’t meet you at the IndyVMUG, drop me a line.

Have a great summer, and enjoy VMworld if you are attending!

Installing SCVMM for Hyper-V

Welcome Back! For this article I am going to try and cover SCVMM (System Center Virtual Machine Manager) well enough to allow you to install it for testing purposes. This isn’t intended to cover all of the details as I think there is too much material here for one post and I haven’t had time with my new job to properly explore deeply yet. If I have missed something important or you would like me to go into more detail on a part of this, please send me a message and I will be happy to look into it.

SCVMM is the functional Hyper-V equivalent to vCenter in a vSphere environment. I have rather extensive experience dealing with vCenter, so I wanted to try and familiarize myself with SCVMM in the same way. With System Center 2012 and 2012 R2 it comes as part of the entire package, which is rather handy. I am going to go through step by step and show my experience with it. I will make note of any caveats or landmines I come across during the setup.

Probably the number one thing to consider before getting started is your SQL environment, where are you going to host your SQL DB? I am in the process of familiarizing myself with SQL 2012 right now so I have chosen to deploy this on another server. You are also able to use a local SQL Express install should you only want to run this in testing. I  would recommend a dedicated server if you plan to run this in production.
Continue reading

Hyper-V memory oversubscription

Welcome back to my third article, I hope these provide some useful information. This posting is based around my observations of the differences in how vSphere and Hyper-V manage memory on the host. Without further rambling, let’s get started.

Hyper-V handles memory in a noticeably different way than vSphere does. This has taken me some getting used to but the largest take away is that it does not overcommit memory. Microsoft uses the term Dynamic Memory for their version, and based on my observations that is a good term for it.

Memory over allocation in vSphere is handled through the VMTools and the balloon driver in instances of the memory allocation actually being utilized. This historically, to my understanding, results in paging to disk when recovered memory isn’t adequate for the needs to be met. This is where Dynamic Memory kind of breaks my brain. Unlike vSphere, which more or less just assumes you will overcommit at some point, you need to explicitly enable this functionality. It’s not complicated, just not something you might think to do when coming from a VMware environment.
Continue reading

Hyper-V Replication

Hello again, welcome back to the second of my indeterminate number of articles covering my various observations regarding differences around vSphere and Hyper-V. This post is covering host replication without a central controller. So hopefully you benefit from and enjoy this one.

As near as I can tell there is no direct analog in vSphere to compare this to.  As such I’m going to give as much of an explanation as I realistically can and show where I think this would be extremely beneficial.

Hyper-V replication does not require SCVMM or any kind of centrally managed vCenter equivalent, all it requires is two or more Hyper-V hosts that meet the necessary requirements for performing the replication. (CPU, Memory, Storage, etc….) Once that is met it is quite straight forward to do as a test.
Continue reading

Basic Sudo Access

A few months back I noted that I’d be more concerned with security going forward. Among other things, this means using sudo for accounting and authorization. A mature system would configure this via Puppet or another CM tool. If you haven’t gotten there with your CM tool, or you are working on a standalone system, you can still enable basic sudo access with a few steps:

[root@puppet git]# useradd rnelson0 -c "Rob Nelson"
[root@puppet git]# passwd rnelson0
Changing password for user rnelson0.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

[root@puppet ~]# cat > /etc/sudoers.d/sudoadmins
rnelson0        ALL=(ALL)       ALL
  1. Add a local user.
  2. Set a password for the local user.
  3. Allow the user to use sudo for all commands.

This is a good start for a lab. In production, more granular sudo permissions should be used, in addition to a central user management system, like LDAP or ADS. And if you have to do this in more than one place, automation is a good idea.

Hyper-V for the vSphere Admin

Welcome to my inaugural post on rnelson.com, I’m happy to be here and hope that I can provide some useful insight. Recently, I received a voucher for the Microsoft Hyper-V certification exam and decided to take that opportunity to really give it a proper test. With that in mind, Rob convinced me to write some articles on interesting or difficult concepts I come across in the hope that I can help people down the road avoid the same technical landmines. I’m a vSphere admin by experience, so I’ll be comparing Hyper-V components to their vSphere equivalents to help root this in familiar terms. Today, I’ll describe what Hyper-V is, the lab I’m running it in, and some pre-reqs to installing it. Follow up articles with provide greater detail (and pictures!) and cover installation and use.

Hyper-V is Microsoft’s virtualization product in their server line. In my opinion, starting with Hyper-V in Server 2012, it’s becoming competitive with vSphere for the small to medium scale environments in which I’ve worked. Veeam has a great article explaining the concept of Hyper-V. Veeam is a terrific backup product for virtual environments and it supports both Hyper-V and vSphere. If you are an MCSA/MCSE or VCP, you should look into their NFR (Not for resale) licenses to run in your home lab.
Continue reading

Introducing Jason Crichton, aka @hawkbox

With summer upon us, I’ve taken a break from the blog. You’ll still see a few of my small posts pop out every so often, but no lengthy technical posts from me for a while. That doesn’t mean the blog is taking the summer off, though!

I’m proud to introduce a colleague and fellow Arsian, Jason Crichton, as a contributing author on my blog! Jason is going to write some articles over the summer about Hyper-V. For those of us (myself included!) who are only familiar with vSphere, Jason will help us compare the analogous features from each product with articles most Wednesdays this summer. Here’s a little background those of you who have not met Jason before:

My name is Jason Crichton, I’m an IT professional like Rob, just crossing over the 10 year mark of System Administration this summer. I started in the trenches of help desk and through a bit of luck and a lot of hard work now work as a Senior Systems Analyst for a relatively small multinational corporation. I tend to end up heavily involved in the virtualization, security, and operations aspects of the business. Recently I have moved into Powershell tool development for improving the lives of our help desk staff. I find the willingness of people like Rob to put the time and energy into sites like this incredibly valuable, so when he asked me to contribute I was thrilled at the opportunity to give back myself.
When I’m not working with tech, I tend to be motorbiking with my wife Christina on whatever random trip we’ve been able to organize.
My professional experience can be viewed on LinkedIn. Additionally you can follow me on twitter through @hawkbox.
Please give Jason a warm welcome to the blogosphere! If you have any requests for Hyper-V topics, please let myself or Jason know what you’d like to see covered. Thanks!

Saving the moon, #VirtualDesignMaster style

This week was another nail biter in the Virtual Design Master competition. Challenge 2 required us to save the moon while using someone else’s design plus a few constraints: must fit in 21U, have to use the same vendors (but can use different product lines) as the provided design used, and the big one, the moon base only has IPv6 networking. I understand IPv6 but certainly haven’t designed an IPv6-only network, so this was pretty scary and very time consuming for the research.

There were a lot of great designs presented by the VDM competitors. Three of us had to work off of Daemon Behr’s and six of us had to work off of my design from the previous challenge. It was fun to see how other people managed the same base project and morphed it into a project that had their fingerprints on it. Watch the results show and check out the designs (here’s mine). During the design and the judging, I learned a few things in no particular order:
Continue reading

Hiera, R10K, and the end of manifests as we know them

Last week, we started using Hiera. We’re going to do a lot more today. First, we’ll add what we have to version control, then we’ll integrated it with r10k, and we’ll wrap up by migrating more content out of manifests into Hiera. Along the way we’ll explain how Hiera works. I also encourage you to review the Puppet Labs docs and the source code as needed. Continue reading