My VCAP-DCD Experience
I took the VCAP-DCD exam today and have finally passed. I believe this is one of the unwritten rule that you have to write about your experience so you can share it. I felt like I just tackled a mountain. This was probably one of the hardest exams that I’ve taken in a long time. This was my second attempt at this beast as my first attempt was at VMworld 2014. I’ve been studying off and on for some time now, but after reading some of the other blogs about guys passing this exam on multiple tries I decided what better time than now to take this challenge on. The blog I read was Craig Waiters who passed it on his third attempt; read his journey here.

I did find the 5.5 version has a lot better flow, then the 5.1 exam. I had 42 questions and 8 were the visio-like design questions. After being unsuccessful the first time, I decided I needed to brush up on high level holistic helicopter view of design. I also did some brushing up on PMP skills to help define requirements, assumptions, contraints, and risks.
In preparation for my take two of this exam I used this:
- On-line practice exam http://www.virtualtiers.net I believe it was created by Jason Grierson. The study pack at the end can in very handy also. This site was very useful and it’s just like the VMware community to make something like this for everyone’s benefit.
- VMware vSphere Design book from Forbes Guthrie, Scott Lowe, and Kendrick Coleman
- The blueprint
Tips:
- I skipped all the questions by flagging them which allowed me to concentrate on the design scenarios while I was still fresh. This left me over an hour and a half left to answer the rest of the questions.
- Know how to apply the infrastructure design qualities of AMPRS: Availability, Manageability, Performance, Recoverability, and Security (Cost can also be thrown in there)
- Requirements, Assumptions, Constraints, and Risks; how to identify these.
- Applying dependencies; upstream and downstream; Good blog by vBikerblog on this Application Dependency – Upstream and Downstream Definitions
- Conceptual, Logical, and Physical designs.
- Storage design best practices; (ALUA, VAAI, VASA, SIOC)
What’s next:
- I’ll be taking the Install,Configure, and Manage (ICM) course for NSX and likely taking the VCP-NV
- Maybe next year I’ll tackle the behemoth of the VCDX; need to finish grad school first
Resource pools, child pools, and who gets what…
I know there have been numerous blog posting on this topic already which are all very good, but this is mainly for my own understanding as I try to understand this topic a bit further.
So what are resource pools?
They are a logical abstraction for management so you can delegate control over the resources of a host (or a cluster). They can be grouped into hierarchies and used to progressively segment out accessible CPU and memory resources.

Resource pools use a construct called shares to deal with possible contention (noisy neighbor syndrome)
| Setting | CPU share values | Memory share values |
| High | 2000 shares per vCPU | 20 shares per megabyte of configured VM memory |
| Normal | 1000 shares per vCPU | 10 shares per megabyte of configure VM memory |
| Low | 500 shares per vCPU | 5 shares per megabyte of configured VM memory |
*Taken from the 5.5 vSphere Resource Management document
My biggest issue with even getting into any contention issues is why would you architect a design that has the possibility to have contention if you can avoid it. I understand that a good design takes into account for the worst case scenario in which all VMs would be running at 100% of provisioned resources, therefore possibly generating an over-commitment issue with potential contention but that’s when you go to the business to request more funds for more resources. I know it’s the one of the benefits of virtualization that you can do this, but should you rely on it?.. It’s also a comfort level of over allocation in which the level depends on the individual architect. Keep to the rule of protecting the workload and I don’t see an issue with this. I keep the worst case scenario in mind, but I don’t ever want to get there, but this is more of a rant than anything else.
Frank Denneman(@FrankDenneman), Rawlinson Rivera(@PunchingClouds), Duncan Epping(@DuncanYB) and Chris Wahl(@ChrisWahl) have already set us straight on the impacts of using resource pools incorrectly and the best ways to most efficiently use RPs.
The main takeaways of resource pools are:
- Don’t use them as folders for VMs
- Don’t have VMs on the same level as resource pools without understanding the impacts
- If VMs are added to the resource pools after the shares have been set, then you’ll need to update those share values
- Don’t go over eight (8) levels deep [RP limitation; and why would you]
Additional Resources:
Chris Wahl: Understanding Resource Pools in VMware vSphere
Frank Denneman and Rawlinson Rivera: VMworld 2012 Session VSP1683: VMware vSphere Cluster Resource Pools Best Practices
Duncan Epping: Shares set on Resource Pools
CCDA Study: What is PPDIOO?
Studying for CCDA: What is PPDIOO?
I’ve been studying for the Cisco Certified Design Associate (CCDA) to give me a better insight and view of the Cisco design methodology. I’m trying to be well rounded overall and this is one of weaker areas. It’s been interesting and I’m learning a lot in the way of how Cisco sees the building blocks for a network design.
I came across the acronym PPDIOO which stands for Prepare, Plan, Design, Implement, Operate, and Optimize.

This is the network lifecyle. Each phase builds up to the next phase and provides a roadmap of how a network should be implemented, designed and upgraded.
| PPDIOO Phase | Description |
| Prepare | Establishes organizational and business requirements, develops a network strategy, and proposes a high-level architecture |
| Plan | Identifies the network requirements by characterizing and assessing the network, performing a gap analysis |
| Design | Provides high availability, reliability, security, scalability, and performance |
| Implement | Installation and configuration of new equipment |
| Operate | Day-to-day network operations |
| Optimize | Proactive network management; modifications to the design |
These different phases sound very familiar and match up to other design frameworks, ontologies or methodologies. But they all have a central focus on logically breaking down each step to provide a repeatable process in which all points are thought out.
How-To: Delete a VM via a PowerCLI Scheduled Task
This is a PowerCLI script that you can use to delete a VM which can be put into a Windows scheduled task job to be ran at a specified time and date. Below is the code snippet for the script:
Add-PSSnapin VMware*
$VISRV = “vc.lab.local”
$dieVM = “VM-001”
Connect-VIServer $VISRV
$VMToDelete = Get-VM $dieVM
If ($VMToDelete.PowerState –eq “PoweredOn”) {
Shutdown-VMGuest –VM $dieVM
}
Remove-VM $dieVM –DeletePermanently –confirm:$false –RunAsync
To set a scheduled task by PowerCLI in Windows you can follow the well-known Alan Renouf’s walkthrough called Running a PowerCLI Scheduled Task
How-To: Create a VMkernel Adapter on a vSphere Standard Switch
Create a VMK adapter on VSS in the vSphere Web Client
This is a walk-through of how to setup a VMkernel port adapter on a vSphere Standard Switch using the web client.
Procedure
- Once you’re logged into the web client then navigate to the host to where you would like to setup the vmk adapter:

- Choose Manage, select Networking and then select VMkernel adapters.

3. Click on Add host networking.

- On the Select Connection type page, select VMkernel Network Adapter and click Next

- On the Select target device page, select either an existing standard switch or a New vSphere standard switch. In this example I’m choosing an existing VSS called vSwitch0.

- On the Port properties page, configure the following settings:
Network label (name of vmk adapter): (for example: Management traffic)
VLAN ID: (for example: 666)
TCP/IP stack: (for example: Default)
Enable services: Management traffic

- On the IPv4 settings page, select an option for obtaining an IP address. For this example, I’ve chosen to use a static IP address of 168.199.5 and Subnet mask of 255.255.255.0

- On the Ready to complete page then review your setting selections and click on Finish

vSphere Cluster Size
I’ve pondered over this question before, “how big should I make my cluster”. At that point you have to take a step back and think about the tradeoffs with the potential impacts that your next decision is going to bring.
So you have a design decision: Should you design a vertical or horizontal vSphere HA cluster?
At this point you have some design choices to make. Let’s assume that you have an already established cluster of 5 nodes with HA and DRS enabled. There is money in the budget to buy additional servers to accommodate future growth.
There is a considerable amount of information in order for you to consider in order to make the most appropriate decision, such as cost, power, cooling, floor space and max cluster limitations to name a few. There are advantages and disadvantages to designing a vertical or horizontal cluster.
Scale-up cluster
| Advantage | Disadvantage |
| Managing fewer host reduces administrative cost | HA failover potential takes longer to complete |
| Less hardware to provide redundancy vice splitting the cluster in two and needing more host for failover | Need to be careful to stay within the cluster VM pert Host maximums. Potentially resulting in VMs not being restarted after a failure. |
| More cluster resources reserved for failure | |
| For DRS, fewer migration choices available to balance out the cluster | |
| Patching large clusters can take longer |
Scale-out cluster
| Advantage | Disadvantage |
| A host failure affects fewer VMs | Potential affects the maximum size that a VM can be configured |
| HA failover takes less time | More data center floor space |
| Fewer resources reserved for failover | Increase costs, i.e. power, cooling |
| Less of a concern with staying within the cluster VM per Host maximums | |
| For DRS, it provides a greater migration choice and more opportunities for a better workload balance |
On top of these advantages/disadvantages then you have to decide if your current design is meeting the demand of the business to achieve the performance, scalability and the return on investments. Gathering a current state assessment will aid the decision making process to guide you towards a design. Getting back to the scenario above it definitely depends on a multitude of factors, but if you can identify all of these different interdependencies. There is not enough information to make a decision up front, but you can start to formalize a game plan to get you in the right direction.
With these choices being taken into account, then one must decide whether you’re meeting the requirement of the business needs. I definitely enjoy making those decisions and figuring out the best possible solution available.
Useful resources
- There is a nice vSphere Cluster Sizing Calculator by @josh_odgers which allows you to do a quick calculation
- VMware vSphere Design 2nd Edition by Forbes Guthrie, Scott Lowe and Kendrick Coleman
- VMware Design Workshop course
