Project Home Lab: Existing Infrastructure

In this second post in my Project Home Lab series, I’m going to cover fairly loosely what I’ve got in my environment at home already as I need to take this into account to determine whether I can keep it all or whether I need to make more fundamental changes to my environment also.

This series will consist of the following posts. I will update the table of contents with the new page links in each post as I produce and publish the articles.

  1. Project Home Lab: Goals
  2. Project Home Lab: Existing Infrastructure
  3. Project Home Lab: Hardware Decisions
  4. Project Home Lab: Network Decisions
  5. Project Home Lab: Shopping List


I’m fortunate that my wife lets me have a server rack in the garage which is what allows me to even chase the Project Home Lab ambition. Currently, this is a 12U rack I built myself with wooden panels and some 12U AV posts I got from eBay. It’s served me well although it has it’s nuances.

  • Non-removable side panels make access tricky
  • No wheels or castors making rear access non-existent as the rack is backed into a corner
  • No cooling aids such as top vents or air ducting

The rack is probably going to have to go for three reasons. Firstly because there isn’t going to be enough U space in the rack for me to add the new hardware I am going to be looking at and secondly because I need there to be more access into the rack so that when I need to add cabling or investigate faults, I need to be able to get in there and check it all without more time being spent on gaining access then doing the task in hand. The third reason is weight. All of the new equipment such as new rack chassis and the like will add weight and I don’t think the wooden panels right now will support all the extra.


Currently, my rack gets its power from an APC 750VA 1U RM UPS. I’ve had it for about six years and it’s been faultless. I currently operate at about 20% load which gives me a runtime of around 25 to 30 minutes on battery. With the addition of new equipment, I think that I can probably get away with keeping the UPS load within capacity limits but this is going to severely hamper my battery runtime and I’d like to keep a minimum of 15 minutes battery to protect against short-term power outages so the UPS may need to be replaced.

A secondary issue with the UPS is connectivity. This model of UPS has four outlet IEC C13 ports as do most small form factor UPS units. I’m going to need to invest in a power distribution unit (PDU) or two to add extra power outlets for the new devices. The reason for two and not just a single PDU is that I want to spread the power load over the physical ports on the UPS so that I’m not driving all the power through a single outlet on the UPS and potentially burn it out.


My network core lives in the rack right now and this is where it will stay. I currently have a Cisco ASA 5520 firewall and a TP-Link TL-SG3424 gigabit 24 port switch. Both of these will certainly be kept as is.

The ASA is amazing. It’s running just shy of the latest Cisco IOS release with fully upgraded 2GB RAM and it’s handling the Layer 3 inter-VLAN routing of my home VLANs right now and also acting as my edge router receiving my 120Mbps Virgin Media cable connection and it barely cracks 5% CPU usage and 512MB memory usage. I’ve got no questions whether this can handle the new device traffic but when you look at the specification of the Cisco ASA 5520 is it any wonder?

The TP-Link switch is a Layer 2 managed switch with 24 gigabit ports. I’m using 2 of the ports in a LAG up to my access switch in my home office, another two ports in a LAG to the ASA and a third pair of ports in a LAG to my home server. The remaining ports connect to devices in the main area of the house. For £125, this is a great switch. It supports all of the enterprise features you would expect from a named brand Layer 2 managed switch like Cisco, HP or Dell but at a fraction of the cost. Reliability and performance has never been an issue and I don’t foresee it being one. Lastly, it’s silent as it is passively cooled keeping the volume and BTU output of the rack down.

I have two issues with the current switch however relating to the new lab. One is port count and the other is performance impact. With the current port occupation on the switch, it is highly unlikely that I will be able to get everything connected to it so I will be likely adding a leaf switch for connecting the lab devices and then an uplink or two into the core from the leaf. The second reason is that I like how my home network performs right now. If I was to start throwing Hyper-V over SMB 3.0 File Server traffic across it all day long, I’m not sure how my home production network would suffer. This adds credence to adding the leaf switch. With the leaf switch, the only traffic that need to leave the confines of the lab back into the core are packets destined for the internet or administrative connections from me into the lab via Remote Desktop Services or management consoles.


All of my cabling at home is shielded category 6 cable wired into a category 6 patch panel with homemade patch leads from the panel into the switch. I test all of my cabling with a Fluke tester to validate them to make sure I’m going to great good clean transmissions over the wire. I try to use wired in the house where ever possible as I like having that constant, reliable gigabit speed compared with the relative slowness of 300Mbps N specification wireless and potential disruptors such as DECT cordless phones, Bluetooth and microwaves.

I’m going to be continuing to use this cabling in the new lab. I won’t be using fibre or InfiniBand due to the complexity and cost. Sticking to category 6 copper cabling keeps my cable media uniform across the all my devices.


I’ve got one server right now which is running Windows Server 2012 R2 Essentials. This acts as the core to everything in the house offering Directory Services, DHCP, DNS not to mention being a backup target and a media streaming server. It’s currently housed in an RM 400/10 4U rack enclosure from X-Case. I upgraded the case about two years ago with hot swap drive caddies to allow me to add and remove drives to my Storage Spaces Storage Pool easily. Inside the case is an ASUS ATX desktop motherboard with an Intel Core i5 3470T low power processor and 12GB DDR3 RAM.

Although I’m really happy with the performance of this server right now, I am a sucker for consistency and the aesthetics of things. If I can get parts at the right prices, I may well give my home server a little upgrade so that the parts inside match those of the new servers. For me this is a silly thing to cure a minor case of OCD I have but in real terms, it means if I have any suspect failed parts, I can swap and move them between servers to test as needed.

What’s Next

To be honest with you from the start, I’m actually writing some of these articles after the fact: I started this project over a month ago and I already have quite a few of the hardware parts ready for use. In the next post, I will explain my thought processes for selecting the hardware I have bought already and what I still need to purchase and why I will be purchasing those parts.

I’ll do a summary of all of the prices too for budding lab builders among you to use as a reference.

Project Home Lab: Goals

Since I’ve started working in consultancy, I have the constant need to challenge myself and spend more time working with the technologies that I promote. The only way to do this is learn and practice and the only way to learn and practice is to have equipment to do that on. I have embarked on a project to build myself a home lab and in this Project Home Lab series of blog posts, I’ll go through all that I am doing to produce my home lab.

This series will consist of the following posts. I will update the table of contents with the new page links in each post as I produce and publish the articles.

  1. Project Home Lab: Goals
  2. Project Home Lab: Existing Infrastructure
  3. Project Home Lab: Hardware Decisions
  4. Project Home Lab: Network Decisions
  5. Project Home Lab: Shopping List

Project Goals

In this first post, I will explain the goals of my home lab and what I want to be able to achieve with it.

The goal of the project is to allow me to work in an environment where I can break and fix, play, learn and explore the products I work with as a consultant, System Center primarily.

I need the project to provide me with a hardware platform which is well performing, not to the degree that an enterprise customer would expect it to be but enough to not make me want to hurt myself every time I do something in the lab due to a severe lack of performance. Functionally performing to summarise. I need the hardware I use to be cheap but suitable for the task, cost effective in other words. I also need it to be energy efficient where possible as I don’t want to be paying the earth to run this environment. Coupled to the energy efficient statement, I need it to not sound like a datacenter in my garage where I keep my kit so there may be a need for some post-work to add some sound deadening to the garage if things get too loud as noise output can’t be completely eradicated unless I spend a fortune on water cooling for it all.

Although my plans for the environment are small right now, I don’t want to be hamstrung in the future, stuck at the end of a garden path without options to either scale up or scale out the project. Virtualization is a given in this project and being that I work with the Microsoft technology stack, this is obviously going to be centred around Hyper-V. The primary goal is to run System Center in it’s entirety which will include some SQL Servers for databases. If I decide in three months time to add the Windows Azure Pack or in six months that adding Exchange or another enterprise application to the mix will help me understand the challenges that customers I work for have then I want to be able to deploy that without having to re-invent the wheel to do so but minor upgrades are to be expected: memory uplifts or more disks for increased IOPS perhaps.

Project Budget

To be honest, there is no real budget limit for this. I’m going to spend what is appropriate to make it work but the sky is not the limit. I’ve got a wife and three kids to feed so I need to make it all happen as cost effectively as possible which will likely mean the cost is spread with purchasing parts over a number of months.

DPM Replica Recovery Point Run Out of Space

If you receive an alert in System Center Data Protection Manager (DPM) that a replica or recovery point volume has run out of space, you will probably find this is a result of your DPM Storage Pool being out of space and head off to talk to your storage administrator to get some additional disk presented. While this is obviously the correct thing to do, you also need to take into consideration the impact this may have on your Recovery Point and Replica volumes.

Once you have added a new disk to the server, you will add it to the DPM Storage Pool to extend the capacity of the pool. With the pool extended, it would be logical to assume that DPM will automatically extended the Replica and Recovery Point volumes and whilst this is true for normal operation that DPM will auto-grow these volumes if you have enabled the auto-grow feature, if you’re DPM Storage Pool completely filled before the new disk was added, you will need to do this manually. When DPM has attempted to auto-grow the partition on a previous attempt but been unable to do so due to insufficient disk space, it puts the Protection Group into a state where this operation is not attempted again automatically.

Imagine a scenario whereby a DPM server has a single 2TB volume in use for the Storage Pool. DPM creates many dynamic partitions on the disk to store your Protection Group data. When the disk fills and DPM needs to start using a new disk that you added, it will convert the existing dynamic partition into a spanned partition to allow it to span the multiple Storage Pool disks. If this operation occurs during normal DPM operation whereby there is sufficient free space to do so then it will happen automatically and you have nothing to worry about. If however, your DPM Storage Pool completely fills before it has a chance to convert it to a spanned partition, even once their capacity, DPM will stop trying to perform this operation.

Luckily for us, the fix is pretty simple. Locate the Protection Group which is reporting that the Replica or Recovery Point volumes are out of space and extend them manually using the DPM Central Console by any amount you like. It can be as little as 100MB if you need it to be. This manual extension will force DPM to read the data from the Windows Logical Disk Manager (LDM), it will see the new disk available and perform the span conversion operation.

If you can’t identify via the DPM Central Console which Protection Groups are faulting, another way is to look at the Disk Management console and look for partitions on the DPM Storage Pool disks which are not of type Spanned. Non-spanned partitions in this instance will be partitions which have not been pulled across both disks. This could be because that Protection Group hasn’t yet needed to be extended to make use of the new disk or it could be because it’s out of space but it’s a step in the right direct.

If you are extending the existing DPM Storage Pool disk instead of adding a new disk, I’m not exactly sure what would happen. If I had to hazard a guess, I would probably say that DPM will know about this uplift in capacity and extend the Protection Groups automatically as you are still working with the same disk, therefore no span conversion operation is required however I could be wrong? This is something for me to test in my new lab once I get it built.

Logical Network Creation Error in VMM 2012 R2

If you are working with System Center Virtual Machine Manager (VMM) and trying to configure Logical Networks on a Hyper-V host, here is an issue you need to be aware of.

If the display name of the network adapters on your host contain the square bracket characters (Eg. [ or ]) then the creation of the Logical Network on the host will fail with a rather spurious error message. Check the display name of all of the adapters on the host and ensure that they do not contain the square bracket characters before you go through any other troubleshooting. You could save yourself an hour or two.

Configuring a SQL Azure Sync Group TechNet Guide

Back in January, I drafted a blog post on how to configure a SQL Azure Sync Group to provide database high availability and geo distribution. I decided that actually there was so much content there, it would have been too long for a blog post so I have published it instead as a .pdf document on TechNet Gallery instead.

The great news is that the guide is now published and you download it for yourself at

Please let me know what you think of it as this is my first publication of this format. If you have any questions, comments or have a topic request for another guide then please get in touch and we’ll see what I can do.

Automating SharePoint Online with System Center Orchestrator

Recently, I’ve been working with a customer who uses Office 365 SharePoint Online and were looking to automate the creation of new sub sites in SharePoint Online with System Center Orchestrator. In addition to the requirement for automating the creation of the sub sites, the customer wanted this to be available as a self-service offering which they can make available to their users.

The customer asked me to put together a video on how we achieved this. This has been put up on YouTube as a four part video series.

You can see the series in the Automating SharePoint Online with System Center Orchestrator playlist at or with the embedded video below.

The four parts are broken down as follows:

Part 1: Introduction and Prerequisites
Part 2: System Center Orchestrator Configuration
Part 3: System Center Service Manager Configuration
Part 4: Finished Product Demonstration