<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Frank Denneman | Architecting AI Infrastructure</title><link>https://frankdenneman.ai/posts/</link><description>Recent content in Posts on Frank Denneman | Architecting AI Infrastructure</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Tue, 13 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://frankdenneman.ai/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Agent or Flowchart? Find the Box You Can't Finish Drawing</title><link>https://frankdenneman.ai/2026-10-13-agent-or-flowchart-find-the-box-you-cant-finish-drawing/</link><pubDate>Tue, 13 Oct 2026 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2026-10-13-agent-or-flowchart-find-the-box-you-cant-finish-drawing/</guid><description>Explains when an agent is actually useful by separating fixed workflow logic from the parts where the model must decide what to do next based on intermediate results.</description></item><item><title>Topology-Aware Multi-GPU VM Placement</title><link>https://frankdenneman.ai/2026-03-31-Topology-Aware-Multi-GPU-VM-Placement/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2026-03-31-Topology-Aware-Multi-GPU-VM-Placement/</guid><description>Explains why distributed inference turns GPU communication into part of the critical path and why topology-aware scheduling is required when models span multiple GPUs.</description></item><item><title>Understanding Multi-GPU Topologies Within a Single Host</title><link>https://frankdenneman.ai/2026-03-27-Understanding-Multi-GPU-Topologies-Within-a-Single-Host/</link><pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2026-03-27-Understanding-Multi-GPU-Topologies-Within-a-Single-Host/</guid><description>Explains why distributed inference turns GPU communication into part of the critical path and why topology-aware scheduling is required when models span multiple GPUs.</description></item><item><title>Understanding Unified Memory on DGX Spark Running NemoClaw and Nemotron</title><link>https://frankdenneman.ai/posts/2026-03-23-understanding-unified-memory-dgx-spark-nemoclaw-nemotron/</link><pubDate>Mon, 23 Mar 2026 09:00:00 +0100</pubDate><guid>https://frankdenneman.ai/posts/2026-03-23-understanding-unified-memory-dgx-spark-nemoclaw-nemotron/</guid><description>&lt;p&gt;&lt;a href="https://www.nvidia.com/en-us/ai/nemoclaw/"&gt;NemoClaw&lt;/a&gt; became the talk of GTC 2026 within hours of its announcement. It wraps OpenClaw in NVIDIA’s &lt;a href="https://github.com/NVIDIA/OpenShell"&gt;OpenShell runtime&lt;/a&gt;, adds guardrails, and gives you an always on AI agent with a single install. Jensen Huang called OpenClaw the operating system for personal AI. NemoClaw is what makes that usable.&lt;/p&gt;
&lt;p&gt;This is part 4 of the AI Memory series and focuses on how memory behaves on real systems.&lt;/p&gt;
&lt;p&gt;I installed NemoClaw on a &lt;a href="https://www.nvidia.com/en-us/products/workstations/dgx-spark/"&gt;DGX Spark&lt;/a&gt; and ran Nemotron models locally to understand what actually happens in memory. The most important takeaway is simple. Unified memory breaks the usual GPU mental model.&lt;/p&gt;</description></item><item><title>Why Multi GPU Requires Topology Awareness</title><link>https://frankdenneman.ai/2026-03-16-why-multi-gpu-requires-topology-awareness/</link><pubDate>Mon, 16 Mar 2026 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2026-03-16-why-multi-gpu-requires-topology-awareness/</guid><description>Explains why distributed inference turns GPU communication into part of the critical path and why topology-aware scheduling is required when models span multiple GPUs.</description></item><item><title>Durable Agentic AI Sessions in GPU Memory</title><link>https://frankdenneman.ai/2026-03-12-durable-agentic-ai-sessions-in-gpu-memory/</link><pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2026-03-12-durable-agentic-ai-sessions-in-gpu-memory/</guid><description>How agentic AI workloads accumulate KV cache across reasoning steps and tool calls and why this changes GPU memory planning for on-prem infrastructure.</description></item><item><title>MIG Partitioning, Placement Geometry, and Stranded Capacity</title><link>https://frankdenneman.ai/2026-03-06-mig-partitioning-placement-geometry-and-stranded-capacity/</link><pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2026-03-06-mig-partitioning-placement-geometry-and-stranded-capacity/</guid><description>A deep dive into MIG partitioning, placement geometry, and stranded capacity in GPU infrastructure for AI workloads.</description></item><item><title>Same Size vs Mixed Size Placement at Cluster Scale</title><link>https://frankdenneman.ai/2026-03-01-same-size-vs-mixed-size-placement/</link><pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2026-03-01-same-size-vs-mixed-size-placement/</guid><description>How Same-size and Mixed-size vGPU placement behavior evolves at cluster scale and how profile strategy influences deployable capacity over time.</description></item><item><title>Mixed Size vGPU Mode in Practice</title><link>https://frankdenneman.ai/2026-02-24-mixed-size-vgpu-mode-in-practice/</link><pubDate>Tue, 24 Feb 2026 16:00:00 +0100</pubDate><guid>https://frankdenneman.ai/2026-02-24-mixed-size-vgpu-mode-in-practice/</guid><description>&lt;h2 id="architecting-ai-infrastructure---part-6"&gt;Architecting AI Infrastructure - Part 6&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://frankdenneman.ai/2026-02-19-How-Same-Size-vGPU-Mode-and-Right-sizing-Shape-GPU-Placement-Efficiency/"&gt;Last time&lt;/a&gt;, I looked at how Same Size vGPU mode works with different assignment policies and how right-sizing profiles can make placement more flexible. The main point was that both profile variety and assignment choices have a big impact on how much GPU capacity you can actually use over time.&lt;/p&gt;
&lt;h2 id="understanding-placement-ids-and-siloed-capacity"&gt;Understanding Placement IDs and Siloed Capacity&lt;/h2&gt;
&lt;p&gt;This article focuses on Mixed Size mode. Unlike locking a GPU to one profile after the first placement, Mixed Size lets you use different profile sizes on the same device. This might seem like an easy fix for fragmentation, but it brings a new challenge: placement IDs. These are fixed memory spots on the GPU where a profile can begin, so even if memory appears free, you can&amp;rsquo;t always use it unless it aligns with a valid placement spot. For more details on how placement IDs work, see &lt;a href="https://frankdenneman.ai/2026-02-17-How-vSphere-GPU-Modes-and-Assignment-Policies-Determine-Host-Level-Placement/"&gt;Part 4&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>How Same Size vGPU Mode and Right-sizing Shape GPU Placement Efficiency</title><link>https://frankdenneman.ai/2026-02-19-How-Same-Size-vGPU-Mode-and-Right-sizing-Shape-GPU-Placement-Efficiency/</link><pubDate>Thu, 19 Feb 2026 15:00:00 +0100</pubDate><guid>https://frankdenneman.ai/2026-02-19-How-Same-Size-vGPU-Mode-and-Right-sizing-Shape-GPU-Placement-Efficiency/</guid><description>&lt;h2 id="architecting-ai-infrastructure---part-5"&gt;Architecting AI Infrastructure - Part 5&lt;/h2&gt;
&lt;p&gt;In the &lt;a href="https://frankdenneman.ai/2026-02-17-How-vSphere-GPU-Modes-and-Assignment-Policies-Determine-Host-Level-Placement/"&gt;previous article&lt;/a&gt;, we looked at how GPUs are placed within an ESXi host and how GPU modes and assignment policies determine which physical GPU a workload uses. These decisions impact more than just the initial placement of workloads. They also shape how GPU capacity changes over time, affecting fragmentation, consolidation, and how easily new workloads can be scheduled. In this article, we will look at workloads that use fractional GPU profiles and how their sizing choices impact overall platform efficiency.&lt;/p&gt;</description></item><item><title>How vSphere GPU Modes and Assignment Policies Determine Host Level Placement</title><link>https://frankdenneman.ai/2026-02-17-How-vSphere-GPU-Modes-and-Assignment-Policies-Determine-Host-Level-Placement/</link><pubDate>Tue, 17 Feb 2026 14:00:00 +0100</pubDate><guid>https://frankdenneman.ai/2026-02-17-How-vSphere-GPU-Modes-and-Assignment-Policies-Determine-Host-Level-Placement/</guid><description>&lt;h2 id="architecting-ai-infrastructure---part-4"&gt;Architecting AI Infrastructure - Part 4&lt;/h2&gt;
&lt;p&gt;In the &lt;a href="https://frankdenneman.ai/2026-02-13-how-vsphere-drs-makes-gpu-placement-decisions/"&gt;last article&lt;/a&gt;, we tracked a GPU-backed VM from resource configuration to host selection. DRS evaluated the cluster, Assignable Hardware filtered hosts for GPU compatibility, DRS ran its Goodness calculation, and picked a destination host. Now, the host is selected. But the placement is not finished.&lt;/p&gt;
&lt;p&gt;Inside the host, another set of decisions decides which physical GPU gets the workload and what types of workloads that GPU will handle from then on. These host-level choices are less visible than DRS decisions. They do not show up in dashboards or trigger alerts. However, their effects add up over time, and they play a key role in keeping a shared AI platform healthy or letting it decline.&lt;/p&gt;</description></item><item><title>How vSphere DRS Makes GPU Placement Decisions</title><link>https://frankdenneman.ai/2026-02-13-how-vsphere-drs-makes-gpu-placement-decisions/</link><pubDate>Fri, 13 Feb 2026 12:50:00 +0100</pubDate><guid>https://frankdenneman.ai/2026-02-13-how-vsphere-drs-makes-gpu-placement-decisions/</guid><description>&lt;h2 id="architecting-ai-infrastructure---part-3"&gt;Architecting AI Infrastructure - Part 3.&lt;/h2&gt;
&lt;p&gt;In the first two articles, I looked at GPU consumption models and how AI workloads state their accelerator needs. In vSphere, these models take shape through virtual machine settings. CPU reservations, memory guarantees, and GPU profile choices together create a clear resource contract.&lt;/p&gt;
&lt;p&gt;This article moves from discussing resource consumption to explaining placement. After a workload states its requirements, how does the platform decide where to run it? GPU placement in vSphere is not random or based on guesswork. Instead, it is a structured orchestration process that combines declarative intent, hardware awareness, and cluster-wide optimization.&lt;/p&gt;</description></item><item><title>GPU Consumption Models as the First Architectural Choice in Production AI</title><link>https://frankdenneman.ai/2026-02-11-gpu-consumption-models-as-the-first-architectural-choice-in-production-ai/</link><pubDate>Wed, 11 Feb 2026 09:00:00 +0100</pubDate><guid>https://frankdenneman.ai/2026-02-11-gpu-consumption-models-as-the-first-architectural-choice-in-production-ai/</guid><description>&lt;h2 id="architecting-ai-infrastructure---part-2"&gt;Architecting AI Infrastructure - Part 2&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://frankdenneman.ai/2026-02-09-why-gpu-placement-becomes-the-defining-problem/"&gt;previous article&lt;/a&gt; covered GPU placement as part of the platform’s lifecycle, not just a scheduling step. These choices affect what the platform can handle as workloads evolve. Before making placement decisions, it’s worth asking: how do AI workloads use GPUs?&lt;/p&gt;
&lt;p&gt;This question is important because not every GPU workload requires the same resources. Two services might both need accelerators, but can be very different in memory use, how they run, and how much they depend on other GPUs. These differences set the platform’s limits well before the scheduler gets involved. So, GPU consumption models are not just an optimization detail. They are the first architectural choice for any AI platform.&lt;/p&gt;</description></item><item><title>Why GPU Placement Becomes the Defining Problem</title><link>https://frankdenneman.ai/2026-02-09-why-gpu-placement-becomes-the-defining-problem/</link><pubDate>Mon, 09 Feb 2026 09:00:00 +0100</pubDate><guid>https://frankdenneman.ai/2026-02-09-why-gpu-placement-becomes-the-defining-problem/</guid><description>&lt;h2 id="architecting-ai-infrastructure-series---part-1"&gt;Architecting AI Infrastructure Series - Part 1&lt;/h2&gt;
&lt;p&gt;In earlier articles, I looked at how modern AI models use GPU resources. I covered &lt;a href="https://frankdenneman.ai/2026-01-12-the-dynamic-world-of-llm-runtime-memory/"&gt;dynamic memory consumption&lt;/a&gt;, activation patterns, and how designs like &lt;a href="https://frankdenneman.ai/2026-02-05-understanding-activation-in-mixture-of-experts-models/"&gt;mixture-of-experts&lt;/a&gt; change resource needs over time. Those pieces focused on what models require from accelerators. This new series shifts the focus. Instead of starting with the model, we will look at the platform itself.&lt;/p&gt;
&lt;p&gt;The goal of &lt;em&gt;Architecting AI Infrastructure&lt;/em&gt; is to understand what changes when AI workloads move from ad-hoc experiments to long-running production services. At this stage, models need to be deployed, scaled, upgraded, and retired in a predictable way. GPUs are no longer tied to a single project, but become shared resources that support many teams, models, and use cases over time.&lt;/p&gt;</description></item><item><title>Understanding Activation Memory in Mixture of Experts Models</title><link>https://frankdenneman.ai/2026-02-05-understanding-activation-in-mixture-of-experts-models/</link><pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2026-02-05-understanding-activation-in-mixture-of-experts-models/</guid><description>Explains how activation memory behaves in Mixture of Experts models and why long-context and agentic inference introduce unpredictable activation peaks during prefill phases.</description></item><item><title>The Dynamic World of LLM Runtime Memory</title><link>https://frankdenneman.ai/2026-01-12-the-dynamic-world-of-llm-runtime-memory/</link><pubDate>Mon, 12 Jan 2026 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2026-01-12-the-dynamic-world-of-llm-runtime-memory/</guid><description>Explains how KV cache and context length drive LLM runtime memory growth and how this determines predictable GPU concurrency during inference workloads.</description></item><item><title>Talking VCF 9 and Private AI Foundation on the Unexplored Territory Podcast</title><link>https://frankdenneman.ai/2025-09-02-talking-vcf-9-and-private-ai-foundation-on-the-unexplored-territory-podcast/</link><pubDate>Tue, 02 Sep 2025 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2025-09-02-talking-vcf-9-and-private-ai-foundation-on-the-unexplored-territory-podcast/</guid><description>&lt;p&gt;Just before VMware Explore, I joined the &lt;strong&gt;Unexplored Territory Podcast&lt;/strong&gt; to talk about the enhancements in VMware Cloud Foundation 9 and the Private AI Foundation with NVIDIA. We covered new functionality, such as Agent Builder, and walked through the broader enhancements for AI workloads. We also highlighted a few must-attend sessions at Explore.&lt;/p&gt;
&lt;p&gt;You can listen to the full episode here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://bit.ly/45uFpMd?utm_source=chatgpt.com"&gt;Apple Podcasts&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://bit.ly/45286jx?utm_source=chatgpt.com"&gt;Spotify&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;During Explore, many people told me this episode was a great starting point to wrap their heads around &lt;strong&gt;VMware Private AI Foundation&lt;/strong&gt;. If you’re looking for a concise way to catch up, this is a good place to begin.&lt;/p&gt;</description></item><item><title>Which Multi-GPU Configurations Are You Planning to Deploy?</title><link>https://frankdenneman.ai/2025-09-02-which-multi-gpu-configurations-are-you-planning-to-deploy/</link><pubDate>Tue, 02 Sep 2025 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2025-09-02-which-multi-gpu-configurations-are-you-planning-to-deploy/</guid><description>&lt;p&gt;During VMware Explore, numerous conversations highlighted that most customers plan to deploy systems with two or more GPUs. The next challenge is deciding &lt;strong&gt;which type of multi-GPU configuration to adopt&lt;/strong&gt; — a choice that depends on intra-node communication, inter-node interconnects, and cooling strategies.&lt;/p&gt;
&lt;p&gt;To better understand where organizations are heading, I’ve created a short survey. The diagram below illustrates the options available in the NVIDIA-certified systems portfolio, which I use as a reference point in the questions. Your feedback will help map out how different configurations are being considered and provide valuable input as we align our product strategy with customer needs.&lt;br&gt;
**&lt;br&gt;
How to Read the Diagram**&lt;/p&gt;</description></item><item><title>Enhanced vMotion for vGPU VMs in VCF 9.0</title><link>https://frankdenneman.ai/2025-06-24-enhanced-vmotion-for-vgpu-vms-in-vmware-cloud-foundation-9-0/</link><pubDate>Tue, 24 Jun 2025 09:00:00 +0200</pubDate><guid>https://frankdenneman.ai/2025-06-24-enhanced-vmotion-for-vgpu-vms-in-vmware-cloud-foundation-9-0/</guid><description>&lt;p&gt;VMware&amp;rsquo;s latest release of Cloud Foundation 9.0 introduces an important new feature for managing AI infrastructure: &lt;strong&gt;Enhanced vMotion for vGPU VMs&lt;/strong&gt;. This new feature substantially improves the management of large language models (LLMs) in virtualized environments. For an in-depth technical overview, please read &lt;strong&gt;&lt;a href="https://www.linkedin.com/in/justin-murray-6118481/"&gt;Justin Murray&lt;/a&gt;&lt;/strong&gt;&amp;rsquo;s &lt;strong&gt;&lt;a href="https://blogs.vmware.com/cloud-foundation/2025-06-19-enhanced-vmotion-for-vgpu-vms-in-vmware-cloud-foundation-9-0/"&gt;detailed article&lt;/a&gt;&lt;/strong&gt; on the subject.&lt;/p&gt;
&lt;h2 id="the-power-of-vmotion"&gt;The Power of vMotion&lt;/h2&gt;
&lt;p&gt;Traditionally, vMotion has been a cornerstone of VMware&amp;rsquo;s value proposition, enabling two critical benefits:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Infrastructure maintenance without workload disruption&lt;/li&gt;
&lt;li&gt;Maintenance without coordination with workload owners&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These capabilities have allowed vAdmins to perform updates and maintenance with minimal impact on running services, a crucial advantage in today&amp;rsquo;s always-on digital landscape.&lt;/p&gt;</description></item><item><title>Building an Efficient AI Ingestion Pipeline: Data Ingestion Strategies</title><link>https://frankdenneman.ai/2024-10-30-building-an-efficient-ai-ingestion-pipeline-data-ingestion-strategies/</link><pubDate>Wed, 30 Oct 2024 09:00:00 +0100</pubDate><guid>https://frankdenneman.ai/2024-10-30-building-an-efficient-ai-ingestion-pipeline-data-ingestion-strategies/</guid><description>&lt;p&gt;Traditionally, deploying applications is a straightforward process that moves from development to production. For instance, enterprise apps usually work with databases to perform standard tasks, which makes resource management and maintenance predictable. Generative AI (Gen-AI) applications, however, are more flexible and complex. They need to adapt quickly, since they work with constantly changing data and must handle a wide range of demands. Gen-AI apps, especially those using Large Language Models (LLMs) and Retrieval Augmented Generation (RAG), don’t follow the same linear path as traditional workloads. Instead, they move through a circular, adaptive lifecycle with two main stages: research and production.&lt;/p&gt;</description></item><item><title>How to Build an Efficient AI Ingestion Pipeline</title><link>https://frankdenneman.ai/2024-10-25-how-to-build-an-efficient-ai-ingestion-pipeline/</link><pubDate>Fri, 25 Oct 2024 09:00:00 +0100</pubDate><guid>https://frankdenneman.ai/2024-10-25-how-to-build-an-efficient-ai-ingestion-pipeline/</guid><description>&lt;p&gt;On-premises AI deployments are becoming increasingly important, but infrastructure administrators and architects often face a steep learning curve due to unfamiliar terminology. While much AI information is tailored to data scientists, there&amp;rsquo;s a growing need for resources to clarify how these workloads impact infrastructure.&lt;/p&gt;
&lt;h2 id="understanding-the-rag-ingestion-pipeline-for-ai-workloads"&gt;Understanding the RAG Ingestion Pipeline for AI Workloads&lt;/h2&gt;
&lt;p&gt;When planning for AI, you’ll often hear terms like &amp;ldquo;embedding models,&amp;rdquo; &amp;ldquo;vector embeddings,&amp;rdquo; and &amp;ldquo;vector databases,&amp;rdquo; especially in Retrieval-Augmented Generation (RAG) frameworks that support scalable, responsive AI. But what actually happens when you run a RAG pipeline? How much computing power do you need? How much I/O is involved when processing a 60 MB dataset? These questions, along with key scaling factors, are important for sizing your infrastructure and planning for changes.&lt;/p&gt;</description></item><item><title>VMware Private AI Foundation - Privacy and Security Best Practices white paper</title><link>https://frankdenneman.ai/2024-07-01-vmware-private-ai-foundation-privacy-and-security-best-practices-white-paper/</link><pubDate>Mon, 01 Jul 2024 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2024-07-01-vmware-private-ai-foundation-privacy-and-security-best-practices-white-paper/</guid><description>&lt;p&gt;I&amp;rsquo;m excited to announce the release of my latest white paper, &amp;ldquo;&lt;a href="https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/vmware-private-ai-foundation-privacy-security.pdf"&gt;VMware Private AI Foundation - Privacy and Security Best Practices.&lt;/a&gt;&amp;rdquo; As many of you know, the world of artificial intelligence is rapidly evolving, and with that comes a new set of challenges, particularly around privacy and security.&lt;/p&gt;
&lt;p&gt;This white paper is not just about theory. It&amp;rsquo;s a practical guide introducing the foundational concepts, frameworks, and models underpinning private AI security. It&amp;rsquo;s a deep dive into the critical aspects of privacy and security in the context of AI, providing you with the tools to implement these principles in your own work. You&amp;rsquo;ll learn about the principle of shared responsibility, threat modeling for Gen-AI applications, and the CIA triad – confidentiality, integrity, and availability – as a guiding model for information security.&lt;/p&gt;</description></item><item><title>RAG Architecture Deep Dive</title><link>https://frankdenneman.ai/2024-03-19-rag-architecture-deep-dive/</link><pubDate>Tue, 19 Mar 2024 09:00:00 +0100</pubDate><guid>https://frankdenneman.ai/2024-03-19-rag-architecture-deep-dive/</guid><description>&lt;p&gt;Retrieval Augmented Generation (RAG) is a way to enhance Large Language Models (LLMs) by giving them access to extra data. In a typical Gen-AI setup, the LLM answers questions using only what it learned during training. It does not look up new information beyond its training data. RAG changes this by combining retrieval and generation. It uses a retriever to find relevant information from a large text collection, called a corpus, which is stored in a vector database. The generative part, powered by the LLM, then uses this information to create responses.&lt;/p&gt;</description></item><item><title>The misconception of self-learning capabilities of Large Language Models during Production</title><link>https://frankdenneman.ai/2024-02-22-the-misconception-of-self-learning-capabilities-of-large-language-models-during-production/</link><pubDate>Thu, 22 Feb 2024 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2024-02-22-the-misconception-of-self-learning-capabilities-of-large-language-models-during-production/</guid><description>&lt;p&gt;I enjoyed engaging with many customers about bringing Gen-AI to the on-prem data center at VMware Explore. Many customers want to keep their data and IP between the four walls of their organization, and rightly so.&lt;/p&gt;
&lt;p&gt;With VMware Private AI Foundation, we aim to utilize foundation models and build upon the great work of many smart data scientists. Foundation models like &lt;a href="https://ai.meta.com/llama/"&gt;Llama 2&lt;/a&gt;, &lt;a href="https://huggingface.co/blog/starcoder"&gt;StarCoder&lt;/a&gt;, and &lt;a href="https://mistral.ai/news/announcing-mistral-7b/"&gt;Mistral 7b&lt;/a&gt;. Instead of building and training a large language model (LLM) from the ground up, which can be time-consuming and computationally expensive, organizations can leverage foundation models pre-trained on a massive dataset of text and code. If necessary, organizations can further fine-tune a foundation model on specific tasks and data in a short period of time.&lt;/p&gt;</description></item><item><title>Retrieval-Augmented Generation Basics for the Data Center Admin</title><link>https://frankdenneman.ai/2024-01-16-retrieval-augmented-generation-basics-for-the-data-center-admin/</link><pubDate>Tue, 16 Jan 2024 09:00:00 +0100</pubDate><guid>https://frankdenneman.ai/2024-01-16-retrieval-augmented-generation-basics-for-the-data-center-admin/</guid><description>&lt;p&gt;Thanks to ChatGPT, Large Language Models (LLMs) have caught the attention of people everywhere. When built into products and services, LLMs can make most interactions with systems much faster.&lt;/p&gt;
&lt;p&gt;Current LLM-enabled apps mostly use open-source LLMs such as &lt;strong&gt;&lt;a href="https://ai.meta.com/llama/"&gt;Llama 2&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href="https://mistral.ai/news/announcing-mistral-7b/"&gt;Mistral&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href="https://lmsys.org/blog/2023-03-30-vicuna/"&gt;Vicuna&lt;/a&gt;&lt;/strong&gt;, and sometimes even &lt;strong&gt;&lt;a href="https://huggingface.co/tiiuae/falcon-180B"&gt;Falcon 170B&lt;/a&gt;&lt;/strong&gt;. These models are trained on publicly available data, allowing them to react appropriately to most prompts. Yet organizations often want LLMs to respond using domain-specific or private data.&lt;/p&gt;</description></item><item><title>Gen AI Sessions at Explore Barcelona 2023</title><link>https://frankdenneman.ai/2023-11-01-gen-ai-sessions-at-explore-barcelona-2023/</link><pubDate>Wed, 01 Nov 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-11-01-gen-ai-sessions-at-explore-barcelona-2023/</guid><description>&lt;p&gt;I&amp;rsquo;m looking forward to next week&amp;rsquo;s VMware Explore conference in Barcelona. It&amp;rsquo;s going to be a busy week. Hopefully, I will meet many old friends, make new friends, and talk about Gen AI all week. I&amp;rsquo;m presenting a few sessions, listed below, and meeting with customers to talk about the VMware Private AI foundation. If you are interested and you see me, walk by, come, and have a talk with me.&lt;/p&gt;</description></item><item><title>Basic Terminologies Large Language Models</title><link>https://frankdenneman.ai/2023-08-18-basic-terminologies-large-language-models/</link><pubDate>Fri, 18 Aug 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-08-18-basic-terminologies-large-language-models/</guid><description>&lt;p&gt;Many organizations are in the process of deploying large language models to apply to their use cases. Publically available Large Language Models (LLMs), such as ChatGPT, are trained on publicly available data through September 2021. However, they are unaware of proprietary private data. Such information is critical to the majority of enterprise processes. To help an LLM to become a useful tool in the enterprise space, an LLM is further trained of finetuned on proprietary data to adapt to organization-specific concepts.&lt;/p&gt;</description></item><item><title>My Sessions at VMware Explore 2023 Las Vegas</title><link>https://frankdenneman.ai/2023-08-17-my-sessions-at-vmware-explore-2023-las-vegas/</link><pubDate>Thu, 17 Aug 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-08-17-my-sessions-at-vmware-explore-2023-las-vegas/</guid><description>&lt;p&gt;Next week we are back in Las Vegas. Busy times ahead with meeting customers, old friends, making new friends, and presenting a few sessions. Next week I will present at Customer Technical Exchange (CTEX), {code}, and host two meet-the-expert sessions. I will also participate as a part-time judge at the {code} hackathon.&lt;/p&gt;
&lt;h2 id="breakout-sessions"&gt;Breakout Sessions&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://event.vmware.com/flow/vmware/explore2023lv/content/page/catalog?search=CODEB2761LV&amp;amp;tab.contentcatalogtabs=1627421929827001vRXW"&gt;45 Minutes of NUMA (A CPU is not a CPU Anymore [CODEB2761LV]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tuesday, Aug 22, 2:45 PM - 3:30 PM PDT Level 4, Delfino 4003&lt;/p&gt;</description></item><item><title>vSphere ML Accelerator Spectrum Deep Dive – Installing the NVAIE vGPU Driver</title><link>https://frankdenneman.ai/2023-07-06-vsphere-ml-accelerator-spectrum-deep-dive-installing-the-nvaie-vgpu-driver/</link><pubDate>Thu, 06 Jul 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-07-06-vsphere-ml-accelerator-spectrum-deep-dive-installing-the-nvaie-vgpu-driver/</guid><description>&lt;p&gt;After setting up the &lt;a href="https://frankdenneman.ai/2023-07-05-vsphere-ml-accelerator-spectrum-deep-dive-nvaie-cloud-license-service-setup/"&gt;Cloud License Service Instance&lt;/a&gt;, the NVIDIA AI Enterprise vGPU driver must be installed on the ESXi host. A single version driver amongst all the ESXi hosts in the cluster containing NVIDIA GPU devices is recommended. The most common error during the GPU install process is using the wrong driver. And it&amp;rsquo;s an easy mistake to make. In vGPU version 13 (the current NVAIE version is 15.2), NVIDIA split its ESXi host vGPU driver into two kinds. A standard vGPU driver component supports graphics, and an AI Enterprise (AIE) vGPU component supports compute. The Ampere generation devices, such as the A30 and A100 device, support compute only, so it requires an AIE vGPU component. There are AIE components available for all NVIDIA drivers since vGPU 13.&lt;/p&gt;</description></item><item><title>vSphere ML Accelerator Spectrum Deep Dive – NVAIE Cloud License Service Setup</title><link>https://frankdenneman.ai/2023-07-05-vsphere-ml-accelerator-spectrum-deep-dive-nvaie-cloud-license-service-setup/</link><pubDate>Wed, 05 Jul 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-07-05-vsphere-ml-accelerator-spectrum-deep-dive-nvaie-cloud-license-service-setup/</guid><description>&lt;p&gt;Next in this series is installing the NVAIE GPU operator on a TKGs guest cluster. However, we must satisfy a few requirements before we can get to that step.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;NVIDIA NVAIE Licence activated&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Access to NVIDIA NGC NVIDIA Enterprise Catalog and Licensing Portal&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The license Server Instance activated&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;NVIDIA vGPU Manager installed on ESXi Host with NVIDIA GPU Installed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;VM Class with GPU specification configured&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ubuntu image available in the content library for TKGs Worker Node&lt;/p&gt;</description></item><item><title>vSphere ML Accelerator Spectrum Deep Dive – Using Dynamic DirectPath IO (Passthrough) with VMs</title><link>https://frankdenneman.ai/2023-06-06-vsphere-ml-accelerator-spectrum-deep-dive-using-dynamic-directpath-io-passthrough-with-vms/</link><pubDate>Tue, 06 Jun 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-06-06-vsphere-ml-accelerator-spectrum-deep-dive-using-dynamic-directpath-io-passthrough-with-vms/</guid><description>&lt;p&gt;vSphere 7 and 8 offer two passthrough options, DirectPath IO and Dynamic DirectPath IO. Dynamic DirectPath IO is the vSphere brand name of the passthrough functionality of PCI devices to virtual machines. It allows assigning a dedicated GPU to a VM with the lowest overhead possible. DirectPath I/O assigns a PCI Passthrough device by identifying a specific physical device located on a specific ESXi host at a specific bus location on that ESXi host using the Segment/Bus/Device/Function format. This configuration path restricts that VM to that specific ESXi host.&lt;/p&gt;</description></item><item><title>#47 - How VMware accelerates customers achieving their net zero carbon emissions goal</title><link>https://frankdenneman.ai/2023-05-30-47-how-vmware-accelerates-customers-achieving-their-net-zero-carbon-emissions-goal/</link><pubDate>Tue, 30 May 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-05-30-47-how-vmware-accelerates-customers-achieving-their-net-zero-carbon-emissions-goal/</guid><description>&lt;p&gt;In episode 047, we spoke with &lt;a href="https://twitter.com/VPhilipose"&gt;Varghese Philipose&lt;/a&gt; about VMware&amp;rsquo;s sustainability efforts and how they help our customers meet their sustainability goals. Features like the green score help many of our customers understand how they can lower their carbon emissions and hopefully reach net zero.&lt;/p&gt;
&lt;script src="https://www.buzzsprout.com/1838742/12901894-047-how-vmware-accelerates-customers-achieving-their-net-zero-carbon-emissions-goal.js?container_id=buzzsprout-player-12901894&amp;amp;player=small" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;Topics discussed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Creating sustainability dashboards - &lt;a href="https://blogs.vmware.com/management/2019/06/sustainability-dashboards-in-vrealize-operations-find-how-much-did-you-contribute-to-a-greener-planet.html"&gt;https://blogs.vmware.com/management/2019/06/sustainability-dashboards-in-vrealize-operations-find-how-much-did-you-contribute-to-a-greener-planet.html&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sustainability dashboards in VROps 8.6 - &lt;a href="https://blogs.vmware.com/management/2021/10/sustainability-dashboards-in-vrealize-operations-8-6.html"&gt;https://blogs.vmware.com/management/2021/10/sustainability-dashboards-in-vrealize-operations-8-6.html&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;VMware Green Score - &lt;a href="https://blogs.vmware.com/management/2022/11/vmware-green-score-in-aria-operations-formerly-vrealize-operations.html"&gt;https://blogs.vmware.com/management/2022/11/vmware-green-score-in-aria-operations-formerly-vrealize-operations.html&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Intrinsically green - &lt;a href="https://news.vmware.com/esg/intrinsically-evergreen-vmware-earth-day-2023"&gt;https://news.vmware.com/esg/intrinsically-evergreen-vmware-earth-day-2023&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Customer success story - &lt;a href="https://blogs.vmware.com/customer-experience-and-success/2023/04/tam-partnerships-make-customers-the-hero.html"&gt;https://blogs.vmware.com/customer-experience-and-success/2023/04/tam-partnerships-make-customers-the-hero.html&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Follow the podcast on Twitter for updates and news about upcoming episodes: &lt;a href="https://twitter.com/UnexploredPod"&gt;https://twitter.com/UnexploredPod&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>vSphere ML Accelerator Spectrum Deep Dive – ESXi Host BIOS, VM, and vCenter Settings</title><link>https://frankdenneman.ai/2023-05-30-vsphere-ml-accelerator-spectrum-deep-dive-esxi-host-bios-vm-and-vcenter-settings/</link><pubDate>Tue, 30 May 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-05-30-vsphere-ml-accelerator-spectrum-deep-dive-esxi-host-bios-vm-and-vcenter-settings/</guid><description>&lt;p&gt;To deploy a virtual machine with a vGPU, whether a TKG worker node or a regular VM, you must enable some ESXi host-level and VM-level settings. All these settings are related to the isolation of GPU resources and memory-mapped I/O (MMIO) and the ability of the (v)CPU to engage with the GPU using native CPU instructions. MMIO provides the most consistent high performance possible. By default, vSphere assigns a MMIO region (an address range, not actual memory pages) of 32GB to each VM. However, modern GPUs are ever more demanding and introduce new technologies requiring the ESXi Host, VM, and GPU settings to be in sync. This article shows why you need to configure these settings, but let&amp;rsquo;s start with an overview of the required settings.&lt;/p&gt;</description></item><item><title>vSphere ML Accelerator Spectrum Deep Dive –NVIDIA AI Enterprise Suite</title><link>https://frankdenneman.ai/2023-05-23-vsphere-ml-accelerator-spectrum-deep-dive-nvidia-ai-enterprise-suite/</link><pubDate>Tue, 23 May 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-05-23-vsphere-ml-accelerator-spectrum-deep-dive-nvidia-ai-enterprise-suite/</guid><description>&lt;p&gt;vSphere allows assigning GPU devices to a VM using VMware&amp;rsquo;s (Dynamic) Direct Path I/O technology (Passthru) or NVIDIA&amp;rsquo;s vGPU technology. The NVIDIA vGPU technology is a core part of the NVIDIA AI Enterprise suite (&lt;a href="https://www.nvidia.com/en-us/data-center/products/ai-enterprise/"&gt;NVAIE&lt;/a&gt;). NVAIE is more than just the vGPU driver. It&amp;rsquo;s a complete technology stack that allows data scientists to run an end-to-end workflow on certified accelerated infrastructure. Let&amp;rsquo;s look at what NVAIE offers and how it works under the cover.&lt;/p&gt;</description></item><item><title>vSphere ML Accelerator Spectrum Deep Dive - GPU Device Differentiators</title><link>https://frankdenneman.ai/2023-05-16-vsphere-ml-accelerator-spectrum-deep-dive-gpu-device-differentiators/</link><pubDate>Tue, 16 May 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-05-16-vsphere-ml-accelerator-spectrum-deep-dive-gpu-device-differentiators/</guid><description>&lt;p&gt;The two last parts reviewed the capabilities of the platform. vSphere can offer &lt;a href="https://frankdenneman.ai/2023-05-10-vsphere-ml-accelerator-deep-dive-fractional-and-full-gpus/"&gt;fractional GPUs&lt;/a&gt; to &lt;a href="https://frankdenneman.ai/2023-05-12-vsphere-ml-accelerator-spectrum-deep-dive-for-distributed-training-multi-gpu/"&gt;Multi-GPU&lt;/a&gt; setups, catering to the workload&amp;rsquo;s needs in every stage of its development life cycle. Let&amp;rsquo;s look at the features and functionality of each supported GPU device. Currently, the range of supported GPU devices is quite broad. In total, 29 GPU devices are supported, dating back from 2016 to the last release in 2023. A table at the end of the article includes links to each GPUs product brief and their datasheet. Although NVIDIA and VMware form a close partnership, the listed support of devices is not a complete match. This can lead to some interesting questions typically answered with; it should work. But as always, if you want bulletproof support, follow the guides to ensure more leisure time on weekends and nights.&lt;/p&gt;</description></item><item><title>#46 - VMware Cloud Flex Compute Tech Preview</title><link>https://frankdenneman.ai/2023-05-15-46-vmware-cloud-flex-compute-tech-preview/</link><pubDate>Mon, 15 May 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-05-15-46-vmware-cloud-flex-compute-tech-preview/</guid><description>&lt;p&gt;We&amp;rsquo;re extending the VMware Cloud Services overview series with a tech preview of the VMware Cloud Flex Compute service. &lt;a href="https://twitter.com/frances_wong"&gt;Frances Wong&lt;/a&gt; shares a lot of interesting use cases and details with us in this episode!&lt;/p&gt;
&lt;p&gt;In short, VMware Cloud Flex Compute is a new approach to the Enterprise-grade VMware Cloud, but instead of obtaining a full SDDC, it is sliced, diced, sold, and deployed by fractional SDDC increments in the global cloud.&lt;/p&gt;</description></item><item><title>vSphere ML Accelerator Spectrum Deep Dive for Distributed Training - Multi-GPU</title><link>https://frankdenneman.ai/2023-05-12-vsphere-ml-accelerator-spectrum-deep-dive-for-distributed-training-multi-gpu/</link><pubDate>Fri, 12 May 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-05-12-vsphere-ml-accelerator-spectrum-deep-dive-for-distributed-training-multi-gpu/</guid><description>&lt;p&gt;The first part of the series reviewed the capabilities of the vSphere platform to assign fractional and full GPU to workloads. This part zooms in on the multi-GPU capabilities of the platform. Let&amp;rsquo;s review the full spectrum of ML accelerators that vSphere offers today. &lt;/p&gt;
&lt;p&gt;&lt;img src="images/6-vSphere-ML-Accelerator-Spectrum-Full-Spectrum.svg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;In vSphere 8.0 Update 1, an ESXi host can assign up to 64 (dynamic) direct path I/O (passthru) full GPU devices to a single VM. In the case of NVIDIA vGPU technology, vSphere supports up to 8 full vGPU devices per ESXi host. All of these GPU devices can be assigned to a single VM. &lt;/p&gt;</description></item><item><title>vSphere ML Accelerator Deep Dive - Fractional and Full GPUs</title><link>https://frankdenneman.ai/2023-05-10-vsphere-ml-accelerator-deep-dive-fractional-and-full-gpus/</link><pubDate>Wed, 10 May 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-05-10-vsphere-ml-accelerator-deep-dive-fractional-and-full-gpus/</guid><description>&lt;p&gt;Many organizations are building a sovereign ML platform that aids their data scientist, software developers, and operator teams. Although plenty of great ML platform services are available, many practitioners have discovered that a one-size-fits-all platform doesn&amp;rsquo;t suit their needs. There are plenty of reasons why an organization chooses to build its own ML platform; it can be as simple as control over maintenance windows, being able to curate their own toolchain, relying on a non-opinionated tech stack, or governance/regulations reasons. &lt;/p&gt;</description></item><item><title>vSphere ML Accelerator Spectrum Deep Dive Series</title><link>https://frankdenneman.ai/2023-05-03-vsphere-ml-accelerator-spectrum-deep-dive-series/</link><pubDate>Wed, 03 May 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-05-03-vsphere-ml-accelerator-spectrum-deep-dive-series/</guid><description>&lt;p&gt;The number of machine learning workloads is increasing in on-prem data centers rapidly. It arrives in different ways, either within the application itself or data science teams build solutions that incorporate machine learning models to generate predictions or influence actions when needed. Another significant influx of ML workloads is the previously prototyped ML solutions in the cloud that are now moved into the on-prem environment, either for data gravity, governance, economics, or infrastructure (maintenance) control reasons. Techcrunch recently published an &lt;a href="https://techcrunch.com/2023-03-20-the-cloud-backlash-has-begun-why-big-data-is-pulling-compute-back-on-premises/?guccounter=1&amp;amp;guce_referrer=aHR0cHM6Ly93d3cubGlua2VkaW4uY29tLw&amp;amp;guce_referrer_sig=AQAAAARYIdl7c9aeNK1m6YeiW8J7cv7HkI2_MFbY0vLNhQjiu0zG78yiOgCOBWhsr78lcg5ORKAg6jJZzytlTIW4Gg3EGMfQzUCwtabdoFNLd6RFmQ3xf8WbisqX-Lqs-z6kqhTjeKL6MuBf3D85Auy8IZec3sxddt2GUeMXMghr61zP/"&gt;interesting article&lt;/a&gt; on this phenomenon.&lt;/p&gt;</description></item><item><title>vSphere 8.0 Update 1 Enhancements for Accelerating Machine Learning Workloads</title><link>https://frankdenneman.ai/2023-04-26-vsphere-8-0-update-1-enhancements-for-accelerating-machine-learning-workloads/</link><pubDate>Wed, 26 Apr 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-04-26-vsphere-8-0-update-1-enhancements-for-accelerating-machine-learning-workloads/</guid><description>&lt;p&gt;Recently &lt;a href="https://core.vmware.com/resource/whats-new-vsphere-8-update-1"&gt;vSphere 8 Update 1&lt;/a&gt; was released, introducing excellent enhancements, ranging from VM-level power consumption metrics to Okta Identity Federation for vCenter. In this article, I want to investigate the enhancements to accelerate Machine Learning workloads. If you want to listen to all the goodness provided by update 1, I recommend listening to episode 40 of the &lt;a href="https://unexploredterritory.tech/"&gt;Unexplored Territory Podcast&lt;/a&gt; with Féidhlim O&amp;rsquo;Leary (&lt;a href="https://spoti.fi/3n52PV7"&gt;Spotify&lt;/a&gt; | &lt;a href="https://apple.co/3V4PpoF"&gt;Apple&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Machine learning is rapidly becoming an essential tool for organizations and businesses worldwide. The desire for accurate models is overwhelming; in many cases, the value of a model comes from accuracy. The machine learning community strives to build more intelligent algorithms, but we still live in a world where processing more training data generates a more accurate model. A prime example is the &lt;a href="https://news.vmware.com/emea/future-tech-innovation/building-intelligent-societies-with-chatgpt"&gt;large language models&lt;/a&gt; (LLM) such as &lt;a href="https://chat.openai.com/"&gt;ChatGPT&lt;/a&gt;. The more data you add, the more accurate they get.&lt;/p&gt;</description></item><item><title>VMware Cloud Services Overview Podcast Series</title><link>https://frankdenneman.ai/2023-04-17-vmware-cloud-services-overview-podcast-series/</link><pubDate>Mon, 17 Apr 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-04-17-vmware-cloud-services-overview-podcast-series/</guid><description>&lt;p&gt;Over the last year, we&amp;rsquo;ve interviewed many guests, and throughout the Unexplored Territory Podcast show, we wanted to provide a mini overview series of the VMware Cloud Services. Today we released the latest episode featuring &lt;a href="https://twitter.com/vMegie"&gt;Jeremiah Megie&lt;/a&gt; discussing the Azure VMware Solution.&lt;/p&gt;
&lt;h2 id="azure-vmware-solution"&gt;Azure VMware Solution&lt;/h2&gt;
&lt;script src="https://www.buzzsprout.com/1838742/12642696-044-exploring-azure-vmware-solution-with-jeremiah-megie.js?container_id=buzzsprout-player-12642696&amp;amp;player=small" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;Listen on &lt;a href="https://t.co/vl9zDEXts9"&gt;Spotify&lt;/a&gt; or &lt;a href="https://t.co/YNbVgN0C0D"&gt;Apple&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="vmware-cloud-on-aws"&gt;VMware Cloud on AWS&lt;/h2&gt;
&lt;p&gt;In episode 013, we talk to Adrian Roberts, Head of EMEA Solution Architecture for VMware Cloud on AWS at AWS. Adrian discusses the various reasons customers are looking to utilize VMware Cloud on AWS, some of the challenges, and the opportunities that arise when you have your VMware workloads close to native AWS services.&lt;/p&gt;</description></item><item><title>Research and Innovation at VMware with Chris Wolf</title><link>https://frankdenneman.ai/2023-03-27-research-and-innovation-at-vmware-with-chris-wolf/</link><pubDate>Mon, 27 Mar 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-03-27-research-and-innovation-at-vmware-with-chris-wolf/</guid><description>&lt;p&gt;In episode 042 of the Unexplored Territory podcast, we talk to Chris Wolf, Chief Research and Innovation Officer of VMware, about innovation at VMware and exciting new research projects. Make sure to follow Chris on &lt;a href="https://twitter.com/cswolf"&gt;Twitter&lt;/a&gt;. Also, check the following resources Chris mentioned in the episode.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://via.vmw.com/cnsi"&gt;Cloud Native Security Inspector (Project Narrows)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://fate.fedai.org/"&gt;FATE&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.openfl.org/"&gt;OpenFL&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://webassembly.org/"&gt;WASM&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Follow us on Twitter for updates and news about upcoming episodes: &lt;a href="https://twitter.com/UnexploredPod"&gt;https://twitter.com/UnexploredPod&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Last but not least, hit that subscribe button, rate where ever possible, and share the episode with your friends and colleagues!&lt;/p&gt;</description></item><item><title>My Picks for NVIDIA GTC Spring 2023</title><link>https://frankdenneman.ai/2023-03-21-my-picks-for-nvidia-gtc-spring-2023/</link><pubDate>Tue, 21 Mar 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-03-21-my-picks-for-nvidia-gtc-spring-2023/</guid><description>&lt;p&gt;This week GTC Spring 2023 kicks off again. These are the sessions I look forward to next week. Please leave a comment if you want to share a must-see session.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="mlops"&gt;MLOps&lt;/h2&gt;
&lt;p&gt;Title: &lt;a href="https://register.nvidia.com/flow/nvidia/gtcspring2023/attendeeportal/page/sessioncatalog/session/1666629510665001N7VV"&gt;Enterprise MLOps 101 [S51616]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The boom in AI has seen a rising demand for better AI infrastructure — both in the compute hardware layer and AI framework optimizations that make optimal use of accelerated compute. Unfortunately, organizations often overlook the critical importance of a middle tier: infrastructure software that standardizes the machine learning (ML) life cycle, adding a common platform for teams of data scientists and researchers to standardize their approach and eliminate distracting DevOps work. This process of building the ML life cycle is known as MLOps, with end-to-end platforms being built to automate and standardize repeatable manual processes. Although dozens of MLOps solutions exist, adopting them can be confusing and cumbersome. What should you consider when employing MLOps? How can you build a robust MLOps practice? Join us as we dive into this emerging, exciting, and critically important space.&lt;/p&gt;</description></item><item><title>Discover what's new in vSphere 8.0 U1 and vSAN 8.0 U1</title><link>https://frankdenneman.ai/2023-03-16-discover-whats-new-in-vsphere-8-0-u1-and-vsan-8-0-u1/</link><pubDate>Thu, 16 Mar 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-03-16-discover-whats-new-in-vsphere-8-0-u1-and-vsan-8-0-u1/</guid><description>&lt;p&gt;We (the Unexplored Territory team) work with the vSphere release team to get you the latest information about the new releases as quickly as possible. This week we published two new episodes discussing what’s new with vSphere 8.0 U1 and vSAN 8.0 U1. To enjoy the content, you can listen to them using your favorite podcast apps, such as &lt;a href="https://podcasts.apple.com/us/podcast/unexplored-territory/id1587672642"&gt;Apple&lt;/a&gt; or &lt;a href="https://open.spotify.com/show/3QpGL9tTfPDUu5CeVsh1kO"&gt;Spotify&lt;/a&gt;, or the embedded players below.&lt;/p&gt;
&lt;script src="https://www.buzzsprout.com/1838742/12412672-040-what-s-new-in-vsphere-8-0-u1-with-feidhlim-o-leary.js?container_id=buzzsprout-player-12412672&amp;amp;player=small" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;
&lt;script src="https://www.buzzsprout.com/1838742/12359856-041-what-s-new-in-vsan-8-0-u1-with-pete-koehler.js?container_id=buzzsprout-player-12359856&amp;amp;player=small" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;</description></item><item><title>Simulating NUMA Nodes for Nested ESXi Virtual Appliances</title><link>https://frankdenneman.ai/2023-03-02-simulating-numa-nodes-for-nested-esxi-virtual-appliances/</link><pubDate>Thu, 02 Mar 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-03-02-simulating-numa-nodes-for-nested-esxi-virtual-appliances/</guid><description>&lt;p&gt;To troubleshoot a particular NUMA client behavior in a heterogeneous multi-cloud environment, I needed to set up an ESXi 7.0 environment. Currently, my lab is running ESXi 8.0, so I&amp;rsquo;ve turned to William Lams&amp;rsquo; excellent repository of nested ESXi virtual appliances and downloaded a copy of the 7.0 u3k version.&lt;/p&gt;
&lt;p&gt;My physical ESXi hosts are equipped with Intel Xeon Gold 5218R CPUs, containing 20 cores per socket. The smallest ESXi host contains ten cores per socket in the environment I need to simulate. Therefore, I created a virtual ESXi host with 20 vCPUs and ensured that there were two virtual sockets (10 cores per socket)&lt;/p&gt;</description></item><item><title>Sapphire Rapids Memory Configuration</title><link>https://frankdenneman.ai/2023-02-28-sapphire-rapids-memory-configuration/</link><pubDate>Tue, 28 Feb 2023 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2023-02-28-sapphire-rapids-memory-configuration/</guid><description>&lt;p&gt;The 4th generation of the Intel Xeon Scalable Processors (codenamed Sapphire Rapids) was released early this year, and I&amp;rsquo;ve been trying to wrap my head around what&amp;rsquo;s new, what&amp;rsquo;s good, and what&amp;rsquo;s challenging. Besides those new hardware native accelerators, which a later blog post covers, I noticed the return of different memory speeds when using multiple DIMMs per channel.&lt;/p&gt;
&lt;p&gt;Before the Scalable Processor Architecture in 2017, you faced the devil&amp;rsquo;s triangle when configuring memory capacity, cheap, high capacity, fast, pick two. The Xeons offered four memory channels per CPU package, and each memory channel could support up to three DIMMs. The memory speed decreased when equipped with three DIMMs per channel (3 DPC).&lt;/p&gt;</description></item><item><title>How to Create a Windows 11 Bootable USB on Mac OS Monterey</title><link>https://frankdenneman.ai/2022-12-21-how-to-create-a-windows-11-bootable-usb-on-mac-os-monterey/</link><pubDate>Wed, 21 Dec 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-12-21-how-to-create-a-windows-11-bootable-usb-on-mac-os-monterey/</guid><description>&lt;p&gt;I need to install Windows 11 on a gaming PC, but I only have a MacBook in my house, as this is my primary machine for work. To make things worse, trying to do this on macOS Monterey is extra difficult due to the heightened security levels that withhold you from running unsigned software. I.e., most free tooling software. However, most tooling is provided by macOS itself. You have to remember the correct steps. And because this is not a process I often do, I decided to document it for easy retrieval, which might help others facing the same challenge.&lt;/p&gt;</description></item><item><title>Unexplored Territory Ep 34 - William Lam Talks Home Labs - Christmas Special</title><link>https://frankdenneman.ai/2022-12-21-unexplored-territory-ep-34-william-lam-talks-home-labs-christmas-special/</link><pubDate>Wed, 21 Dec 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-12-21-unexplored-territory-ep-34-william-lam-talks-home-labs-christmas-special/</guid><description>&lt;p&gt;It&amp;rsquo;s the end of the year, and everybody is winding down from a hectic year, so we wanted to give you some light stuff to listen to in our last episode. But William had other plans. He is on fire in this episode, dropping one gem after another, sharing a decade-long of home lab wisdom. We asked William what his top 10 home lab gifts would be, and he got gift ideas from stocking stuffers to full-blown systems. Listen via Spotify (&lt;a href="https://t.co/9p5IMfA2eC"&gt;https://spoti.fi/3jdOmUp&lt;/a&gt;), Apple (&lt;a href="https://t.co/A3JdeXcNAy"&gt;https://apple.co/3WpMB50&lt;/a&gt;), or online (&lt;a href="https://t.co/PElL87iKal"&gt;https://unexploredterritory.tech&lt;/a&gt;)&lt;/p&gt;</description></item><item><title>Unexplored Territory Podcast 32 - IT giving McLaren Racing the edge</title><link>https://frankdenneman.ai/2022-11-28-unexplored-territory-podcast-32-it-giving-mclaren-racing-the-edge/</link><pubDate>Mon, 28 Nov 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-11-28-unexplored-territory-podcast-32-it-giving-mclaren-racing-the-edge/</guid><description>&lt;p&gt;Edward Green, Head of Commercial Technology at McLaren Racing, keynoted at the VMware Explore tech conference in Barcelona. I had the honor of sitting down with him for a few minutes to talk about the role of IT in F1. Most of us watch the races with multiple screens, the main TV for the race and additional screens to look at the various telemetry feeds. And so you know how much data flows between cars and the teams. But sitting down with Edward and hearing him explain how data transfer feeds and disk sizes impact real training time for the driver is just candy to the ears of every tech-savvy Formula 1 fan. The episode starts with a short interview with Joe Baguley, the racing CTO of VMware, discussing his involvement with the McLaren Racing partnership and his passion for racing!&lt;/p&gt;</description></item><item><title>ML Session at CTEX VMware Explore</title><link>https://frankdenneman.ai/2022-11-04-ml-session-at-ctex-vmware-explore/</link><pubDate>Fri, 04 Nov 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-11-04-ml-session-at-ctex-vmware-explore/</guid><description>&lt;p&gt;Next week during VMware Explore, VMware is also organizing the Customer Technical Exchange. I&amp;rsquo;m presenting the session &amp;ldquo;vSphere Infrastructure for Machine Learning workloads&amp;rdquo;. I will discuss how vSphere act as a self-service platform for data science teams to easily and quickly deploy ML platforms with acceleration resources. I&lt;/p&gt;
&lt;p&gt;CTEX is happening at the Fira Barcelona Gran Via in room CC4 4.2. This is an NDA event. Therefore, you will need to register vi&lt;/p&gt;</description></item><item><title>vSphere 8 CPU Topology for Large Memory Footprint VMs Exceeding NUMA Boundaries</title><link>https://frankdenneman.ai/2022-11-03-vsphere-8-cpu-topology-for-large-memory-footprint-vms-exceeding-numa-boundaries/</link><pubDate>Thu, 03 Nov 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-11-03-vsphere-8-cpu-topology-for-large-memory-footprint-vms-exceeding-numa-boundaries/</guid><description>&lt;p&gt;By default, vSphere manages the vCPU configuration and vNUMA topology automatically. vSphere attempts to keep the VM within a NUMA node until the vCPU count of that VM exceeds the number of physical cores inside a single CPU socket of that particular host. For example, my lab has dual-socket ESXi host configurations, and each host has 20 processor cores per socket. As a result, vSphere creates a VM with a vCPU topology with a unified memory address (UMA) up to the vCPU count of 20. Once I assign 21 vCPU, it creates a vNUMA topology with two virtual NUMA nodes and exposes this to the guest OS for further memory optimization.&lt;/p&gt;</description></item><item><title>Unexplored Territory Podcast EP30 - Project Keswick with Alan Renouf</title><link>https://frankdenneman.ai/2022-10-31-unexplored-territory-podcast-ep30-project-keswick-with-alan-renouf/</link><pubDate>Mon, 31 Oct 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-10-31-unexplored-territory-podcast-ep30-project-keswick-with-alan-renouf/</guid><description>&lt;p&gt;While preparing the podcast, I knew this episode would be good. Edge technology immensely excites me, and the way the project team strays away from the proverbial hammer and looks at ways to incorporate different principles like Gitops management concepts is inspiring. To top it off, you have Alan Renouf to talk about it, a long-time colleague and friend, but unfortunately, Covid prohibited me from partaking in this discussion. But, of course, Duncan and Johan had an excellent conversation with Alan. Please check it out on &lt;a href="https://t.co/51D1zRhiSk"&gt;Spotify&lt;/a&gt;, &lt;a href="https://t.co/PowHOOtHGQ"&gt;Apple&lt;/a&gt;, or via our &lt;a href="https://t.co/PElL87iKal"&gt;website&lt;/a&gt;. Enjoy!&lt;/p&gt;</description></item><item><title>vSphere 8 CPU Topology Device Assignment</title><link>https://frankdenneman.ai/2022-10-25-vsphere-8-cpu-topology-device-assignment/</link><pubDate>Tue, 25 Oct 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-10-25-vsphere-8-cpu-topology-device-assignment/</guid><description>&lt;p&gt;There seems to be some misunderstanding about the new vSphere 8 CPU Topology Device Assignment feature, and I hope this article will help you understand (when to use) this feature. This feature defines the mapping of the virtual PCIe device to the vNUMA topology. The main purpose is to optimize guest OS and application optimization. This setting does not impact NUMA affinity and scheduling of vCPU and memory locality at the physical resource layer. This is based on the VM placement policy (best effort). Let&amp;rsquo;s explore the settings and their effect on the virtual machine. Let&amp;rsquo;s go over the basics first. The feature is located in the VM Options menu of the virtual machine. &lt;/p&gt;</description></item><item><title>Could not initialize plugin ‘libnvidia-vgx.so - Check SR-IOV in the BIOS</title><link>https://frankdenneman.ai/2022-10-18-could-not-initialize-plugin-libnvidia-vgx-so-check-sr-iov-in-the-bios/</link><pubDate>Tue, 18 Oct 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-10-18-could-not-initialize-plugin-libnvidia-vgx-so-check-sr-iov-in-the-bios/</guid><description>&lt;p&gt;I was building a new lab with some NVIDIA A30 GPUs in a few hosts, and after installing the NVIDIA driver onto the ESXi host, I got the following error when powering up a VM with a vGPU profile:&lt;/p&gt;
&lt;p&gt;&lt;img src="images/Operation-Failed-Could-not-initialize-plugin-%E2%80%98libnvidia-vgx.so-.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Typically that means three things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Shared Direct passthrough is not enabled on the GPU&lt;/li&gt;
&lt;li&gt;ECC memory is enabled&lt;/li&gt;
&lt;li&gt;VM Memory reservation was not set to protect its full memory range/&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;But shared direct passthrough was enabled, and because I was using a C-type profile and an NVIDIA A30 GPU, I did not have to disable ECC memory. According to the NVIDIA Virtual GPU software documentation: &lt;a href="https://docs.nvidia.com/grid/13.0/grid-software-quick-start-guide/index.html"&gt;3.4 Disabling and Enabling ECC Memory&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Sub-NUMA Clustering</title><link>https://frankdenneman.ai/2022-09-21-sub-numa-clustering/</link><pubDate>Wed, 21 Sep 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-09-21-sub-numa-clustering/</guid><description>&lt;p&gt;I&amp;rsquo;m noticing a trend that more ESXi hosts have Sub-NUMA Clustering enabled. Typically this setting is used in the High-Performance Computing space or Telco world, where they need to reduce every last millisecond of latency and squeeze out every bit of bandwidth the system can offer. Such workloads are mostly highly tuned and operate in a controlled environment, whereas an ESXi server generally runs a collection of every type of workload in the organization imaginable. Let&amp;rsquo;s explore what Sub-NUMA clustering does and see whether it makes sense if you should enable it in your environment.&lt;/p&gt;</description></item><item><title>VMware Sessions at NVIDIA GTC</title><link>https://frankdenneman.ai/2022-09-20-vmware-sessions-at-nvidia-gtc/</link><pubDate>Tue, 20 Sep 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-09-20-vmware-sessions-at-nvidia-gtc/</guid><description>&lt;p&gt;&lt;a href="https://www.nvidia.com/gtc/session-catalog/?tab.catalogallsessionstab=16566177511100015Kus&amp;amp;search=denneman#/session/1659045196416001WQIQ"&gt;Overcome Your AI/ML Challenges with VMware + NVIDIA AI-Ready Enterprise Platform (Presented by VMware, Inc.) [A41422]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tuesday, Sep 20, 8:00 PM - 9:00 PM CEST / 11:00 Pacific Time (PT) Shobhit Bhutani, Justin Murray, and I are honored to present at NVIDIA GTC. In the [session](http://Overcome Your AI/ML Challenges with VMware + NVIDIA AI-Ready Enterprise Platform (Presented by VMware, Inc.) [A41422]), we provide a deep-level overview of the VMware and NVIDIA AI-Ready Enterprise platform and the new ML-focused features of the vSphere 8 release. &lt;/p&gt;</description></item><item><title>vSphere 8 and vSan 8 Unexplored Territory Podcast Double Header</title><link>https://frankdenneman.ai/2022-09-05-vsphere-8-and-vsan-8-unexplored-territory-podcast-double-header/</link><pubDate>Mon, 05 Sep 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-09-05-vsphere-8-and-vsan-8-unexplored-territory-podcast-double-header/</guid><description>&lt;p&gt;&lt;a href="https://open.spotify.com/episode/2ru792SACpSD1lrlLnT7cV?si=d4631238be7a44c9"&gt;&lt;img src="images/UT25-1024x574.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This week we released two episodes covering the vSphere 8 and vSan 8 releases. Together with Feidhlim O&amp;rsquo;Leary, we discover all the new functions and features of the vSphere 8 platform. You can listen to this episode on &lt;a href="https://open.spotify.com/episode/2ru792SACpSD1lrlLnT7cV?si=d4631238be7a44c9"&gt;Spotify&lt;/a&gt;, &lt;a href="https://podcasts.apple.com/nl/podcast/025-introducing-vsphere-8-0-with-feidhlim-oleary/id1587672642?i=1000578353391"&gt;Apple&lt;/a&gt;, or on our website: &lt;a href="https://unexploredterritory.tech/episodes/"&gt;unexploredterritory.tech&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://open.spotify.com/episode/18EACPifkoSQFVmdMCCpp7?si=ea531821b56b4737&amp;amp;nd=1"&gt;&lt;img src="images/ut26-1024x573.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pete Koehler repeats his stellar performance of last time and helps us understand the completely new architecture of vSAN 8. You can listen to this episode on &lt;a href="https://open.spotify.com/episode/18EACPifkoSQFVmdMCCpp7?si=ea531821b56b4737"&gt;Spotify&lt;/a&gt;, &lt;a href="https://podcasts.apple.com/nl/podcast/026-diving-deep-into-vsan-esa-8-0-with-pete-koehler/id1587672642?i=1000578353299"&gt;Apple&lt;/a&gt;, or on our website: &lt;a href="https://unexploredterritory.tech/episodes/"&gt;unexploredterritory.tech&lt;/a&gt; or anywhere else you get your podcasts!&lt;/p&gt;</description></item><item><title>Unexplored Territory - VMware Explore USA Special</title><link>https://frankdenneman.ai/2022-09-02-unexplored-territory-vmware-explore-usa-special/</link><pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-09-02-unexplored-territory-vmware-explore-usa-special/</guid><description>&lt;p&gt;This week Duncan and I attended VMware Explore to co-present the session &amp;ldquo;60 Minutes of Virtually Speaking Live: Accelerating Cloud Transformation.&amp;rdquo; with William Lam and our buddies of the Virtually Speaking Podcast, Pete Flecha and John Nicholson.  The recordings should be made available soon or sign up for the session in Barcelona.&lt;/p&gt;
&lt;p&gt;&lt;img src="images/Screen-Shot-2022-09-02-at-06.17.12-953x1024.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;During the week, we caught up with many people and captured soundbites of people such as Kit Colbert, Chris Wolf, Stephen Foskett, Sazalla Reddy, and a few more. You can listen to this special VMware Explore episode on Spotify (&lt;a href="https://t.co/A7CN2zvvl2"&gt;spoti.fi/3cITI7p&lt;/a&gt;), Apple (&lt;a href="https://t.co/xxAoxJVgz3"&gt;apple.co/3q35dJJ&lt;/a&gt;) or our website: &lt;a href="https://t.co/hePAMr5mOg"&gt;unexploredterritory.tech/episodes/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>New vSphere 8 Features for Consistent ML Workload Performance</title><link>https://frankdenneman.ai/2022-08-30-new-vsphere-8-features-for-consistent-ml-workload-performance/</link><pubDate>Tue, 30 Aug 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-08-30-new-vsphere-8-features-for-consistent-ml-workload-performance/</guid><description>&lt;p&gt;vSphere 8 is full of enhancements. Go to &lt;a href="https://blogs.vmware.com"&gt;blogs.vmware.com&lt;/a&gt; or &lt;a href="https://www.yellow-bricks.com"&gt;yellow-bricks.com&lt;/a&gt; for more extensive overviews of the vSphere 8 release. In this article, I want to highlight two features of the new vSphere 8 version that will help machine learning (ML) workloads perform consistently and possibly faster than manually configured workload constructs. The two features which make this possible are &lt;em&gt;UI enhancements for the vNUMA Topology&lt;/em&gt; and the &lt;em&gt;Device Groups&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id="hardware-20-scalability-enhancements"&gt;Hardware 20 Scalability Enhancements&lt;/h2&gt;
&lt;p&gt;Before we dive into the features, vSphere 8 introduces a new virtual hardware feature that allows us to introduce new wonderful things and push the boundaries again of the platform. With vSphere 8, the virtual hardware level advances to version 20, and it offers new capabilities for ML accelerators. The support for DirectPath I/O devices went up from 16 to 32. We also worked with NVIDIA to increase the support of the vGPU devices, and now, with vSphere 8, each ESXi host can support up to 8 vGPU devices. &lt;/p&gt;</description></item><item><title>Training vs Inference - Network Compression</title><link>https://frankdenneman.ai/2022-08-26-training-vs-inference-network-compression/</link><pubDate>Fri, 26 Aug 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-08-26-training-vs-inference-network-compression/</guid><description>&lt;p&gt;This training versus inference workload series provides platform architects and owners insights about ML workload characteristics. Instead of treating deep neural networks as black box workloads, ML architectures and techniques are covered with infrastructure experts in mind. A better comprehension of the workload opens up the dialog between infrastructure and data science teams, hopefully resulting in better matching workload requirements and platform capabilities.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://frankdenneman.ai/2022-06-30-machine-learning-on-vmware-platform-part-3-training-versus-inference/"&gt;Part 3&lt;/a&gt; of the series focussed on the memory consumption of deep learning neural network architectures. It introduced the different types of operands (weights, activations, gradients) and how each consumes memory and requires computational power throughout the different stages and layers of the neural network. &lt;a href="https://frankdenneman.ai/2022-07-26-training-vs-inference-numerical-precision/"&gt;Part 4&lt;/a&gt; showed that a floating point data type impacts a neural network&amp;rsquo;s memory consumption and computational power requirement. I want to cover neural network compression in this part of the training versus inference workload deep dive. The goal of neural network compression is inference optimization to either help fit and run a model at a constrained endpoint or to reduce inference infrastructure running costs.&lt;/p&gt;</description></item><item><title>How to Write a Book - Show Up Daily</title><link>https://frankdenneman.ai/2022-08-01-how-to-write-a-book-show-up-daily/</link><pubDate>Mon, 01 Aug 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-08-01-how-to-write-a-book-show-up-daily/</guid><description>&lt;p&gt;During the Belgium VMUG, I talked with &lt;a href="https://twitter.com/jeffreykusters"&gt;Jeffrey Kusters&lt;/a&gt; and the VMUG leadership team about the challenges of writing a book. Interestingly enough, since that VMUG, the question of how to start writing a book kept appearing in my inbox, dm, and Linkedin Messaging regularly. This morning Michael Rebmann&amp;rsquo;s question convinced me that it&amp;rsquo;s book writing season again, so maybe it&amp;rsquo;s better to put my response in a central place. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/"&gt;https://twitter.com/&lt;/a&gt;_michaelrebmann/status/1553498293736538116&lt;/p&gt;</description></item><item><title>Training vs Inference - Numerical Precision</title><link>https://frankdenneman.ai/2022-07-26-training-vs-inference-numerical-precision/</link><pubDate>Tue, 26 Jul 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-07-26-training-vs-inference-numerical-precision/</guid><description>&lt;p&gt;&lt;a href="https://frankdenneman.ai/2022-07-15-training-vs-inference-memory-consumption-by-neural-networks/"&gt;Part 4&lt;/a&gt; focused on the memory consumption of a CNN and revealed that neural networks require parameter data (weights) and input data (activations) to generate the computations. Most machine learning is linear algebra at its core; therefore, training and inference rely heavily on the arithmetic capabilities of the platform. By default, neural network architectures use the single-precision floating-point data type for numerical representation. However, modern CPUs and GPUs support various floating-point data types, which can significantly impact memory consumption or arithmetic bandwidth requirements, leading to a smaller footprint for inference (production placement) and reduced training time.&lt;/p&gt;</description></item><item><title>Training vs Inference - Memory Consumption by Neural Networks</title><link>https://frankdenneman.ai/2022-07-15-training-vs-inference-memory-consumption-by-neural-networks/</link><pubDate>Fri, 15 Jul 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-07-15-training-vs-inference-memory-consumption-by-neural-networks/</guid><description>&lt;p&gt;This article dives deeper into the memory consumption of deep learning neural network architectures. What exactly happens when an input is presented to a neural network, and why do data scientists mainly struggle with out-of-memory errors? Besides &lt;a href="https://medium.com/@hrisavb/roadmap-of-nlp-for-machine-learning-c197d7d33cb1"&gt;Natural Language Processing&lt;/a&gt; (NLP), computer vision is one of the most popular applications of deep learning networks. Most of us use a form of computer vision daily. For example, we use it to unlock our phones using facial recognition or exit parking structures smoothly using license plate recognition. It&amp;rsquo;s used to assist with your medical diagnosis. Or, to end this paragraph with a happy note, find all the pictures of your dog on your phone. &lt;/p&gt;</description></item><item><title>Unexplored Territory Podcast Episode 19 - Discussing NUMA and Cores per Sockets with the main CPU engineer of vSphere</title><link>https://frankdenneman.ai/2022-07-01-unexplored-territory-podcast-episode-19-discussing-numa-and-cores-per-sockets-with-the-main-cpu-engineer-of-vsphere/</link><pubDate>Fri, 01 Jul 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-07-01-unexplored-territory-podcast-episode-19-discussing-numa-and-cores-per-sockets-with-the-main-cpu-engineer-of-vsphere/</guid><description>&lt;p&gt;Richard Lu joined us to talk basics of NUMA, Cores per Socket, why modern windows and mac systems have a default 2 cores per socket setting, how cores per socket help the guest OS interpret the cache topology better, the impact of incorrectly configured NUMA and Cores per Socket systems and many other interesting CPU related topics. Enjoy another deep dive episode, you can listen to and download the episode on the following platforms:&lt;/p&gt;</description></item><item><title>Machine Learning on VMware Platform – Part 3 - Training versus Inference</title><link>https://frankdenneman.ai/2022-06-30-machine-learning-on-vmware-platform-part-3-training-versus-inference/</link><pubDate>Thu, 30 Jun 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-06-30-machine-learning-on-vmware-platform-part-3-training-versus-inference/</guid><description>&lt;p&gt;&lt;a href="https://frankdenneman.ai/2022-05-25-machine-learning-on-vmware-cloud-platform-part-1/"&gt;Machine Learning on VMware Cloud Platform – Part 1&lt;/a&gt; covered the three distinct phases: concept, training, and deployment, &lt;a href="https://frankdenneman.ai/2022-06-08-machine-learning-on-vmware-cloud-platform-part-2/"&gt;part 2&lt;/a&gt; explored the data streams, the infrastructure components needed and vSphere can help with increasing resource utilization efficiency of ML platforms. In this part, I want to go a little bit deeper into the territory of training and inference workloads.&lt;/p&gt;
&lt;p&gt;It would be best to consider the platform&amp;rsquo;s purpose when building an ML infrastructure. Are you building it for serving inference workloads, or are you building a training platform? Are there data science teams inside the organization that create and train the models themselves? Or will pre-trained models be acquired? Where will the trained (converged) model be deployed? Will it be in the data center, industrial sites, or retail locations?&lt;/p&gt;</description></item><item><title>Unexplored Territory Podcast Episode 18 - Not just artificially intelligent featuring Mazhar Memon</title><link>https://frankdenneman.ai/2022-06-13-unexplored-territory-podcast-episode-18-not-just-artificially-intelligent-featuring-mazhar-memon/</link><pubDate>Mon, 13 Jun 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-06-13-unexplored-territory-podcast-episode-18-not-just-artificially-intelligent-featuring-mazhar-memon/</guid><description>&lt;p&gt;In this week’s Unexplored Territory Podcast, we have Mazhar Memon as our guest. Mazhar is one of the founders of VMware Bitfusion and the principal inventor of Project Radium. In this episode, we talk to him about the start of Bitfusion, what challenges Project Radium solves, and what role the CPU has in an ML world. If you like deep-dive podcast episodes, grab a nice cup of coffee or any other beverage of your liking, open your favorite podcast app, strap in and press play.  &lt;/p&gt;</description></item><item><title>MACHINE LEARNING ON VMWARE PLATFORM – PART 2</title><link>https://frankdenneman.ai/2022-06-08-machine-learning-on-vmware-cloud-platform-part-2/</link><pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-06-08-machine-learning-on-vmware-cloud-platform-part-2/</guid><description>&lt;h2 id="resource-utilization-efficiency"&gt;Resource Utilization Efficiency&lt;/h2&gt;
&lt;p&gt;Machine learning, especially deep learning, is notorious for consuming large amounts of GPU resources during training. However, as the last part already highlighted, machine learning is more than just training a model. And these components within the machine learning workflow require large amounts of CPU, memory, storage, and network resources.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://frankdenneman.ai/2022-05-25-machine-learning-on-vmware-cloud-platform-part-1/"&gt;Machine Learning on VMware Cloud Platform – Part 1&lt;/a&gt; covered the three distinct phases: concept, training, and deployment. Existing &amp;ldquo;known data&amp;rdquo; is required to explore and train the model in both the concept and training phases. During the development of the model, it is common to use three different data sets: the training set, the validation set, and the testing set. Creating data sets is not only about getting as much data as possible. It is even more critical getting meaningful data and high levels of quality because the accuracy of the recommendation produced by the model is highly dependent on the quality of the dataset used for training and validation. The data science team needs to &amp;ldquo;wrangle&amp;rdquo; existing raw data into shape to get such a high-quality dataset. Data wrangling transforms the raw data into more valuable data that can be used as a dataset &amp;ldquo;downstream&amp;rdquo; to train a model. And all this wrangling requires a lot of collateral infrastructure and services besides just a bunch of GPUs.&lt;/p&gt;</description></item><item><title>Machine Learning on VMware Platform - Part 1</title><link>https://frankdenneman.ai/2022-05-25-machine-learning-on-vmware-cloud-platform-part-1/</link><pubDate>Wed, 25 May 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-05-25-machine-learning-on-vmware-cloud-platform-part-1/</guid><description>&lt;p&gt;Machine Learning is reshaping modern business. Most VMware customers look at machine learning to increase revenue or decrease cost. When talking to customers, we mainly discuss the (vertical) training and inference stack details. The stack runs a machine learning model inside a container or a VM, preferably onto an accelerator device like a general-purpose GPU. And I think that is mostly due to our company DNA letting us relate machine learning workload directly to a hardware resource. &lt;/p&gt;</description></item><item><title>Solving vNUMA Topology Mismatch When Migrating between Dual Socket Servers and Quad Socket Servers</title><link>https://frankdenneman.ai/2022-03-11-solving-vnuma-topology-mismatch-when-migrating-between-dual-socket-servers-and-quad-socket-servers/</link><pubDate>Fri, 11 Mar 2022 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2022-03-11-solving-vnuma-topology-mismatch-when-migrating-between-dual-socket-servers-and-quad-socket-servers/</guid><description>&lt;p&gt;I recently received a few questions from customers migrating between clusters with different CPU socket footprints. The challenge is not necessarily migrating live workloads between clusters because we have Enhanced vMotion Compatibility (EVC) to solve this problem. &lt;/p&gt;
&lt;p&gt;For VMware users just learning about this technology, &lt;a href="https://kb.vmware.com/s/article/1003212"&gt;EVC masks&lt;/a&gt; certain unique features of newer CPU generations and creates a generic baseline of CPU features throughout the cluster. If workloads move between two clusters, vMotion still checks whether the same CPU features are presented to the virtual machine. If you are planning to move workloads, ensure the EVC modes of the clusters are matching to get the smoothest experience.&lt;/p&gt;</description></item><item><title>Stop designing your server platform with solely the CPU roadmap in mind</title><link>https://frankdenneman.ai/2021-12-20-stop-designing-your-server-platform-with-solely-the-cpu-roadmap-in-mind/</link><pubDate>Mon, 20 Dec 2021 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2021-12-20-stop-designing-your-server-platform-with-solely-the-cpu-roadmap-in-mind/</guid><description>&lt;p&gt;Over the last 20 years, we designed our core data center platform following the CPU roadmap. But in today&amp;rsquo;s world, the devices attached to the processor make radical and revolutionary improvements, catering to the needs of the new workloads. I&amp;rsquo;m talking about devices like the GPU, the network adapter, and its natural offspring, the data processing unit (DPU). In the article &amp;ldquo;&lt;a href="https://frankdenneman.ai/2021-10-06-project-monterey-and-the-need-for-network-cycles-offload-for-ml-workloads/"&gt;Project Monterey and the need for network cycles offload for ML workloads&lt;/a&gt;&amp;rdquo; I zoom into what&amp;rsquo;s in store for us data center architects in the upcoming years.&lt;/p&gt;</description></item><item><title>Exciting Sessions from NVIDIA GTC Fall 2021</title><link>https://frankdenneman.ai/2021-12-09-exciting-sessions-from-nvidia-gtc-fall-2021/</link><pubDate>Thu, 09 Dec 2021 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2021-12-09-exciting-sessions-from-nvidia-gtc-fall-2021/</guid><description>&lt;p&gt;Over the last few weeks, I watched many sessions of the NVIDIA Fall version of GTC. I created a list of interesting sessions for a group of people internally at VMware, but I thought the list might interest some outside VMware. It&amp;rsquo;s primarily focused on understanding NVIDIA&amp;rsquo;s product and services suite and not necessarily deep diving into technology or geeking out on core counts and speeds and feeds. If you found exciting sessions that I haven&amp;rsquo;t listed, please leave them in the comments below.&lt;/p&gt;</description></item><item><title>vSphere 7 Cores per Socket and Virtual NUMA</title><link>https://frankdenneman.ai/2021-12-02-vsphere-7-cores-per-socket-and-virtual-numa/</link><pubDate>Thu, 02 Dec 2021 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2021-12-02-vsphere-7-cores-per-socket-and-virtual-numa/</guid><description>&lt;p&gt;Regularly I meet with customers to discuss NUMA technology, and one of the topics that are always on the list is the Cores per Socket setting and its potential impact.&lt;/p&gt;
&lt;p&gt;In vSphere 6.5, we made some significant adjustments to the scheduler that allowed us to decouple the NUMA client creation from the Cores per Socket setting. Before 6.5, if the vAdmin configured the VM with a non-default Cores per Socket setting, the NUMA scheduler automatically aligned the NUMA client configured to that Cores per Socket settings. Regardless of whether this configuration was optimal for performing in its physical surroundings.&lt;/p&gt;</description></item><item><title>DRS threshold 1 does not initiate Load balancing vMotions</title><link>https://frankdenneman.ai/2021-10-22-drs-threshold-1-does-not-initiate-load-balancing-vmotions/</link><pubDate>Fri, 22 Oct 2021 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2021-10-22-drs-threshold-1-does-not-initiate-load-balancing-vmotions/</guid><description>&lt;p&gt;vSphere 7.0 introduces DRS 2.0 and its new load balancing algorithm. In essence, the new DRS is completely focused on taking care of the needs of the VMs and does this at a more aggressive pace than the old DRS. As a result, DRS will resort to vMotioning a virtual machine faster than the previous DRS. And this is something that a lot of customers are noticing. In highly consolidated clusters, you might see a lot of vMotions occur. I perceive this as an infrastructural service. However, some customers might see this as a turbulent or nervous environment and rather see fewer vMotions. As a result, these customers like to dial down the DRS threshold, which is the right thing to do. But please be aware, if you still want DRS to have load-balancing functionality, do not slide the threshold all the way to the left.&lt;/p&gt;</description></item><item><title>Project Monterey and the need for Network Cycles Offload for ML Workloads.</title><link>https://frankdenneman.ai/2021-10-06-project-monterey-and-the-need-for-network-cycles-offload-for-ml-workloads/</link><pubDate>Wed, 06 Oct 2021 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2021-10-06-project-monterey-and-the-need-for-network-cycles-offload-for-ml-workloads/</guid><description>&lt;p&gt;VMworld has started, and that means a lot of new announcements. One of the most significant projects VMware is working on is project Monterey. Project Monterey allows the use of SmartNICS, also known as Data Processing Units, of various VMware partners within the vSphere platform. Today we use the CPU inside the ESXi host to run workloads and to process network operations. With the shift towards distributed applications, the CPUs inside the ESXi hosts need to spend more time processing network IO instead of application operations. This extra utilization impacts data center economics like consolidation ratios and availability calculations. On top of this shift from monolith application to distributed application is the advent of machine learning supported services in the enterprise data center.&lt;/p&gt;</description></item><item><title>Machine Learning Infrastructure from a vSphere Infrastructure Perspective</title><link>https://frankdenneman.ai/2021-08-12-machine-learning-infrastructure-from-a-vsphere-infrastructure-perspective/</link><pubDate>Thu, 12 Aug 2021 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2021-08-12-machine-learning-infrastructure-from-a-vsphere-infrastructure-perspective/</guid><description>&lt;p&gt;For the last 18 months, I&amp;rsquo;ve been focusing on machine learning, especially how customers can successfully deploy machine learning infrastructure on a vSphere infrastructure.&lt;/p&gt;
&lt;p&gt;This space is exciting as it has so many great angles to explore. Besides the model training, a lot of stuff happens with the data. Data is transformed, data is moved. Data sets are often hundreds of gigabytes in size. Although that doesn&amp;rsquo;t sound that much compared to modern databases, these data sets are transformed and versioned. Where massive databases nest on an array, these data sets travel through pipelines that connect multiple systems with different architectures, from data lakes to in-memory key-value stores. As a data center architect, you need to think about the various components involved, where the compute horsepower is needed? How do you deal with an explosion of data? Where do you place particular storage platforms, what kind of bandwidth is needed, and do you always need the extreme low-latency systems in your ML infrastructure landscape?&lt;/p&gt;</description></item><item><title>CPU pinning is not an exclusive right to a CPU core!</title><link>https://frankdenneman.ai/2021-06-11-cpu-pinning-is-not-an-exclusive-right-to-a-cpu-core/</link><pubDate>Fri, 11 Jun 2021 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2021-06-11-cpu-pinning-is-not-an-exclusive-right-to-a-cpu-core/</guid><description>&lt;p&gt;&lt;a href="https://twitter.com/MrsBrookfield/status/1402955235497287685"&gt;https://twitter.com/MrsBrookfield/status/1402955235497287685&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Katarina tweeted a very expressive tweet about her love/hate (mostly hate) relation with CPU pinning, and lately I have been in conversations with customers contemplating whether they should use CPU pinning.&lt;/p&gt;
&lt;p&gt;The analogy that I typically use to describe CPU pinning is the story of the favorite parking space at your office parking lot. CPU pinning limits the compliant CPU &amp;ldquo;slots&amp;rdquo; for that vCPU to be scheduled on. So think about that CPU slot as the parking spot closest to the entrance of your office. You have decided that you only want to park in that spot. Every day of the year, that&amp;rsquo;s your spot and no other place else. The problem is, this is not a company-wide directive. Anyone can park in that spot, but you just limited yourself to that spot only. So it can happen that Bob arrives at the office first and lazy as he is, he will park to the office entrance as close as he can. Right in your spot. Now the problem with your self-imposed rule is that you cannot and will not park anywhere else. So when you show up (late to the party), you notice that Bob&amp;rsquo;s car is in YOUR parking spot, and the only thing you can do is to drive circles in some holding pattern until Bob leaves the office again. The stupidest thing. It&amp;rsquo;s Sunday, and you and Bob are the only ones doing some work. You&amp;rsquo;re out there on the parking lot, driving circles waiting until Bob leaves again, while Bob is inside in the empty building waiting on you to get started.&lt;/p&gt;</description></item><item><title>VM Service - Help Developers by Aligning Their Kubernetes Nodes to the Physical Infrastructure</title><link>https://frankdenneman.ai/2021-05-03-vm-service-help-developers-by-aligning-their-kubernetes-nodes-to-the-physical-infrastructure/</link><pubDate>Mon, 03 May 2021 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2021-05-03-vm-service-help-developers-by-aligning-their-kubernetes-nodes-to-the-physical-infrastructure/</guid><description>&lt;p&gt;The vSphere 7.0 U2a update released on April 27th introduces the new VM service and VM operator. Hidden away in what seems to be a trivial update is a collection of all-new functionalities. Myles Gray has written an &lt;a href="https://core.vmware.com/blog/introducing-virtual-machine-provisioning-kubernetes-vm-service"&gt;extensive article&lt;/a&gt; about the new features. I want to highlight the administrative controls of VM classes of the VM service.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VM Classes&lt;/strong&gt;&lt;br&gt;
What are VM classes, and how are they used? With Tanzu Kubernetes Grid Service running in the Supervisor cluster, developers can deploy Kubernetes clusters without the help of the Infra Ops team. Using their native tooling, they specify the size of the cluster control plane and worker nodes by using a specific VM class. The VM class configuration acts a template used to define CPU, memory resources and possibly reservations for these resources. These templates allow the InfraOps team to set guardrails for the consumption of cluster resources by these TKG clusters.&lt;/p&gt;</description></item><item><title>vSphere with Tanzu vCenter Server Network Configuration Overview</title><link>https://frankdenneman.ai/2020-11-06-vsphere-with-tanzu-vcenter-server-network-configuration-overview/</link><pubDate>Fri, 06 Nov 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-11-06-vsphere-with-tanzu-vcenter-server-network-configuration-overview/</guid><description>&lt;p&gt;I noticed quite a few network-related queries about the install of vSphere with Tanzu together with vCenter Server Networks (Distributed Switch and HA-Proxy).&lt;/p&gt;
&lt;p&gt;The whole install process can be a little overwhelming when it&amp;rsquo;s your first time dealing with Kubernetes and load-balancing services. Before installing Workload Management (the user interface designation for running Kubernetes inside vSphere), you have to setup HA-Proxy, a virtual appliance for provisioning load-balancers.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://cormachogan.com/2020-09-28-enabling-vsphere-with-tanzu-using-ha-proxy/"&gt;Cormac did a tremendous job&lt;/a&gt; describing the configuration steps of all components. Still, when installing vSphere with Tanzu, I found myself mapping out the network topology to make sense of it all since there seems to be a mismatch of terminology between HA-proxy and Workload Management configuration workflow.&lt;/p&gt;</description></item><item><title>What's Your Favorite Tech Novel?</title><link>https://frankdenneman.ai/2020-07-30-whats-your-favorite-tech-novel/</link><pubDate>Thu, 30 Jul 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-07-30-whats-your-favorite-tech-novel/</guid><description>&lt;p&gt;Today I was discussing with Duncan some great books to read. Disconnecting fully from work is difficult for me, so typically, the books I read are tech-related. I have read some brilliant books that I want to share with you, but mostly I want to hear your recommendations for other excellent tech novels.&lt;/p&gt;
&lt;h3 id="cyberwarfare"&gt;Cyberwarfare&lt;/h3&gt;
&lt;p&gt;Cyberwarfare intrigues me, so any book covering Operation Olympic Games -or- Stuxnet interests me. One of the best books on this topic &amp;ldquo;&lt;a href="https://amzn.to/2XbZaVw"&gt;Countdown to Zero day&lt;/a&gt;&amp;rdquo; by Kim Zetter. The book is filled with footnotes and references to corresponding research.&lt;/p&gt;</description></item><item><title>New whitepaper available on vSphere 7 DRS Load Balancing</title><link>https://frankdenneman.ai/2020-07-22-new-whitepaper-available-on-vsphere-7-drs-load-balancing/</link><pubDate>Wed, 22 Jul 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-07-22-new-whitepaper-available-on-vsphere-7-drs-load-balancing/</guid><description>&lt;p&gt;vSphere 7 contains the new DRS algorithm that &lt;a href="https://frankdenneman.ai/2020-05-08-drs-migration-threshold-in-vsphere-7/"&gt;differs tremendously&lt;/a&gt; from the old one. The performance team has put the new algorithm through the test and have published a whitepaper presenting their findings.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/drs-vsphere7-perf.pdf"&gt;&lt;img src="images/Screenshot-2020-07-22-13.42.16-233x300.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Read the white paper: &lt;a href="https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/drs-vsphere7-perf.pdf"&gt;Load Balancing Performance of DRS in vSphere 7.0.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>vSphere 7 DRS Scalable Shares Deep Dive</title><link>https://frankdenneman.ai/2020-05-27-vsphere-7-drs-scalable-shares-deep-dive/</link><pubDate>Wed, 27 May 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-05-27-vsphere-7-drs-scalable-shares-deep-dive/</guid><description>&lt;p&gt;You are one tickbox away from completely overhauling the way you look at resource pools. Yes you can still use them as &lt;a href="https://frankdenneman.ai/2018-04-25-public-shaming-resource-pool-folder-user/"&gt;folders&lt;/a&gt; (sigh), but with the newly introduced Scalable Shares option in vSphere 7 you can turn resource pools into more or less Quality of Service classes. Sounds interesting right? Let&amp;rsquo;s first take a look at the traditional working of a resource pool, the challenges they introduced, and how this new delivery of resource distribution works. To understand that we have to take a look at the basics of how DRS distributes unreserved resources first.&lt;/p&gt;</description></item><item><title>vSphere 7 vMotion with Attached Remote Device</title><link>https://frankdenneman.ai/2020-05-12-vsphere-7-vmotion-with-attached-remote-device/</link><pubDate>Tue, 12 May 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-05-12-vsphere-7-vmotion-with-attached-remote-device/</guid><description>&lt;p&gt;A lot of cool new features fly under the radar during a major release announcement. Even the new DRS algorithm didn&amp;rsquo;t get much air time. One thing that I discovered this week, is that vSphere 7 allows for vMotion with an attached remote device attached.&lt;/p&gt;
&lt;p&gt;When using the VM Remote Console, you can attach ISOs stored on your local machine to the VM. An incredibly useful tool that allows you to quickly configure a VM.&lt;/p&gt;</description></item><item><title>DRS Migration Threshold in vSphere 7</title><link>https://frankdenneman.ai/2020-05-08-drs-migration-threshold-in-vsphere-7/</link><pubDate>Fri, 08 May 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-05-08-drs-migration-threshold-in-vsphere-7/</guid><description>&lt;p&gt;DRS in vSphere 7 is equipped with a new algorithm. The old algorithm measured the load of each host in the cluster and tried to keep the difference in workload within a specific range. And that range, the target host load standard deviation, was tuned via the migration threshold.  &lt;/p&gt;
&lt;p&gt;The new algorithm is designed to find an efficient host for the VM that can provide the resources the workload demand while considering the potential behavior of other workloads. Throughout a series of articles, I will explain the actions of the algorithm in more detail.  &lt;/p&gt;</description></item><item><title>vSphere Supervisor Namespace</title><link>https://frankdenneman.ai/2020-04-01-vsphere-supervisor-namespace/</link><pubDate>Wed, 01 Apr 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-04-01-vsphere-supervisor-namespace/</guid><description>&lt;p&gt;vSphere 7 with Kubernetes enables the vSphere cluster to run and manage containers as native constructs (vSphere Pods). The previous two articles in this series cover the &lt;a href="https://frankdenneman.ai/2020-03-06-initial-placement-of-a-vsphere-native-pod/"&gt;initial placement of a vSphere pod&lt;/a&gt; and c&lt;a href="https://frankdenneman.ai/2020-03-20-scheduling-vsphere-pods/"&gt;ompute resource management of individual vSphere pods&lt;/a&gt;. This article covers the compute resource management aspect of the vSphere Supervisor namespace construct. Cormac Hogan will dive into the storage aspects of the Supervisor namespace in his (excellent) blog series.&lt;/p&gt;</description></item><item><title>Scheduling vSphere Pods</title><link>https://frankdenneman.ai/2020-03-20-scheduling-vsphere-pods/</link><pubDate>Fri, 20 Mar 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-03-20-scheduling-vsphere-pods/</guid><description>&lt;p&gt;The previous article &amp;ldquo;&lt;a href="https://frankdenneman.ai/2020-03-06-initial-placement-of-a-vsphere-native-pod/"&gt;Initial Placement of a vSphere Pod&lt;/a&gt;,&amp;rdquo; covered the internal construction of a vSphere Pod to show that it is a combination of a tailor-made VM construct and a group of containers. Both the Kubernetes and vSphere platforms contain a rich set of resource management controls, policies, and features that guide, control, or restrict scheduling of workloads. Both control planes use similar types of expressions, creating a (false) sense of unification in the context of managing a vSphere pod. This series of articles examines the overlap of the different control plane dialects, and how the new vSphere 7 platform allows the developer to use Kubernetes native expressions, while the vSphere Admin continues to use the familiar vSphere native resource management functionalities.&lt;/p&gt;</description></item><item><title>Deep Learning Technology Stack Overview for the vAdmin - Part 1</title><link>https://frankdenneman.ai/2020-03-12-deep-learning-technology-stack-overview-for-the-vadmin-part-1/</link><pubDate>Thu, 12 Mar 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-03-12-deep-learning-technology-stack-overview-for-the-vadmin-part-1/</guid><description>&lt;h2 id="introduction"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;We are amid the AI &amp;ldquo;gold rush.&amp;rdquo; More organizations are looking to incorporate any form of machine learning (ML) or deep learning in their services to enhance customer experience, drive efficiencies in their processes or improve quality of life (healthcare, transportation, smart cities).  &lt;/p&gt;
&lt;h2 id="train-where-data-is-generated"&gt;&lt;strong&gt;Train Where Data is Generated&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;One of the key elements that drive on-premise ML focused infrastructure growth is the reality of data gravity. Mentioned in the article &amp;ldquo;&lt;a href="https://frankdenneman.ai/2020-02-19-multi-gpu-and-distributed-deep-learning/"&gt;Multi-GPU and Distributed Deep Learning&lt;/a&gt;,&amp;rdquo; deep learning (DL) gets better with data. Consequently, data sets used for ML and DL training purposes are growing at a tremendous rate. These vast data sets need to be processed. Data transit, hosting, and the necessary compute cycles impact the overall OPEX budget. Additionally, data protection regulations such as data residency, data sovereignty, and data locality impact where data can be stored outside the place it is created. As a result, a lot of forward-leaning organizations are repatriating their AI platforms to run ML and DL workloads close to the systems that generate the data. &lt;/p&gt;</description></item><item><title>Initial Placement of a vSphere Pod</title><link>https://frankdenneman.ai/2020-03-06-initial-placement-of-a-vsphere-native-pod/</link><pubDate>Fri, 06 Mar 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-03-06-initial-placement-of-a-vsphere-native-pod/</guid><description>&lt;p&gt;&lt;a href="https://frankdenneman.ai/2019-08-26-5-things-to-know-about-project-pacific/"&gt;Project Pacific&lt;/a&gt; transforms vSphere into a unified application platform. This new platform runs both virtual machine and Linux containers as native workload constructs. Just introducing Linux containers as a new workload object is not enough. To manage containers properly, you need a legitimate orchestrator. And on top of that, you need to make sure that existing services, such as DRS, can handle the different lifecycles of these different objects. Containers typically have a shorter lifecycle than virtual machines, where VMs &amp;ldquo;live&amp;rdquo; for years, containers have a shorter life expectancy. And this massively different churn impacts initial placement and load-balancing operations of resource management services.&lt;/p&gt;</description></item><item><title>Multi-GPU and Distributed Deep Learning</title><link>https://frankdenneman.ai/2020-02-19-multi-gpu-and-distributed-deep-learning/</link><pubDate>Wed, 19 Feb 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-02-19-multi-gpu-and-distributed-deep-learning/</guid><description>&lt;p&gt;More enterprises are incorporating machine learning (ML) into their operations, products, and services. Similar to other workloads, a hybrid-cloud model strategy is used for ML development and deployment. A common strategy is using the excellent toolset and training data offered by public cloud ML services for generic ML capabilities. These ML activities typically improve an organization&amp;rsquo;s quality of service and increase in productivity. But the real differentiation lies within using the organization&amp;rsquo;s unique data and know-how to create what&amp;rsquo;s called &lt;em&gt;differentiated&lt;/em&gt; machine learning. The data used is primarily generated by own processes or through interaction with its customers. As a result, specific rules and regulations come into play when handling and storing that data. Another strong aspect of determining where to deploy ML activities is data gravity. Placing compute close to where the data is generated provides a consistent (often high-performing) service. As a result, many organizations invest in the infrastructure needed to deploy ML and deep learning (DL) solutions.&lt;/p&gt;</description></item><item><title>Machine Learning Workload and GPGPU NUMA Node Locality</title><link>https://frankdenneman.ai/2020-01-30-machine-learning-workload-and-gpgpu-numa-node-locality/</link><pubDate>Thu, 30 Jan 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-01-30-machine-learning-workload-and-gpgpu-numa-node-locality/</guid><description>&lt;p&gt;In the previous article &amp;ldquo;&lt;a href="https://frankdenneman.ai/2020-01-10-pcie-device-numa-node-locality/"&gt;PCIe Device NUMA Node Locality&lt;/a&gt;&amp;rdquo; I covered the physical connection between the processor and the PCIe device briefly touched upon machine learning workloads with regards to PCIe NUMA locality. This article zooms in on why it is important to consider PCIe NUMA locality.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;General-Purpose Computing on Graphics Processing Units&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;New compute-intensive workloads take advantage of the new programming model called general-purpose computing on GPU (GPGPU). With GPGPU, the many cores integrated on modern GPUs are used to offload a vast number of (parallel) compute threads from the CPU. By adding another computational device with different characteristics, a heterogeneous compute architecture is born. GPUs are optimized for streaming sequential (or easily predictable) access patterns, while CPUs are designed for general access patterns and concurrency of threads. Combined, they form a GPGPU pipeline, that is exceptionally well-suited to analyze data. The vSphere platform is well-suited to create GPGPU pipelines and optimizations are provided to VMs, such as DirectPath I/O Access (also known as Passthrough). Passthrough allows the application to interface with the accelerator device directly; however, data must be transferred from disk/network through the system (RAM) to the GPU. And controlling the data transfer is of interest to the overall performance of the platform for both GPGPU workload and non-GPGPU workload.&lt;/p&gt;</description></item><item><title>PCIe Device NUMA Node Locality</title><link>https://frankdenneman.ai/2020-01-10-pcie-device-numa-node-locality/</link><pubDate>Fri, 10 Jan 2020 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2020-01-10-pcie-device-numa-node-locality/</guid><description>&lt;p&gt;During this Christmas break, I wanted to learn PowerCLI properly. As I&amp;rsquo;m researching the use-cases of new hardware types and workloads in the data center, I managed to produce a script to identify the PCIe Device to NUMA Node Locality within a VMware ESXi Host. The script set contains a script for the most popular PCIe Device types for data centers that can be assigned as a passthrough device. The current script set is available on &lt;a href="https://github.com/frankdenneman/PCIe-Device-NUMA-Node-Locality"&gt;Github&lt;/a&gt; and contains scripts for GPUs, NICs and (Intel) FPGAs.&lt;/p&gt;</description></item><item><title>vSphere 6.5+ DRS Pairwise Balancing</title><link>https://frankdenneman.ai/2019-10-30-vsphere-6-5-drs-pairwise-balancing/</link><pubDate>Wed, 30 Oct 2019 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2019-10-30-vsphere-6-5-drs-pairwise-balancing/</guid><description>&lt;p&gt;Or maybe I should have called this blog post, &amp;ldquo;I&amp;rsquo;m seeing an excessive number of DRS initiated vMotions on my newly upgraded 6.5 environment&amp;rdquo;. Recently I was part of a few conversations about the nature of DRS load balancing in systems running vSphere 6.5 and newer. It was noticed that more vMotion operations where occurring since running 6.5 and it&amp;rsquo;s highly likely that these operations occur due to the new DRS pairwise balancing functionality. Pairwise balancing was introduced by vSphere 6.5 and is focused on keeping the host resource utilization disparity within a certain threshold. As a result, DRS performs load-balancing operations if the difference between the lowest-utilized host and the highest-utilized host is a certain percentage. That percentage depends on your migration threshold. The default migration threshold uses a 20% tolerable difference in utilization.&lt;/p&gt;</description></item><item><title>AMD EPYC Naples vs Rome and vSphere CPU Scheduler Updates</title><link>https://frankdenneman.ai/2019-10-14-amd-epyc-naples-vs-rome-and-vsphere-cpu-scheduler-updates/</link><pubDate>Mon, 14 Oct 2019 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2019-10-14-amd-epyc-naples-vs-rome-and-vsphere-cpu-scheduler-updates/</guid><description>&lt;p&gt;Recently AMD announced the 2nd generation of the AMD EPYC CPU architecture, the &lt;a href="https://www.amd.com/en/processors/epyc-7002-series"&gt;EPYC 7002 series&lt;/a&gt;. Most refer to the new CPU architecture using its internal codename Rome. When AMD introduced the 1st generation EPYC (Naples), they succeeded in setting a new record of core count and memory capacity per socket. However, due to the CPU multi-chip-module (MCM) architecture, it is not an apples-to-apples comparison when compared to an Intel Xeon architecture. As each chip module contains a memory controller, each module presents a standalone NUMA domain. This impacts OS scheduling decisions and, thus, virtual machine sizing. A detailed look can be found here in &lt;a href="https://frankdenneman.ai/2019-02-19-amd-epyc-and-vsphere-vnuma/"&gt;English&lt;/a&gt; or here translated by &lt;a href="https://twitter.com/gpryalukhin"&gt;Grigory Pryalukhin&lt;/a&gt; in &lt;a href="https://medium.com/@pryalukhin/amd-epyc-and-vsphere-vnuma-84ad66841035"&gt;Russian&lt;/a&gt;. Rome is different, the new CPU architecture is more aligned with the single NUMA per Socket paradigm, and this helps with obtaining workload performance consistency. There are some differences between Xeons and Rome. In addition, we made some adjustments to the CPU scheduler to deal with this new architecture. Let&amp;rsquo;s take a closer look at the difference between Naples and Rome.&lt;/p&gt;</description></item><item><title>60 Minutes of NUMA VMworld Session Commands</title><link>https://frankdenneman.ai/2019-08-27-60-minutes-of-numa-vmworld-session-commands/</link><pubDate>Tue, 27 Aug 2019 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2019-08-27-60-minutes-of-numa-vmworld-session-commands/</guid><description>&lt;h2 id="verify-distribution-of-memory-modules-with-powercli"&gt;Verify Distribution of Memory Modules with PowerCLI&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Get-CimInstance -CimSession $Session CIM_PhysicalMemory | select BankLabel, Description, @{n=‘Capacity in GB&amp;#39;;e={$_.Capacity/1GB}}
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="powercli-script-to-detect-node-interleaving"&gt;PowerCLI Script to Detect Node Interleaving&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Get-VMhost | select @{Name=&amp;#34;Host Name&amp;#34;;Expression={$_.Name}}, ​@{Name=&amp;#34;CPU Sockets&amp;#34;;Expression={$_.ExtensionData.Hardware.CpuInfo.NumCpuPackages}}, ​@{Name=&amp;#34;NUMA Nodes&amp;#34;;Expression={$_.ExtensionData.Hardware.NumaInfo.NumNodes}}
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="action-affinity-monitoring"&gt;Action-Affinity Monitoring&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Sched-Stats
-t numa-migration
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="disable-action-affinity"&gt;Disable Action Affinity&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;numa.LocalityWeightActionAffinity = 0
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="numapreferht"&gt;numa.PreferHT&lt;/h2&gt;
&lt;p&gt;For more information on how to enable PreferHT: KB article 2003582&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Host Setting:  numa.PreferHT=1
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;VM Setting:  numa.vcpu.PreferHT = TRUE
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>5 Things to Know About Project Pacific</title><link>https://frankdenneman.ai/2019-08-26-5-things-to-know-about-project-pacific/</link><pubDate>Mon, 26 Aug 2019 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2019-08-26-5-things-to-know-about-project-pacific/</guid><description>&lt;p&gt;During the keynote of the first day of VMworld 2019, Pat unveiled Project Pacific. In short, project Pacific transforms vSphere into a unified application platform. By deeply integrating Kubernetes into the vSphere platform, developers can deploy and operate their applications through a well-known control plane. Additionally, containers are now first-class citizens enjoying all the operations generally available to virtual machines.&lt;/p&gt;
&lt;p&gt;&lt;img src="images/project-pacific-1024x538.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Although it might seem that the acquisition of &lt;a href="https://techcrunch.com/2018-11-06-vmware-acquires-heptio-the-startup-founded-by-2-co-founders-of-kubernetes/"&gt;Heptio&lt;/a&gt; and &lt;a href="https://www.cnbc.com/2019-08-22-vmware-earnings-q2-2020-acquires-carbon-black-pivotal.html/"&gt;Pivotal&lt;/a&gt; kickstarted project Pacific, VMware has been working on project Pacific for nearly three years! &lt;a href="https://twitter.com/forjared%C2%A0"&gt;Jared Rosoff&lt;/a&gt;, the initiator or the project and overall product manager, told me that over 200 engineers are involved as it affects almost every component of the vSphere platform.&lt;/p&gt;</description></item><item><title>VMworld US 2019 - Know Before You Go Podcast</title><link>https://frankdenneman.ai/2019-07-22-vmworld-us-2019-know-before-you-go-podcast/</link><pubDate>Mon, 22 Jul 2019 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2019-07-22-vmworld-us-2019-know-before-you-go-podcast/</guid><description>&lt;p&gt;Last week I had the pleasure of connecting again with my friends and colleagues &lt;a href="https://twitter.com/vPedroArrow"&gt;Pete Flecha&lt;/a&gt;, &lt;a href="https://twitter.com/DuncanYB"&gt;Duncan Epping&lt;/a&gt; and amateur back up dancer to Pat Benatar, Mr. &lt;a href="https://twitter.com/vmKen"&gt;Ken Werneburg&lt;/a&gt;. During the &lt;a href="https://www.vspeakingpodcast.com/"&gt;podcast&lt;/a&gt;, we discussed the upcoming VMworld. As it is returning to San Francisco, it might be interesting to revisit your conference strategy.&lt;/p&gt;
&lt;p&gt;Although &lt;a href="https://goo.gl/maps/dVCbTa8Pg6NMrtZ5A"&gt;Moscone Center&lt;/a&gt; has been rebuilt and expanded, I believe we are still using all three buildings; North, South, and West (Located at Howard and 3rd). So take at least a jacket with you, SF Summers can be treacherous&lt;/p&gt;</description></item><item><title>Allen, McKeown, and Kondo</title><link>https://frankdenneman.ai/2019-04-24-allen-mckeown-and-kondo/</link><pubDate>Wed, 24 Apr 2019 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2019-04-24-allen-mckeown-and-kondo/</guid><description>&lt;p&gt;The title is a reference to one of the most interesting books I have ever read, &lt;a href="https://www.amazon.com/G%C3%B6del-Escher-Bach-Eternal-Golden/dp/0465026567/ref=sr_1_1?keywords=Escher%2C+Godel%2C+and+Bach&amp;amp;qid=1556055334&amp;amp;s=books&amp;amp;sr=1-1"&gt;Escher, Godel, and Bach&lt;/a&gt;. Someone described it as, &amp;ldquo;Read this book if you like to think about thinking, as well as to think about thinking about thinking&amp;rdquo;. The three books I want to share my thoughts on are in a sense feeding and shaping the behavior that allows you to clear your mind and focus more on the task at hand.&lt;/p&gt;</description></item><item><title>VMware Cloud on AWS on Virtually Speaking Podcast</title><link>https://frankdenneman.ai/2019-04-09-vmware-cloud-on-aws-on-virtually-speaking-podcast/</link><pubDate>Tue, 09 Apr 2019 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2019-04-09-vmware-cloud-on-aws-on-virtually-speaking-podcast/</guid><description>&lt;p&gt;Last week I had the pleasure of connecting again with my friends and colleagues Pete Flecha a.k.a &lt;a href="https://twitter.com/vPedroArrow"&gt;PedroArrow&lt;/a&gt; and eternal sunshine &lt;a href="https://twitter.com/Lost_Signal"&gt;John Nicholson&lt;/a&gt;. During the podcast, we discussed the road to Hybrid cloud, cloud mobility, multi-cloud operations, and the necessity of replatforming apps or not. It&amp;rsquo;s always fun hanging out with these guys especially when talking about cool things. Hope you enjoy the show as much as I did.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://media.zencast.fm/virtually-speaking-podcast/episodes/111"&gt;&lt;img src="images/Episode111-1024x535.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>AMD EPYC and vSphere vNUMA</title><link>https://frankdenneman.ai/2019-02-19-amd-epyc-and-vsphere-vnuma/</link><pubDate>Tue, 19 Feb 2019 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2019-02-19-amd-epyc-and-vsphere-vnuma/</guid><description>&lt;p&gt;AMD is gaining popularity in the server market with the &lt;a href="https://www.amd.com/en/products/epyc-server"&gt;EPYC&lt;/a&gt; CPU platform. The EPYC CPU platform provides a high core count and a large memory capacity. If you are familiar with previous AMD generations, you know AMD&amp;rsquo;s method of operation is different than Intel&amp;rsquo;s. For reference, take a look at the article I wrote in 2011 about the &lt;a href="https://frankdenneman.ai/2011-01-05-amd-magny-cours-and-esx/"&gt;12-core 6100 Opteron&lt;/a&gt; code name Magny-Cours. EPYC provides an increase of scale but builds on the previously introduced principles. Let&amp;rsquo;s review the EPYC architecture and see how it can impact your VM sizing and ESXi configuration. (Please note that this article is NOT intended as a good/bad comparison between AMD and Intel, I&amp;rsquo;m just describing the architectural differences).&lt;/p&gt;</description></item><item><title>Kubernetes, Swap and the VMware Balloon Driver</title><link>https://frankdenneman.ai/2018-11-15-kubernetes-swap-and-the-vmware-balloon-driver/</link><pubDate>Thu, 15 Nov 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-11-15-kubernetes-swap-and-the-vmware-balloon-driver/</guid><description>&lt;p&gt;Kubernetes requires to disable the swap file at the OS level. As stated in the &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.8.md#before-upgrading"&gt;1.8 release changelog&lt;/a&gt;: &lt;em&gt;The kubelet now fails if swap is enabled on a node&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why disable swap?&lt;/strong&gt;&lt;br&gt;
Turning off swap doesn&amp;rsquo;t mean you are unable to create memory pressure. Why disable such a benevolent tool? Disable swap doesn&amp;rsquo;t make any sense if you look at it from a single workload, single system perspective.&lt;br&gt;
However, Kubernetes is a distributed system that is designed to operate at scale. When running a large number of containers on a vast fleet of machines, you want predictability and consistency. Disabling swap is the right approach. It&amp;rsquo;s better to kill a single container than to have multiple containers run on a machine at unpredictable, probably slow, rate.&lt;/p&gt;</description></item><item><title>Free vSphere Clustering Deep Dive Book at VMworld Europe</title><link>https://frankdenneman.ai/2018-11-02-free-vsphere-clustering-deep-dive-book-at-vmworld-europe/</link><pubDate>Fri, 02 Nov 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-11-02-free-vsphere-clustering-deep-dive-book-at-vmworld-europe/</guid><description>&lt;p&gt;Last year &lt;a href="http://www.rubrik.com"&gt;Rubrik&lt;/a&gt; gave away hard copies of the vSphere Host Deep Dive book, this year they are doing it again with the vSphere 6.7 Clustering Deep Dive Book.&lt;/p&gt;
&lt;p&gt;Come by the Rubrik Booth #P305 on Tuesday from 4:00 PM - 5:00 PM to get a signed, complimentary copy of &lt;a href="https://frankdenneman.ai/2018-07-30-vsphere-6-x-deep-dive-resource-kit-completed/"&gt;vSphere 6.7 Clustering Deep Dive&lt;/a&gt; and meet the authors.&lt;/p&gt;
&lt;p&gt;Last year we gave away a thousand copies and were gone within an hour. As most of you can remember, the line was insane. This year we have a similar amount, so make sure you&amp;rsquo;re on time.&lt;/p&gt;</description></item><item><title>Kubernetes at VMworld Europe</title><link>https://frankdenneman.ai/2018-10-30-kubernetes-at-vmworld-europe/</link><pubDate>Tue, 30 Oct 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-10-30-kubernetes-at-vmworld-europe/</guid><description>&lt;p&gt;With only a few days left until &lt;a href="https://www.vmworld.com/en/europe/index.html"&gt;VMworld Europe 2018&lt;/a&gt; kicks off in Barcelona, I would like to highlight some of the many Kubernetes focussed sessions. I&amp;rsquo;ve selected a bunch of breakout sessions and meet the expert sessions based on my exposure to them at VMworld US or the quality of the speaker. The content catalog has marked some sessions as &amp;ldquo;at capacity&amp;rdquo;, but experience thought us that there are always a couple of no-shows. Plans change during VMworld. People register for a session they would like to attend but get pulled in an interesting conversation along the way. Or sometimes you suffer from information overload and want to catch a breather. In many cases, spots open at sold-out sessions and therefore it&amp;rsquo;s always recommended to walk up to sold out sessions and try your luck.&lt;/p&gt;</description></item><item><title>Repeat Session vSphere Clustering Deep Dive at VMworld Europe</title><link>https://frankdenneman.ai/2018-10-22-repeat-session-vsphere-clustering-deep-dive-at-vmworld-europe/</link><pubDate>Mon, 22 Oct 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-10-22-repeat-session-vsphere-clustering-deep-dive-at-vmworld-europe/</guid><description>&lt;p&gt;Good news for the VMworld attendees who couldn&amp;rsquo;t sign up anymore for the vSphere Clustering Deep Dive session on Tuesday. I&amp;rsquo;m happy to announce that the VMworld team scheduled a repeat session for the &lt;a href="https://my.vmworld.com/widget/vmware/vmworld18eu/eucatalog?search=Denneman"&gt;vSphere Clustering Deep Dive session&lt;/a&gt; on Thursday 08 November at 10:30 to 11:30. &lt;strong&gt;Session Outline&lt;/strong&gt; In this session, &lt;a href="https://twitter.com/DuncanYB"&gt;Duncan&lt;/a&gt; and Frank will take you through the trenches of VMware vSphere Distributed Resource Scheduler (DRS) and vSphere High Availability (HA). Find out about options to optimize your DRS settings for your specific requirements and goals, such as if you should be load balancing on active or consumed memory, as well as what has recently changed in the DRS algorithm and if it will impact DRS behavior. And for vSphere HA, you will learn about when it restarts virtual machines (VMs), what kind of restart times to expect, and where you can find evidence that a VM (or multiple) have been restarted. You will find out about all of these items and more. Prepare to dive deep, as the basics will not be covered. Don&amp;rsquo;t wait too long with &lt;a href="https://my.vmworld.com/widget/vmware/vmworld18eu/eucatalog?search=Denneman"&gt;registering&lt;/a&gt;, VMworld Europe room sizes max out at 400 people. We hope to see you there!&lt;/p&gt;</description></item><item><title>Compute Policy in VMware Cloud on AWS</title><link>https://frankdenneman.ai/2018-10-19-compute-policy-in-vmware-cloud-on-aws/</link><pubDate>Fri, 19 Oct 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-10-19-compute-policy-in-vmware-cloud-on-aws/</guid><description>&lt;p&gt;The latest update of VMware Cloud on AWS introduced a new feature called compute policies. In its initial release, the compute policies provide the ability to configure affinity rules and mobility control based of declarative policies and vSphere tags. &lt;strong&gt;Management of affinity rules&lt;/strong&gt; Historically, affinity rules are a part of the cluster configuration. Within VMware Cloud on AWS, cluster configuration is controlled by VMware and thus customers cannot set affinity rules for virtual machines running within the SDDC. Instead of merely pulling the affinity rules configuration outside the cluster configuration, we decided to improve the affinity functionality and work towards a more uniform and consistent experience across multiple clouds. &lt;strong&gt;The road to declarative policies&lt;/strong&gt; Within a declarative system, you describe what you want to happen. This is the opposite of imperative operations where you specify actions. Declarative commands define state and to some extent affinity rules are declarative statements. Let&amp;rsquo;s take VM anti-affinity rules as an example. You want to keep VM1 and VM2 separated and keep them in different fault domains. Instead of providing imperative actions of pinning VM1 to host A and pinning VM2 to host B, you create an anti-affinity rule with VM1 and VM2 as members. You state that these two VMs should not run on the same ESXi host. vCenter (DRS) controls placement and takes the necessary actions to solve any violations of this intent. We want to apply this model to other features. Instead of logging into vCenter to deal with configuration issues, and manually correct the situation, we want vCenter to manage the functions of your behalf. The way you interact with vCenter, in this more declarative way, is with policies. Instead of specifying more detailed imperative actions, you would declare your intent and the only thing you want to monitor after that is whether the policy is compliant or not. We have to start somewhere, thus we concentrated on affinity rules (VM-VM and VM-host) and anti-mobility (vMotion disabled) policies. Once we have this more abstract way of interacting with vCenter Server, it provides more advantages. One of them is an additional level of abstraction. And abstraction allows for a more uniform and consistent experience across multiple clouds. With today&amp;rsquo;s ability on-prem setup, you configure your cluster for a particular workload and this could inhibit the ability to move your workload to another cluster, on-prem or even to the cloud. To make sure you can easily burst out to VMware Cloud environments, you want this to be seamless. The directions where we are going to is that you do not need to have configurations that are specific to on-prem clusters and in-cloud or at-edge clusters. But ideally you express what you want and it should be the job of the cloud control plane, such as vCenter, to push this configuration to the environment the workload is presently in. So that could be to an on-prem cluster or an in-cloud cluster. &lt;strong&gt;Compute policies are active at vCenter level&lt;/strong&gt; Due to this model, the rules are decoupled from cluster level and are now managed at vCenter level. If you would configure a VM-VM anti-affinity rule and you would move the VMs to another cluster, the policy remains active. At the time of writing, VMware Cloud on AWS allows the customer to create 10 clusters per SDDC. Clusters can span &lt;a href="https://frankdenneman.ai/2018-05-16-stretched-clusters-vmware-cloud-aws-really-big-thing/"&gt;multiple AWS availability zones&lt;/a&gt; (AZs). The VM-Host affinity ruleset allows customers to tag the hosts per AZ and tag the VMs that needs to remain in that availability zone. You can move the VMs to hosts between clusters within the same AZ, the compute policy remains active while vCenter ensures the compliance of the rule. &lt;strong&gt;Introduction of firm rules&lt;/strong&gt; An interesting fact is that the VM-Host rules are firm rules, these firm rules differ from the traditional soft &lt;a href="https://frankdenneman.ai/2010-12-01-vm-host-affinity-rules-should-or-must/"&gt;(should run on) and hard (must run on)&lt;/a&gt;. They sit in between these two rules. DRS cannot violate these rules, only if the host is placed in maintenance mode. This ensures that during normal operations the rules are never broken while providing VMware the ability to service the SDDC. The only time a host is placed into maintenance mode in VMware Cloud on AWS is during upgrades which are handled by VMware and well communicated before the service window. This allows the customer to generate a strategy for these virtual machines well ahead before the service window. In the next article, I will go through the steps on how to create a compute policy.&lt;/p&gt;</description></item><item><title>My New Role</title><link>https://frankdenneman.ai/2018-10-08-my-new-role/</link><pubDate>Mon, 08 Oct 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-10-08-my-new-role/</guid><description>&lt;p&gt;A couple of months ago I joined the Office of the CTO of the Cloud Platform Business Unit and started reporting directly to the CTO, &lt;a href="https://twitter.com/kitcolbert"&gt;Kit Colbert&lt;/a&gt;. Kit asked me to select a few areas to focus on. One of these areas is running Kubernetes on vSphere. I’ve increased my focus on Kubernetes, as this architecture becomes increasingly important in the datacenter. When talking to customers, two questions I ask is, what is the current ratio of VMs to containers in your data center and what is the most popular format of deployment today? The common response is respectively 90% VMs and net-new is 90% containers. Today’s trend moves away from installing shrink-wrapped software and more towards custom building revenue-critical applications by their development teams. The standard tool for developers is container-based infrastructure. Kubernetes is the defacto choice of orchestration of containers and consists of many infrastructure-focused options. The operations that interest me are the high availability and resource management operations. It appears these operations replace HA and DRS processes when glancing over them, but when looking more closely they strongly augment each other. At VMworld in Las Vegas, &lt;a href="https://twitter.com/embano1"&gt;Michael Gasch&lt;/a&gt; and I presented the session “&lt;a href="https://videos.vmworld.com/searchsite/2018/videoplayer/18528"&gt;Deep Dive: The Value of Running Kubernetes on vSphere&lt;/a&gt;” (CNA1553BU). If you are not going to &lt;a href="https://my.vmworld.com/widget/vmware/vmworld18eu/eucatalog?search=Denneman"&gt;VMworld Europe&lt;/a&gt;, I recommend watching the video recording, if you are going to VMworld Europe I recommend you to sign up.   One thing you can expect from me is more Kubernetes focused articles. One of the things that I noticed is that many articles are written by cloud-native natives for cloud-native natives. I.e. they rely on extensive previous exposure to this ecosystem. I’m trying to cover some of the challenges I have faced and the quirks I notice as a “newcomer”.&lt;/p&gt;</description></item><item><title>Help Us Make vMotion Even Better</title><link>https://frankdenneman.ai/2018-10-02-help-us-make-vmotion-even-better/</link><pubDate>Tue, 02 Oct 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-10-02-help-us-make-vmotion-even-better/</guid><description>&lt;p&gt;The vMotion product team is looking for input on how to improve vMotion.  vMotion has proven to be a paradigm shift of datacenter management. Workload mobility is a must-have requirement in today&amp;rsquo;s datacenter operational model. vMotion handles the majority of workload flawlessly. However, there are some corner cases that introduce some challenges. The vMotion product team is interested in these corner cases, to improve the vMotion architecture bringing workload mobility to all workloads everywhere.&lt;/p&gt;</description></item><item><title>Terminal Affinity Poll</title><link>https://frankdenneman.ai/2018-09-12-terminal-affinity-poll/</link><pubDate>Wed, 12 Sep 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-09-12-terminal-affinity-poll/</guid><description>&lt;p&gt;We are looking into the combination of licensed workload and hard-affinity rules (&lt;a href="https://frankdenneman.ai/2010-12-01-vm-host-affinity-rules-should-or-must/"&gt;Must run on rule&lt;/a&gt;). If you deploy this in your environment right now, how do you deal with this during maintenance hours? Your input helps in shaping future features. (Scroll down in the survey window to access the done button to submit your response)&lt;/p&gt;</description></item><item><title>Six Interesting Kubernetes Sessions at VMworld 2018</title><link>https://frankdenneman.ai/2018-09-07-six-interesting-kubernetes-sessions-at-vmworld-2018/</link><pubDate>Fri, 07 Sep 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-09-07-six-interesting-kubernetes-sessions-at-vmworld-2018/</guid><description>&lt;p&gt;This year VMworld provided a broad selection of talks focusing on various forms of Kubernetes. Which is not surprising at all. Many organizations move away from buying and installing shrink-wrapped software and move towards in-house built custom applications. And what is the modern developer tool of choice? For many, it is the container. It&amp;rsquo;s expected to have 1.5 Billion containers shipped by the end of 2021. &lt;img src="images/Rise-of-the-Containers-750x416.png" alt=""&gt; Containers are nothing more than a new format of virtualized workload. &lt;a href="https://twitter.com/embano1"&gt;Michael Gasch&lt;/a&gt; explains it very well in our session &lt;a href="https://videos.vmworld.com/searchsite/2018/videoplayer/18528"&gt;Deep Dive: The Value of Running Kubernetes on vSphere (CNA1553BU)&lt;/a&gt;, where containers are task structs in the Linux kernel, not very different than executing an LS command. Well, a bit more than that as containers require CPU, memory, network, storage, and security. Containers satisfy the developers&amp;rsquo; need for speed, and they remove dependencies on underlying operating systems. When deploying massive amounts of containers, you need a container management platform, and Kubernetes is clearly the defacto standard in the industry. &lt;img src="images/Container-Management-Platform-Preferences-750x542.png" alt=""&gt; Source: [Cloud Native Computing Foundation](source: &lt;a href="https://www.cncf.io/blog/2017-06-28-survey-shows-kubernetes-leading-orchestration-platform/"&gt;https://www.cncf.io/blog/2017-06-28-survey-shows-kubernetes-leading-orchestration-platform/&lt;/a&gt;) For the infrastructure team, running Kubernetes can provide a way to create an infrastructure agnostic platform. That is, it can run on any cloud. VMware is fully vested in making this happen; you can run containers natively (VIC), containers and Kubernetes in Linux VMs on vSphere. &lt;a href="https://pivotal.io/platform/pivotal-container-service"&gt;Pivotal Container Service&lt;/a&gt; (PKS) on-prem or in-cloud that helps customer deploy and operationalize day 1 and day 2 kubernetes solution and &lt;a href="https://cloud.vmware.com/vmware-kubernetes-engine"&gt;VMware Kubernetes Engine&lt;/a&gt; (VKE) (Kubernetes as a Service) for organizations who want to consume Kubernetes without owning, building or operationalizing any infrastructure. &lt;img src="images/Container-Consumption-Model-750x424.png" alt=""&gt; I&amp;rsquo;ve selected a few VMworld sessions that cover these container consumption models. There are many more, and please check them out at the &lt;a href="https://videos.vmworld.com/searchsite/2018?reset=false&amp;amp;searchTXT=kubernetes&amp;amp;=&amp;amp;=true&amp;amp;sessions_search_result_limit=10&amp;amp;sessions_counter=10&amp;amp;stypes_filter=&amp;amp;tracks_filter=&amp;amp;subtracks_filter=&amp;amp;marketsegment_filter=&amp;amp;audience_filter=&amp;amp;prodtopics_filter=&amp;amp;techlevel_filter=&amp;amp;popular_filter=&amp;amp;poster_filter=US,EUROPE&amp;amp;search=kubernetes"&gt;VMworld On-Demand Video Library&lt;/a&gt;.&lt;br&gt;
&lt;strong&gt;Container and Kubernetes 101 for vSphere Admins (CNA1564BU)&lt;/strong&gt; A very popular session at VMworld was the 101 session for vSphere Admins. Nathan Ness and Sachin Thatte go over the basics of Container, Kubernetes and Pivotal Container Services. A very helpful primer for the rest of the listed videos. (&lt;a href="https://videos.vmworld.com/searchsite/2018/videoplayer/18478"&gt;Watch here&lt;/a&gt;) &lt;img src="images/Kubernetes101-750x414.png" alt=""&gt;&lt;br&gt;
&lt;strong&gt;Running Kubernetes on vSphere Deep Dive: The Value of Running Kubernetes on vSphere (CNA1553BU)&lt;/strong&gt; Michael Gasch (Resident Kubernetes Expert at VMware) and I go over the reasons why vSphere and Kubernetes are better together. We provide guidelines on how to successfully run your Kubernetes environment. (&lt;a href="https://videos.vmworld.com/searchsite/2018/videoplayer/18528"&gt;Watch Here&lt;/a&gt;) &lt;img src="images/Task-Struct-750x420.png" alt=""&gt;&lt;br&gt;
&lt;strong&gt;A Deep Dive on Why Storage Matters in a Cloud-Native World (HCI1813BU)&lt;/strong&gt; 7 out of 10 applications that run in containers are stateful applications (source: Datadog), you want to provide persistent storage. Myles and Tushar talk about project Hatchway and provide a preview of the upcoming Cloud Native Storage (CNS) Control plane. (&lt;a href="https://videos.vmworld.com/searchsite/2018/videoplayer/22205"&gt;Watch Here&lt;/a&gt;) &lt;img src="images/Cloud-Native-Storage-750x416.png" alt=""&gt;&lt;br&gt;
&lt;strong&gt;Operating and Managing Kubernetes on Day 2 with PKS (CNA1075BU)&lt;/strong&gt; If you are planning to run large-scale kubernetes deployments on-prem, you should consider Pivotal Container Service (PKS). PKS allows you to deploy multiple kubernetes clusters quite easily. Thomas Kraus and Merlin Glynn show how to tackle day 2 operations and review SDDC products, such as vRealize and Wavefront, that integrates with PKS. (&lt;a href="https://videos.vmworld.com/searchsite/2018/videoplayer/22744"&gt;Watch Here&lt;/a&gt;) &lt;img src="images/PKS-Day2-750x419.png" alt=""&gt;&lt;br&gt;
&lt;strong&gt;VMware Kubernetes Engine&lt;/strong&gt; &lt;a href="https://cloud.vmware.com/vmware-kubernetes-engine"&gt;VMware Kubernetes Engine&lt;/a&gt; (VKE) offers a turn-key solution of managed Kubernetes clusters that run natively on AWS. Not in VMware Cloud on AWS, not on vSphere, pure native EC2! Plans are to run VKE at multiple cloud providers, allowing you to create environments that no-other cloud provider themselves can provide. Think about an HA cluster spanning both AWS and Azure. However, we are not that far right now, but it is interesting to take a look at what VKE is and how Smart Clusters will change the way you will operate Kubernetes. &lt;strong&gt;Intro to VMware Kubernetes Engine-Managed K8s Service on Public Cloud (CNA2084BU)&lt;/strong&gt; Tom and Valentina go over the concepts and customer value of VKE, including a nice demo. (&lt;a href="https://videos.vmworld.com/searchsite/2018/videoplayer/20186"&gt;Watch Here&lt;/a&gt;) &lt;img src="images/VKE-750x414.png" alt=""&gt;&lt;br&gt;
&lt;strong&gt;Deep Dive: VMware Kubernetes Engine-K8s as a Service on Public Cloud (CNA3124BU)&lt;/strong&gt; After getting familiar with VKE, I recommend to watch the session of Tom and Alain. They dive deeper into the concept of Smart Clusters. (&lt;a href="https://videos.vmworld.com/searchsite/2018/videoplayer/22386"&gt;Watch Here&lt;/a&gt;) &lt;img src="images/VKE-Smart-Cluster-750x415.png" alt=""&gt; I hope you enjoy watching these sessions, please leave a comment about sessions you think are worth watching.&lt;/p&gt;</description></item><item><title>Tech Paper DRS Enhancements in vSphere 6.7</title><link>https://frankdenneman.ai/2018-09-06-tech-paper-drs-enhancements-in-vsphere-6-7/</link><pubDate>Thu, 06 Sep 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-09-06-tech-paper-drs-enhancements-in-vsphere-6-7/</guid><description>&lt;p&gt;During VMworld, the DRS performance team released a new tech paper covering the &lt;a href="https://communities.vmware.com/servlet/JiveServlet/download/38626-1-208644/drs-enhancements-vsphere67-perf.pdf"&gt;DRS Enhancements in vSphere 6.7&lt;/a&gt;. It&amp;rsquo;s a short white paper uncovering the interesting improvements made to DRS. Download it &lt;a href="https://communities.vmware.com/servlet/JiveServlet/download/38626-1-208644/drs-enhancements-vsphere67-perf.pdf"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Catch me at VMworld 2018</title><link>https://frankdenneman.ai/2018-08-10-catch-me-at-vmworld-2018/</link><pubDate>Fri, 10 Aug 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-08-10-catch-me-at-vmworld-2018/</guid><description>&lt;p&gt;Two weeks left before the biggest VMware show is happening again, and I can&amp;rsquo;t wait for it to start. The last eight years I&amp;rsquo;ve been going to both the US and European show, and both have their own charm. But there is one thing that every VMware community member should experience, and that is the US welcome reception in the solution exchange on Sunday night. Almost every attendee in one big room, the buzz is just phenomenal. I recently joined &lt;a href="https://twitter.com/kitcolbert"&gt;Kit Colbert&lt;/a&gt;&amp;rsquo;s team, the CTO of Cloud Platform business unit. In my new role, I work on upcoming products and influence their strategy. One project I focus on is how VMware can help customers to run Kubernetes successfully on vSphere. Please reach out to me at VMworld if you have ideas or feedback. Luckily I will be presenting a few sessions this year as well, and I hope to see you there: VIN1249BU &lt;a href="https://my.vmworld.com/widget/vmware/vmworld18us/uscatalog?search=Denneman"&gt;vSphere Clustering Deep Dive, Part 1: vSphere HA and DRS&lt;/a&gt; 2018-08-27 12:30 PM The legendary session is back, &lt;a href="https://twitter.com/DuncanYB"&gt;Duncan&lt;/a&gt; and I talking about vSphere 6.7 HA and DRS. There is so much to tell, but we are hoping to keep some time open for some questions. CNA1553BU &lt;a href="https://my.vmworld.com/widget/vmware/vmworld18us/uscatalog?search=Denneman"&gt;Deep Dive: The Value of Running Kubernetes on vSphere&lt;/a&gt; 2018-08-27 3:30 PM I&amp;rsquo;m so much looking forward to this session, together with &lt;a href="https://twitter.com/embano1"&gt;Michael Gasch&lt;/a&gt;, our resident Kubernetes expert, and popular Kubecon speaker. In this session, we will go over the reasons why vSphere and Kubernetes are better together and provide you with some guidelines on how to successfully run your kubernetes environment. VIN2256BU &lt;a href="https://my.vmworld.com/widget/vmware/vmworld18us/uscatalog?search=Denneman"&gt;Tech Preview: The Road to a Declarative Compute Control Plane&lt;/a&gt; 2018-08-28 12:30 PM I tweeted about every session on this list except this one. The reason why I had to keep quiet about this session is that we are showing some NDA stuff. In this session, Maarten Wiggers and I look at the changes that are happening in the industry. Most companies develop their strategic apps in-house, impacting the role of the VI-admin. We will go over the transformation from VI-admin to Site Reliability Engineering. With new technologies and different Life Cycle Management strategies, different ways of managing applications and infrastructure are necessary. We go over the changes from an infrastructure that responds to Imperative statements to an environment that is controlled by declarative statements. Within the software-defined data center (SDDC), VMware vSphere offers two declarative control planes: one for networking and one for storage. However, there is no declarative control plane for compute yet. We will tech preview the capabilities introduced in the VMware Cloud SDDC as a path to achieve that goal. VIN1738BU &lt;a href="https://my.vmworld.com/widget/vmware/vmworld18us/uscatalog?search=Denneman"&gt;vSphere Host Resources Deep Dive: Part 3&lt;/a&gt; 2018-08-29 2:00 PM The third edition of the vSphere Host Resources Deep Dive. The vSphere platform is designed to run most workloads at near bare-metal performance. More than enough for more than 95% of the workload. But what if you need to squeeze out that last bit of performance? How can you do it and how will it impact the rest of the system? Please join &lt;a href="https://twitter.com/NHagoort"&gt;Niels&lt;/a&gt; and me on Wednesday at 2:00 PM.&lt;/p&gt;</description></item><item><title>vSphere 6.x Deep Dive Resource Kit Completed</title><link>https://frankdenneman.ai/2018-07-30-vsphere-6-x-deep-dive-resource-kit-completed/</link><pubDate>Mon, 30 Jul 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-07-30-vsphere-6-x-deep-dive-resource-kit-completed/</guid><description>&lt;p&gt;The new version of the vSphere clustering deep dive is &lt;a href="https://amzn.to/2K4WiAj"&gt;available on Amazon&lt;/a&gt;. The &lt;a href="https://amzn.to/2K4WiAj"&gt;vSphere 6.7 Clustering Deep Dive&lt;/a&gt; is the fourth edition of the best selling series. Over 50.000 clustering deep dive books have been distributed, and I hope this version will find its way on your desk. &lt;img src="images/DeepDiveStack-750x1000.jpg" alt=""&gt; The new version of the clustering deep dive covers HA, DRS, Storage DRS, Storage I/O Control and Network I/O Control. In the last part of the book, we bring all the theory together and apply it to create and describe a stretched cluster configuration. Now, why am I using the title &lt;strong&gt;vSphere 6.x Deep Dive Resource Kit&lt;/strong&gt;? Well, it&amp;rsquo;s because we believe that when you pair this with the &lt;a href="https://www.amazon.com/gp/product/1540873064/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1540873064&amp;amp;linkCode=as2&amp;amp;tag=frankdennem0f-20&amp;amp;linkId=5afdf9e22610abeca733b5bd747d04d0"&gt;vSphere 6.5 Host Resource Deep Dive book&lt;/a&gt;, you get this bundle that allows you to understand the core of your virtual infrastructure. &lt;img src="images/vSphereResourceDeepDive-web.jpg" alt=""&gt; &lt;strong&gt;Changing the Game&lt;/strong&gt; When &lt;a href="https://twitter.com/duncanyb"&gt;Duncan&lt;/a&gt; and I set out to write the 4.1 HA and DRS deep dive, we wanted to change the content of technical books. Instead of having a collection of screenshots paired with the text, next, next finish, we wanted to provide a thorough explanation of what happens under the cover. When you push this button, this happens in the code. By uncovering the inside, we arm the administrator and architect with the knowledge to create or troubleshoot any architecture anywhere. &lt;img src="images/Clustering-Diagram-750x666.jpg" alt=""&gt; When combining these books together, it creates a real end-to-end guide for your architecture. For example, in the DRS section, we explain how the cluster determines the resource entitlement of the VMs in a resource pool. In the vSphere 6.5 Host resource deep dive, we describe the inner workings of the memory and CPU scheduler and how they allocate the physical resources based on the resource entitlement of the VM. &lt;strong&gt;Back Side of the Book&lt;/strong&gt; When releasing the host resource deep dive, we came up with a cool little logo of a divers helmet. If you want to get deep, you need more than a snorkel. One divers helmet to explore the host, but in the cluster deep dive, we cover multiple hosts, grouped in a cluster. What do you need when you need a lot of people to explore the deep? You need a submarine! ;) It might even end up on some T-shirt. &lt;img src="images/Backside-750x1000.jpg" alt=""&gt; &lt;strong&gt;New Name on the Cover&lt;/strong&gt; As you might have noticed, a new name appears on the cover. We asked &lt;a href="https://twitter.com/nhagoort"&gt;Niels Hagoort&lt;/a&gt; to help us to cover the quality of service aspect of the book. Niels dove into the deeps of Storage I/O Control and Network I/O Control and created an excellent addition to the book. &lt;img src="images/Authors-750x949.jpg" alt=""&gt; &lt;strong&gt;Foreword&lt;/strong&gt; And last but not least, the foreword. In the previous books, industry luminaries generously provided us with amazing forewords. This time we looked at the community. We asked &lt;a href="https://twitter.com/chriswahl"&gt;Chris Wahl&lt;/a&gt; to write the introduction. Chris has been an early supporter of the book series, and he has helped the community in many ways. We asked him to provide us with his point of view. I hope you enjoy &lt;a href="https://amzn.to/2K4WiAj"&gt;the book&lt;/a&gt; as much as we enjoyed writing it.&lt;/p&gt;</description></item><item><title>Hotdog-Not Hotdog: The SDDC of VMware Cloud on AWS</title><link>https://frankdenneman.ai/2018-07-20-hotdog-not-hotdog-the-sddc-of-vmware-cloud-on-aws/</link><pubDate>Fri, 20 Jul 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-07-20-hotdog-not-hotdog-the-sddc-of-vmware-cloud-on-aws/</guid><description>&lt;p&gt;Yesterday, Kenneth Hui was on stage at the VTUG providing his personal opinion about VMware Cloud on AWS. The reason I say personal is that he forgot to remove the Rubrik Logo&amp;rsquo;s from his slide (I checked with Rubrik). &lt;img src="images/Hotodog-NOT-Hotdog-750x618.jpg" alt=""&gt; On one slide he mentions that the SDDC, that is the Software Defined Data Center provided by VMware Cloud on AWS (VMC) is not an SDDC out of the box. And to me, that sounds a bit weird. Let&amp;rsquo;s go over the process of spinning up an SDDC. First, you log onto &lt;a href="http://vmc.vmware.com"&gt;vmc.vmware.com&lt;/a&gt; and you sign up for the service. In the console you define the number of hosts for deployment, click apply. &lt;img src="images/Create-SDDC-750x520.png" alt=""&gt; If you select a multi-host deployment, by default an SDDC cluster contains 4 hosts, that means that VMC deploys four physical hosts (for more info: &lt;a href="https://frankdenneman.ai/2018-05-03-dedicated-hardware-public-cloud-world/"&gt;Dedicated Hardware in a Public Cloud World&lt;/a&gt;) on the AWS infrastructure. It installs and configures vSphere, vSAN, and NSX for you automatically. After roughly two hours you are the sole-owner of dedicated hardware with a fully software-defined data center running on top of that. Just log into your in-cloud vCenter and start to deploy your workload. So to reiterate, you just clicked a button on a website and a fully functional data center is deployed for you. &lt;a href="https://twitter.com/kenhuiny/status/1019995175735758848"&gt;https://twitter.com/kenhuiny/status/1019995175735758848&lt;/a&gt; Ok so what about day 2 operations, let&amp;rsquo;s define this a bit clearer because there are multiple definitions available. &lt;a href="https://dzone.com/articles/defining-day-2-operations"&gt;Dzone&lt;/a&gt; provides the following definition: &lt;em&gt;Once &amp;ldquo;something&amp;rdquo; goes into operations, &amp;ldquo;day 2 operations&amp;rdquo; is the remaining time period until this &amp;ldquo;something&amp;rdquo; isn&amp;rsquo;t killed or replaced with &amp;ldquo;something else.&amp;rdquo;&lt;/em&gt; We build a cloud management platform in AWS in order to deal with day-2 operations. VMware provides the service, we will keep the lights on for you, troubleshoot and maintain your environment. This CMP plaform allows us to provide services like automated hardware remediation. If a component inside the ESXi hosts fails, such as a NIC, or an NVMe device, the backend will detect this and it will initiate a process to replace the faulty host with a fully operational one. The customer won&amp;rsquo;t have to do a thing. &lt;img src="images/Automated-Hardware-Remediation-750x291.png" alt=""&gt; &lt;a href="https://frankdenneman.ai/2018-07-17-introduction-elastic-drs/"&gt;Elastic DRS&lt;/a&gt; allows the cluster to respond to workload utilization automatically. It allows for automatic scale-out and scale-in, without the need for human intervention. &lt;a href="https://frankdenneman.ai/2018-05-16-stretched-clusters-vmware-cloud-aws-really-big-thing/"&gt;Stretched Clusters&lt;/a&gt; protects the workload in the Cloud SDDC from AZ outages. If something happens, HA detects the failed VMs and restarts them on different physical servers in the remaining AZ without manual human involvement. Content library, allows the customer to subscribe the in-cloud SDDC to a template repository that automatically provides VM templates to the in-cloud SDDC. Read &lt;a href="https://www.virtuallyghetto.com/2018/07/automating-vm-template-management-using-content-library-in-vmc.html"&gt;Williams post&lt;/a&gt; for more info Disaster Recovery as a Service, just go to the console, enable the add-on and the in-cloud components for SRM and vSphere Replication are automatically deployed and configured. Connect it to your on-prem components and you can build your DR runbooks. And there are many more functions that cover the lights-on, maintenance, housekeeping and optimize tasks of day 2. Now with that explained, the stories continue and a debate broke out on twitter. Some said it needs a form of CMP (eg. vRealize) for operating the SDDC. &lt;a href="https://twitter.com/KenNalbone/status/1020106642287886337"&gt;https://twitter.com/KenNalbone/status/1020106642287886337&lt;/a&gt; This is an interesting observation, for which operation? Not for life-cycle or infrastructure management. We will take care of that for you. VMC is a fully managed service by VMware. It is responsible for the uptime and the lifecycle of the SDDC. we have built a CMP platform on the AWS infrastructure that allows us to deal with VMC. In a presentation of Chris Wegner (one of the principal engineers of VMC) the architecture is explained. &lt;img src="images/SAAS-Arch-750x414.png" alt=""&gt; The blue box is the actual SDDC, The green box is a custom-built CMP that allows VMware to identify customers, billing customers, providing support for customers (as a VMC customer, you only deal with VMware) but most importantly for this story, it allows VMware to deploy hardware and software (Fleet management). The next image provides a more detailed view of the green box. &lt;img src="images/Saas-Arch-2-750x411.png" alt=""&gt; This is what you need to support hundreds of SDDCs across multiple regions (Oregon, N. Virginia, London, Frankfurt). Here you can see the bits for provisioning management, dealing with AWS services, acquiring hardware, configuring all the software and of course the ability to troubleshoot. You as a customer, do not need to worry again about ripping and replacing hardware because it failed, or because it&amp;rsquo;s nearing the end of support. You only need to care about deploying your workload. And because we took the conscious decision of using vCenter as the management structure, you can use your on-prem vRealize suite and deploy your workload on-prem or in-cloud. Using vRealize to deploy workload is the way to go forward because 80% of our customers have a hybrid cloud strategy a on-prem deployment is expected. It makes sense to run your tooling on-premises. With VMware Cloud on AWS, your responsibility shift from managing hardware to managing the consumption of resources.&lt;/p&gt;</description></item><item><title>Kubernetes and vSphere Compute and Storage Doubleheader VMworld Session</title><link>https://frankdenneman.ai/2018-07-19-kubernetes-vsphere-compute-storage-doubleheader-vmworld-session/</link><pubDate>Thu, 19 Jul 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-07-19-kubernetes-vsphere-compute-storage-doubleheader-vmworld-session/</guid><description>&lt;p&gt;Kubernetes is hot! It is one of the most talked about technologies of this year. For some, it&amp;rsquo;s the next platform, for others it&amp;rsquo;s just another tech making its way in the datacenter. Will it replace virtual machines, will it get displace vSphere? Some ask, why run Kubernetes on top of vSphere when you can run it on bare metal? We rather not go back to 2005 and deal with a sprawl of bare-metal servers, we believe Kubernetes and vSphere are better together! In the session &lt;strong&gt;&amp;ldquo;CNA1553BU - Deep Dive: The value of Running Kubernetes on vSphere&amp;rdquo;&lt;/strong&gt; &lt;a href="https://twitter.com/embano1"&gt;Michael Gasch&lt;/a&gt; and I review the behavior of Kubernetes resource management, optimization, and availability for container orchestration. Kubernetes is a system optimized for cloud-native workloads where failure and disruption is anticipated, but how about the infrastructure that is required to run these cloud-native apps? How about Kubernetes ability to economically and optimally consume the available resources? &lt;img src="images/Kubernetes-Sprawl-750x459.png" alt=""&gt; We will answer these questions and reveal why vSphere is such a good match with its extensive features such as high availability, NUMA optimization, and distributed resource scheduler. In this session, we explore the critical elements of a container and demonstrate that Kubernetes does not run in thin air. Running Linux on bare-metal or inside a VM determines your scalability, your recoverability, and your portability. If you spin up a Kubernetes cluster at Amazon or Google, they will deploy it for you in virtual machines, if these cloud-native giants use VMs, why would you use bare-metal? &lt;img src="images/KubernetesvSphere-750x375.png" alt=""&gt; Adding vSphere to the picture, Kubernetes gains several advantages for both, cloud-native and traditional workloads. vSphere also plays a critical role in keeping the Kubernetes control plane components highly-available in case of planned and unplanned downtime. We are going to detail recommended DRS and HA settings and many other best practices for Kubernetes on vSphere based on real-world customer scenarios. Of course, an outlook on upcoming improvements for the Kubernetes on vSphere integration should not be missing in a deep dive session! Last but not least, you&amp;rsquo;ll definitely learn how to respond to common objections to win back your end-user. Still not convinced? Let&amp;rsquo;s dive into the behavior of Linux CPU scheduling versus ESXi CPU and NUMA scheduling and help you understand how to size and deploy your Kubernetes cluster on vSphere correctly. &lt;img src="images/Kube-QoS-750x459.png" alt=""&gt; Developers shouldn&amp;rsquo;t need to worry about all these settings and the underlying layers. They just want to deploy the application, but it&amp;rsquo;s our job to cater to the needs of the application and make sure the application runs consistently and constantly. This applies to compute, but also to storage.7 out of 10 applications that run on kubernetes are stateful, so it makes sense to incorporate persistent storage in your kubernetes design. &lt;img src="images/Workloads-750x377.png" alt=""&gt; Some applications are able to provide certain services like replication themselves, thus it makes no sense to &amp;ldquo;replicate&amp;rdquo; that service at the infrastructure layer. vSAN and its storage policies allow the admin to provide storage services that are tailor-made to the application stack. &lt;a href="https://twitter.com/CormacJHogan"&gt;Cormac Hogan&lt;/a&gt; and &lt;a href="https://twitter.com/XtosK"&gt;Christos Karamanolis&lt;/a&gt; talk about why vSAN is the ultimate choice for running next-gen apps. Visit their session &lt;strong&gt;&amp;ldquo;HCI1338BU-HCI: The Ideal Operational Environment for Cloud-Native Applications&amp;rdquo;&lt;/strong&gt; to hear about real-world use-cases and learn what you need to do when dealing with these next-gen apps. Please note that if you attempt adding these sessions to your schedule, you might get a warning that you are on the waiting list. As we understood it, all sessions are booked in small rooms and depending on the waiting list they are moved to bigger rooms. Thus sign up for these sessions even if they state waiting list only. It will be sorted out during the upcoming weeks. &lt;img src="images/waiting-list-750x226.jpg" alt=""&gt; Hope to see you in our session!&lt;/p&gt;</description></item><item><title>Introduction to Elastic DRS</title><link>https://frankdenneman.ai/2018-07-17-introduction-elastic-drs/</link><pubDate>Tue, 17 Jul 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-07-17-introduction-elastic-drs/</guid><description>&lt;p&gt;&lt;a href="https://cloud.vmware.com/vmc-aws"&gt;VMware Cloud on AWS&lt;/a&gt; allows you to &lt;a href="https://frankdenneman.ai/2018-05-03-dedicated-hardware-public-cloud-world/"&gt;deploy physical ESXi hosts on demand&lt;/a&gt;. You can scale in and scale out your cluster by logging into the console. &lt;img src="images/Add-resources-VMC-Console-750x471.png" alt=""&gt; This elasticity allows you to right-size your SDDC environment for the current workload demand. No more long procurement process, no more waiting for the vendor to ship the goods. No more racking, stacking in a cold dark datacenter. Just with a few clicks, you get new physical resources added to your cluster, ESXi and vSAN fully installed, configured, patched and ready to go! Having physical resources available on demand is fantastic, but it still requires manual monitoring and manual operations to scale out or scale in the vSphere cluster. Wouldn’t it be more comfortable if the cluster automatically responds to the dynamic nature of the workloads? As of today, you can enable Elastic DRS. &lt;strong&gt;Introducing Elastic DRS&lt;/strong&gt; Elastic Distributed Resources Scheduler (EDRS) is a policy-based solution that automatically scales a vSphere Cluster in VMware Cloud on AWS based on utilization. EDRS monitors CPU, memory, and storage resources for scaling operations. EDRS monitors the vSphere cluster continuously, and each 5 minutes EDRS runs the algorithm to determine if scale-out or scale-in operations is necessary. &lt;img src="images/EDRS-Thresholds.svg" alt=""&gt; &lt;strong&gt;Algorithm Behavior&lt;/strong&gt; EDRS is configured with thresholds for each resource and generates scaling recommendations if utilization consistently remains above or below their respective thresholds. EDRS algorithm takes spikes and randomness of utilization into consideration when generating these scaling recommendations. &lt;strong&gt;Scaling Operations&lt;/strong&gt; Thresholds are defined for scale up operations and scale down operations. To avoid generating recommendations by spikes, EDRS generates a scale operation if the resource utilization shows consistent progress towards a threshold. To generate a scale out operation, a single threshold must be exceeded. That means that if CPU utilization shows consistent progress towards the threshold and at one point exceeds the threshold, EDRS triggers an event and adds an ESXi host to the vSphere cluster. &lt;img src="images/EDRS-CPU-Thresholds-exceeded.svg" alt=""&gt; Similar to adding an ESXi host manually, the ESXi host is installed with the same ESXi version, patch level and is configured with the appropriate logical networks and adds the capacity to the vSAN datastore. &lt;img src="images/EDRS-scale-out-operations.svg" alt=""&gt; To automatically scale down the cluster, utilization across &lt;strong&gt;ALL&lt;/strong&gt; three resources must be consistently below the specified scale-in thresholds. &lt;strong&gt;Minimum and Maximum Number of ESXi hosts&lt;/strong&gt; You can restrict the bounds of a minimum and a maximum number of ESXi hosts. EDRS can be enabled if the cluster consists of four ESXi hosts, EDRS does not scale in beyond the four ESXi host minimum. When setting a maximum number of ESXi hosts, all ESXi hosts in the vSphere cluster, including those in maintenance mode are included in the count. Only active ESXi hosts are counted towards the minimum. As a result, the VMware cloud on AWS SDDC ignores EDRS recommendations during maintenance and hardware remediation operations. Currently, the maximum number of host in an Elastic-DRS enabled cluster is 16. &lt;strong&gt;Scaling Policies&lt;/strong&gt; EDRS provides policies to adjust the behavior of scaling operations. EDRS provides two scaling policy that optimizes for cost or performance. Both policies have the same scale-out threshold. They only differ on scale-in thresholds.&lt;/p&gt;</description></item><item><title>Resource Pools and Sibling Rivalry</title><link>https://frankdenneman.ai/2018-07-16-resource-pools-sibling-rivalry/</link><pubDate>Mon, 16 Jul 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-07-16-resource-pools-sibling-rivalry/</guid><description>&lt;p&gt;One of the most powerful constructs in the Software Defined Data Center is the resource pool. The resource pool allows you to abstract and isolate cluster compute resources. Unfortunately, it’s mostly misunderstood and it received a bad rep in the past that it cannot get rid off. One of the challenges of resource pools is to fully commit to resource pools. Placing virtual machines next to resource pools can have an impact of resource distribution. This article zooms in on sibling rivalry. But before this adventure begins, I would like to stress that the examples provided in the article are a worst-case scenario. In this scenario, all VMs are 100% active. An uncommon situation, but it helps to easily explain the resource distribution. Later in the article, I use a few examples, in which some VMs are active and some are idle. And as you will see, resource pools aren’t that bad after all. &lt;strong&gt;Resource Pool Size&lt;/strong&gt; Because resource pool shares are relative to other resource pools or virtual machines with the same parent resource pool, it is important to understand how vCenter sizes resource pools. The values of CPU and memory shares applied to resource pools are similar to virtual machines. By default, a resource pool is sized like a virtual machine with 4 vCPUs and 16GB of RAM. Depending on the selected share level, a predefined number of shares are issued. Similar to VMs, four share levels can be selected. There are three predefined settings: High, Normal or Low, which specify share values with a 4:2:1 ratio, and the Custom setting, which can be used to specify a different relative relationship.&lt;/p&gt;</description></item><item><title>Virtually Speaking Podcast about Technical Writing</title><link>https://frankdenneman.ai/2018-07-11-virtually-speaking-podcast-technical-writing/</link><pubDate>Wed, 11 Jul 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-07-11-virtually-speaking-podcast-technical-writing/</guid><description>&lt;p&gt;Last week &lt;a href="https://twitter.com/DuncanYB"&gt;Duncan&lt;/a&gt; and I were guests on the ever popular Virtually Speaking Podcast. In this show we discussed the difference in technical writing, i.e., writing a blog post versus writing a book. We spoke a lot about the challenges of writing a book and the importance of a supporting cast. We received a lot of great feedback on social media, and &lt;a href="https://twitter.com/vPedroArrow"&gt;Pete&lt;/a&gt; told me the episode was downloaded more than a 1000 times in the first 24 hours. I think this is especially impressive as he published the podcast on a Saturday Afternoon. Due to this popularity, I thought it might be cool to share the episode in case you missed the announcement. Pete and &lt;a href="https://twitter.com/Lost_Signal"&gt;John&lt;/a&gt; shared the links to our &lt;a href="http://www.vspeakingpodcast.com/episodes/83"&gt;VMworld sessions on this page&lt;/a&gt;. During the show, I mentioned the &lt;a href="https://my.vmworld.com/widget/vmware/vmworld18us/uscatalog?search=%20Wagnerova"&gt;VMworld session&lt;/a&gt; of &lt;a href="https://twitter.com/_KatkaW_"&gt;Katarina Wagnerova&lt;/a&gt; and &lt;a href="https://twitter.com/virtualhobbit"&gt;Mark Brookfield&lt;/a&gt;. If you go to VMworld, I would recommend attending &lt;a href="https://my.vmworld.com/widget/vmware/vmworld18us/uscatalog?search=%20Wagnerova"&gt;this session&lt;/a&gt;. It&amp;rsquo;s always interesting to hear people talk about how they designed an environment and dealt with problems in a very isolated place on earth. Enjoy listening to the show. &lt;a href="https://media.zencast.fm/embed/virtually-speaking-podcast/83.mp3#play"&gt;&lt;img src="images/Episode83-750x392.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Resource Consumption of Encrypted vMotion</title><link>https://frankdenneman.ai/2018-06-26-resource-consumption-encrypted-vmotion/</link><pubDate>Tue, 26 Jun 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-06-26-resource-consumption-encrypted-vmotion/</guid><description>&lt;p&gt;vSphere 6.5 introduced encrypted vMotion and encrypts vMotion traffic if the destination and source host are capable of supporting encrypted vMotion. If true, vMotion traffic consumes more CPU cycles on both the source and destination host. This article zooms in on the impact of CPU consumption of encrypted vMotion on the vSphere cluster and how DRS leverages this new(ish) technology.&lt;/p&gt;
&lt;h2 id="cpu-consumption-of-vmotion-process"&gt;CPU Consumption of vMotion Process&lt;/h2&gt;
&lt;p&gt;ESXi reserves CPU resources on both the destination and the source host to ensure vMotion can consume the available bandwidth. ESXi only takes the number of vMotion NICs, and their respective speed into account, the number of vMotion operations does not affect the total of CPU resources reserved! 10% of a CPU core for a 1 GbE NIC, 100% of a CPU core for a 10 GbE NIC. vMotion is configured with a minimum reservation of 30%. Therefore, if you have 1 GbE NIC configured for vMotion, it reserves at least 30% of a single core.&lt;/p&gt;</description></item><item><title>New Fling: DRS Entitlement</title><link>https://frankdenneman.ai/2018-05-30-new-fling-drs-entitlement/</link><pubDate>Wed, 30 May 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-05-30-new-fling-drs-entitlement/</guid><description>&lt;p&gt;I’m proud to announce the latest fling; &lt;a href="https://labs.vmware.com/flings/drs-entitlement-viewer"&gt;DRS entitlement&lt;/a&gt;. This fling is built by the performance team and it provides insight to the demand and entitlement of the virtual machines and resource pools within a vSphere cluster.   &lt;img src="images/DRS-Entitlement-01-750x1018.png" alt=""&gt;   By default, it shows the active CPU and memory consumption, which by itself helps to understand the dynamics within the cluster. Especially when you are using resource pools with different levels of share values. In this example, I have two resource pools, one containing the high-value workloads for the organization, and one resource pool containing virtual machines that are used for test and dev operations. The high-value workloads should receive the resources they require all the time. The What-If functionality allows you to simulate a few different scenarios. A 100% demand option and a simulation of resource allocation settings. The screenshot below shows the what-if entitlement. What if these workloads generate 100% of activity, what resources do these workloads require if they go to the max?  This allows you to set the appropriate resource allocations settings such as reservations and limits on the resource pools or maybe even on particular virtual machines. &lt;img src="images/DRS-Entitlement-02-750x1286.png" alt=""&gt;Another option is to specify particular Reservation, Limits, and Shares (RLS) settings to an object. Select the RLS option and select the object you want to use in the simulation. &lt;img src="images/DRS-Entitlement-03-750x494.png" alt=""&gt; In this example, I selected the Low Value Workload resource pool and changed the share value setting of the resource pool.   &lt;img src="images/DRS-Entitlement-04-750x558.png" alt=""&gt;   You can verify the new setting before running the analysis. Please note, that this is an analysis, it does not affect the resource allocation of active workload whatsoever. You can simulate different settings and understand the outcome.   &lt;img src="images/DRS-Entitlement-05-750x1003.png" alt=""&gt;   Once the correct setting is determined you can apply the setting on the object manually, or you can use the PowerCLI setting and export the PowerCLI one-liner to programmatically change the RLS settings.   &lt;img src="images/DRS-Entitlement-06-750x408.png" alt=""&gt;   Follow the instruction on the &lt;a href="https://labs.vmware.com/flings/drs-entitlement-viewer"&gt;flings website&lt;/a&gt; to install it on your vCenter. I would like to thank &lt;a href="https://twitter.com/inabattinis"&gt;Sai Inabattini&lt;/a&gt; and &lt;a href="https://twitter.com/adarshtweet"&gt;Adarsh Jagadeeshwaran&lt;/a&gt; for creating this fling and for listening to my input! RUN DRS!&lt;/p&gt;</description></item><item><title>Stretched Clusters on VMware Cloud on AWS, a Really Big Thing</title><link>https://frankdenneman.ai/2018-05-16-stretched-clusters-vmware-cloud-aws-really-big-thing/</link><pubDate>Wed, 16 May 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-05-16-stretched-clusters-vmware-cloud-aws-really-big-thing/</guid><description>&lt;p&gt;This week &lt;a href="https://twitter.com/emad_younis"&gt;Emad&lt;/a&gt; published an excellent article about the &lt;a href="http://emadyounis.com/vmware-cloud-on-aws/stretched-clusters-overview/"&gt;stretched cluster functionality of&lt;/a&gt; &lt;a href="https://cloud.vmware.com/vmc-aws"&gt;VMware Cloud on AWS&lt;/a&gt;. To sum up, you can now deploy a single vSphere cluster across two &lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html"&gt;AWS availability zones&lt;/a&gt;. &lt;img src="images/Stretched-Cluster-vCenter-Server-750x422.png" alt=""&gt; &lt;strong&gt;A trip to Memory Lane&lt;/strong&gt; I think the ability to stretch a vSphere cluster across two availability zones is a really big thing. Go back to the days where we had to refactor the application to make it highly available. To reduce application downtime, you typically used clustering software such as Microsoft cluster or Veritas clustering services. But not all applications were fit for this solution. When we introduced VMware High Availability back in 2006, we brought a big change to the industry. From that point on you could provide crash-consistent failover ability to all your workloads. No need to refactor any application, no need to build outlandish hardware solutions. Just enable a few tickboxes at the infrastructure layer, and every workload running inside a VM is protected. And to this day, HA remains the most popular functionality of vSphere. &lt;strong&gt;Amazon Web Services Resiliency Strategy&lt;/strong&gt; Amazon urges you to design your application to be resilient to infrastructure outages. Amazon AWS is hosted in multiple locations worldwide. These locations are composed of regions and Availability Zones. Each region is a separate geographic area that has multiple, isolated locations known as Availability Zones. AWS provides the ability to place instances and data in multiple locations. And you can take advantage of the safety and reliability of geographic redundancy by spanning your Auto Scaling group across multiple Availability Zones within a region and then attach a load balancer to distribute incoming traffic across those Availability Zones. Incoming traffic is distributed equally across all Availability Zones enabled for your load balancer. &lt;img src="images/Autoscaling_MultiAZ_s-750x422.png" alt=""&gt; And this works very well if you are refactoring your application or if you are building a complete new cloud-native stack. The challenge we face today is that not all applications lend to getting refactored, or some applications do not require the journey from monolithic to full-FAAS. &lt;strong&gt;Hybrid-Cloud Experience&lt;/strong&gt; With stretched clusters in &lt;a href="https://cloud.vmware.com/vmc-aws"&gt;VMware Cloud on AWS&lt;/a&gt;, we introduce the same ease of infrastructure resiliency to workloads that run on AWS infrastructure. Merely expand you vSphere cluster to &lt;a href="http://emadyounis.com/vmware-cloud-on-aws/stretched-clusters-overview/"&gt;6 hosts and select multi-az deployment&lt;/a&gt;. &lt;img src="images/Stretched-Clusters-Number-of-Hosts-750x258.png" alt=""&gt; After that, the workload in the Cloud SDDC is protected for AZ outages. If something happens, HA detects the failed VMs and restarts them on different physical servers in the remaining AZ without manual human involvement. The ability to stretch your vSphere cluster across AZs allows you to easily provide resiliency to your workload within the AWS infrastructure without the Herculean effort of refactoring all your applications.&lt;/p&gt;</description></item><item><title>Dying Home Lab - Feedback Welcome</title><link>https://frankdenneman.ai/2018-05-15-dying-home-lab-feedback-welcome/</link><pubDate>Tue, 15 May 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-05-15-dying-home-lab-feedback-welcome/</guid><description>&lt;p&gt;The servers in my home lab are dying on a daily basis. After &lt;a href="https://frankdenneman.ai/2014-03-27-vsphere-5-5-home-lab/"&gt;four years&lt;/a&gt; of active duty, I think they have the right to retire. So I need something else. But what? I can&amp;rsquo;t rent lab space as I work with unreleased ESXi code. I&amp;rsquo;ve been waiting for the Intel Xeon D 21xx Supermicro systems, but I have the feeling that Elon will reach Mars before we see these systems widely available. The system that I have in mind is the following:&lt;/p&gt;</description></item><item><title>Dedicated Hardware in a Public Cloud World</title><link>https://frankdenneman.ai/2018-05-03-dedicated-hardware-public-cloud-world/</link><pubDate>Thu, 03 May 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-05-03-dedicated-hardware-public-cloud-world/</guid><description>&lt;p&gt;One of the more persistent misconceptions is that the components of VMware&amp;rsquo;s Software Defined Data Center (SDDC) on VMware Cloud on AWS are virtualized or that the deployed VMs run natively on Amazon. And to be honest, it&amp;rsquo;s not even weird that most people think this way. After all, Amazon Web Services launched in March 2006, 12 years ago. AWS and Elastic Compute Cloud (EC2) and Amazon Simple Storage Service (S3) are synonymous with each other. All of a sudden, you can know &amp;ldquo;run vSphere on AWS&amp;rdquo;.&lt;/p&gt;</description></item><item><title>vBrownBag Techtalks VMworld Call for Papers now open</title><link>https://frankdenneman.ai/2018-04-26-vbrownbag-techtalks-vmworld-call-papers-now-open/</link><pubDate>Thu, 26 Apr 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-04-26-vbrownbag-techtalks-vmworld-call-papers-now-open/</guid><description>&lt;p&gt;Although the selection process of the submitted VMworld 2018 sessions is still ongoing, vBrownbag announced their &lt;a href="https://vbrownbag.com/2018/04/vbrownbag-techtalks-at-vmworld-2018/"&gt;call for papers&lt;/a&gt;. As Duncan mentioned in his &lt;a href="http://www.yellow-bricks.com/2018-02-19-vmworld-call-papers-opened-tips/"&gt;Call for paper article&lt;/a&gt; &lt;em&gt;&amp;lsquo;Good luck, and remember: if you don’t end up getting selected, submit the proposal to a VMUG near you instead. They are always begging for community sessions.&amp;rsquo;&lt;/em&gt; Think about signing up for the vBrownbag as well. Since last year all the vBrownbag sessions are published in the content catalog. Thus your session is visible for all 23.000+ attendees. Go right ahead and &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScOg9AflEa1HoK-ADDxGAqAUu3qsaYKaNpDsxIrYLx68FvsPg/viewform"&gt;fill out this form&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>The public Shaming of Resource Pool-as-a-Folder User</title><link>https://frankdenneman.ai/2018-04-25-public-shaming-resource-pool-folder-user/</link><pubDate>Wed, 25 Apr 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-04-25-public-shaming-resource-pool-folder-user/</guid><description>&lt;p&gt;&lt;img src="images/9yXav.gif" alt=""&gt; Yesterday there was some public shaming done of &lt;a href="https://twitter.com/anthonyspiteri"&gt;Antony Spiteri&lt;/a&gt;. He was outed that he was using vSphere resource pool as folders. &lt;a href="https://twitter.com/davidhill"&gt;https://twitter.com/davidhill&lt;/a&gt;_co/status/988797652346245126 A funny thread and he truly deserved all the public shaming by the community members ;). All fun aside, using resource pools as folders are not recommended by VMware. As I described in the new &lt;a href="https://vspherecentral.vmware.com/t/resource-management-and-availability/vsphere-resources-and-availability/vsphere-drs/"&gt;vSphere 6.5 DRS white paper&lt;/a&gt; available at vSphere central: &lt;strong&gt;Correct use:&lt;/strong&gt; Resource pools are an excellent construct to isolate a particular amount of resources for a group of virtual machines without having to micro-manage resource setting for each individual virtual machine. A reservation set at the resource pool level guarantees each virtual machine inside the resource pool access to these resources. Depending on the activity of these virtual machines these virtual machines can operate without any contention. &lt;strong&gt;Incorrect use:&lt;/strong&gt; Resource pools should not be used as a form of folders within the inventory view of the cluster. Resource pools consume resources from the cluster and distribute these amongst its child objects within the resource pool; this can be additional resource pools and virtual machines. Due to the isolation of resources, using resource pools as folders in a heavily utilized vSphere cluster can lead to an unintended level of performance degradation for some virtual machines inside or outside the resource pool. Understanding this behavior allows you to design a correct resource pool structure. Currently, I&amp;rsquo;m working on a new vSphere DRS Resource Pool white paper which sheds some new light on the distribution of resources under normal conditions and under load (the Resource Pool Pie Paradox). I will keep you posted!&lt;/p&gt;</description></item><item><title>Public Speaking Schedule</title><link>https://frankdenneman.ai/2018-02-21-public-speaking-schedule/</link><pubDate>Wed, 21 Feb 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-02-21-public-speaking-schedule/</guid><description>&lt;p&gt;The VMUG season has started, and I have a few speaking sessions at various events. I thought it might be convenient to list the events and topics: Date: February, 22 Organization: &lt;a href="https://community.vmug.com/communities/localcommunityhome?CommunityKey=2019c52c-3ed6-4008-87ce-922ef5c5763d"&gt;North East UK VMUG&lt;/a&gt; Location: Newcastle Topic: VMware Cloud on AWS from a resource management perspective Date: March, 7 Organization: &lt;a href="https://community.vmug.com/communities/localcommunityhome?CommunityKey=130b26cc-59db-41ec-807d-f264f750d25d"&gt;Swiss-French VMUG&lt;/a&gt; Location: Lausanne Switzerland Topic: VMware Cloud on AWS from a resource management perspective Date: March, 8 Organization: &lt;a href="https://community.vmug.com/communities/localcommunityhome?CommunityKey=671f85fa-1265-42c5-a46d-332e0b1fa6ea"&gt;Swiss-German VMUG&lt;/a&gt; Location: Zurich Switzerland Topic: VMware Cloud on AWS from a resource management perspective Date: March, 20 Organization: &lt;a href="https://www.nlvmug.com/"&gt;Dutch VMUG&lt;/a&gt; Location: Den Bosch Netherlands Topic: vSphere Resource Kit Double-Hour Session 1: vSphere 6.5 Host Resource Deep Dive with &lt;a href="https://twitter.com/nhagoort"&gt;Niels Hagoort&lt;/a&gt; Session 2: vSphere 6.5 Clustering Deep Dive with &lt;a href="https://twitter.com/DuncanYB"&gt;Duncan Epping&lt;/a&gt; Date: March 29, Organization: &lt;a href="https://www.vmug.com/Attend/VMUG-UserCon/VirtualEvent"&gt;Virtual VMUG&lt;/a&gt; Location: Online Topic: VMware Cloud on AWS from a resource management perspective Date: April 10, Organization: &lt;a href="https://community.vmug.com/communities/localcommunityhome?CommunityKey=499bc74b-c49f-4060-be81-af560aa36deb"&gt;Turkey VMUG&lt;/a&gt; Location: Istanbul, Turkey Topic: VMware Cloud on AWS from a resource management perspective Date: May 24 Organization: &lt;a href="https://community.vmug.com/communities/localcommunityhome?CommunityKey=3e04f7dc-a6ba-4db1-9b0f-68c1bf8515ff"&gt;Czech Republic VMUG&lt;/a&gt; Location: Prague Topic: vSphere 6.5 Host Resource Deep Dive with Niels Hagoort Hope to see you there&lt;/p&gt;</description></item><item><title>Virtually Speaking Podcast #67 Resource Management</title><link>https://frankdenneman.ai/2018-01-29-virtually-speaking-podcast-67-resource-management/</link><pubDate>Mon, 29 Jan 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-01-29-virtually-speaking-podcast-67-resource-management/</guid><description>&lt;p&gt;Two weeks ago Pete Flecha (a.k.a. &lt;a href="https://twitter.com/vPedroArrow"&gt;Pedro Arrow&lt;/a&gt;) and &lt;a href="https://twitter.com/Lost_Signal"&gt;John Nicholson&lt;/a&gt; invited me to their always awesome podcast to talk about resource management. During our conversation, we covered both on-prem and the features of &lt;a href="https://cloud.vmware.com/vmc-aws"&gt;VMware Cloud on AWS&lt;/a&gt; that help cater the needs of your workload. &lt;a href="https://media.zencast.fm/embed/virtually-speaking-podcast/67.mp3#play"&gt;&lt;img src="images/Episode67.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;iframe frameborder="0" height="55px" width="100%" scrolling="no" seamless="" src="https://media.zencast.fm/embed/virtually-speaking-podcast/67.mp3"&gt;&lt;/iframe&gt;
&lt;p&gt;Being a guest on this podcast is an honour and times flies talking to these two guys. Hope you enjoy it as much as I did.&lt;/p&gt;</description></item><item><title>vSphere 6.5 DRS and Memory Balancing in Non-Overcommitted Clusters</title><link>https://frankdenneman.ai/2018-01-15-vsphere-6-5-drs-memory-balancing-non-overcommitted-clusters/</link><pubDate>Mon, 15 Jan 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-01-15-vsphere-6-5-drs-memory-balancing-non-overcommitted-clusters/</guid><description>&lt;p&gt;DRS is over a decade old and is still going strong. DRS is aligned with the premise of virtualization, resource sharing and overcommitment of resources. DRS goal is to provide compute resources to the active workload to improve workload consolidation on a minimal compute footprint. However, virtualization surpassed the original principle of workload consolidation to provide unprecedented workload mobility and availability. With this change of focus, many customers do not overcommit on memory. A lot of customers design their clusters to contain (just) enough memory capacity to ensure all running virtual machines have their memory backed by physical memory. In this scenario, DRS behavior should be adjusted as it traditionally focusses on active memory use. vSphere 6.5 provides this option in the DRS cluster settings. By ticking the box &lt;strong&gt;&amp;ldquo;Memory Metric for Load Balancing&amp;rdquo;&lt;/strong&gt; DRS uses the VM consumed memory for load-balancing operations. &lt;img src="images/01-DRS-Memory-Metric-for-Load-Balancing-750x495.png" alt=""&gt; Please note that DRS is focussed on consumed memory, not configured memory! DRS always keeps a close eye on what is happening rather than accepting static configuration. Let&amp;rsquo;s take a closer look at DRS input metrics of active and consumed memory. &lt;strong&gt;Out-of-the-box DRS Behavior&lt;/strong&gt; During load balancing operation, DRS calculates the active memory demand of the virtual machines in the cluster. The active memory represents the working set of the virtual machine, which signifies the number of active pages in RAM. By using the working-set estimation, the memory scheduler determines which of the allocated memory pages are actively used by the virtual machine and which allocated pages are idle. To accommodate a sudden rapid increase of the working set, 25% of idle consumed memory is allowed. Memory demand also includes the virtual machine’s memory overhead. Let’s use a 16 GB virtual machine as an example of how DRS calculates the memory demand. The guest OS running in this virtual machine has touched 75% of its memory size since it was booted, but only 35% of its memory size is active. This means that the virtual machine has consumed 12288 MB and 5734 MB of this is used as active memory. &lt;img src="images/02-Active-Consumed-Configured.svg" alt=""&gt; As mentioned, DRS accommodate a percentage of the idle consumed memory to be ready for a sudden increase in memory use. To calculate the idle consumed memory, the active memory 5734 MB is subtracted from the consumed memory, 12288 MB, resulting in a total 6554 MB idle consumed memory. By default, DRS includes 25% of the idle consumed memory, i.e. 6554 * 25% = +/- 1639 MB. &lt;img src="images/03-IdleConsumedMemory.svg" alt=""&gt; The virtual machine has a memory overhead of 90 MB. The memory demand DRS uses in its load balancing calculation is as follows: 5734 MB + 1639 MB + 90 MB = 7463 MB. As a result, DRS selects a host that has 7463 MB available for this machine if it needs to move this virtual machine to improve the load balance of the cluster. &lt;strong&gt;Memory Metric for Load Balancing Enabled&lt;/strong&gt; When enabling the option &amp;ldquo;Memory Metric for Load Balancing&amp;rdquo; DRS takes into account the consumed memory + the memory overhead for load balancing operations. In essence, DRS uses the metric Active + 100% IdleConsumedMemory. &lt;img src="images/04-MemoryMetricforLoadBalancingEnabled.svg" alt=""&gt; vSphere 6.5 update 1d UI client allows you to get better visibility in the memory usage of the virtual machines in the cluster. The memory utilization view can be toggled between active memory and consumed memory. &lt;img src="images/05-active_consumed_memory.gif" alt=""&gt; Recently, &lt;a href="https://twitter.com/eck79"&gt;Adam Eckerle on Twitter&lt;/a&gt; published a &lt;a href="https://blogs.vmware.com/vsphere/2018/01/vcenter-server-6-5-update-1d-includes-third-update-html5-vsphere-client.html"&gt;great article&lt;/a&gt; that outlines all the improves of vSphere 6.5 Update 1d. Go check it out. Animated Gif courtesy of Adam. When reviewing the cluster it shows that the cluster is pretty much balanced. &lt;img src="images/06-Cluster-Balanced-750x310.png" alt=""&gt; When looking at the default view of the sum of Virtual Machine memory utilization (active memory). It shows that ESXi host ESXi02 is busier than the others. &lt;img src="images/07-Sum-of-Active-Memory-Utilization-750x296.png" alt=""&gt; However since the active memory of each host is less than 20% and each virtual machine is receiving the memory they are entitled to, DRS will not move virtual machines around. Remember, DRS is designed to create as little overhead as possible. Moving one virtual machine to another host to make the active usage more balanced, is just a waste of compute cycles and network bandwidth. The virtual machines receive what they want to receive now, so why take the risk of moving VMs? But a different view of the current situation is when you toggle the graph to use consumed memory. &lt;img src="images/08-Sum-of-Consumed-Memory-Utilization-750x74.png" alt=""&gt; Now we see a bigger difference in consumed memory utilization. Much more than 20% between ESXi02 and the other two hosts. By default DRS in vSphere 6.5 tries to clear a utilization difference of 20% between hosts. This is called Pair-Wise Balancing. However, since DRS is focused on Active memory usage, Pair-Wise Balancing won&amp;rsquo;t be activated with regards to the 20% difference in consumed memory utilization. After enabling the option &amp;ldquo;Memory Metric for Load Balancing&amp;rdquo; DRS rebalances the cluster with the optimal number of migrations (as few as possible) to reduce overhead and risk. &lt;img src="images/09-Memory-Metric-for-Load-Balancing-Enabled-750x74.png" alt=""&gt; &lt;strong&gt;Active versus Consumed Memory Bias&lt;/strong&gt; If you design your cluster with no memory overcommitment as guiding principle, I recommend to test out the vSphere 6.5 DRS option &amp;ldquo;Memory Metric for Load Balancing&amp;rdquo;. You might want to switch DRS to manual mode, to verify the recommendations first.&lt;/p&gt;</description></item><item><title>Explainer on #Spectre &amp;amp; #Meltdown by Graham Sutherland</title><link>https://frankdenneman.ai/2018-01-05-explainer-spectre-meltdown-graham-sutherland/</link><pubDate>Fri, 05 Jan 2018 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2018-01-05-explainer-spectre-meltdown-graham-sutherland/</guid><description>&lt;p&gt;Sometimes you stumble across a brilliant Twitter thread, so good, that it should never be lost. Graham Sutherland (&lt;a href="https://twitter.com/gsuberland"&gt;@gsuberland&lt;/a&gt;) helped the world in understanding the Spectre and Meltdown bugs. I&amp;rsquo;m publishing his tweet thread in text form as this is just the best explanation of the bugs I&amp;rsquo;ve seen. Please note that VMware has released its response for Bounds-Check Bypass (CVE-2017-5753), Branch Target Injection (CVE-2017-5715) &amp;amp; Rogue Data Cache Load (CVE-2017-5754) - AKA Meltdown &amp;amp; Spectre.&lt;/p&gt;</description></item><item><title>Free vSphere 6.5 Host Resources Deep Dive E-Book</title><link>https://frankdenneman.ai/2017-11-07-free-vsphere-6-5-host-resources-deep-dive-ebook/</link><pubDate>Tue, 07 Nov 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-11-07-free-vsphere-6-5-host-resources-deep-dive-ebook/</guid><description>&lt;p&gt;In June of this year, &lt;a href="https://twitter.com/nhagoort/"&gt;Niels&lt;/a&gt; and I published the &lt;a href="https://frankdenneman.ai/2017-07-24-host-deep-dive-first-major-milestone/"&gt;vSphere 6.5 Host Resources Deep Dive&lt;/a&gt;, and the community was buzzing. Twitter exploded, and many community members provided rave reviews. This excitement caught &lt;a href="https://www.rubrik.com/"&gt;Rubriks&lt;/a&gt; attention, and they decided to support the community by giving away 2000 free copies of the printed version at VMworld. The interest was overwhelming, before the end of the second signing session in Barcelona we ran out of books. &lt;a href="http://pages.rubrik.com/host-resources-deep-dive_request.html?utm_campaign=Authors"&gt;&lt;img src="images/front_cover_small.png" alt=""&gt;&lt;/a&gt; A lot of people reached out to Rubrik and us to find out if they could get a free book as well. This gave us an idea, and we sat down with Rubrik and the &lt;a href="https://www.vmug.com/"&gt;VMUG organization&lt;/a&gt; to determine how to cater the community. We are proud to announce that you can download the e-book version (PDF only) for free at rubrik.com. Just sign up and download your full e-book copy &lt;a href="http://pages.rubrik.com/host-resources-deep-dive_request.html?utm_campaign=Authors"&gt;here&lt;/a&gt;. Spread the word! And if you like, thank &lt;a href="https://twitter.com/rubrikInc"&gt;@Rubrik&lt;/a&gt; and &lt;a href="https://twitter.com/MyVMUG"&gt;@myVMUG&lt;/a&gt; for their efforts to help the VMware community advance. &lt;a href="https://www.youtube.com/watch?v=a4spq5B4wtg"&gt;https://www.youtube.com/watch?v=a4spq5B4wtg&lt;/a&gt;&lt;/p&gt;</description></item><item><title>What if the VM Memory Config Exceeds the Memory Capacity of the Physical NUMA Node?</title><link>https://frankdenneman.ai/2017-10-05-vm-memory-config-exceeds-memory-capacity-physical-numa-node/</link><pubDate>Thu, 05 Oct 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-10-05-vm-memory-config-exceeds-memory-capacity-physical-numa-node/</guid><description>&lt;p&gt;This week I had the pleasure to talk to a customer about NUMA use-cases and a very interesting config came up. They have a VM with a particular memory configuration that exceeds the ESXi host NUMA node memory configuration. This scenario is covered in the &lt;a href="https://www.amazon.com/gp/product/1540873064/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1540873064&amp;amp;linkCode=as2&amp;amp;tag=frankdennem0f-20&amp;amp;linkId=5afdf9e22610abeca733b5bd747d04d0"&gt;vSphere 6.5 Host Resources Deep Dive&lt;/a&gt;, excerpt below.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Memory Configuration&lt;/strong&gt; The scenario described happens in multi-socket systems that are used to host monster-VMs. Extreme memory footprint VMs are getting more common by the day. The system is equipped with two CPU packages. Each CPU package contains twelve cores. The system has a memory configuration of 128 GB in total. The NUMA nodes are symmetrically configured and contain 64 GB of memory each. &lt;img src="images/01-Physical-NUMA-Node.svg" alt=""&gt; However, if the VM requires 96 GB of memory, a maximum of 64 GB can be obtained from a single NUMA node. This means that 32 GB of memory could become remote if the vCPUs of that VM can fit inside one NUMA node. In this case, the VM is configured with 8 vCPUs. &lt;img src="images/02-VM-Configuration.svg" alt=""&gt; The VM fits from a vCPU perspective inside one NUMA node, and therefore the NUMA scheduler configures for this VM a single virtual proximity domain (VPD) and a single a load-balancing group which is internally referred to as a physical proximity domain (PPD).&lt;/p&gt;</description></item><item><title>A vSphere Focused Guide to the Intel Xeon Scalable Family - Memory Subsystem</title><link>https://frankdenneman.ai/2017-10-03-vsphere-focused-guide-intel-xeon-scalable-family-memory-subsystem/</link><pubDate>Tue, 03 Oct 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-10-03-vsphere-focused-guide-intel-xeon-scalable-family-memory-subsystem/</guid><description>&lt;p&gt;The Intel Xeon Scalable Family introduces a new platform (Purley). The most prominent change regarding system design is the memory subsystem. &lt;strong&gt;More Memory Bandwidth and Consistency in Speed&lt;/strong&gt; The new memory subsystem supports the same number of DIMMs per CPU as the previous models. However, it&amp;rsquo;s wider and less deep. What I mean by that is that the last platform (Grantley) supported up to three DIMMs per channel (DPC) and made use of four channels. In total, the Grantley platform supported up to twelve DIMMs per CPU. Purley increases the number of channels from four to six but reduces the numbers of supported DIMMs per channel from three to two. Although this sounds like a potato, potato; tomato, tomato discussion it provides a significant increase in bandwidth while ensuring consistency in speed during a scaling up exercise. Let&amp;rsquo;s take a closer look. &lt;strong&gt;DIMMs per Memory Channel&lt;/strong&gt; Depending on the DIMM slot configuration of the server board, multiple DIMMs are supported per channel. The E5-2600 V-series supports up to 3 DIMMs per channel (3 DPC). Using more DIMMs per channel provides the largest capacity, but unfortunately, it impacts the operational speed of memory. &lt;img src="images/01-DIMMs-Per-Channel-Configuration.svg" alt=""&gt; A DIMM groups memory chips into ranks. DIMMs come in three rank configurations; single-rank, dual-rank or quad-rank configuration, ranks are denoted as (xR). With the addition of each rank, the electrical load on the channel increases. And as more ranks are used in a memory channel, memory speed drops restricting the use of additional memory. Therefore in certain configurations, DIMMs will run slower than their listed maximum speeds. This reduction in speed occurs when 3 DIMMs per channel is used.&lt;/p&gt;</description></item><item><title>A vSphere Focused Guide to the Intel Xeon Scalable Family</title><link>https://frankdenneman.ai/2017-09-26-vsphere-focused-guide-intel-xeon-scalable-family/</link><pubDate>Tue, 26 Sep 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-09-26-vsphere-focused-guide-intel-xeon-scalable-family/</guid><description>&lt;p&gt;Intel released the much-anticipated Skylake Server CPU this year. Moving away from the E5-2600-v moniker, Intel names the new iteration of its server CPU the Intel Xeon Scalable Family. On top of this it uses precious metal categories such as Platinum and Gold to identify different types and abilities.&lt;/p&gt;
&lt;p&gt;Upholding the tradition, the new Xeon family contains more cores than the previous Xeon version. The new top-of-the-line CPU offers 28 cores on a single processor die, memory speeds are now supported up to 2666 MHz. However, the biggest appeal for vSphere datacenters is the new &amp;ldquo;Purley&amp;rdquo; platform and its focus on increasing bandwidth between possibly every component possible. In this series, we are going to look at the new Intel Xeon Scalable family microarchitecture and which functions help to advance vSphere datacenters.&lt;/p&gt;</description></item><item><title>VMware Cloud on AWS Technical Overview</title><link>https://frankdenneman.ai/2017-08-29-vmware-cloud-aws-technical-overview/</link><pubDate>Tue, 29 Aug 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-08-29-vmware-cloud-aws-technical-overview/</guid><description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Please note that this information can be outdated due to the ongoing changes of this cloud service. Please consult the &lt;a href="https://cloud.vmware.com/vmc-aws/roadmap"&gt;https://cloud.vmware.com/vmc-aws/roadmap&lt;/a&gt; for recent information about the latest release&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Yesterday we launched the VMware Cloud on AWS service. VMware Cloud on AWS allows you to run your applications across private, public, and hybrid cloud environments based on VMware vSphere, with optimized access to AWS services. The Cloud SDDC consists of vSphere, NSX and vSAN technology to provide you a familiar environment which can be managed an operated with your current tool and skill set. By leveraging bare-metal AWS infrastructure the Cloud SDDC can scale in an unprecedented way.&lt;/p&gt;</description></item><item><title>Get your Free Book at VMworld</title><link>https://frankdenneman.ai/2017-08-25-get-free-book-vmworld/</link><pubDate>Fri, 25 Aug 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-08-25-get-free-book-vmworld/</guid><description>&lt;p&gt;At VMworld, the presenters of the following sessions will be giving away free copies of the Host Deep Dive book to the audience. &lt;strong&gt;Saturday&lt;/strong&gt; &lt;strong&gt;Performance Bootcamp&lt;/strong&gt; Mark Achtemichuk Saturday, Aug 26, 8:00 a.m. - 5:00 p.m. More information about pre-VMworld &lt;a href="https://blogs.vmware.com/performance/2017/06/new-vmworld-2017-bootcamp-vsphere-advanced-performance-design-configuration-and-troubleshooting.html"&gt;Performance Bootcamp&lt;/a&gt; &lt;strong&gt;Sunday&lt;/strong&gt; &lt;strong&gt;An Introduction to VMware Software-Defined Storage [STO2138QU]&lt;/strong&gt; Lee Dilworth, Principal Systems Engineer, VMware Sunday, Aug 27, 4:00 p.m. - 4:30 p.m. | Oceanside C, Level 2 &lt;strong&gt;Monday&lt;/strong&gt; &lt;strong&gt;A Deep Dive into vSphere 6.5 Core Storage Features and Functionality [SER1143BU]&lt;/strong&gt; Cody Hosterman, Technical Director&amp;ndash;VMware Solutions, Pure Storage Cormac Hogan, Director - Chief Technologist, VMware Monday, Aug 28, 11:30 a.m. - 12:30 p.m. | Mandalay Bay Ballroom G, Level 2 &lt;strong&gt;Extreme Performance Series: Benchmarking 101 [SER2723BUR]&lt;/strong&gt; Joshua Schnee, Senior Staff Engineer @ VMware Performance, VMware Mark Achtemichuk, Staff Engineer, Performance, VMware Monday, Aug 28, 4:00 p.m. - 5:00 p.m. | Mandalay Bay Ballroom B, Level 2 &lt;strong&gt;Maximum Performance with Mark Achtemichuk [VIRT2368GU]&lt;/strong&gt; Mark Achtemichuk, Staff Engineer, Performance, VMware Monday, Aug 28, 5:30 p.m. - 6:30 p.m. | Reef E, Level 2 &lt;strong&gt;The Top 10 Things to Know About vSAN [STO1264BU]&lt;/strong&gt; Duncan Epping, Chief Technologist, VMware Cormac Hogan, Director - Chief Technologist, VMware Monday, Aug 28, 5:30 p.m. - 6:30 p.m. | Mandalay Bay Ballroom H, Level 2 &lt;strong&gt;VMware vSAN: From 2 Nodes to 64 Nodes, Architecting and Operating vSAN Like a VCDX for Scalability and Simplicity [STO2114BU]&lt;/strong&gt; Greg Mulholland, Principal Systems Engineer, VMware Jeff Wong, Customer Success Architect, VMware Monday, Aug 28, 5:30 p.m. - 6:30 p.m. | Surf E, Level 2 &lt;strong&gt;Tuesday&lt;/strong&gt; &lt;strong&gt;Extreme Performance Series: Performance Best Practices [SER2724BU]&lt;/strong&gt; Reza Taheri, Principal Engineer, VMware Mark Achtemichuk, Staff Engineer, Performance, VMware Tuesday, Aug 29, 2:30 p.m. - 3:30 p.m. | Oceanside D, Level 2 &lt;strong&gt;Wednesday&lt;/strong&gt; &lt;strong&gt;vSphere 6.5 Host Resources Deep Dive: Part 2 [SER1872BU]&lt;/strong&gt; Frank Denneman, Senior Staff Architect, VMware Niels Hagoort, Owner, HIC (Hagoort ICT Consultancy) Wednesday, Aug 30, 8:30 a.m. - 9:30 a.m. | Breakers E, Level 2 &lt;strong&gt;Extreme Performance Series: Benchmarking 101 [SER2723BUR]&lt;/strong&gt; Joshua Schnee, Senior Staff Engineer @ VMware Performance, VMware Mark Achtemichuk, Staff Engineer, Performance, VMware Wednesday, Aug 30, 8:30 a.m. - 9:30 a.m. | Lagoon L, Level 2 &lt;strong&gt;vSAN Networking and Design Best Practices [STO3276GU]&lt;/strong&gt; John Nicholson, Senior Technical Marketing Manager, VMware Wednesday, Aug 30, 11:30 a.m. - 12:30 p.m. | Reef C, Level 2 &lt;strong&gt;vSAN Hardware Deep Dive Panel [STO1540PU]&lt;/strong&gt; Ed Goggin, Staff Engineer 2, VMware David Edwards, Principal Engineer, Director Solutions, Resurgent Technology Ken Werneburg, Group Manager Technical Marketing, VMware Jeffrey Taylor, Technical Director, VMware Ron Scott-Adams, Hyper-Converged Systems Engineer, VMware Wednesday, Aug 30, 1:00 p.m. - 2:00 p.m. | Mandalay Bay Ballroom D, Level 2 &lt;strong&gt;A Closer Look at vSAN Networking Design and Configuration Considerations [STO1193BU]&lt;/strong&gt; Cormac Hogan, Director - Chief Technologist, VMware Andreas Scherr, Senior Solution Architect, VMware Wednesday, Aug 30, 4:00 p.m. - 5:00 p.m. | Mandalay Bay Ballroom G, Level 2 Thursday &lt;strong&gt;Virtual Volumes Technical Deep Dive [STO2446BU]&lt;/strong&gt; Patrick Dirks, Sr. Manager, VMware Pete Flecha, Sr Technical Marketing Architect, VMware Thursday, Aug 31, 10:30 a.m. - 11:30 a.m. | Oceanside B, Level 2 &lt;strong&gt;Book Signing&lt;/strong&gt; We will be doing two book signing sessions as well. At the Rubrik booth #412 on Monday, Aug 28, 2:00 p.m. - 3:00 p.m. At the VMworld Book store on Tuesday, Aug 29, 11:30 a.m. - 12:00 p.m. Or just feel free to approach us when you see us walking by.&lt;/p&gt;</description></item><item><title>Register now for VMware Cloud on AWS Technical Deep Dive Session</title><link>https://frankdenneman.ai/2017-08-15-register-now-vmware-cloud-aws-technical-deep-dive-session/</link><pubDate>Tue, 15 Aug 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-08-15-register-now-vmware-cloud-aws-technical-deep-dive-session/</guid><description>&lt;p&gt;I noticed that our &lt;a href="https://my.vmworld.com/scripts/catalog/uscatalog.jsp?search=LHC2384BU&amp;amp;showEnrolled=false"&gt;technical deep dive session on VMware Cloud on AWS&lt;/a&gt; was added to the content catalog of VMworld. In this session, Ray Budavari and I will cover the VMware Cloud on AWS infrastructure in detail. For the first time, we are allowed to uncover details about the host configuration, the vSAN infrastructure and of course network topology. We explore advanced features such as Elastic DRS and Autoremediation HA. The last 15 minutes of our session allows you to ask questions about VMC. Please &lt;a href="https://my.vmworld.com/scripts/catalog/uscatalog.jsp?search=LHC2384BU&amp;amp;showEnrolled=false"&gt;register&lt;/a&gt; if you don&amp;rsquo;t want to miss this session. Both Ray and I have a full schedule, therefore we are unable to schedule a repeat of this session during VMworld US. Session details: &lt;a href="https://my.vmworld.com/scripts/catalog/uscatalog.jsp?search=LHC2384BU&amp;amp;showEnrolled=false"&gt;VMware Cloud on AWS: A Technical Deep Dive [LHC2384BU]&lt;/a&gt; &lt;a href="https://twitter.com/frankdenneman"&gt;Frank Denneman&lt;/a&gt;, Senior Staff Architect, VMware &lt;a href="https://twitter.com/rbudavari"&gt;Ray Budavari&lt;/a&gt;, Senior Staff Technical Product Manager, VMware Tuesday, Aug 29, 3:30 p.m. - 4:30 p.m. Session Type: Breakout Session Track: Integrate Public Clouds Integrate Public Clouds: Leverage Hybrid Clouds Product and Topics: NSX, vCenter, vSAN, vSphere Technical Level: Technical – Advanced Session Hashtag: #LHC2384BU&lt;/p&gt;</description></item><item><title>VMware Cloud on AWS - Predictable Capacity Provisioning</title><link>https://frankdenneman.ai/2017-07-26-vmware-cloud-aws-predictable-capacity-provisioning/</link><pubDate>Wed, 26 Jul 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-07-26-vmware-cloud-aws-predictable-capacity-provisioning/</guid><description>&lt;p&gt;In preparation for the VMworld Session LHC2971BU - Managing Your Hybrid Cloud with VMware Cloud on AWS which I&amp;rsquo;m co-presenting with &lt;a href="https://twitter.com/emad_younis"&gt;Emad Younis&lt;/a&gt;, I asked the following question on Twitter: &lt;a href="https://twitter.com/FrankDenneman/status/889841095768776704"&gt;https://twitter.com/FrankDenneman/status/889841095768776704&lt;/a&gt; And the number of answers were overwhelming. The stories were a bit underwhelming. Funny to see that we strive to automate every single step in the process. Guys like Alan, Luc, and William help the community to create scripted installs and configuration of the ESXi host. Creating a consistent, human-error free, rapid process. Shaving off valuable time of the time-consuming server provisioning process. Some organizations incorporate the vRealize suite to create a consistent user experience for the entire IT services portfolio. Interestingly enough, the overall lead time seems mostly impacted by internal acquisition processes. To give a few examples: &lt;a href="https://twitter.com/j0sema/status/889945617312735232"&gt;https://twitter.com/j0sema/status/889945617312735232&lt;/a&gt; &lt;a href="https://twitter.com/tx"&gt;https://twitter.com/tx&lt;/a&gt;_drewdad/status/889849858701524992 &lt;a href="https://twitter.com/VTsnowboarder42/status/889995588669984772"&gt;https://twitter.com/VTsnowboarder42/status/889995588669984772&lt;/a&gt; &lt;a href="https://twitter.com/PvdBree/status/889863788983455744"&gt;https://twitter.com/PvdBree/status/889863788983455744&lt;/a&gt; And the list goes on and on. In most organizations, the procurement process is rigid, well-defined process. However, the lead time of the acquisition process is either unpredictable and inconsistent. The overall message is that it cripples the agility of the IT organization. IT organizations need to react fast to the business needs. Resource management of current workload is difficult enough, figuring out what to expect in the upcoming months is challenging. Unfortunately, the introduction of new workload does not follow a linear demand curve. To cater the (possible) future needs of the customer, the order is either doubled in size, or onboarding of new workloads is gated. Either impacting the bottom-line of the company or the ability to facilitate IT services properly. &lt;a href="https://twitter.com/BobbyFantast1c/status/889845274805448704"&gt;https://twitter.com/BobbyFantast1c/status/889845274805448704&lt;/a&gt; In essence, the CAPEX element of server resource acquisition massively impacts or hinders the execution ability of the IT organization. Strategizing CAPEX\OPEX is not a part of the core focus of many admins and architects, it does affect their means of execution. As demonstrated by the many tweets. With VMware Cloud on AWS, the host resource acquisition process shifts from CAPEX to OPEX. Removing the inconsistent and unpredictable procurement process, allowing for a faster, consistent and predictable method of providing compute, storage and networking resources. VMware Cloud on AWS (VMC) makes my resource-management heart beat faster. By leveraging the AWS operation model, the SDDC cluster running on the AWS infrastructure is resizable by a click of a button. Right-click on the cluster and select resize. &lt;img src="images/VMC-Resize-Cluster-750x422.png" alt=""&gt; Just select the number of hosts you want to add and within moments you will get new dedicated physical hardware added to your cluster. Ready to provide the resources your new workloads require. Resize means you can remove the resources as well, which in result your costs will go down as well. Due to the combined fleet management of AWS and VMC, the new ESXi hosts are fully configured and ready to welcome new workload. All VMkernel and logical networks are automatically configured and made available. The vSAN datastore is automatically expanded with the host-local NVMe flash devices provided by the new hosts. DRS detects the new physical resources and automatically rebalances the cluster, provided the most optimal resource availability. Elastic DRS and Autoremedation HA allows for an automatize method or adding and removing dedicated hardware resources, but these topics will be covered in a different article. From a resource management perspective, a mindset shift will happen. VMC allows you to reduce the time spent on infrastructure configuration and management and allows you to focus more on resource consumption. What cluster configuration is required in the upcoming months? What is my burst strategy? Unfortunately, I can&amp;rsquo;t go into detail as the service is not released yet. VMworld &lt;a href="https://blogs.vmware.com/vsphere/2017/07/vmcsessions-vmworld2017.html"&gt;boasts an exciting line up of VMware Cloud on AWS sessions&lt;/a&gt;. I will be hosting a meet the expert on resource management at both VMworlds, sign up if you want to talk more about this exciting new technology&lt;/p&gt;</description></item><item><title>Host Deep Dive First Major Milestone</title><link>https://frankdenneman.ai/2017-07-24-host-deep-dive-first-major-milestone/</link><pubDate>Mon, 24 Jul 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-07-24-host-deep-dive-first-major-milestone/</guid><description>&lt;p&gt;Exactly one month ago Niels and I published the &lt;a href="https://www.amazon.com/gp/product/1540873064/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1540873064&amp;amp;linkCode=as2&amp;amp;tag=frankdennem0f-20&amp;amp;linkId=5afdf9e22610abeca733b5bd747d04d0"&gt;VMware vSphere 6.5 Host Deep Div&lt;/a&gt;e and it is a major success. Within 30 days we sold over 4000 copies of the book. Building consistent high-performing ESXi hosts remains a strong focus point for the virtual community. The attention for the book is overwhelming. The hashtag #HostDeepDive felt like it was trending. Tweets from around the world letting us know the book arrived, from Brasil to New Zealand. &lt;a href="https://twitter.com/DemitasseNZ/status/884599021980991488"&gt;https://twitter.com/DemitasseNZ/status/884599021980991488&lt;/a&gt; The book seems to be a beloved companion during the summer holiday. &lt;a href="https://twitter.com/h0bbel"&gt;Christian Mohn&lt;/a&gt; and &lt;a href="https://twitter.com/ErikBussink"&gt;Erik Bussink&lt;/a&gt; engaged in a competition to provide us the best vacation shot possible. Mohn: &lt;a href="https://twitter.com/h0bbel/status/886158966018977793"&gt;https://twitter.com/h0bbel/status/886158966018977793&lt;/a&gt; Bussink &lt;a href="https://twitter.com/ErikBussink/status/886501115201818624"&gt;https://twitter.com/ErikBussink/status/886501115201818624&lt;/a&gt; &lt;a href="https://twitter.com/VMUG_CEO"&gt;Brad Tompkins&lt;/a&gt; of the VMUG organization joined the party by giving away twenty copies to the audience of the Indy VMUG last week. &lt;a href="https://twitter.com/kmruddy/status/887293261714522112"&gt;https://twitter.com/kmruddy/status/887293261714522112&lt;/a&gt; Amazon awarded the book with many accolades, being the number one book in the network section and at one point it was in the top 25 of computer books overall. Quite an achievement! The absolute fantastic reviews help a lot. Thank you all for submitting a review! Due to the popularity of the book, Amazon offered us help with creating an ebook version of the book. They put their professional team to work two weeks ago, and we expect to have it online soon. Stay tuned!&lt;/p&gt;</description></item><item><title>Kindle Ebook Host Deep Dive Available</title><link>https://frankdenneman.ai/2017-07-24-kindle-ebook-host-deep-dive-available/</link><pubDate>Mon, 24 Jul 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-07-24-kindle-ebook-host-deep-dive-available/</guid><description>&lt;p&gt;Funny enough I&amp;rsquo;ve just &lt;a href="https://frankdenneman.ai/2017-07-24-host-deep-dive-first-major-milestone/"&gt;published an article&lt;/a&gt; announcing the major milestone of 4000 hard copies sold within the first month of release. I just received confirmation that the Kindle e-book version is available at the Amazon Kindle Store. It is scheduled to appear on various Amazon sites. Please check out your local Amazon for the best offer. &lt;a href="http://amzn.to/2urPNBj"&gt;Amazon US&lt;/a&gt; &lt;a href="https://www.amazon.de/dp/B0746H6DFC"&gt;Amazon DE&lt;/a&gt; &lt;a href="https://www.amazon.nl/dp/B0746H6DFC"&gt;Amazon NL&lt;/a&gt; &lt;a href="https://www.amazon.co.uk/dp/B0746H6DFC"&gt;Amazon UK&lt;/a&gt; &lt;a href="https://www.amazon.in/dp/B0746H6DFC"&gt;Amazon India&lt;/a&gt; The most popular e-book version of the cluster deep dive was Kindle, and therefore we focused on getting the Kindle e-book out as fast as possible. The professionals of Amazon Kindle Direct Publishing created an awesome e-book version. Go check it out.&lt;/p&gt;</description></item><item><title>Virtually Speaking Podcast: Host Deep Dive</title><link>https://frankdenneman.ai/2017-07-15-virtually-speaking-podcast-host-deep-dive/</link><pubDate>Sat, 15 Jul 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-07-15-virtually-speaking-podcast-host-deep-dive/</guid><description>&lt;p&gt;Last Friday I had the honor to join Pete Flecha a.k.a. Pedro Arrow and John Nicholson on their always fantastic podcast Virtually Speaking. Together with &lt;a href="http://www.nielshagoort.com"&gt;Niels&lt;/a&gt; we talked about what it takes to write a book such as the &lt;a href="https://www.amazon.com/gp/product/1540873064/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1540873064&amp;amp;linkCode=as2&amp;amp;tag=frankdennem0f-20&amp;amp;linkId=5afdf9e22610abeca733b5bd747d04d0"&gt;VMware vSphere 6.5 Host Resources Deep Dive&lt;/a&gt;. Thanks John and Pete for having me on again. Check it out. &lt;a href="https://soundcloud.com/virtuallyspeakingpodcast/episode-49-host-resources-deep-dive"&gt;https://soundcloud.com/virtuallyspeakingpodcast/episode-49-host-resources-deep-dive&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Exploring the Core Motivation of Writing a Book</title><link>https://frankdenneman.ai/2017-07-11-exploring-core-motivation-writing-book/</link><pubDate>Tue, 11 Jul 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-07-11-exploring-core-motivation-writing-book/</guid><description>&lt;p&gt;More than a week ago Niels and I released the &lt;a href="https://www.amazon.com/gp/product/1540873064/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1540873064&amp;amp;linkCode=as2&amp;amp;tag=frankdennem0f-20&amp;amp;linkId=5afdf9e22610abeca733b5bd747d04d0"&gt;VMware vSphere 6.5 Host Resources Deep Dive&lt;/a&gt; and the community has welcomed it with open arms. The book is finding its way across the globe, from Argentina to New Zealand. To see the massive amounts of tweets praising the books brings us pride and joy. Over the last couple of days, I have received many inquiries what it takes to write a book and if I could provide some hints and tips. I thought it might be an interesting blog post. Three questions you need to ask yourself&lt;/p&gt;</description></item><item><title>Host Deep Dive Stickers and More</title><link>https://frankdenneman.ai/2017-07-03-host-deep-dive-stickers/</link><pubDate>Mon, 03 Jul 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-07-03-host-deep-dive-stickers/</guid><description>&lt;p&gt;Last week we released the &lt;a href="https://www.amazon.com/gp/product/1540873064/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1540873064&amp;amp;linkCode=as2&amp;amp;tag=frankdennem0f-20&amp;amp;linkId=5afdf9e22610abeca733b5bd747d04d0"&gt;VMware vSphere 6.5 Host Resources Deep Dive&lt;/a&gt; book and &lt;a href="https://twitter.com/hostdeepdive"&gt;Twitter&lt;/a&gt; and &lt;a href="https://www.facebook.com/HostDeepDive/"&gt;Facebook&lt;/a&gt; exploded. We&amp;rsquo;ve seen some pretty bad-ass pictures on our Twitter feeds such as this one by Jamie Girdwood (&lt;a href="https://twitter.com/creamcookie"&gt;@creamcookie&lt;/a&gt;) &lt;img src="images/BestPicture-396x396.jpg" alt=""&gt; It&amp;rsquo;s always nice to hear some praise after spending more than 800 hours on something. (When writing and self-publish a book, expect to spend over 90 minutes on one page). Thanks! The top three most often heard questions were:&lt;/p&gt;</description></item><item><title>Why the Recent Reported Intel HT Bug is Not in Your Data Center</title><link>https://frankdenneman.ai/2017-06-26-recent-reported-intel-ht-bug-not-data-center/</link><pubDate>Mon, 26 Jun 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-06-26-recent-reported-intel-ht-bug-not-data-center/</guid><description>&lt;p&gt;Yesterday I tweeted out the warning message about the HT bug of Skylake and Kaby Lake processors posted on debian.org. &lt;a href="https://lists.debian.org/debian-devel/2017/06/msg00308.html"&gt;https://lists.debian.org/debian-devel/2017/06/msg00308.html&lt;/a&gt; My tweet got a LOT of retweets. A lot replied with concerns about their systems. I believe most Data Centers will not suffer from this bug as it is present on Skylake and Kaby Lake processors. &lt;strong&gt;What is the Bug?&lt;/strong&gt; According to the warning: Unfixed Skylake and Kaby Lake processors could, in some situations, dangerously misbehave when hyper-threading is enabled. Disable hyper-threading immediately in BIOS/UEFI to work around the problem. Read this advisory for instructions about an Intel-provided fix. &lt;a href="https://www.intel.com/content/www/us/en/processors/xeon/xeon-e3-1200v5-spec-update.html"&gt;https://www.intel.com/content/www/us/en/processors/xeon/xeon-e3-1200v5-spec-update.html&lt;/a&gt; &lt;strong&gt;Unlikely Present in Your Data Center&lt;/strong&gt; The reason why I believe most systems in data centers are not hit by this bug is that it solely applies to E3 Xeons from the Skylake microarchitecture. E3 CPUs are designed to operate in a single socket system, they have no QuickPath Interconnect. Therefore unable to create a symmetric multiprocessing system. The current E5 (dual-socket) system is based on the &lt;strong&gt;Broadwell microarchitecture&lt;/strong&gt;. The Skylake microarchitecture is expected to appear within the next couple of months. According to the report, they will have the fix included when the product launched. If you are running a NUC in your lab, you might want to check to see whether your system might hit that bug &lt;a href="http://ark.intel.com/products/codename/82879/Kaby-Lake"&gt;http://ark.intel.com/products/codename/82879/Kaby-Lake&lt;/a&gt; &lt;a href="http://ark.intel.com/products/codename/37572/Skylake"&gt;http://ark.intel.com/products/codename/37572/Skylake&lt;/a&gt; The link will forward you to a perl script that can help detect if your system is affected or not. Many thanks to Uwe Kleine-König for suggesting, and writing this script. &lt;a href="https://lists.debian.org/debian-devel/2017/06/msg00309.html"&gt;https://lists.debian.org/debian-devel/2017/06/msg00309.html&lt;/a&gt; -&lt;/p&gt;</description></item><item><title>Keynoting Deutsche VMUG and London VMUG</title><link>https://frankdenneman.ai/2017-06-06-keynoting-deutsche-vmug-london-vmug/</link><pubDate>Tue, 06 Jun 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-06-06-keynoting-deutsche-vmug-london-vmug/</guid><description>&lt;p&gt;Later on this month, I will be attending the Deutsche VMUG and the London VMUG. As part of the events, I have the opportunity to deliver the keynote on the upcoming service VMware Cloud on AWS. Many of you will already be aware that &lt;a href="https://twitter.com/NHagoort"&gt;Niels&lt;/a&gt; and I are releasing the &lt;a href="https://twitter.com/HostDeepDive"&gt;VMware vSphere 6.5 Host Resource Deep Dive&lt;/a&gt;. Together we will provide a session at both events zooming into ESXi hosts designs, highlighting some interesting behavior from a component and VMkernel perspective. &lt;a href="https://www.vmug.com/Attend/VMUG-UserCon/Germany-Deutsche-VMUG-UserCon-2017"&gt;DEUTSCHE VMUG USERCON 2017&lt;/a&gt; 14 June 2017 KAP Europa, Kongresshaus der Messe Frankfurt Osloerstrasse 5 Frankfurt am Main, 60327 DE &lt;a href="https://twitter.com/lonvmug"&gt;LONDON VMUG&lt;/a&gt; 22 June 2017 10:00 AM - 5:15 PM (UTC) TechUK 10 St Bride Street London, EC4A 4AD If you can&amp;rsquo;t make it to the LONDON VMUG, join us at vBeers that night. We will be heading over to the &lt;a href="https://www.fourpure.com/"&gt;Fourpure brewing company&lt;/a&gt; at 22 Bermondsey Trading Estate, Rotherhithe New Road, London Hope to see you at one of these events!&lt;/p&gt;</description></item><item><title>Memory-Like Storage Means File Systems Must Change - My Take</title><link>https://frankdenneman.ai/2017-05-25-memory-like-storage-means-file-systems-must-change-take/</link><pubDate>Thu, 25 May 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-05-25-memory-like-storage-means-file-systems-must-change-take/</guid><description>&lt;p&gt;I&amp;rsquo;m an avid reader of &lt;a href="https://www.nextplatform.com/"&gt;thenextplatform.com&lt;/a&gt;. They always provide great insights into new technology. This week they published the article &amp;ldquo;M&lt;a href="https://www.nextplatform.com/2017-05-24-memory-like-storage-means-file-systems-must-change/?utm_content=buffer96c96&amp;amp;utm_medium=social&amp;amp;utm_source=twitter.com&amp;amp;utm_campaign=buffer/"&gt;emory-Like Storage Means File Systems Must Change&lt;/a&gt;&amp;rdquo; and as usually full of good stuff. The focus of this article is about the upcoming non-volatile memory technologies that leverage the memory channel to provide incredible amounts of bandwidth to the storage medium. I can&amp;rsquo;t wait to see this happen and we can start to build systems with performance characteristics that weren&amp;rsquo;t conceivable a half a decade ago. The article mentions 3D XPoint and Intel Apache Pass is the codename for 3D XPoint in DIMM format. It could be NVDIMM it could be something else. We don’t know yet. This article argues that storage systems need to change and I fully agree. If you consider the current performance overhead on recently released PCIe NVMe 3D XPoint devices, it is clear that the system and the software have the largest impact on latency. The solved the device characteristics pretty much; it&amp;rsquo;s now the PCIe bus and the software stack that delays the I/O. Moving to the memory bus makes sense. Less overhead and almost five times the bandwidth. For example, four-lane PCIe 3.0 provides a theoretical bandwidth of close to 4 GB/s while 2400 MHz memory has a peak transfer rate of close to 19 GB/s. This sounds great and very promising, but I do wonder how will it impact memory operations. The key is to deliver an additional level of memory hierarchy, increasing capacity while abstracting the behavior of the new media. It&amp;rsquo;s key to understand that memory is accessed after an L3 miss. It can spend a lot of time waiting on DRAM. A number often heard is that it can spend 19 out of every 20 instruction slots waiting on data from memory. This figure seems accurate as the latency of an instruction inside a CPU register is one ns while memory latency is close to 15 ns. Each core requires memory bandwidth, and this impacts the average memory bandwidth per core. Introducing a media that is magnitudes slower than DRAM can negatively affect the overall system performance. More cycles are wasted on waiting on memory media. Please remember that not every workload is storage I/O bound. Great system design is not only about making I/O faster; it’s about removing bottlenecks in a balanced matter. It’s essential that the storage I/O should not interrupt DRAM traffic. An analogy would be a car that can go 65MPH. The car in front of him drives 55 MPH. By selecting another lane, the slower car does not interfere anymore, and he can drive the speed he wants. The problem is in this lane cars typically drive 200 MPHs. The key point for both NVDIMM as Intel Apache Pass is that adding storage on the memory bus to improve I/O latency should not interfere with DRAM operations. This content is an excerpt of the upcoming &lt;a href="https://twitter.com/hostdeepdive"&gt;vSphere 6.5 Host Resources Deep Dive book&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Virtually Speaking Podcast: VMware Cloud on AWS &amp;amp; HostDeepDive</title><link>https://frankdenneman.ai/2017-05-08-virtually-speaking-podcast-vmware-cloud-aws-hostdeepdive/</link><pubDate>Mon, 08 May 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-05-08-virtually-speaking-podcast-vmware-cloud-aws-hostdeepdive/</guid><description>&lt;p&gt;Last Friday I had the honor to join Pete Fletcha a.k.a. &lt;a href="https://twitter.com/vPedroArrow"&gt;Pedro Arrow&lt;/a&gt; and &lt;a href="https://twitter.com/Lost_Signal"&gt;John Nicholson&lt;/a&gt; on their always fantastic podcast &lt;a href="https://soundcloud.com/virtuallyspeakingpodcast"&gt;Virtually Speaking&lt;/a&gt;. Unfortunately, John was ill that morning, but &lt;a href="https://twitter.com/DuncanYB"&gt;Duncan&lt;/a&gt; helped us out by taking a break from his vacation. We spoke about the upcoming service VMware Cloud on AWS (&lt;a href="https://twitter.com/hashtag/VMWonAWS"&gt;#VMWonAWS&lt;/a&gt;). Why it bring such a tremendous value for customers who are in the process of building a hybrid cloud, and how it can help organizations who are already a customer of both VMware and AWS. Closing off we touched upon the progress of the upcoming book &amp;lsquo;&lt;a href="https://twitter.com/hostdeepdive"&gt;vSphere 6.5 Host Resources Deep Dive&lt;/a&gt;&amp;rsquo;. I had a blast being a guest again, enjoy the show! &lt;a href="https://soundcloud.com/virtuallyspeakingpodcast/episode-43-vmware-cloud-on-aws?utm"&gt;https://soundcloud.com/virtuallyspeakingpodcast/episode-43-vmware-cloud-on-aws?utm&lt;/a&gt;_source=soundcloud&amp;amp;utm_campaign=wtshare&amp;amp;utm_medium=Twitter&amp;amp;utm_content=https%3A//soundcloud.com/virtuallyspeakingpodcast/episode-43-vmware-cloud-on-aws&lt;/p&gt;</description></item><item><title>Impact of CPU Hot Add on NUMA scheduling</title><link>https://frankdenneman.ai/2017-04-14-impact-cpu-hot-add-numa-scheduling/</link><pubDate>Fri, 14 Apr 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-04-14-impact-cpu-hot-add-numa-scheduling/</guid><description>&lt;p&gt;On a regular basis, I receive the question if CPU Hot-add impacts CPU performance of the VM. It depends on the vCPU configuration of the VM. CPU Hot-Add is not compatible with vNUMA, if hot-add is enabled the virtual NUMA topology is not exposed to the guest OS and this may impact application performance. Please note that vNUMA topology is only exposed when the vCPU count of the VM exceeds the core count, thus if the ESXi host contains two CPU packages with 10 cores, the vNUMA topology is presented to the VM if the vCPU count equals 11 or more.&lt;/p&gt;</description></item><item><title>Performance Study: DRS Cluster Management with Reservation and Shares</title><link>https://frankdenneman.ai/2017-04-10-performance-study-drs-cluster-management-reservation-shares/</link><pubDate>Mon, 10 Apr 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-04-10-performance-study-drs-cluster-management-reservation-shares/</guid><description>&lt;p&gt;Last Friday a new performance study was published about DRS Cluster Management. This paper covers the behavior of reservation and shares within a DRS cluster in-depth. It&amp;rsquo;s a great read! And being honest, it&amp;rsquo;s always awesome to see a reference to the vSphere Clustering Deep Dive in official documentation. Download it here: &lt;a href="http://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/drs-cluster-mgmt-perf.pdf"&gt;http://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/drs-cluster-mgmt-perf.pdf&lt;/a&gt;&lt;/p&gt;</description></item><item><title>vSphere 6.5 Host Deep Dive Update</title><link>https://frankdenneman.ai/2017-02-24-vsphere-6-5-host-deep-dive-update/</link><pubDate>Fri, 24 Feb 2017 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2017-02-24-vsphere-6-5-host-deep-dive-update/</guid><description>&lt;p&gt;Maybe you have noticed that no new content has appeared on the site for a while. And the upcoming book “&lt;a href="https://twitter.com/HostDeepDive"&gt;vSphere 6.5 Host Resources Deep Dive&lt;/a&gt;” is to blame for this situation. Last year, &lt;a href="https://twitter.com/NHagoort"&gt;Niels Hagoort&lt;/a&gt; and I started working on the companion book of the highly successful &lt;a href="https://www.facebook.com/clusterindeepdive/"&gt;vSphere Clustering Deep Dive book&lt;/a&gt;. We set out writing this book to refocus on the fundament component of the virtual data center, the ESXi host. Today’s focal point is on upper levels/overlay’s (SDDC stack, NSX, Cloud). These topics are exciting and take IT services to the next level, but we also understand that proper host design and management fabricates the foundation for success. As a result, this book explores the host resources, CPU, memory, storage, and network in depth. Our goal is to provide you with an in-depth view of the four major host resources. Instead of showing you where to click to achieve a certain configuration, we explain the inner-workings of these components and how various physical and virtual constructs interact with each other. &lt;img src="images/HostDeepDiveCover.png" alt="HostDeepDiveCover"&gt; We believe that this method provides a basis – a foundation on its own - that helps you to design and build the best possible architecture that aligns with the customer requirements each and every time. As you can imagine, trying to write a fitting companion to the cluster deep dive is no small feat. Research, reverse engineering and reading through a lot of academic papers consume most of our time besides our day-time job, hence the progress is not as fast as we would like. Expect the book to be released between April and May this year. Working on this book reminds me of the African Proverb “If you want to go quickly, go alone. If you want to go far, go together”. Although Niels and I generate the content, a lot of people are involved ensuring the quality is up to par. Both Niels and I would like to acknowledge the following persons: &lt;a href="https://twitter.com/rimmergram"&gt;Jane Rimmer&lt;/a&gt; (has the challenging task of restructure our content into proper English). Chris Gianos (Lead Engineer of Intel Xeon microarchitecture), Haoqiang Zheng (Principal Engineer CPU Scheduler VMkernel) Valentin Bondzio (All-Star Badass GSS VMware) &lt;a href="https://twitter.com/DuncanYB"&gt;Duncan Epping&lt;/a&gt; (Chief Technologist Storage BU VMware) &lt;a href="https://twitter.com/vMBaggum"&gt;Marco van Baggum&lt;/a&gt; (Architect ITQ) &lt;a href="https://twitter.com/mylesagray"&gt;Myles Gray&lt;/a&gt; (Infrastructure Engineer Novosco) &lt;a href="https://twitter.com/RutgerKosters"&gt;Rutger Kosters&lt;/a&gt; (Solution Architect Rubrik) &lt;a href="https://twitter.com/anthonyspiteri"&gt;Anthony Spiteri&lt;/a&gt; (Technical Evanglist Veeam Software) &lt;a href="https://twitter.com/jjjcarels"&gt;Joop Carels&lt;/a&gt; (Sr. Solution Integrator Ericsson) We expect to publish the book in print in the April/May timeframe. An ebook version will be scheduled to appear at the end of this year. Throughout the writing process, we update the books’ &lt;a href="https://twitter.com/HostDeepDive"&gt;twitter account (@HostDeepDive)&lt;/a&gt; and &lt;a href="https://www.facebook.com/HostDeepDive/"&gt;Facebook page&lt;/a&gt; with sneak peeks and interesting reference material such as academic papers. Please subscribe to these channels to receive updates.&lt;/p&gt;</description></item><item><title>Decoupling of Cores per Socket from Virtual NUMA Topology in vSphere 6.5</title><link>https://frankdenneman.ai/2016-12-12-decoupling-cores-per-socket-virtual-numa-topology-vsphere-6-5/</link><pubDate>Mon, 12 Dec 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-12-12-decoupling-cores-per-socket-virtual-numa-topology-vsphere-6-5/</guid><description>&lt;p&gt;Some changes are made in ESXi 6.5 with regards to sizing and configuration of the virtual NUMA topology of a VM. A big step forward in improving performance is the decoupling of Cores per Socket setting from the virtual NUMA topology sizing.&lt;/p&gt;
&lt;p&gt;Understanding elemental behavior is crucial for building a stable, consistent and proper performing infrastructure. If you are using VMs with a non-default Cores per Socket setting and planning to upgrade to ESXi 6.5, please read this article, as you might want to set a host advanced settings before migrating VMs between ESXi hosts. More details about this setting is located at the end of the article, but let’s start by understanding how the CPU setting Cores per Socket impacts the sizing of the virtual NUMA topology.&lt;/p&gt;</description></item><item><title>VMware Cloud on AWS at re:Invent</title><link>https://frankdenneman.ai/2016-11-22-vmware-cloud-aws-reinvent/</link><pubDate>Tue, 22 Nov 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-11-22-vmware-cloud-aws-reinvent/</guid><description>&lt;p&gt;Thank you for all the great feedback since we announced our partnership with Amazon Web Services (AWS) on October 13! We have seen a lot of interest for VMware Cloud on AWS (VMC) from customers, partners, industry analysts, and social media. Following on from the announcement in San Francisco, we went on to Barcelona for VMworld Europe, and had multiple sold out sessions with our customers and partners in attendance. The #VMWonAWS hashtag on Twitter was pretty active as well, and we had our hands full answering all your questions! Next stop is AWS re:Invent in Las Vegas, unfortunately I won&amp;rsquo;t be at re:Invent, but the core group of VMware on AWS cloud product team is. VMware is a Platinum Sponsor at re:Invent and the team to eager to talk about the service offering, use cases, architecture, Tech Preview demos and a lot more. Here are the top three ways to get the most out of re:Invent: &lt;a href="https://www.portal.reinvent.awsevents.com/connect/search.ww?searchPhrase=ENT317"&gt;ENT317 - VMware and AWS Together - VMware Cloud on AWS&lt;/a&gt; &lt;strong&gt;Thursday, Dec 1, 2:00 PM - 3:00 PM&lt;/strong&gt; Location: Venetian Level 3, Murano 3205 (please check exact location on the portal) Speakers: &lt;a href="https://twitter.com/matt_dreyer"&gt;Matt Dreyer&lt;/a&gt;, VMware Product Management, &lt;a href="https://www.linkedin.com/in/pbockelman"&gt;Paul Bockelman&lt;/a&gt; - AWS Sr. Solutions Architect Description: VMware CloudTM on AWS brings VMware’s enterprise class Software-Defined Data Center software to Amazon’s public cloud, delivered as an on-demand, elastically scalable, cloud-based VMware sold, operated and supported service for any application and optimized for next-generation, elastic, bare metal AWS infrastructure. This solution enables customers to use a common set of software and tools to manage both their AWS-based and on-premises vSphere resources consistently. Further virtual machines in this environment have seamless access to the broad range of AWS services as well. This session will introduce this exciting new service and examine some of the use cases and benefits of the service. The session will also include a VMware Tech Preview that demonstrates standing up a complete SDDC cluster on AWS and various operations using standard tools like vCenter. &lt;a href="https://www.portal.reinvent.awsevents.com/connect/search.ww?searchPhrase=PTS205"&gt;PTS205 - VMware Cloud on AWS&lt;/a&gt; &lt;strong&gt;Wednesday, Nov 30, 1:30 PM - 1:45 PM&lt;/strong&gt; Location: Partner Theater - Expo Hall Speaker: &lt;a href="https://twitter.com/marcumeno"&gt;Marc Umeno&lt;/a&gt;, VMware Product Management Description: Learn about how VMware and AWS are joining hands to deliver a new vSphere-based service running on next-generation, elastic, bare-metal AWS infrastructure with seamless integration with AWS services. VMware Booth 2525 at Sands Expo, Hall D. F&lt;a href="http://s15.a2zinc.net/clients/T3Expo/AWSreInvent2016/Public/Eventmap.aspx?shmode=E"&gt;ull exhibitor list and map is here&lt;/a&gt; Tue Nov 29th 5-7 pm ; Wed Nov 30th 10:30am-6pm ; Thu Dec 1st 10:30am-6pm Description: We have three demo pods: a) VMware Cloud on AWS, b) Networking &amp;amp; Security, and c) Cloud Management Beyond the sessions and booth, you can also engage with us using the following means: Sign up for [Beta, news updates, or both](http://Sign up for Beta, news updates) Follow us on Twitter &lt;a href="https://twitter.com/vmwarecloud"&gt;@vmwarecloud&lt;/a&gt; Ask a question, share a use case, or just give us a shout out using &lt;a href="https://twitter.com/#VMWonAWS"&gt;#VMWonAWS&lt;/a&gt; hashtag Pick a &lt;a href="https://calendly.com/vmware/reinvent"&gt;30 minute slot&lt;/a&gt; to talk to a member of the VMware Cloud on AWS product team 1:1 Thank you and we hope to see you there! &lt;a href="https://www.youtube.com/watch?v=wBai31IywlI&amp;amp;t=49s"&gt;https://www.youtube.com/watch?v=wBai31IywlI&amp;amp;t=49s&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My thought on 800 page VCDX designs</title><link>https://frankdenneman.ai/2016-11-15-thought-800-page-vcdx-designs/</link><pubDate>Tue, 15 Nov 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-11-15-thought-800-page-vcdx-designs/</guid><description>&lt;p&gt;Although I’m not participating in the VCDX program any more, I still hold it dear to my heart. Many aspiring VCDX’es approach me and seek guidance on how to successfully pass the last part of the VCDX process, the defense. Typically this starts with the discussion on the design itself and particularly how many pages the design should be comprised off. I heard stories about people advocating 800 page designs. And that makes me laugh, but mostly cry. Let’s go back to the essence of the program and understand that the VCDX program has been erected with the idea to validate that someone is a skilled architect. That they can assist IT-organizations into building a successful vSphere architecture. In short, it’s just a stamp of approval of your skill as an architect. Now with that in mind, how many skilled architects hand in an 800 page vSphere design document to a customer? How many customers would accept that? We are not in the business of writing the next Lord of the Rings novel. I worked on complex and massive architectures and most designs didn’t touch 150 pages. When reviewing such 800 page designs, I noticed it’s more a cut and paste of official documentation on how a certain features work. It’s imperative that you know the inner workings of the pillars and foundation of your architecture. But your design should not be a thesis or a showcase of your knowledge of the products. A design should highlight the requirements, the constraints and the chosen direction and technology. It should explain the workings of the used technology in a short and concise manner. Explain how this technology meet the customer requirements and if certain constraints require you to deviate from the default settings. Document thoroughly the effect the chose design on the service levels of the applications and architecture. I feel that some people try to portray the defense as this herculean feat. And to be honest, if you haven’t operated as an architect for multiple customers, it might feel that way. But if you are the architect that has worked on multiple designs, that recognizes the risk-awareness culture differences between companies and how to cater to this need. That can drill down to the essence and explain why a certain requirement impacts a design decision and what effect this has on service levels or other requirements you should be fine! Try to not to see it as the Mount Everest of your career, see it passing the defense as ceremony that validates your upward path of being a great architect. Do what you&amp;rsquo;ve always have been doing. If you provided your customers with 100 to 200 page designs, keep on doing that and submit such a design for your VCDX defense.&lt;/p&gt;</description></item><item><title>Host not Ready Error When Installing NSX Agents</title><link>https://frankdenneman.ai/2016-11-04-host-not-ready/</link><pubDate>Fri, 04 Nov 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-11-04-host-not-ready/</guid><description>&lt;p&gt;Management summary: Make sure your NSX Controller is connected a distributed vSwitch instead of the standard vSwitch During the install process of NSX, my environment refused to install the NSX agents on the host. When you prepare the host clusters for network virtualization a collection of VIBs are installed on each ESXi Node of the selected cluster. This process installs the functionality such as Distributed Routing, Distributed Firewalls and the user world agent that allows the distributed vSwitch to evolve into a NSX Virtual Switch. Unfortunately, this process didn&amp;rsquo;t go as smooth as the other processes such as installing the NSX Manager and deploying the NSX Controller. Each time I selected Install at Host Preparation, (Within vCenter, select Networking &amp;amp; Security &amp;gt; Installation &amp;gt; Host Preparation. Select the cluster and click the Install link) the process returned an error &amp;ldquo;Host Not Ready&amp;rdquo;.The recent task view showed that the task cannot be completed &lt;img src="images/NSX-agent-01.png" alt="nsx-agent-01"&gt; Events shows the following entry: &lt;img src="images/NSX-agent-02.png" alt="nsx-agent-02"&gt; Not very helpful in order to troubleshoot the error. I followed the &lt;a href="https://kb.vmware.com/kb/2075600"&gt;KB article 2075600&lt;/a&gt; (Installation Status appears as Not Ready in NSX (2075600), and made sure &lt;a href="https://frankdenneman.ai/2016-06-03-home-lab-fundamentals-time-sync/"&gt;time&lt;/a&gt; and &lt;a href="https://frankdenneman.ai/2016-06-13-home-lab-fundamentals-dns-reverse-lookup-zones/"&gt;DNS&lt;/a&gt; were set up correctly. But unfortunately, it didn&amp;rsquo;t solve the problem. Until I started to dissect the process of what Install at the Host Preparation actually does and how the components connect to each other. This made me review the settings of the NSX Manager and discovered I selected the port group designated for my management VMs on the standard switch instead of the distributed switch. It makes sense to connect it to a Distributed Switch, maybe this is the reason why many write-ups on how to install NSX assume this is basically knowledge and fail to list it as a requirement. The UI allows you to select a standard vSwitch Port Group or a Distributed Port Group. Don&amp;rsquo;t make the same mistake I made and make sure you select the appropriate Distributed Port Group. &lt;img src="images/NSXController-Distributed-Port-Group.png" alt="nsxcontroller-distributed-port-group"&gt;&lt;/p&gt;</description></item><item><title>VMware Cloud on AWS - Elastic DRS preview</title><link>https://frankdenneman.ai/2016-10-18-vmware-cloud-aws-elastic-drs/</link><pubDate>Tue, 18 Oct 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-10-18-vmware-cloud-aws-elastic-drs/</guid><description>&lt;p&gt;The VMworld Europe keynote featured the future VMware Cloud on AWS services. In short this services gives VMware customers instant scale and global reach delivered by AWS while continuing to use their own skill set driving and operating VMware SDDC environments on-prem and in-cloud. Avoid the risk that comes with re-platforming, re-architecting current application landscape to run on a different platform while providing the same service. In turn it allows the IT organization to connect the current applications with AWS vast service catalog and use services like RDS, Red Shift, Glacier and many more. One of the interesting features that is under tech preview is Elastic DRS. Elastic DRS helps to solve one of the toughest challenges an IT architect can face: capacity planning. Major key points of capacity planning are current and future resource demand, failure recovery capacity and maintenance capacity. Finding the right balance between maintaining workload performance versus the downside of CAPEX and OPEX of reserved failover capacity is difficult. By leveraging the IT-at-scale operations of AWS, Elastic DRS transforms vSphere clusters into an agility powerhouse.   Rapid scaling ability allows to add additional hosts to the cluster. No more ordering new hardware, racking and stacking, just add the new host to the cluster with a right-click of the mouse. By using native metrics, DRS can detect that the cluster is running out of host resources and presents a recommendation of adding another host. Like regular DRS, you can also put Elastic DRS into automatic mode and allow it to add or remove hosts based on observed load on the cluster. &lt;img src="images/elastic-DRS-750x422.png" alt="elastic-drs"&gt; Sometimes we forget how extremely complex running IT at super scale is. Automating the install, configuration and operaing one host is interesting, doing this by the dozen is already pushing the limits for a lot of IT organizations. Now think about this doing it in more than a dozen datacenters around the world at the same time while being required to do it instantly when a customer wants this. Undeniably impressive. When joining the team, learning about Elastic DRS was exciting, understanding how this works for all the customers on all the AWS datacenters around the world is just mind-blowing! IT-at-Scale to its finest. When you have ready-to-go ESXi hosts at your fingertips it allows you to do so many cool things , for example allow DRS to aid and assist vSphere HA. Since ESXi 3.0, vSphere HA has ensured that workloads are restarted on the surviving hosts in the cluster. However, when a host outage is not temporary, but permanently, application performance can be impacted due to the reduction of available host resources on a longer term. Auto remediation helps to address this challenge. Auto remediation builds upon Elastic DRS and ensures that the available host resources remain consistent during an ESXi host outage. When a host failure is detected, auto remediation adds another hosts to the cluster, ensuring that the workload performance will not be impacted in the long run by a host failure. If partial (hardware) failure occurs, auto remediation ensures that VSAN operations complete before ejecting the degraded host.   Another benefit of this framework is the ability to retain similar levels of resources during maintenance. Typically during maintenance operations, hosts are patched and temporarily unavailable to run and service applications. Many IT organizations deal with this situation, by either &amp;ldquo;oversizing&amp;rdquo; cluster or by offering SLA&amp;rsquo;s that provides a reduced service during maintenance hours. With Elastic DRS, the cluster size is not reduced during maintenance operations. This way workloads are not impacted by a loss of resources and continue to perform similarly as to normal operation hours. To emphasize this is a a technical preview of a service that is not operational yet. For more info about VMware Cloud on AWS, take &lt;a href="https://frankdenneman.ai/2016-10-13-vmware-cloud-aws-closer-look/"&gt;a closer look&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>VMware Cloud™ on AWS – A Closer Look</title><link>https://frankdenneman.ai/2016-10-13-vmware-cloud-aws-closer-look/</link><pubDate>Thu, 13 Oct 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-10-13-vmware-cloud-aws-closer-look/</guid><description>&lt;p&gt;After a long time of keeping this silent, I can finally share a little bit what I&amp;rsquo;ve been focussing on at VMware. (This is a repost of content on blogs.vmware.com) Today, VMware and Amazon Web Services (AWS) are announcing a strategic partnership providing the ability to run a full VMware Software Defined Data Center (SDDC) as a cloud service on AWS. This service will include all the enterprise tools you’re familiar with including vSphere, ESXi, VSAN and NSX. This article provides a technical preview of the new service VMware Cloud on AWS (VMC), allowing me to give you a sneak peak of the incredibly cool stuff that is coming. &lt;img src="images/VMware-AWS_750-750x105.png" alt="vmware-aws_750"&gt; This architecture is a match made in heaven if you ask me. It allows administrators and architects that are used to vSphere to leverage the agility of AWS without re-architecting applications and reconstructing operational procedures. One great advantage is that vCenter will be the main platform of operations, therefore all tools that you currently run against vCenter in your on-premises vSphere deployment will work with the in-cloud SDDC environment. All these tools and functionalities that have been developed over the years are now coming together and provide an environment that allows workload mobility between clouds while pushing data center agility to new levels. In short, once signed up, select a cluster size and a SDDC environment is created for you in a very short time. To emphasize (and to avoid any misconception), the VMware cloud will run on native ESX on next-generation, bare metal AWS Infrastructure. The VMware cloud will be deployed as a private cloud containing vSphere ESXi hosts, VSAN and NSX on AWS infrastructure. This will allow you to run enterprise workloads with the same performance, reliability and availability levels as your on-premises vSphere deployments but now on an AWS architecture. The main difference between the on-prem and in-cloud deployment is that VMware manages and operates the infrastructure of the VMware Cloud on AWS. &lt;img src="images/AWSDCs_VMC_750-750x388.png" alt="awsdcs_vmc_750"&gt; It is important to note here that this is a fully managed service. That is to say, VMware will install, manage and maintain the underlying ESXi, VSAN, vCenter and NSX infrastructure. Routine operations like patching or hardware failure remediation will be taken care of by VMware as part of the service. Customers will have delegated permissions to things like vCenter and will be able to use vCenter to perform administrative tasks but there will be some actions like patching which VMware will provide to you as part of the service. This means that VMware takes care of the core infrastructure in partnership with AWS. VMware Cloud on AWS will be available as a stand-alone deployment, as a Hybrid cloud deployment or as a cloud-to-cloud deployment. With hybrid and cloud-to-cloud deployments, vCenter enhanced linked-mode provides a single pane of glass that assists IT operation teams to manage the SDDC deployments from a centralized console. NSX extends this single pane of glass by providing consistent network and security services between the various deployments. However, NSX is not a requirement! If you are not running NSX on premise right now, you will still be able to run VMware Cloud on AWS but you won’t be able to utilize the hybrid cloud features of NSX until you do. With the ability to span networks and clouds, vMotion provides workload mobility, allowing the movement of workloads in and out the various cloud deployments. Yes, you read that correctly, you can vMotion from your existing on-premises vSphere environment to AWS! One of the interesting concepts is elastic scaling. Elastic scaling would help to solve one of the toughest challenges an IT architect can face: capacity planning. Major key points of capacity planning are current and future resource demand, failure recovery capacity and maintenance capacity. Finding the right balance between maintaining workload performance versus the downside of CAPEX and OPEX of reserved failover capacity is difficult. Think about how elastic scaling would transform vSphere clusters into agile powerhouses. Instead of going through the tedious procuring and installing process yourself, benefit from the IT-at-scale mindset and services delivered by AWS. Since ESXi 4.0, vSphere HA has enabled workloads to restart the surviving hosts in the cluster. However, when a host outage is not temporary, host resources can become constrained due to the reduction of the available hosts. Auto-remediation can builds upon DR solutions ensuring available host resources remain consistent during an ESXi host outage. When a host failure is detected, auto-remediation adds other hosts to the cluster, ensuring that the workload performance will not be impacted in the long run by a host failure. If partial (hardware) failure occurs, auto-remediation ensures that VSAN operations complete before ejecting the degraded host. Another benefit of this framework is the ability to retain similar levels of resources during maintenance. During maintenance operations, the cluster size is not reduced, workloads are not impacted by a loss of resources and continue to perform similarly as to normal operation hours. I believe one of the strengths of VMware Cloud on AWS service is that it allows administrators, operation teams and architects to use their existing skill set and tools to consume AWS infrastructure. You can move workloads to the cloud without having to replatform them in any way, no conversion of virtual machines, no repackaging and very important no extensive testing, you just migrate the VM. Another strength it the ability to pair current workloads with the advanced feature set of AWS. As a result, IT teams will be able to extend their skill set discovering the vast catalog of services AWS has to offer. This creates an environment that works seamlessly with both on-premises private clouds and advanced AWS Public Cloud Services. There are so many other great features that I want to cover, but let&amp;rsquo;s save that for future articles.&lt;/p&gt;</description></item><item><title>This blog has been hacked by vS0ciety</title><link>https://frankdenneman.ai/2016-09-27-blog-hacked-vs0ciety/</link><pubDate>Tue, 27 Sep 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-09-27-blog-hacked-vs0ciety/</guid><description>&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/JPLj5sfmrpo" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;Follow us &lt;a href="https://twitter.com/vS0ciety"&gt;@vS0ciety&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VMworld Geek Whisperers Podcast - Choosing Titles You Want To Have</title><link>https://frankdenneman.ai/2016-09-21-vmworld-geek-whisperers-podcast-choosing-titles-want/</link><pubDate>Wed, 21 Sep 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-09-21-vmworld-geek-whisperers-podcast-choosing-titles-want/</guid><description>&lt;p&gt;&lt;a href="https://twitter.com/commsninja"&gt;Amy Lewis&lt;/a&gt; asked me to appear on the Geek Whisperers Live podcast at VMworld 2016 in Las Vegas. And as always I had a blast discussing various topics with &lt;a href="https://twitter.com/commsninja"&gt;Amy&lt;/a&gt;, &lt;a href="https://twitter.com/mjbrender"&gt;Matt&lt;/a&gt;, and &lt;a href="https://twitter.com/jtroyer"&gt;John&lt;/a&gt;. In this talk, we spoke about becoming an evangelist, what the challenges are as an evangelist and why you won&amp;rsquo;t want to pick the title of evangelist yourself. &lt;img src="images/Frank_Denneman_at_Geek_Whisperers-750x407.jpg" alt="frank_denneman_at_geek_whisperers"&gt; Of course, while interacting with this magnificent group of people you tend to talk about a lot more things. So go on and check it out, I had a blast doing it. &lt;a href="http://geek-whisperers.com/2016/09/choosing-titles-you-want-to-have-wfrank-denneman-at-vmworld-2016-episode-120/"&gt;http://geek-whisperers.com/2016/09/choosing-titles-you-want-to-have-wfrank-denneman-at-vmworld-2016-episode-120/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>I&amp;#039;m Coming Home</title><link>https://frankdenneman.ai/2016-08-30-im-coming-home/</link><pubDate>Tue, 30 Aug 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-08-30-im-coming-home/</guid><description>&lt;p&gt;I&amp;rsquo;m excited to announce that I&amp;rsquo;ve accepted a position at VMware as Senior Staff Architect. I can&amp;rsquo;t share the details of this next-level product that I will be working on right now. But I look forward to sharing more information when the time is right. I cannot wait to get started. #GameOn!&lt;/p&gt;</description></item><item><title>NUMA Deep Dive Part 5: ESXi VMkernel NUMA Constructs</title><link>https://frankdenneman.ai/2016-08-22-numa-deep-dive-part-5-esxi-vmkernel-numa-constructs/</link><pubDate>Mon, 22 Aug 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-08-22-numa-deep-dive-part-5-esxi-vmkernel-numa-constructs/</guid><description>&lt;p&gt;ESXi Server is optimized for NUMA systems and contains a NUMA scheduler and a CPU scheduler. When ESXi runs on a NUMA platform, the VMkernel activates the NUMA scheduler. The primary role of the NUMA scheduler is to optimize the CPU and memory allocation of virtual machines by managing the initial placement and load balance virtual machine workloads dynamically across the NUMA nodes. Allocation of physical CPU resources to virtual machines is carried out by the CPU scheduler.&lt;/p&gt;</description></item><item><title>NUMA Deep Dive Part 4: Local Memory Optimization</title><link>https://frankdenneman.ai/2016-07-13-numa-deep-dive-4-local-memory-optimization/</link><pubDate>Wed, 13 Jul 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-07-13-numa-deep-dive-4-local-memory-optimization/</guid><description>&lt;p&gt;If a cache miss occurs, the memory controller responsible for that memory line retrieves the data from RAM. Fetching data from local memory could take 190 cycles, while it could take the CPU a whopping 310 cycles to load the data from remote memory. Creating a NUMA architecture that provides enough capacity per CPU is a challenge considering the impact memory configuration has on bandwidth and latency. &lt;a href="https://frankdenneman.ai/2016-07-08-numa-deep-dive-part-2-system-architecture/"&gt;Part 2&lt;/a&gt; of the NUMA Deep Dive covered QPI bandwidth configurations, with the QPI bandwidth &amp;lsquo;restrictions&amp;rsquo; in mind, optimizing the memory configuration contributes local access performance the most. Similar to CPU, memory is a very complex subject and I cannot cover all the intricate details in one post. Last year I published the &lt;a href="https://frankdenneman.ai/2015-02-18-memory-configuration-scalability-blog-series/"&gt;memory deep dive series&lt;/a&gt; and I recommend to review that series as well to get a better understanding of the characteristics of memory.&lt;/p&gt;</description></item><item><title>NUMA Deep Dive Part 3: Cache Coherency</title><link>https://frankdenneman.ai/2016-07-11-numa-deep-dive-part-3-cache-coherency/</link><pubDate>Mon, 11 Jul 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-07-11-numa-deep-dive-part-3-cache-coherency/</guid><description>&lt;p&gt;When people talk about NUMA, most talk about the RAM and the core count of the physical CPU. Unfortunately, the importance of cache coherency in this architecture is mostly ignored. Locating memory close to CPUs increases scalability and reduces latency if data locality occurs. However, a great deal of the efficiency of a NUMA system depends on the scalability and efficiency of the cache coherence protocol! When researching the older material of NUMA, today&amp;rsquo;s architecture is primarily labeled as ccNUMA, Cache Coherent NUMA.&lt;/p&gt;</description></item><item><title>NUMA Deep Dive Part 2: System Architecture</title><link>https://frankdenneman.ai/2016-07-08-numa-deep-dive-part-2-system-architecture/</link><pubDate>Fri, 08 Jul 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-07-08-numa-deep-dive-part-2-system-architecture/</guid><description>&lt;p&gt;Reviewing the physical layers helps to understand the behavior of the CPU scheduler of the VMkernel. This helps to select a physical configuration that is optimized for performance. This part covers the Intel Xeon microarchitecture and zooms in on the Uncore. Primarily focusing on Uncore frequency management and QPI design decisions.&lt;/p&gt;
&lt;h4 id="terminology"&gt;Terminology&lt;/h4&gt;
&lt;p&gt;There a are a lot of different names used for something that is apparently the same thing. Let&amp;rsquo;s review the terminology of the Physical CPU and the NUMA architecture. The CPU package is the device you hold in your hand, it contains the CPU die and is installed in the CPU socket on the motherboard. The CPU die contains the CPU cores and the system agent. A core is an independent execution unit and can present two virtual cores to run simultaneous multithreading (SMT). Intel proprietary SMT implementation is called Hyper-Threading (HT). Both SMT threads share the components such as cache layers and access to the scalable ring on-die Interconnect for I/O operations. &lt;img src="images/03-01-System_socket_die_core_HT.svg" alt="03-01-System_socket_die_core_HT"&gt; Interesting entomology; The word &amp;ldquo;die&amp;rdquo; is the singular of dice. Elements such as processing units are produced on a large round silicon wafer. The wafer is cut &amp;ldquo;diced&amp;rdquo; into many pieces. Each of these pieces is called a die.&lt;/p&gt;</description></item><item><title>NUMA Deep Dive Part 1: From UMA to NUMA</title><link>https://frankdenneman.ai/2016-07-07-numa-deep-dive-part-1-uma-numa/</link><pubDate>Thu, 07 Jul 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-07-07-numa-deep-dive-part-1-uma-numa/</guid><description>&lt;p&gt;Non-uniform memory access (NUMA) is a shared memory architecture used in today&amp;rsquo;s multiprocessing systems. Each CPU is assigned its own local memory and can access memory from other CPUs in the system. Local memory access provides a low latency - high bandwidth performance. While accessing memory owned by the other CPU has higher latency and lower bandwidth performance. Modern applications and operating systems such as ESXi support NUMA by default, yet to provide the best performance, virtual machine configuration should be done with the NUMA architecture in mind. If incorrect designed, inconsequent behavior or overall performance degradation occurs for that particular virtual machine or in worst case scenario for all VMs running on that ESXi host. This series aims to provide insights of the CPU architecture, the memory subsystem and the ESXi CPU and memory scheduler. Allowing you in creating a high performing platform that lays the foundation for the higher services and increased consolidating ratios. Before we arrive at modern compute architectures, it&amp;rsquo;s helpful to review the history of shared-memory multiprocessor architectures to understand why we are using NUMA systems today.&lt;/p&gt;</description></item><item><title>Introduction 2016 NUMA Deep Dive Series</title><link>https://frankdenneman.ai/2016-07-06-introduction-2016-numa-deep-dive-series/</link><pubDate>Wed, 06 Jul 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-07-06-introduction-2016-numa-deep-dive-series/</guid><description>&lt;p&gt;Recently I&amp;rsquo;ve been analyzing traffic to my site and it appears that a lot CPU and memory articles are still very popular. Even my &lt;a href="https://frankdenneman.ai/2010-02-03-sizing-vms-and-numa-nodes/"&gt;first article&lt;/a&gt; about NUMA published in february 2010 is still in high demand. And although you see a lot of talk about the upper levels and overlay technology today, the focus on proper host design and management remains. After all, it&amp;rsquo;s the correct selection and configuration of these physical components that produces a consistent high performing platform. And it&amp;rsquo;s this platform that lays the foundation for the higher services and increased consolidating ratios.&lt;/p&gt;</description></item><item><title>Top 5 vBlog Again, Thanks!!!!</title><link>https://frankdenneman.ai/2016-07-01-top-5-vblog/</link><pubDate>Fri, 01 Jul 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-07-01-top-5-vblog/</guid><description>&lt;p&gt;Yesterday the &lt;a href="http://vsphere-land.com/news/announcing-the-top-vblog-2016-results.html"&gt;top 25 vBlogs&lt;/a&gt; were announced and once again I&amp;rsquo;m in the top 5. I would like to thank all who have voted for me! It&amp;rsquo;s great to see that the content is appreciated. The broadcast: &lt;a href="https://youtu.be/-Kb6gAys0jc"&gt;https://youtu.be/-Kb6gAys0jc&lt;/a&gt; Looking forward, there is a lot of content getting ready to be published and I hope to release my 5th book this year, the vSphere 6.x host resource deep dive. I&amp;rsquo;m excited about the content I&amp;rsquo;m working on and I&amp;rsquo;ll hope you guys will too! Thanks! Frank&lt;/p&gt;</description></item><item><title>New Home Lab Hardware - Dual Socket Xeon v4</title><link>https://frankdenneman.ai/2016-06-22-new-home-lab-hardware-dual-socket-xeon-v4/</link><pubDate>Wed, 22 Jun 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-06-22-new-home-lab-hardware-dual-socket-xeon-v4/</guid><description>&lt;p&gt; &lt;/p&gt;
&lt;h2 id="a-new-challenge---a-new-system-for-the-home-lab"&gt;A new challenge - a new system for the home lab&lt;/h2&gt;
&lt;p&gt;About one year ago my home lab was expanded with a third server and a fresh coat of networking. During this upgrade, which you can read at &amp;ldquo;&lt;a href="https://frankdenneman.ai/2015-06-04-when-your-home-lab-turns-into-a-home-dc/"&gt;When your Home Lab turns into a Home DC&lt;/a&gt;&amp;rdquo; I faced the dilemma of adding new a new generation of CPU (Haswell) or expanding the hosts with another Ivy Bridge system. This year I&amp;rsquo;ve proceeded to expand my home lab with a dual Xeon system, and decided to invest in the latest and greatest hardware available. Like most good tools, you buy them for the next upcoming job, but in the end, you will use it for countless other projects. I expect the same thing with this year&amp;rsquo;s home lab &amp;lsquo;augmentation&amp;rsquo;. Initially, the dual socket system will be used to test and verify the theory published in the upcoming book &amp;ldquo;vSphere 6 Host resource deep dive&amp;rdquo; and the accompanying VMworld presentation (&lt;a href="http://www.vmworld.com/uscatalog.jspa?search=8430"&gt;session id 8430&lt;/a&gt;), but I have a feeling that it&amp;rsquo;s going to become my default test platform. Besides the dual socket system, the Intel Xeon 1650 v2 servers are expanded with more memory and a Micron 9100 PCIe NVMe SSD 1.2 TB flash device. Listed below is the bill of materials of the dual socket system:&lt;/p&gt;</description></item><item><title>vSphere 6.x host resource deep dive session (8430) accepted for VMworld US and Europe</title><link>https://frankdenneman.ai/2016-06-16-vsphere-6-x-host-resource-deep-dive-session-8430-accepted-for-vmworld-us-and-europe/</link><pubDate>Thu, 16 Jun 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-06-16-vsphere-6-x-host-resource-deep-dive-session-8430-accepted-for-vmworld-us-and-europe/</guid><description>&lt;p&gt;Yesterday both &lt;a href="https://twitter.com/NHagoort"&gt;Niels&lt;/a&gt; and I received the congratulatory message from the &lt;a href="https://www.vmworld.com/en/index.html"&gt;VMworld&lt;/a&gt; team, informing us that our session is accepted for both VMworld US and Europe. We are both very excited that our session was selected and we are looking forward at presenting to the VMworld audience. Our session is called the &lt;strong&gt;vSphere 6.x host resource deep dive&lt;/strong&gt; (session ID 8430) and is an abstract of our similar titled book (publish date will be disclosed soon). &lt;strong&gt;Session Outline&lt;/strong&gt; Today’s focus is on upper levels/overlay’s (SDDC stack, NSX, Cloud) but proper host design and management still remains the foundation of success. With the introduction of these new &amp;lsquo;overlay&amp;rsquo; services, we are presented with a new consumer of host resources. Ironically it&amp;rsquo;s the attention to these abstraction layers that returns us to focusing on individual host components. Correct selection and configuration of these physical components leads to creating a stable high performing platform, that lays the foundation for the higher services and increased consolidating ratios. Topics we will address in this presentation are: The introduction of NUMA (Non-Uniform Memory Access) required changes in memory management. Host physical memory is now split into local and remote memory structures for CPUs that can impact virtual machine performance. We will discuss how to right size your VMs CPU and memory configuration in regards to NUMA and vNUMA VMkernel CPU scheduler characteristics. Processor speed and core counts are important factors when designing a new server platform. However with virtualization platforms the memory subsystem can have equal or sometimes even have a greater impact on application performance than the processor speed. In this talk we focus on physical memory configurations. Providing consistent performance is key to predictable application behavior. It benefits day-to-day customer satisfaction and helps reduce application performance troubleshooting. This talk covers flash architecture and highlights the differences between the predominant types of local storage technologies. We look closer into recurring questions about virtual networking. For example, how many resources does the VMkernel claim for networking, what impact does a vNIC type has on resource consumption. Such info allows you to get better grips on sizing your virtual datacenter for NFV workloads. &lt;strong&gt;Key Takeaway 1:&lt;/strong&gt; Identifying how proper NUMA and physical memory configuration allows for increased VM performance &lt;strong&gt;Key Takeaway 2:&lt;/strong&gt; What is the impact of virtual network services on consumption of host compute resources? &lt;strong&gt;Key Takeaway 3:&lt;/strong&gt; How next-gen storage components lead to low latency, higher bandwidth and increased scalability. &lt;strong&gt;Key dates:&lt;/strong&gt; VMworld US takes place at Mandalay Bay Hotel &amp;amp; Convention Center in Las Vegas, NV from August 28 -  September 1, 2016 VMworld Europe takes place at Fira Barcelona Gran Via in Barcelona, Spain from 17 - 20 October, 2016 &lt;strong&gt;Repeat the feat&lt;/strong&gt; Five years ago Duncan and I got this room completely full with our vSphere Clustering Deepdive Q&amp;amp;A, I would love to repeat that feat doing a Host deep dive session. I hope to see you all in our session! &lt;img src="images/Room-750x563.jpg" alt="Room"&gt;&lt;/p&gt;</description></item><item><title>Home Lab Fundamentals: DNS Reverse Lookup Zones</title><link>https://frankdenneman.ai/2016-06-13-home-lab-fundamentals-dns-reverse-lookup-zones/</link><pubDate>Mon, 13 Jun 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-06-13-home-lab-fundamentals-dns-reverse-lookup-zones/</guid><description>&lt;p&gt;&lt;img src="images/unless-its-a-time-sync-issue-750.png" alt="unless its a time sync issue-750"&gt; When starting your home lab, all hints and tips are welcome. The community is full of wisdom, yet sometimes certain topics are taken for granted or are perceived as common knowledge. The &lt;a href="https://frankdenneman.ai/2016-06-03-home-lab-fundamentals-time-sync/"&gt;Home Lab fundamentals series&lt;/a&gt; focusses on these subjects, helping you how to avoid common pitfalls that provide headaches and waste incredible amounts of time. One thing we always keep learning about vSphere is that both time and DNS needs to be correct. DNS resolution is important to many vSphere components. You can go a long way without DNS and use IP-addresses within your lab, but at one point you will experience weird behavior or installs just stop without any clear explanation.In reality vSphere is build for professional environments where it&amp;rsquo;s expected that proper networking structure is in place, physical and logical. When reviewing a lot of community questions, blog posts and tweets, it appears that DNS is partially setup, i.e. only forward lookup zones are configured. And although it appears to be &amp;lsquo;&amp;lsquo;just enough DNS to get things going, many have experienced that their labs start to behave differently when no reverse lookup zones are present. Time-outs or delays are more frequent, the whole environment isn&amp;rsquo;t snappy anymore. Ill-configured DNS might give you the idea that the software is crap but in reality, it&amp;rsquo;s the environment that is just configured crappy. When using DNS, use the four golden rules; forward, reverse, short and full. DNS in a lab environment isn&amp;rsquo;t difficult to set up and if you want to simulate a proper working vSphere environment then invest time in setting up a DNS structure. It&amp;rsquo;s worth it! Besides expanding your knowledge, your systems will feel more robust and believe me, you will wait a lot less on systems to respond. &lt;strong&gt;vCenter and DNS&lt;/strong&gt; vCenter inventory and search rely heavy on DNS. And since the introduction of vCenter Single Sign-On service (SSO) as a part of the vCenter Server management infrastructure DNS has become a crucial element. SSO is an authentication broker and security token exchange infrastructure. As described in the KB article &lt;a href="https://kb.vmware.com/kb/2053132"&gt;Upgrading to vCenter Server 5.5 best practices (2053132)&lt;/a&gt;;&lt;/p&gt;</description></item><item><title>Home Lab Fundamentals: Time Sync</title><link>https://frankdenneman.ai/2016-06-03-home-lab-fundamentals-time-sync/</link><pubDate>Fri, 03 Jun 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-06-03-home-lab-fundamentals-time-sync/</guid><description>&lt;p&gt;&lt;em&gt;First rule of Home Lab club, don&amp;rsquo;t talk about time sync!&lt;/em&gt; Or so it seems. When starting your home lab, all hints and tips are welcome. The community is full of wisdom, however sometimes certain topics are taken for granted or are perceived as common knowledge. The Home Lab fundamentals series focusses on these subjects, helping you how to avoid the most common pitfalls that provide headaches and waste incredible amounts of time. A &amp;rsquo;time-consuming&amp;rsquo; pitfall is dealing with improper time synchronization between the various components in your lab environment. Most often, the need for time synchronization is seen as an Enterprise requirement but not really necessary for lab environments. Maybe because most think time synchronization is solely necessary for troubleshooting purposes. In some cases, this is true as ensuring correct time notation allows for proper correlation of events. Interestingly enough, this alone should be enough reason to maintain synchronized clocks throughout your lab, but most home labs are just rebuilt when troubleshooting becomes too time-consuming. However time sync is much more expedite troubleshooting and ignoring time drift is a straight path into the rabbit hole. Time synchronization utilities such as NTP are necessary to correct time drift introduced by hardware time drift and guest operating system timekeeping imprecision. When time differs between systems to much it can lead to installation and authentication errors. Unfortunately, time issues are not always easily identifiable, to provide a great example;&lt;/p&gt;</description></item><item><title>ntpq -p connection refused error message</title><link>https://frankdenneman.ai/2016-05-30-ntpq-p-connection-refused-error-message/</link><pubDate>Mon, 30 May 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-05-30-ntpq-p-connection-refused-error-message/</guid><description>&lt;p&gt;Sometimes a small misconfiguration can cause havoc in a complex distributed system. It becomes really annoying when no proper output is provided by log files and status report. While investigating time issues in my lab I ran into the following error message while executing the &lt;code&gt;ntpq -p&lt;/code&gt; command: &lt;img src="images/01-ntpq-p-connection-refused.png" alt="01-ntpq-p connection refused"&gt; &lt;strong&gt;TL;DR&lt;/strong&gt; NTP client is disabled, enable it via the GUI The standard NTP query program (ntpq) is one of the quickest way to verify that the Network Time Protocol Daemon (ntpd) is up and running. The command &lt;code&gt;ntpq -p&lt;/code&gt; prints a list of peers known to the ESXi host as well as a summary of their state. Running the command on another ESXi host provided the following output. &lt;img src="images/02-ntpq-p-feedback.png" alt="02-ntpq -p feedback"&gt; Requesting the status of the NTPD status on the host with weird time issues, shows it&amp;rsquo;s not running. No proper feedback is provided by the command line other than it&amp;rsquo;s starting, no failure code is returned. &lt;img src="images/03.NTPD-status.png" alt="03.NTPD status"&gt; Management service initialisation, such as ntpd starts are logged in the file /var/log/syslog.log in ESXi 5.1 and up. Unfortunately, nothing useful is logged in this logfile as well. &lt;img src="images/04.syslog.log-output.png" alt="04.syslog.log output"&gt; I couldn&amp;rsquo;t find a command that provides accurate output whether the NTP client was enabled or not. Time to open up the web client. Host time configuration can be found when selecting the ESXi host, Manage, Time Configuration. Apparently NTP was not enabled. &lt;img src="images/05-NTP-client-disabled.png" alt="05-NTP client disabled"&gt; Simple problem to fix, unfortunately there is no simple command line function that allows to verify while NTP client is enabled (sans PowerCli)&lt;/p&gt;</description></item><item><title>No network connection after re-registering VCSA using the I&amp;#039;ve copied it answer</title><link>https://frankdenneman.ai/2016-05-24-no-network-connection-after-re-registering-vcsa-using-the-ive-copied-it-answer/</link><pubDate>Tue, 24 May 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-05-24-no-network-connection-after-re-registering-vcsa-using-the-ive-copied-it-answer/</guid><description>&lt;p&gt;Paulo Coelho once stated &amp;ldquo;&lt;em&gt;Life moves very fast. It rushes from Heaven to Hell in a matter of seconds&lt;/em&gt;&amp;rdquo; Well I think he perfectly described a day working in the lab and rushing through a migration. I&amp;rsquo;m upgrading the lab and I moved the vCenter Server Appliance (VCSA) to its new home. While trying to do a million things all at once, I didn&amp;rsquo;t pay attention to the question whether I moved the virtual machine or whether I copied it. I selected the option &amp;ldquo;I copied it&amp;rdquo;. And that&amp;rsquo;s when the fun started, vCenter down. &lt;strong&gt;TL;DR:&lt;/strong&gt; Selecting &amp;ldquo;I copied it&amp;rdquo; implies that this machine is a duplicate and that a new identity should be generated. This means that the VM is getting a new UUID and a new MAC address. SUSE Linux Enterprise Server 11 detects this new MAC address and views this as a new Ethernet Device. The VCSA does not allow the creation of a new ethernet controller. Rename 70-persistent-net.rules file and reboot to have SUSE auto-generate a new 70-persistent-net.rules file with the correct MAC Address that allows you restore network connectivity via the console. &lt;strong&gt;Troubleshooting the problem&lt;/strong&gt; Both the web client and the VCSA config web page are unreachable, time to open up the VM console (Alt-F1). When logging in and pinging the gateway the error, the system returns the error message &amp;ldquo;Network is unreachable&amp;rdquo; &lt;img src="images/01-VCSA-network-is-unreachable-750x297.png" alt="01-VCSA network is unreachable"&gt; Before tinkering with the configuration files, I like to restart the services and see if the status report exposes interesting information. &lt;img src="images/02-VCSA-service-network-restart.png" alt="02-VCSA service network restart"&gt; &amp;ldquo;No configuration found for eth1&amp;rdquo;. The VCSA is configured with a single NIC and SUSE Linux Enterprise Server 11, which is the OS for the appliance, assigns the label eth0 to the first Ethernet adapter. VCSA networking is configured through the Virtual Appliance Management Interface (VAMI). Executing the command &amp;ldquo;/opt/vmware/share/vami/vami_config_net allows you to retrieve the current network configuration &lt;img src="images/03-VCSA-vami_config_net.png" alt="03-VCSA vami_config_net"&gt; When selecting option 6 &amp;ldquo;IP Address Allocation for eth1&amp;rdquo; VAMI reveals that it cannot read the interface files for &amp;rsquo;eth1&amp;rsquo; &lt;img src="images/04-VCSA-IP_address-Alloc_for_Eth1.png" alt="04-VCSA-IP_address-Alloc_for_Eth1"&gt; The networking interface files are stored in the directory /etc/sysconfig/networking/devices. When listing the files (ls) only ifcfg-eth0 shows up. Reviewing the ifcfg-eth0 file with cat shows that the correct networking configuration is still applied to eth0. &lt;img src="images/05-VCSA-ifcfg-eth0-results.png" alt="05-VCSA-ifcfg-eth0 results"&gt; It looks like the problem occurs due to the way SUSE handles devices. The following text is copied directly from the SUSE documentation:&lt;/p&gt;</description></item><item><title>Monitoring power consumption of your home lab with a smart plug</title><link>https://frankdenneman.ai/2016-05-19-monitoring-power-consumption-of-your-home-lab-with-a-smart-plug/</link><pubDate>Thu, 19 May 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-05-19-monitoring-power-consumption-of-your-home-lab-with-a-smart-plug/</guid><description>&lt;p&gt;Home labs are interesting beasts, at one hand you would love to have all the compute, storage and network power available, on the other hand you do not want to have a power bill similar to a Google data center. I have a &lt;a href="https://frankdenneman.ai/2015-06-04-when-your-home-lab-turns-into-a-home-dc/"&gt;decent setup&lt;/a&gt;, with 4 Xeon servers, two cisco 1GB switches, a 10Gb switch and 3 Synology&amp;rsquo;s, but I don&amp;rsquo;t keep everything on all the time. One server acts as the management server, running a Windows DC, vCenter appliance, the PernixMS server and some other stuff. These machines are always on, not only to save time when I want to use my lab but increased stability as well. Due to this, my network gear and storage systems are also on. Which made me wonder how much the need for availability and stability will cost me on a yearly basis. The big Xeon rigs equipped with multiple PCIe devices are usually shut down after tests because I expect them to consume lots of power. Time to stop guessing and start monitoring. As always Home Lab Sensei &lt;a href="https://twitter.com/ErikBussink"&gt;Erik Bussink&lt;/a&gt; pointed me out to a simple solution the Smart Plug &lt;a href="http://us.edimax.com/edimax/merchandise/merchandise_detail/data/edimax/us/home_automation_smart_plug/sp-2101w/"&gt;Edimax SP-2101W&lt;/a&gt; Smart Plug Switch. Please leave a comment if you are using a different solution that is a better alternative to this device. &lt;strong&gt;The device&lt;/strong&gt; Nothing much to add about the device itself, it is sleek enough so it will not eat up multiple power outlets. &lt;img src="images/Edimax_SP2101W-297x396.jpg" alt="Edimax_SP2101W"&gt; The device is managed via an apple or android app, the following screenshots are taken from an Apple device, you can monitor it with both your iPhone or iPad. You can manage multiple smart plugs from one device. As I&amp;rsquo;ve spread my lab over two power-groups I&amp;rsquo;ve installed two power-plugs to monitor my home lab. &lt;img src="images/IMG_0469.png" alt="IMG_0469"&gt; Unfortunately, the app doesn&amp;rsquo;t allow displaying two smart plugs simultaneously, you have to open each individually. The monitor page shows the real time power consumption registered by the plug. It displays Amps and Watts. Quite cool to see what happens when you power-on devices or even a virtual machine, this monitored server generates a spike of 30 watts when powering on a VM, it quickly returns to a steady state though. Fun to see that ESXi hosts do not consume a steady high state of power. &lt;img src="images/IMG_0470-223x396.png" alt="IMG_0470"&gt; The Now button shows the real-time power consumption and the total power consumption registered of today, this week and this month. By providing the price of energy, it calculates the total cost additionally. Unfortunately I haven&amp;rsquo;t found the option to change the currency sign, so you are stuck with the dollar sign. &lt;img src="images/IMG_0471-223x396.png" alt="IMG_0471"&gt; By selecting the Usage button provides you a chart to view the power consumption of that day. &lt;img src="images/IMG_0472-480x270.png" alt="IMG_0472"&gt; The app allows you to analyze power consumption trends of your home lab by provides an overview based on 24 hours of data, a week, a month and a full year. &lt;img src="images/IMG_0473-480x270.png" alt="IMG_0473"&gt; &lt;strong&gt;Conclusion&lt;/strong&gt; The smart plugs are a great addition to my home lab, it provides me insights in the consumption and it for me personally have removed the reluctancy of leaving my full lab on. The answer to the question whether you need a smart plug if you run a home lab is in my opinion a straight and simple no. You can estimate cost or you can just ignore it and pay the bill when it arrives. I&amp;rsquo;m just curious about these things and it helps to clear my conscious.&lt;/p&gt;</description></item><item><title>Tracking down noisy neighbors</title><link>https://frankdenneman.ai/2016-05-03-tracking-down-noisy-neighbors/</link><pubDate>Tue, 03 May 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-05-03-tracking-down-noisy-neighbors/</guid><description>&lt;p&gt;A big part of resource management is sizing of the virtual machines. Right-sizing the virtual machines allows IT teams to optimize the resource utilization of the virtual machines. Right sizing has become a tactical tool for enterprise IT-teams to ensure maximum workload performance and efficient use of the physical infrastructure. Another big part of resource management is keeping track of resource utilization, some of these processes are a part of the daily operation tasks performed by specialized monitoring teams or the administrators themselves. Service Providers usually cannot influence the right sizing element, therefor they focus more on the monitoring part. What is almost universal across virtual infrastructure owners is the incidental nature of tracking down &amp;rsquo;noisy-neighbors&amp;rsquo; VMs . Noisy neighbor VMs generate workload in such a way that it monopolizes resources and have negative impact on the performance of other virtual machines. Service Providers and enterprise IT teams have to deal with these consumer outliers in order to meet the SLAs of existing workloads and being able to satisfy the SLA requirements of new workloads. It&amp;rsquo;s interesting that noisy neighbor tracking is an incidental activity as it can be so detrimental to the performance of the virtual datacenter. Tools such as vSphere Storage IO Control (short term focus) and vSphere Storage DRS (long term focus) assist to alleviate the infrastructure from the burden of noisy neighbors, but attacking this problem structurally is necessary to ensure consistent and predictable performance from your infrastructure. At long term, noisy neighbor VMs impact the projected consolidation ratio, which in turn influences the growth rate of the infrastructure. I&amp;rsquo;ve seen plenty of knee jerk reactions, creating a server and storage infrastructure sprawl due to introduction of these outlier workloads. Identifying noisy neighbors can become a valuable tool in both strategic and tactical playbooks of the IT organization. Having insight of which VMs are monopolizing the resources allow IT teams to act appropriately. Similar to real life the behavior of noisy neighbor can be changed often, but sometimes that’s the nature of the beast and you just have to live with it. In that situation noisy neighbors become outliers of conduct and one ha to make external adjustments. This insight allows IT teams to respond along the entire vertical axis of the virtual datacenter, from application to infrastructure choice. By having the correct analysis, the IT team can provide insights to the application owner, allowing them to adjust accordingly. It helps the IT team to understand whether the environment can handle the workload and make adjustment to the infrastructure necessary. Sometimes the intensity of the workload is just what it is and hosting that workload is necessary to support the business. In that case the IT team has to understand whether the infrastructure is suitable to support the application. As most IT organization have access to multiple platforms, the accurate insight of characteristics (and requirements) of the workload allows them to identify the correct platform. Virtual Datacenters are difficult to monitor. They are comprised of a disparate stack of components. Every component logs and presents data differently. Different granularity of information, different time frames, and different output formats make it extremely difficult to correlate data. In addition you need to be able to correctly identify the workload characteristics and interpret the impact it has on the shared environment. We do not live in a world anymore where we have to deal with isolated technology stacks. Applications typically do not run anymore on a single box, connected to a single and isolated raid array. Today everything within the infrastructure is shared, the level of hardware resource distribution is diluting with each introduction of new hardware. Where we used to run a single application in a VM on top of server with ten other VMs, sharing a couple of NICs and HBA&amp;rsquo;s, we slowly moved towards converged network platforms. In the last 10 years, we shared and shared more, the only monolith remaining is the application in the VM and that is rapidly changing as well with the popularity of containers and micro services. Yet most of our testing mechanisms and monitoring efforts are still based on the architecture we left behind 10 years ago. Virtual Datacenters require continuous analytics that fully comprehends the context of the environment, with the ability to zoom in and focus on outliers if necessary. &lt;img src="images/Noisy-Neighbor.png" alt="Noisy Neighbor"&gt; In the upcoming series I&amp;rsquo;m going to focus on how to explore cluster level workloads and progressively zooming into specific workloads based on IOPS, block size, throughput and unaligned IOs.&lt;/p&gt;</description></item><item><title>Managing your virtual datacenter and home lab with a MAC</title><link>https://frankdenneman.ai/2016-04-21-managing-your-virtual-datacenter-and-home-lab-with-a-mac/</link><pubDate>Thu, 21 Apr 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-04-21-managing-your-virtual-datacenter-and-home-lab-with-a-mac/</guid><description>&lt;p&gt;The majority of virtual datacenters are managed from Windows systems. When I started with virtualization I also used a windows system, however when I joined VMware I received a MacBook and this was the beginning of the end. Soon ever window device was replaced with an Apple device in my home. The problem was that I still needed to manage by home lab. To circumvent this, I created a Windows admin VM and installed all my trusted Windows apps, such as Putty, vSphere client and WinSCP. Works great! Until you want to rebuild your lab or restructure the environment. It always felt as a burden and on top of that I didn’t want to spend CPU cycles and waste memory of my home lab on admin VM. Throughout the years I discovered tools for Mac OS that replaced their trusted Windows equivalent and with the new release of the HMTL 5 Web client fling it removed dependency on the Client Integration Plugin (CIP). Here is the list of program and tips and tricks I use on my Mac to manage my Home lab. &lt;strong&gt;Putty &amp;gt; iTerm2&lt;/strong&gt; &lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html"&gt;PuTTY&lt;/a&gt; is an SSH and telnet client for the Windows Platform allowing you to have access to the command line of the ESXi server. For the Mac platform I recommend iTerm2. Although Mac OS has a native terminal application, iTerm2 has a couple of cool features that I absolutely love. It can run multiple sessions, each in its own tab. &lt;img src="images/01-iTerm2.png" alt="01-iTerm2"&gt; With profiles you can configure the connection settings to your ESX host and with a simple shortcut key combination (for example, Control-command-1, you open a tab to the ESXi host. &lt;img src="images/02-iTerm2.png" alt="02-iTerm2"&gt; Download &lt;a href="https://www.iterm2.com/downloads.html"&gt;iTerm2 here&lt;/a&gt;. &lt;strong&gt;Remote Desktop &amp;gt; Royal TSX&lt;/strong&gt; MS Remote Desktop is available for Mac OS, but the one remote desktop application you want to get is Royal TSX. The free version allows up for ten remote desktop connections, typically more than enough for the majority of home labs. I bought a licensed version as I’m using more than ten profiles and like to separate the workload part of the lab in a separate configuration document from the management part of the lab. One of the cool features is the tabbed layout, allowing you to switch between remote desktops quite easily. &lt;img src="images/03-Royal-TSX.png" alt="03-Royal TSX"&gt; The screens at home have a minimum resolution 2560 x 1440 resolution, Royal TSX allows for any resolution, even native Retina resolution. I like to use the smart zoom and the resolution set by the virtual machine allowing you to have a proper environment to work in without hitting the time-consuming scroll bars. &lt;img src="images/04-Royal-TSX.png" alt="04-Royal TSX"&gt; If security isn’t a big concern for you, you can specify the user and password for the connection at multiple levels. Either on the remote desktop connection profile itself or specify it on the ‘connection document’ for the entire environment. A nice time saver! &lt;img src="images/05-Royal-TSX.png" alt="05-Royal TSX"&gt; If you are the complete opposite and you need higher levels of security, such as &lt;a href="https://en.wikipedia.org/wiki/Network_Level_Authentication"&gt;Network Level Authentication (NLA)&lt;/a&gt; Royal TSX is the application to get. NLA is enabled by default and you can configure to use &lt;a href="https://en.wikipedia.org/wiki/Transport_Layer_Security"&gt;Transport Layer Security (TLS)&lt;/a&gt; as well. &lt;img src="images/06-Royal-TSX.png" alt="06-Royal TSX"&gt; Download &lt;a href="https://www.royalapplications.com/ts/osx/download"&gt;Royal TSX here&lt;/a&gt;. &lt;strong&gt;WinSCP &amp;gt; CyberDuck&lt;/strong&gt; &lt;a href="https://winscp.net/eng/index.php"&gt;WinSCP&lt;/a&gt; and &lt;a href="https://www.veeam.com/vmware-esxi-fastscp.html"&gt;Veeam Backup Free Edition&lt;/a&gt; (previously Veeam FastSCP) are the most popular Secure FTP applications that allows you to copy files directly onto the ESXi host. Unfortunately the once announced port to MacOS of WinSCP never came into fruition and therefor I looked for alternatives. There are plenty SFTP clients, the one I use and like is Cyberduck &lt;img src="images/07-Cyberduck.png" alt="07-Cyberduck"&gt; It allows for creating connection profiles called bookmarks, allowing you to connect to the correct folder directly. It also supports various encryption ciphers and authentication algorithms if you operate in a secure environment. Cyberduck is like all the other listed tools free but the occasionally ask for a donation. Download &lt;a href="https://cyberduck.io/"&gt;Cyberduck here&lt;/a&gt;. &lt;strong&gt;VMware ESXi Embedded Host Client fling&lt;/strong&gt; The ESXi embedded host client fling allows you to manage the ESXi host directly through a web client. Its fast, it’s easy to install and it provides most of the functionality you need when you are building your lab before deploying the vCenter Appliance. One of the great assets to this tool is the integrated VM console. It’s directly accessible within the browser and does not require any addiotnal plugins or installers. Solving the annoying Client Integration Plugin problem most Mac users faced when connecting to the vCenter via the web client. &lt;img src="images/08-Embedded-ESXi-webfling.png" alt="08-Embedded ESXi webfling"&gt; The Fling currently only supports ESXi 6.0, however William published a workaround for ESXi 5.x. found here: &lt;a href="http://www.virtuallyghetto.com/2015/08/new-html5-embedded-host-client-for-esxi.html"&gt;http://www.virtuallyghetto.com/2015/08/new-html5-embedded-host-client-for-esxi.html&lt;/a&gt; Download the &lt;a href="https://labs.vmware.com/flings/esxi-embedded-host-client"&gt;VMware ESXi Embedded Host Client fling here&lt;/a&gt;. &lt;strong&gt;vSphere HTML5 Web Client Fling v1.2 (h5client)&lt;/strong&gt; This fling got released this week and it allows you to connect with an HTML5 based web client to the vCenter server. Be aware that this client is designed for managing vCenter only! This release focuses on removing the dependency of the client integration plugin allowing administrators to connect with the VM console via the web client and do the basic stuff. Combine that with the normal web client and you execute the majority of operations to setup and deploy your home lab / virtual datacenter. &lt;img src="images/09-HMTL5-client.png" alt="09-HMTL5 client"&gt; The client is deployed as a vib on one of the ESXi host. For detailed install instructions visit the &lt;a href="http://blogs.vmware.com/vsphere/2016/03/vsphere-html5-web-client-fling-getting-started.html"&gt;VMware vSphere blog&lt;/a&gt;. Download the &lt;a href="https://labs.vmware.com/flings/vsphere-html5-web-client"&gt;HTML5 Web Client Fling v1.2 here&lt;/a&gt;. &lt;strong&gt;Function keys&lt;/strong&gt; Not a tool, but sometimes you are required to press a function key, such as F11 when installing ESXi. No problem when installing physical boxes, a challenge when installing a nested ESXi system using a remote (VM) console. In order to send the correct key, press FN-CMD-F11. This works on most function keys and other non-alphanumeric keys Please leave a comment if you want to share your favorite tool or handy tips and tricks to save time.&lt;/p&gt;</description></item><item><title>Adjust timeout value ESXi Embedded Host Client</title><link>https://frankdenneman.ai/2016-04-12-adjust-timeout-value-esxi-embedded-host-client/</link><pubDate>Tue, 12 Apr 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-04-12-adjust-timeout-value-esxi-embedded-host-client/</guid><description>&lt;p&gt;I love to use the ESXi Embedded Host Client next to vCenter in my lab. It&amp;rsquo;s quick, it provide most of the functionality and best of it all it has a functioning VM console when accessing it from a MAC. The ESXi Embedded Host Client time-out default is set to 15 minutes, but you can adjust this setting. &lt;img src="images/Time-out-ESXI-embedded-client.png" alt="Time-out ESXI embedded client"&gt; On the right side of the menu bar there is a drop down menu next to the IP-address or DNS name of your ESXi server. Open it and go to:&lt;/p&gt;</description></item><item><title>DVD Store, the perfect homelab workload tool</title><link>https://frankdenneman.ai/2016-03-31-dvd-store-the-perfect-homelab-workload-tool/</link><pubDate>Thu, 31 Mar 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-03-31-dvd-store-the-perfect-homelab-workload-tool/</guid><description>&lt;p&gt;DVD Store 2.1, a magnificent tool for all aspiring VCP/VCAP candidates. A great tool for home lab enthousiasts to understand performance metrics, a fantastic tool to understand the behavior of an application stack in a virtual datacenter. &lt;strong&gt;WHAT IS DVD STORE?&lt;/strong&gt; According to the official site the DVD Store Version 2.1 (DS2) is a complete open source online e-commerce test application, with a backend database component, a web application layer, and driver programs. The goal in designing the database component as well as the midtier application was to utilize many advanced database features (transactions, stored procedures, triggers, referential integrity) while keeping the database easy to install and understand. The DS2 workload may be used to test databases or as a stress tool for any purpose. Thanks &lt;a href="https://twitter.com/virtualtodd"&gt;Todd Muirhead&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/dave-jaffe-9739619"&gt;Dave Jaffe&lt;/a&gt; for creating this! However there is a slight challenge in installing it properly. You can install it on windows or on Linux and use many different database programs. I like to use windows for this. Unfortunately I tried to follow the instruction video on youtube and it was lacking some crucial details to get it deployed successfully. Therefor I started to document the steps involved to get it deployed on a Windows 2012 system using SQL 2014 SP1. Please note that you can run DVD store on Linux as well, and it might be even better (more lean and mean than a windows install) for homelabs. If you have a detailed write-up (100% reproducible) of a working deployment DVD store on Linux, please share the link to your article in the comments.&lt;/p&gt;</description></item><item><title>You do not have permissions to view this object error after updating VCSA to 6.0 Update 1b</title><link>https://frankdenneman.ai/2016-03-01-you-do-not-have-permissions-to-view-this-object-error-after-updating-vcsa-to-6-0-update-1b/</link><pubDate>Tue, 01 Mar 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-03-01-you-do-not-have-permissions-to-view-this-object-error-after-updating-vcsa-to-6-0-update-1b/</guid><description>&lt;p&gt;Today I&amp;rsquo;ve updated my vCenter Server Appliance with the VC-6.0.0U1b-Appliance.ISO in my lab. After rebooting I was surprised to see the error &amp;ldquo;You do not have permissions to view this object&amp;rdquo; on almost every object in the inventory screen. &lt;img src="images/VCSA-error-680x291.png" alt="VCSA-error"&gt; Unfortunately a reboot of the DC (home lab, I do not run an elaborate AD here)Time to google and it seems that a lot of other people have hit this bug. After googling some more I found the the VMware KB article: &lt;a href="https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2125229"&gt;KB 2125229&lt;/a&gt;. Problem is, this is solely focused on the windows version of vCenter and not focussed on solving the problem occurring on the VCSA. Although I can log in and see the inventory when using my admin account (Lab\vAdmin) I can&amp;rsquo;t access the objects. Maybe a permission problem? When checking the global permissions the (vAdmin) user is still listed as an administrator. &lt;img src="images/Global-Permissions-1-502x300.png" alt="Global-Permissions-1"&gt; However administrators should be able to access all objects, as I found out a refresh is required. Here is how I solved it: 1. Log out of vC and login with the default admin account &amp;ldquo;&lt;a href="mailto:administrator@vsphere.local"&gt;administrator@vsphere.local&lt;/a&gt;&amp;rdquo; 2. In the Home view, select &amp;ldquo;Administration&amp;rdquo; from the menu 3. Go to Global Permissions, remove the user (In my case vAdmin) 4. Click on &amp;ldquo;Add Permission&amp;rdquo; 5. Select your AD domain and select the correct user &lt;img src="images/Global-Permissions-2-289x300.png" alt="Global-Permissions-2"&gt; 6. Click on Ok 7. Check the list to see whether your user is added with the correct role (administrator). 8. Logout and login with the correct AD user. 9. Back to work. &lt;img src="images/Inventory-money-shot-611x300.png" alt="Inventory-money shot"&gt; Time for me to power on these servers again. Follow Frank on twitter &lt;a href="https://twitter.com/frankdenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Insights into VM density</title><link>https://frankdenneman.ai/2016-02-15-insights-into-vm-density/</link><pubDate>Mon, 15 Feb 2016 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2016-02-15-insights-into-vm-density/</guid><description>&lt;p&gt;For the last 3 months my main focus within PernixData has been (and still is) the PernixCloud program. In short PernixData Cloud is the next logical progression of PernixData Architect and provides visibility into and analytics of virtual datacenters, it’s infrastructure, and it’s applications. By providing facts on the various elements of the virtual infrastructure, architects and administrators can design their environment in a data-driven way. The previous article “&lt;a href="https://frankdenneman.ai/2015-12-23-insights-into-cpu-and-memory-configuration-of-esxi-hosts/"&gt;Insights into CPU and Memory configurations of ESXi hosts&lt;/a&gt;” zoomed in to the compute configuration of 8000 ESXi hosts and helped us understand which is the most popular system in today&amp;rsquo;s datacenter running VMware vSphere. The obvious next step was to determine the average number of virtual machines on these systems. Since that time the dataset has expanded and it now contains data of more than 25.000 ESXi hosts. An incredible dataset to explore I can tell you and it’s growing each day. Learning how to deal with these vast quantities of data is incredibly interesting. Extracting various metrics from a dataset this big is challenging. Most commercial tools are not designed to cope with this amount of data, thus you have to custom build everything. And with the dataset growing at a rapid pace, you are constantly exploring the boundaries of what’s possible with software and hardware. &lt;strong&gt;VM Density&lt;/strong&gt; After learning what system configurations are popular, you immediately wonder how many virtual machines are running on that system. But what level of detail do you want to know? Will this info be useable for architects and administrators to compare their systems and practical to help them design their new datacenter? One of the most sought after question is the virtual CPU to physical CPU ratio. A very interesting one, but unfortunately to get a result that is actually meaningful you have to take multiple metrics into account. Sure you can map out the vCPU to pCPU ratio, but how do you deal with the fact of oversizing of virtual machines that has been happing since the birth of virtualization? What about all these countless discussions whether the system only needs a single or double CPU because it’s running a single threaded program? How many times have you heard the remark that the vendor explicitly states that the software requires at least 8 CPU’s? Therefor you need to add utilization of CPU to get an accurate view, which in turn leads to the question what timeframe you need to use to understand whether the VM is accurately sized or whether the vCPUs are just idling most of the time? You are now mixing static data (inventory) and transient data (utilization). Same story applies for memory. In consequence I focused just on the density of virtual machines per host. The whole premise of virtualization is to exploit the variation of activity of applications, combined with distribution mechanisms as DRS and VMturbo you can argue that virtual and physical compute configurations will be matched properly. Therefor it’s interesting to see how far datacenters stretch their systems and understand the consolidation ratio of virtual machines. Can we determine a sweet spot of the number of virtual machines per host? &lt;strong&gt;The numbers&lt;/strong&gt; Discovered earlier, dual socket systems are the most popular system configuration in the virtual datacenters, therefor I focused on these systems only. With the dataset now containing more than 25.000 ESXi hosts, it’s interesting to see what the popular CPU types are. &lt;img src="images/01.png" alt="01"&gt; The popular systems contained in total 12, 16, 20 and 24 cores. Therefor the popular CPU’s of today are 6, 8, 10 and 12 cores. But since we typically see a host as a “closed” system and trust on the host local CPU scheduler to distribute the vCPUs amongst the available pCPUs, all charts use the total cores per system instead of on a per-CPU basis. For example a 16 cores system is ESXi host containing two 8 cores CPUs. Before selecting a subset of CPU configurations let’s determine the overall distribution of VM density. &lt;img src="images/02.png" alt="02"&gt; Interesting to see that it&amp;rsquo;s all across the board, VM density ranging from 0-10 VM&amp;rsquo;s per host up to more than 250. There were some outliers, but I haven&amp;rsquo;t included them. One system runs over 580 VM&amp;rsquo;s, this system contains 16 cores and 192 GB. Let&amp;rsquo;s dissect the VM density per CPU config. &lt;strong&gt;Dissecting it per CPU configuration&lt;/strong&gt; &lt;img src="images/03.png" alt="03"&gt; Instead of focusing on all dual socket CPU configurations, I narrowed it down to three popular configurations. The 16 core config as it’s the most popular today, and the 20 to 24 core as I expect this to be the configuration as the default choice for new systems this year. This allows us to compare the current systems in today’s datacenter to the average number and help you to understand what VM density possible future systems run. &lt;strong&gt;Memory&lt;/strong&gt; Since host memory is an integral part of providing performance to virtual machines, it’s only logical to determine VM density based on CPU and Memory configurations. What is the distribution of memory configuration of dual socket systems in today&amp;rsquo;s virtual datacenters? &lt;img src="images/04.png" alt="04"&gt; &lt;strong&gt;Memory config and VM density of 16 cores systems&lt;/strong&gt; 30% of all 16 cores ESXi hosts is equipped with 384GB of memory. Within this configuration, 21 to 30 VMs is the most popular VM density. &lt;img src="images/05.png" alt="05"&gt; &lt;img src="images/06.png" alt="06"&gt; &lt;strong&gt;Memory config and VM density of 20 cores systems&lt;/strong&gt; 50% of all 20 cores ESXi hosts is equipped with 256GB of memory. Within this configuration, 31 to 40 VMs is the most popular VM density. &lt;img src="images/07.png" alt="07"&gt; &lt;img src="images/08.png" alt="08"&gt; Interesting to see that these systems, on average, have to cope with less memory per core than the 16 cores system (24GB per core versus 12,8GB per core) &lt;strong&gt;Memory config and VM density of 24 cores systems&lt;/strong&gt; 39% of all 24 cores ESXi hosts is equipped with 384GB of memory. Within this configuration, 101 to 150 VMs is the most popular VM density. &lt;img src="images/09.png" alt="09"&gt; &lt;img src="images/10.png" alt="10"&gt; 101 to 150 VM&amp;rsquo;s sound like a VDI platform usage. Are these systems the sweetspot for virtual desktop environments? &lt;strong&gt;Conclusion&lt;/strong&gt; Not only do we have an actual data on VM density now, other interesting facts were discovered as well. When I was crunching these numbers one thing that stood out to me was memory configurations used. Most architects I speak with tend to configure the hosts with as much memory as possible and swap out the systems when their financial lifespan has ended. However I seen some interesting facts, for example memory configurations such as 104 GB or 136 GB per system. How do you even get 104GB of memory in such a system, did someone actually found a 4GB DIMM laying around and decided to stick it in th system? More memory = better performance right? Please ready my &lt;a href="https://frankdenneman.ai/2015-03-02-memory-deep-dive-summary/"&gt;memory deepdive&lt;/a&gt; series on how this hurts your overall performance. But I digress. Another interesting fact is that 4% of all 24 cores systems in our database are equipped with 128GB of memory. That is an average of 5,3 GB per core, 64GB per NUMA node. Which immediately raises questions such as average host memory per VM or VM density per NUMA node. The more we look at data, the more questions arise. Please let me know what questions you have!&lt;/p&gt;</description></item><item><title>Insights into CPU and Memory configuration of ESXi Hosts</title><link>https://frankdenneman.ai/2015-12-23-insights-into-cpu-and-memory-configuration-of-esxi-hosts/</link><pubDate>Wed, 23 Dec 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-12-23-insights-into-cpu-and-memory-configuration-of-esxi-hosts/</guid><description>&lt;p&gt;Recently &lt;a href="https://twitter.com/SatyamVaghani"&gt;Satyam Vaghani&lt;/a&gt; &lt;a href="http://www.pernixdata.com/blog/portal-planets-virtualized-datacenters"&gt;wrote about PernixData cloud&lt;/a&gt;. In short PernixData Cloud is the next logical progression of PernixData Architect and provide visibility and analytics around virtual datacenters, it’s infrastructure and applications. As a former architect I love it. The most common question asked by customers around the world was how other companies are running and designing their virtual datacenters. Which systems do they use and how do these system perform with similar workload? Many architects struggle with justifying their bill of materials list when designing their virtual infrastructure. Or even worse getting the budget. Who hasn’t heard the reply when suggesting their hardware configuration: &amp;ldquo;you want to build a Ferrari, a Mercedes is good enough&amp;rdquo;. With PernixData Cloud you will be able to show trends in the datacenter, popularity of particular hardware and application details. It let you start ahead of the curve, aligned with the current datacenter trends instead of trailing. Of course I can’t go into detail as we are still developing the solution, but I can occasionally provide a glimpse of what we are seeing so far. For the last couple of days I’ve been using a part of the dataset and queried 8000 hosts on their CPU, memory and ESXi build configuration to get insight in popularity of particular host configurations. &lt;strong&gt;CPU socket configuration&lt;/strong&gt; I was curious about the distribution of CPU socket configurations. After analyzing the dataset it is clear that dual socket CPU configurations are the most popular setup. Although single CPU socket configuration are more common than quad CPU socket in the dataset, quad core are more geared towards running real world workload while single CPU configurations are typically test/dev/lab servers. Therefor the focus will primarily on dual CPU socket systems and partially quad CPU sockets systems. The outlier of this dataset is the 8 socket servers. Interesting enough some of these are chuck-full with options. Some of them were equipped with 15 core CPU’s. 120 CPU cores per host, talk about CPU power! &lt;img src="images/01-Number-of-CPU-sockets-in-ESXi-Host.png" alt="01-Number-of-CPU-sockets-in-ESXi-Host"&gt; &lt;strong&gt;CPU core distribution&lt;/strong&gt; What about the CPU core popularity? The most popular configuration is 16 cores per ESXi host, but without the context of CPU sockets one can only guess which CPU configuration is the most popular. &lt;img src="images/02-Total-number-of-CPU-Cores-in-ESXi-hosts-.png" alt="02-Total number of CPU Cores in ESXi hosts"&gt; &lt;strong&gt;Core distribution of dual CPU socket ESXi hosts&lt;/strong&gt; When zooming in to the dataset of dual CPU socket ESXi host, it becomes clear that 8 Core CPU’s are the most popular. I compared it with an earlier dataset and quad and six core systems are slowly reducing popularity. Six core CPU’s were introduced in 2010, assumable most will be up for a refresh in 2016. I intend to track the CPU configurations to provide trend analysis on popular CPU configurations in 2016. &lt;img src="images/03-Number-of-cores-per-CPU-in-dual-CPU-socket-ESXi-hosts-.png" alt="03-Number of cores per CPU in dual CPU socket ESXi hosts"&gt; &lt;strong&gt;Core count quad socket CPU systems&lt;/strong&gt; What about quad socket CPU systems? Which CPU configuration is the most populair? It turns out that CPU’s containing 10 cores are the sweetspot when it comes to configuring a Quad core CPU system. &lt;img src="images/04-Number-of-cores-per-CPU-in-quad-CPU-socket-ESXi-hosts-.png" alt="04-Number of cores per CPU in quad CPU socket ESXi hosts"&gt; &lt;strong&gt;Memory configuration&lt;/strong&gt; Getting insights into memory configuration of the servers provides us a clear picture of the compute power of these systems. What is the most popular memory configuration of dual socket server? As it turns out 256 and 384 GB are the most memory popular configuration. Today’s servers are getting beefy! &lt;img src="images/05-Memory-configuration-dual-socket-ESXi-hosts.png" alt="05-Memory configuration dual socket ESXi hosts"&gt; Zooming into the dataset quering the memory configuration of dual socket 8 core servers, the memory configuration distribution is as follows: &lt;img src="images/06-Memory-in-GB-in-dual-socket-8-core-server.png" alt="06-Memory in GB in dual socket 8 core server"&gt; What about the memory configuration of quad CPU servers? &lt;img src="images/07-Memory-configurations-quad-CPU-socket-ESXu-hosts.png" alt="07-Memory configurations quad CPU socket ESXu hosts"&gt; &lt;strong&gt;NUMA&lt;/strong&gt; 512 GB is the most popular memory configuration for quad CPU socket ESXi host. Assuming the servers are configured properly, this configuration is providing the same amount of memory to each NUMA node of the systems. The most popular NUMA node is configured with 128 GB in both dual and quad CPU socket systems. &lt;strong&gt;ESXi version distribution&lt;/strong&gt; I was also curious about the distribution of ESXi versions amongst the dual and quad CPU socket systems. It turns out that 5.1.0 is the most popular ESXi version for dual CPU systems, while most Quad CPU socket machines have ESXi version 5.5 installed &lt;img src="images/08-ESXi-versions.png" alt="08-ESXi versions"&gt; &lt;strong&gt;More To Come&lt;/strong&gt; Satyam and I hope to publish more results from our dataset in the coming months. The dataset is expanding rapidly, increasing the insights of the datacenters around the globe. And we hope to cover other dimensions like applications and the virtualization layer itself. Please feel free to send me interesting questions you might have for the planet’s datacenters and we’ll see what we can do. Follow me on twitter &lt;a href="https://twitter.com/frankdenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>When your Home Lab turns into a Home DC</title><link>https://frankdenneman.ai/2015-06-04-when-your-home-lab-turns-into-a-home-dc/</link><pubDate>Thu, 04 Jun 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-06-04-when-your-home-lab-turns-into-a-home-dc/</guid><description>&lt;p&gt;A little bit over a year ago I decide to &lt;a href="https://frankdenneman.ai/2014-03-27-vsphere-5-5-home-lab/"&gt;update my lab&lt;/a&gt; and build two servers. My old lab had plenty of compute power, however they were lacking bandwidth, 3 Gbit/s SATA and 1 Gb network bandwidth. I turned to one of the masters of building a home lab, &lt;a href="https://twitter.com/erikbussink"&gt;Erik Bussink&lt;/a&gt;, and we thought that the following configuration was sufficient to handle my needs. &lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Cost&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CPU&lt;/td&gt;
&lt;td&gt;&lt;a href="http://ark.intel.com/products/75780/Intel-Xeon-Processor-E5-1650-v2-12M-Cache-3_50-GHz?q=Intel%20Xeon%20E5%201650%20v2" title="Intel Xeon E5 1650 v2 product information"&gt;Intel Xeon E5 1650 v2&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;540 EUR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CPU Cooler&lt;/td&gt;
&lt;td&gt;&lt;a href="http://www.noctua.at/main.php?show=productview&amp;amp;products_id=67&amp;amp;lng=en&amp;amp;set=1" title="Noctua NH-U9DX i4"&gt;Noctua NH-U9DX i4&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;67 EUR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Motherboard&lt;/td&gt;
&lt;td&gt;&lt;a href="http://www.supermicro.com/products/motherboard/Xeon/C600/X9SRH-7TF.cfm" title="SuperMicro X9SRH-7TF"&gt;SuperMicro X9SRH-7TF&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;482 EUR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Memory&lt;/td&gt;
&lt;td&gt;&lt;a href="http://www.kingston.com/en/memory/search/Default.aspx?DeviceType=7&amp;amp;Mfr=SMI&amp;amp;Line=X9SRH-7TF&amp;amp;Model=80742&amp;amp;Description=Kingston_ValueRam_Memory_Server_Premier_Memory_for_SMI_X9SRH-7TF_Supermicro_-_X9SRH-7TF_Motherboard" title="Kingston module for Supermicro X9SRH-7TF"&gt;Kingston ValueRAM KVR16R11D4/16HA&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;569 EUR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSD&lt;/td&gt;
&lt;td&gt;&lt;a href="http://www.intel.com/content/www/us/en/solid-state-drives/solid-state-drives-dc-s3700-series.html" title="Intel® Solid-State Drive DC S3700 Series product information"&gt;Intel DC 3700 100GB&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;203 EUR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Power Supply&lt;/td&gt;
&lt;td&gt;&lt;a href="http://www.corsair.com/en-us/rm-series-rm550-80-plus-gold-certified-power-supply" title="Corsair rm 550 product information"&gt;Corsair RM550&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;90 EUR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Case&lt;/td&gt;
&lt;td&gt;&lt;a href="http://www.fractal-design.com/home/product/cases/define-series/define-r4-titanium-grey" title="Fractal Design Define R4 product information"&gt;Fractal Design Define R4&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;95 EUR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Price per Server&lt;/td&gt;
&lt;td&gt;(without disks)&lt;/td&gt;
&lt;td&gt;1843 EUR&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The systems are great, but really quickly I started to hit some limitations. Limitations that I have addressed in the last year, and that are interesting enough to share. &lt;strong&gt;Adding a third host&lt;/strong&gt; As FVP is a scale out clustered platform, having two hosts to test with simply just don’t cut it. For big scale out testing I use nested ESXi but to do simple tests I just needed one more host. The challenged I faced was the dilemma of investing in “old” tech or going with new hardware. Intel updated their Xeon line to version 3, the Intel Xeon v3 has more cache (from 12MB to 15MB) more memory bandwidth, increased max memory support up to 768GB and uses DDR4 memory. &lt;a href="http://ark.intel.com/compare/82765,75780"&gt;(Intel ark comparison)&lt;/a&gt; New shiny hardware might be better, but the main goal is to expand my cluster and one of the things I believe in is a uniform host configuration within a cluster. Time is a precious resource and the last thing I want to spend time on is to troubleshoot behavior that is caused by using non-uniform hardware. You might win some time by having a little bit more cache, more memory bandwidth but once you need to troubleshoot weird behavior you lose a lot more. A dilemma is not a dilemma if you go back and forth between the options, thus I researched if it was possible. The most predominant one is the change in CPU microarchitecture. The v3 is part of the new Intel Haswell microarchitecture. The Xeon v2 is build upon the Ivy Bridge. That means that the cluster has to run in EVC mode Ivy Bridge. The EVC dialog box of the cluster indicates that Haswell chips are supported in this EVC mode, thus DRS functionality remains available if I go for the Haswell chip &lt;img src="images/HomeDC-1-EVC-mode-425x396.png" alt="HomeDC-1-EVC-mode"&gt; The Haswell chip uses DDR4 memory and that means different memory timings and different memory bandwidth. FVP can use memory as a storage I/O acceleration resource and a lot of testing will be done with memory. That means that applications can behave differently when FVP decides to replicate fault tolerant writes to the DDR4 host or vice versa. In itself it’s a very interesting test, thus again another dilemma is faced. However, these tests are quite unique and I rather have uniform performance across the cluster and avoid any troubleshooting behavior due to hardware disparity. Due to the difference in memory type, a new Motherboard is required too. That meant that I have to find a motherboard that contains the same chipsets and network configuration. The SuperMicro X9SRH-7TF rocks. Onboard 10 GbE is excellent. Some other users in the community have reported overheating problems, Erik Bussink was hit hard by the overheat problem and bought another board just to get rid of weird errors caused by the overheating. That by itself made me wonder if I would buy another X9SRH-7TF or go for a new Supermicro board and buy a separate Intel X540-T2 dual port 10GbE NIC to get the same connectivity levels. After weighing the pros and cons I decided to go for the uniform cluster configuration. Primarily because testing and understanding software behavior is hard enough. Second-guessing whether behavior is caused by the hardware disparity is a time sucking beast and even worse, it typically kills a lot of joy in your work. Contrary to popular belief, prices of older hardware does not decline forever, due to availability of newer hardware and remaining stock, prices go up. The third host was almost 500 Euro’s, more expensive than the previous price I had to pay. &lt;strong&gt;Networking&lt;/strong&gt; Networking is interesting as I changed a lot during the last year. The hosts are now equipped with an Intel PRO 1000 PT dual ports with the 82571 chip. Contrary to my initial post these are &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2056935"&gt;supported by vSphere 5.5&lt;/a&gt;. However network behavior is a large part of understanding scale out architectures, thus more NIC ports are needed. An additional HP NC365T Quad-port Ethernet Server Adapter was placed in each server. The HP NIC is based on the Intel 82580 chipset but is a lot cheaper than buying Intel branded cards. Each host has one NIC dedicated to IPMI, 2 10GbE ports and 6 1GbE. In hindsight, I would rather go for two Quad NIC cards as it allows me to setup different network configurations without having to tear them down each time. With the introduction of the third host I had to buy a 10GbE switch. The two host were directly connected to each other, however this configuration is not possible with three hosts. Thus I had to look for a nice cheap 10GbE switch that doesn’t break the bank and is quiet. Most 10GbE switches are made for the data center where noise isn’t really a big issue. My home lab is located in my home office, spending most of my day with something that sounds like a jet plane is not my idea of fun. The NETGEAR ProSafe Plus XS708E 8-port 10-Gigabit fit most of my needs. 8 ports for less than 900 euro’s, it’s kind of a steal compared to the alternatives. However I wasn’t really impressed by the noise levels (and spending 900 euro’s but that’s a different story). Again my main go-to-guy for all hardware related questions Erik Bussink provided the solution, the &lt;a href="http://www.noctua.at/main.php?show=productview&amp;amp;products_id=47&amp;amp;lng=en"&gt;Noctua NF-A4-x10 FLX&lt;/a&gt; coolers. Designed to fit into 1U boxes they were perfect. &lt;img src="images/HomeDC-2-Noctua-Netgear-297x396.jpg" alt="HomeDC-2-Noctua-Netgear"&gt; But as you can see the design of the Netgear is a bit weird. The coolers are positioned at the far end of the PCB with all the heatsinks. When the switch is properly loaded, the thing emits a lot of heat. Regardless of what type of internal fan is used. To avoid heat buildup in the switch I used simple physics, but I will come to that later. Now having three hosts with seven 1 GbE connections, two storage systems eating up 3 ports and an uplink to the rest of the network I needed a proper switch. Lessons learned in that area, research thoroughly before pressing the buy button. I started of with buying an HP 1810-24G v2 switch. Silent, 24 ports, VLAN support. Awesome! No not awesome because it couldn’t route VLANs. And to the observant reader, 25 ports required, 24 ports offered. A VCDX’esque-like constraint. To work around the 24 ports limitation I changed my network design and wrote some scripts to build and tear down different network configurations. Not optimal, but dealing with home labs is almost like the real world. While testing network behavior and hitting the VMkernel network stack routing problem I decided it was time to upgrade my network with some proper equipment. I asked around in the community and a lot where using the Cisco SG300 series switch. &lt;a href="https://twitter.com/Craig_Kilborn"&gt;Craig Kilborn on twitter&lt;/a&gt; &lt;a href="http://vmfocus.com/?s=hp+24"&gt;blogged&lt;/a&gt; about his HP v1910 24G and told me that it was quite noisy. A Noctua hack might do the trick, but I actually wanted some more ports than 24. Erik pointed out the Cisco SG500-28-K9-G5 switches that are stackable and fanless. Perfect! I could finally use all the NICs in my servers and have room for some expansion. &lt;img src="images/HomeDC-3-Cisco-297x396.jpg" alt="HomeDC-3 Cisco"&gt; &lt;strong&gt;Time for a new rack&lt;/strong&gt; So from this point on I have three 19” sized switches, the IKEA lack hack table was nice, but these babies deserved better. The third host didn’t fit the table therefor new furniture had to be bought anyways. After spending countless of hours looking at 19” racks I came across a 6U Patch case. &lt;img src="images/2015-05-20-15.37.39-480x360.jpg" alt="2015-05-20 15.37.39"&gt; This case had a lockable glass door (kids) and removable side panels, perfect for my little physics experiment. Just place the case in an upright position, remove the side panels and let the heat escape from the top. The fans will suck in &amp;ldquo;cold&amp;rdquo; air from the bottom. The dimensions of the patch case were perfect as it fitted exactly in my setup. The case is an Alfaco 19-6406. But with this networking equipment I’m feeling that my home lab is slowly turning into a #HomeDC. &lt;img src="images/2015-05-20-16.06.40-297x396.jpg" alt="2015-05-20 16.06.40"&gt; With all this compute and network power I wanted to see what you can do when you have enterprise grade flash devices. I’m already using the Intel DC S3700 SSD’s and I’m very impressed by their consistent high performance. However Intel has released the &lt;a href="http://www.anandtech.com/show/8104/intel-ssd-dc-p3700-review-the-pcie-ssd-transition-begins-with-nvme"&gt;Intel SSD DC p3700 PCIe card&lt;/a&gt; that use NVMe. I turned to Intel and they were so generous of loaning me three of these beasts for a couple of months. The results are extremely impressive, soon I will post some cool test results, but imagine seeing more than 500.000 IOPS in your homeDC on a daily basis. Management server To keep the power bill as low as possible, all three hosts are shutdown after testing, but I would like to have the basic management VMs running. In order to do this, I used a Mac Mini. William wrote extensively about how to install ESXi on a Mac, if you are interested I would recommend to check out his work: &lt;a href="http://www.virtuallyghetto.com/apple"&gt;http://www.virtuallyghetto.com/apple&lt;/a&gt;. Unfortunately 16Gb is quite limited when you are running three windows VMs with SQL DB&amp;rsquo;s, therefor I might expand my management cluster by adding another Mac Mini. Time to find me some additional sponsors. :)&lt;/p&gt;</description></item><item><title>Ballooning, Queue Depths and other back pressure features revisited</title><link>https://frankdenneman.ai/2015-05-20-ballooning-queue-depths-and-other-back-pressure-features-revisited/</link><pubDate>Wed, 20 May 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-05-20-ballooning-queue-depths-and-other-back-pressure-features-revisited/</guid><description>&lt;p&gt;Recently I’ve been involved in a couple conversations about ballooning, QoS and queue depths. Remarks like ballooning is bad, increase the queue depths and use QoS are just the sound bits that spark the conversation. What I learn from these conversations is that it seems we might have lost track of the original intention of these features. &lt;strong&gt;Hypervisor resource management&lt;/strong&gt; Features such as ballooning and queue depths are invented to solve the gap between resource demand and resource availability. When a system experiences a state where resource demand exceeds the resources it controls the system has a problem. This is especially true in systems such as a hypervisor where you cannot control the demand directly. A guest operating system or an application in a virtual machine can demand a lot of resources. The resource management schedulers inside the hypervisor are tasked to fulfilling the demand of that particular machine while at the same time satisfy the resource demand of other virtual machines. Typically the guest OS resource schedulers are not integrated with the hypervisor resource schedulers, this can lead to a situation in which the administrator typically resorts to taking draconian measures. Measures such as disabling ballooning, increasing the queue-depth to become the digital equivalent of the Mariana trench. Sometimes it is taken for granted, but resource management inside the hypervisor is actually a though challenge to solve. Much research is done on solving this problem; a lot of research papers trying to find an answer to this challenge are published on a monthly basis. Let’s step back and take a look from an engineer perspective (or should I say developer?) and see what the problem is and how to solve it in the most elegant way. It’s an architect job to understand that this functionality is not a replacement for a proper design. Let’s start by understanding the problem. &lt;strong&gt;Load-shedding or back pressure&lt;/strong&gt; When dealing with the situation where resource demand exceeds resource availability you can do two things. Well if you don’t do anything, it’s likely to encounter a system failure that can affect a lot more than only that particular resource or virtual machines. Overall you don’t design for system failure, you want to avoid it and to do so you can either drop the load or apply some form of back pressure. I think we all agree that dropping load, sometimes referred to as load-shedding is not the most elegant way of dealing with temporary overload, that’s why a lot of effort is going into back pressure features. A back pressure feature that everyone is familiar with is the memory balloon driver. Guest OS memory schedulers deal with used and free memory in such a way that this is transparent to the hypervisor. When the hypervisor is running out of physical machine memory it needs to figure out a way to retrieve memory. By using the balloon driver, the hypervisor asks the guest OS memory scheduler to provide a list of pages that it doesn’t use or doesn’t deem as important. After getting the info, the hypervisor proceeds to free up the physical memory pages to be able to satisfy incoming memory requests. Instead of dropping the new incoming workload it applies a back pressure system in the most elegant way. I don’t know why people are still talking about ballooning as bad. The feature is awesome, it’s the architect / sys admin job to come up with a plan to avoid back pressure in the system. Again the back pressure feature is not substitute for proper design and management. But the most misunderstood back pressure feature could be queue-depths. Sometimes I hear people refer to queue depths as a performance enhancement. And this is not true. It just allows you to temporarily deal with I/O overload. The best way to have a clear understanding of queue depths is to use the bathroom sink analogy. The drain is the equivalent of the data path leading to the storage array, the sink itself is the queue sitting on top of the data path / drain. The faucet represents the virtual machine workloads. Typically you open up the faucet to a level that allows the drain to cope with the flow of water. Same applies to virtual machine workloads and the underlying storage system. You run an x amount of workload that is suitable for your storage system. The moment you open up the faucet more your sink will fill up and at one point your sink will overflow. Thus you have to do some back pressure mechanism. In the bathroom sink world this typically is done by flowing the water back into the second sink. In the I/O scheduler world this typically resolves in a queue full statement. This typically bogs down the performance of the virtual machine so much that many admins/architect resolve by increasing the queue depth. Because this allows them to avoid the queue full state (temporarily) But in essence you just replaced your bathroom sink by a bigger sink, or something when people go overboard the increase the queue depth to the digital equivalent of a full size bathtub. This bathtub impacts a lot of other workloads as many workload now end up at the top of the queue instead of the deeper part, waiting their turn to go through the drain to the storage system. Result: latency increases in all applications due to improper designed systems. And remember when the bathtub overflows you typically have a bigger mess to deal with. Back pressure features are not a substitute for proper design, therefor think about implementing a bigger drain of even better multiple drains. More bandwidth or just more data paths to the same storage system lead to a short delay of seeing the same back pressure problem again, it just occurs on a different level. Typically when a storage controller fills up its cache, it sends a queue full to all the connected systems, so the problem has now evolved from a system wide problem to a cluster wide problem. This is one of the big reasons why scale out storage systems are a great fit in the virtual datacenter. You create drains to different sewer system typically in a more plan-able manner. If you are looking for more information about this topic, I published a short series on the challenge of traditional storage architectures in virtual datacenters. Quality of Service faces the same predicament. QoS is a great feature dealing with temporary overload, but again, it is not a substitute for a proper design. Back pressure features are great, it allows the system to deal with resource contentions while avoiding system failures. These features are unmissable in the dynamic virtual datacenter of today. When detecting that these features are activated on a frequent basis, one must review the virtual datacenter architecture, the current workloads and future workloads. I think overall it all boils down to understand the workload in your system and have an accurate view of the capabilities of your systems. Proper monitoring and analytics tools are therefore indispensable. Not only for daily operations but also for architects dealing with maintaining a proper service level for their current workloads while architecting an environment that can deal with unknown future workloads.&lt;/p&gt;</description></item><item><title>VMware Tools is out of date on this virtual machine while summary states Current</title><link>https://frankdenneman.ai/2015-05-05-vmware-tools-is-out-of-data-on-this-virtual-machine-while-summary-states-current/</link><pubDate>Tue, 05 May 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-05-05-vmware-tools-is-out-of-data-on-this-virtual-machine-while-summary-states-current/</guid><description>&lt;p&gt;For some apparent reason all my virtual machines show an alert that the VMware tools is out of date. While the summary states that its running the current version &lt;img src="images/VMware-Tools-is-out-of-data-on-this-virtual-machine-while-summary-states-Current-680x203.png" alt="VMware Tools is out of data on this virtual machine while summary states Current"&gt; When trying to upgrade the VMware tools, all options are grayed out: &lt;img src="images/Grayed-out-VMtools-options-450x396.png" alt="Grayed out VMtools options"&gt; It appears to be a cosmetic error but I stil wanted to know why it shows the alert on my virtual machines. As it turns out I created my templates on my management cluster host (lab) and that host runs a newer version of vSphere 5.5 (2068190) &lt;img src="images/Management-cluster-version-680x275.png" alt="Management cluster version"&gt; My workload cluster host run a slightly older version of vSphere 5.5 and it uses a different version of VMtools. &lt;img src="images/Workload-cluster-version-680x284.png" alt="Workload cluster version"&gt; The VMtools version list helps you to identify which version of VMtools installed in your virtual machine belongs to which ESXi version: &lt;a href="https://packages.vmware.com/tools/versions" title="https://packages.vmware.com/tools/versions"&gt;https://packages.vmware.com/tools/versions&lt;/a&gt; Hope this clarifies this weird behavior of the UI for some.&lt;/p&gt;</description></item><item><title>Hammer, MagicBands and challenging status quo</title><link>https://frankdenneman.ai/2015-04-23-hammer-magicbands-and-challenging-status-quo/</link><pubDate>Thu, 23 Apr 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-04-23-hammer-magicbands-and-challenging-status-quo/</guid><description>&lt;p&gt;One of my favorite business books is the famous book of Michael Hammer “&lt;a href="http://www.amazon.com/Reengineering-Corporation-Manifesto-Revolution-Essentials/dp/0060559535/ref=sr_1_1?ie=UTF8&amp;amp;qid=1429789242&amp;amp;sr=8-1&amp;amp;keywords=Reengineering+the+Corporation"&gt;Reengineering the Corporation&lt;/a&gt;”. The theme is the book is to take a hard look at business processes and radically change these old and existing processes. Hammer states that typically companies sped up their processes by implementing a newer iteration of existing technology. Many processes are dated before the advent of the computers and just by automating the process it can only optimizes performance marginally. Embedding computers in the archaic processes cannot address their fundamental performance challenges. By understanding what the process is trying to achieve one can break away from the existing design principles of the process. One great example is one of my favorite technologies is the Disney’s MagicBand and the way it’s used to radically change processes. [caption id=&amp;ldquo;attachment_5292&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;480&amp;rdquo;]&lt;img src="images/Screen-Shot-2015-04-23-at-13.58.38-480x319.png" alt="Photo by Adam Voorhes / wired.com"&gt; Photo by Adam Voorhes / wired.com[/caption] &lt;strong&gt;Disney’s MagicBand&lt;/strong&gt; The MagicBand is what is commonly referred to as a wearable. Inside the bracelet are a RFID chip and a radio. The parks have long range and short-range scanners along with sensors to interact with the MagicBand bracelet. One of the perks of my job is to speak to people who deliver cutting edge technology and as you can imagine I was very thrilled to speak to some of the team members who worked on the MagicBand platform. In essence the Disney MagicBand replaces every transaction between the customer and cast members or Disney parks and resorts. The MagicBand becomes your key to anything. It allows access to the park, access to the resorts and automatic payment. Its goal is to create a frictionless experience for the customer, increasing the satisfaction, which of course will increase spending. Instead of tinkering with existing processes Disney overhauled a lot of processes and many more are to follow. A great example is the overhaul of the check-in process and how it’s completely inline with the Hammer doctrine. Instead of buying newer faster desktop computers to speed up the check-in process, customers can go directly to their hotel room, bypassing the check in process all together. Disney’s sends the MagicBand to your home and prior to your visit the resort informs you via email which room is yours for your stay. Just walk up to your room and unlock the door by taping your MagicBand against the sensor on the door. MagicBands allows Disney to get rid of the ancient turnstiles that is the first port of anxiety of new parents and their strollers, instead of being funnelled into narrow cramped isles the entrance is now in the shape of a inviting V shape form with incredible process speeds. Just hold your MagicBand to the access point and wait to be greeted by an welcoming green glow, from then on its off to your favorite experience. &lt;img src="images/disney-magic-bands-614x300.jpg" alt="disney-magic-bands"&gt; The MagicBand platform allows for new experiences as well. What about having a more personalized interaction with cast members? What if Cinderella greets your daughter by name and tells her that she knows she is her favorite princess or that she wishes her a happy birthday? Just mind-blowing and an experience she will never forget. Range scanners, sensors, WIFI, smart phones apps, user profiles and an insane amount of data crunching make this happen. Customers use the smart phone app to access their schedules and their user profiles. Countless short and long-range sensors scattered across the park pick up the signals of the bracelets. These systems are connected to each other, they collect data, and they use the captured data to optimize the experience of the customers. Data on visitors traffic flow, food orders and waiting times can be used to realign internal resources. Ever heard about Internet of things? This is the poster child of Internet of things. &lt;strong&gt;Stop! Hammer Time&lt;/strong&gt; Circling back to the opening statement, using newer iteration of existing technology only provide marginally performance increases. Advances like the MagicBand require new technologies and new ways to operationalize these technologies in datacenters. Not every company is of the same size as Disney, but one thing is certain, most companies face the same challenge Disney has. How to reduce cost, increase efficiency and provide a new experience that makes them unique in a highly competitive market? A lot of brilliant people are trying to solve these problems by creating technical solutions and it’s up to the IT team to understand if these suit their operation models. How can you reengineer your corporation and create a new service offering while your IT is stuck in the past? Stuck using systems that are designed to work in infrastructures dating back to the early ‘70’s? Where they just found out that the market was bigger than 5 computers? Everything has to align, when the business changes it models, the IT team should not take anything for granted, they too need to aim for quantum leaps of performance. Markets shift rapidly; IT needs to be able to respond almost in a way that anticipates their needs. Maybe even in a way that it doesn’t feel remarkable at all, high service standards are the norm! Within the realm of virtualized datacenters two technology advancements can create an experience that might provide a ubiquitous experience to the business but provide the magic to the IT team; Scale out storage and object based storage. &lt;strong&gt;Scale out storage and object based storage&lt;/strong&gt; Proper Scale out storage systems allows you to operationalize new advancement in storage technology as soon as they are available. They allow virtual datacenters to cater to any performance requirement possible any time. While, and this is very important, without impact current workloads that are using the same platform. Many application vendors move away from a monolithic application architecture, why keep holding on to the relics of the past by using a monolithic storage architecture for performance requirements? Object based storage, such as VMware VVOLs, allows you to fundamentally change how to provide data services to systems (virtual machines). Instead of creating management constructs and aligning data services to these logical layers (LUNs and datastores), data services can be directly applied to the specific machine. Virtual machines become first class citizens on storage systems, allowing IT teams to cater to requirements that both affect the business as well as the IT team requirements. &lt;strong&gt;Challenge status quo&lt;/strong&gt; Hammer stated don’t ask, “How can we do what we do faster?” But ask; Why do we do it the way we do?” In essence, challenge status quo if you want to keep on moving forward in a time that introduces new technologies and application landscapes on a daily basis!&lt;/p&gt;</description></item><item><title>DB Deepdive part 6: Query Plans, Intermediate Results, tempdb and Storage Performance</title><link>https://frankdenneman.ai/2015-04-09-db-deepdive-part-6-query-plans-intermediate-results-tempdb-and-storage-performance/</link><pubDate>Thu, 09 Apr 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-04-09-db-deepdive-part-6-query-plans-intermediate-results-tempdb-and-storage-performance/</guid><description>&lt;p&gt;Welcome to part 6 of the Database workload characteristics series. Databases are considered to be one of the biggest I/O consumers in the virtual infrastructure. Database operations and database design are a study upon themselves, but I thought it might be interested to take a small peak underneath the surface of database design land. I turned to our resident Database expert Bala Narasimhan, PernixData’s VP of products to provide some insights about the database designs and their I/O preferences. Previous instalments of the series: Part 1 - &lt;a href="https://frankdenneman.ai/2014-09-23-database-workload-characteristics-impact-storage-architecture-design-part-1/" title="Database workload characteristics and their impact on storage architecture design - part 1"&gt;Database Structures&lt;/a&gt; Part 2 – &lt;a href="https://frankdenneman.ai/2014-09-24-database-workload-characteristics-impact-storage-architecture-design-part-2-data-pipelines/" title="Database workload characteristics and their impact on storage architecture design – part 2 - Data pipelines"&gt;Data pipelines&lt;/a&gt; Part 3 - &lt;a href="https://frankdenneman.ai/2014-09-29-database-workload-characteristics-impact-storage-architecture-design-part-3-ancillary-structures-tuning-databases/" title="Database workload characteristics and their impact on storage architecture design – part 3 - Ancillary structures for tuning databases"&gt;Ancillary structures for tuning databases&lt;/a&gt; Part 4 - NoSQL platforms Part 5 - &lt;a href="https://frankdenneman.ai/2015-04-07-database-workload-characteristics-and-their-impact-on-storage-architecture-design-part-5-query-execution-plans/" title="Database workload characteristics and their impact on storage architecture design – part 5 - Query Execution Plans"&gt;Query Execution Plans&lt;/a&gt; In a previous article I introduced the database query optimizer and described how it works. I then used a TPC-H like query and the SQL Server database to explain how to understand the storage requirements of a query via the query optimizer. In today’s article we will deep dive into a specific aspect of query execution that severely impacts storage performance; namely intermediate results processing. For today’s discussion I will use the query optimizer within the PostgreSQL database. The reason I do this is because I want to show you that these problems are not database specific. Instead, they are storage performance problems that all databases run into. In the process I hope to make the point that these storage performance problems are best solved at the infrastructure level as opposed to doing proprietary infrastructure tweaks or rewrites within the database. After a tour of the PostgreSQL optimizer we will go back to SQL Server and talk about a persistent problem regarding intermediate results processing in SQL Server; namely tempdb. We’ll discuss how users have tried to overcome tempdb performance problems to date and introduce a better way. &lt;strong&gt;What are intermediate results?&lt;/strong&gt; Databases perform many different operations such as sorts, aggregations and joins. To the extent possible a database will perform these operations in RAM. Many times the data sets are large enough and the amount of RAM available is limited enough that these operations won’t fully fit in RAM. When this happens these operations will be forced to spill to disk. The data sets that are written to and subsequently read from disk as part of executing operations such as sorts, joins and aggregations are called intermediate results. In today’s article we will use sorting as an example to drive home the point that storage performance is a key requirement for managing intermediate results processing. &lt;strong&gt;The use case&lt;/strong&gt; For today’s example we will use a table called BANK that has two columns ACCTNUM and BALANCE. This table tracks the account numbers in a bank and the balance within each account. The table is created as shown below: &lt;code&gt;Create Table BANK (AcctNum int, Balance int);&lt;/code&gt; The query we are going to analyze is one that computes the number of accounts that have a given balance and then provides this information in ascending order by balance. This query is written in SQL as follows: S&lt;code&gt;elect count(AcctNum), Balance from BANK GROUP BY Balance ORDER BY Balance;&lt;/code&gt; The &lt;code&gt;ORDER BY&lt;/code&gt; clause is what will force a sort operation in this query. Specifically we will be sorting on the Balance column. I used the PostgreSQL database to run this query. I loaded approximately 230 million rows into the BANK table. I made sure that the cardinality of the Balance column is very high. Below I have a screenshot from the PostgreSQL optimizer for this query. Note that the query will do a disk based merge sort and will consume approximately 4 GB of disk space to do this sort. A good chunk of the query execution time was spent in the sort operation. &lt;img src="images/part-6-480x374.png" alt="part 6"&gt; A disk-based sort, and other database operations that generate intermediate results, is characterized by large writes of intermediate results followed by reads of those results for further processing. IOPS is therefore a key requirement. What is especially excruciating about the sort operation is that it is a materialization point. What this means is that the query cannot make progress until the sort is finished. You’ve essentially bottlenecked the entire query on the sort and the intermediate results it is processing. There is no better validation of the fact that storage performance is a huge impediment for good query times. &lt;strong&gt;What is tempdb?&lt;/strong&gt; tempdb is a system database within SQL Server that is used for a number of reasons including the processing of intermediate results. This means that if we run the query above against SQL Server the sorting operation will spill intermediate results into tempdb as part of processing. It is no surprise then that tempdb performance is a serious consideration in SQL Server environments. You can read more about tempdb &lt;a href="https://technet.microsoft.com/en-us/library/ms190768(v=sql.105).aspx" title="tempdb Database"&gt;here&lt;/a&gt;. How do users manage storage performance for intermediate results including tempdb? Over the last couple of years I’ve talked to a number of SQL Server users about tempdb performance. This is a sore point as far as SQL Server performance goes. One thing I’ve seen customers do to remediate the tempdb performance problem is to host tempdb alone in arrays that have fast media, such as flash, in them in the form of either hybrid arrays or All Flash Arrays (AFA). The thought process is that while the ‘fast array’ is too expensive to standardize on, it makes sense to carve out tempdb alone from it. In this manner, customers look at the ‘fast array’ as a performance band aid for tempdb issues. On the surface this makes sense since an AFA or a hybrid array can provide a performance boost for tempdb. Yet it comes with several challenges. Here are a few:&lt;/p&gt;</description></item><item><title>Database workload characteristics and their impact on storage architecture design – part 5 - Query Execution Plans</title><link>https://frankdenneman.ai/2015-04-07-database-workload-characteristics-and-their-impact-on-storage-architecture-design-part-5-query-execution-plans/</link><pubDate>Tue, 07 Apr 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-04-07-database-workload-characteristics-and-their-impact-on-storage-architecture-design-part-5-query-execution-plans/</guid><description>&lt;p&gt;Welcome to part 5 of the Database workload characteristics series. Databases are considered to be one of the biggest I/O consumers in the virtual infrastructure. Database operations and database design are a study upon themselves, but I thought it might be interested to take a small peak underneath the surface of database design land. I turned to our resident Database expert Bala Narasimhan, PernixData’s VP of products to provide some insights about the database designs and their I/O preferences. Previous instalments of the series: Part 1 - &lt;a href="https://frankdenneman.ai/2014-09-23-database-workload-characteristics-impact-storage-architecture-design-part-1/" title="Database workload characteristics and their impact on storage architecture design - part 1"&gt;Database Structures&lt;/a&gt; Part 2 – &lt;a href="https://frankdenneman.ai/2014-09-24-database-workload-characteristics-impact-storage-architecture-design-part-2-data-pipelines/" title="Database workload characteristics and their impact on storage architecture design – part 2 - Data pipelines"&gt;Data pipelines&lt;/a&gt; Part 3 - &lt;a href="https://frankdenneman.ai/2014-09-29-database-workload-characteristics-impact-storage-architecture-design-part-3-ancillary-structures-tuning-databases/" title="Database workload characteristics and their impact on storage architecture design – part 3 - Ancillary structures for tuning databases"&gt;Ancillary structures for tuning databases&lt;/a&gt; Part 4 - NoSQL platforms Databases are a critical application for the enterprise and usually have demanding storage performance requirements. In this blog post I will describe how to understand the storage performance requirements of a database at the query level using database tools. I’ll then explain why PernixData FVP helps not only to solve the database storage performance problem but also the database manageability problem that manifests itself when storage performance becomes a bottleneck. Throughout the discussion I will use SQL Server as an example database although the principles apply across the board. &lt;strong&gt;Query Execution Plans&lt;/strong&gt; When writing code in a language such as C++ one describes the algorithm one wants to execute. For example, implementing a sorting algorithm in C++ means describing the control flow involved in that particular implementation of sorting. This will be different in a bubble sort implementation versus a merge sort implementation and the onus is on the programmer to implement the control flow for each sort algorithm correctly. In contrast, SQL is a declarative language. SQL statements simply describe what the end user wants to do. The control flow is something the database decides. For example, when joining two tables the database decides whether to execute a hash join, a merge join or a nested loop join. The user doesn’t decide this. The user simply executes a SQL statement that performs a join of two tables without any mention of the actual join algorithm to use. The component within the database that comes up with the plan on how to execute the SQL statement is usually called the query optimizer. The query optimizer searches the entire space of possible execution plans for a given SQL statement and tries to pick the optimal one. As you can imagine this problem of picking the most optimal plan out of all possible plans can be computationally intensive. SQL’s declarative nature can be sub-optimal for query performance because the query optimizer might not always pick the best possible query plan. This is usually because it doesn’t have full information regarding a number of critical components such as the kind of infrastructure in place, the load on the system when the SQL statement is run or the properties of the data. . One example of where this can manifest is called Join Ordering. Suppose you run a SQL query that joins three tables T1, T2, and T3. What order will you join these tables in? Will you join T1 and T2 first or will you join T1 and T3 first? Maybe you should join T2 and T3 first instead. Picking the wrong order can be hugely detrimental for query performance. This means that database users and DBAs usually end up tuning databases extensively. In turn this adds both an operational and a cost overhead. &lt;strong&gt;Query Optimization in Action&lt;/strong&gt; Let’s take a concrete example to better understand query optimization. Below is a SQL statement from a TPC-H like benchmark. &lt;code&gt;select top 20 c_custkey, c_name, sum(l_extendedprice * (1 - l_discount)) as revenue, c_acctbal, n_name, c_address, c_phone, c_comment from customer, orders, lineitem, nation where c_custkey = o_custkey and l_orderkey = o_orderkey and o_orderdate &amp;gt;= ':1' and o_orderdate &amp;lt; dateadd(mm,3,cast(':1'as datetime)) and l_returnflag = 'R' and c_nationkey = n_nationkey group by c_custkey, c_name, c_acctbal, c_phone, n_name, c_address, c_comment order by revenue;&lt;/code&gt; The SQL statement finds the top 20 customers, in terms of their effect on lost revenue for a given quarter, who have returned parts they bought. Before you run this query against your database you can find out what query plan the optimizer is going to choose and how much it is going to cost you. Figure 1 depicts the query plan for this SQL statement from SQL Server 2014 [You can learn how to generate a query plan for any SQL statement on SQL Server at h&lt;a href="ttps://msdn.microsoft.com/en-us/library/ms191194.aspx"&gt;ttps://msdn.microsoft.com/en-us/library/ms191194.aspx&lt;/a&gt;. &lt;img src="images/nested-680x117.png" alt="nested"&gt; You should read the query plan from right to left. The direction of the arrow depicts the flow of control as the query executes. Each node in the plan is an operation that the database will perform in order to execute the query. You’ll notice how this query starts off with two Scans. These are I/O operations (scans) from the tables involved in the query. These scans are I/O intensive and are usually throughput bound. In data warehousing environments block sizes could be pretty large as well. A SAN will have serious performance problems with these scans. If the data is not laid out properly on disk, you may end up with a large number of random I/O. You will also get inconsistent performance depending on what else is going on in the SAN when these scans are happening. The controller will also limit overall performance. The query begins by performing scans on the lineitem table and the orders table. Note that the database is telling what percentage of time it thinks it will spend in each operation within the statement. In our example, the database thinks that it will spend about 84% of the total execution time on the Clustered Index Scan on lineitem and 5% on the other. In other words, 89% of the execution time of this SQL statement is spent in I/O operations! It is no wonder then that users are wary of virtualizing databases such as these. You can get even more granular information from the query optimizer. In SQL Server Management Studio, if you hover your mouse over a particular operation a yellow pop up box will appear showing very interesting statistics. Below is an example of data I got from SQL Server 2014 when I hovered over the Clustered Index Scan on the lineitem able that is highlighted in Figure 1. &lt;img src="images/fig2-289x396.png" alt="fig2"&gt; Notice how Estimated I/O cost dominates over Estimated CPU cost. This again is an indication of how I/O bound this SQL statement is. You can learn more about the fields in the figure above here. &lt;strong&gt;An Operational Overhead&lt;/strong&gt; There is a lot one can learn about one’s infrastructure needs by understanding the query execution plans that a database generates. A typical next step after understanding the query execution plans is to tune the query or database for better performance. For example, one may build new indexes or completely rewrite a query for better performance. One may decide that certain tables are frequently hit and should be stored on faster storage or pinned in RAM. Or, one may decide to simply do a complete infrastructure rehaul. All of these result in operational overheads for the enterprise. For starters, this model assumes someone is constantly evaluating queries, tuning the database and making sure performance isn’t impacted. Secondly, this model assumes a static environment. It assumes that the database schema is fixed, it assumes that all the queries that will be run are known before hand and that someone is always at hand to study the query and tune the database. That’s a lot of rigidity in this day and age where flexibility and agility are key requirements for the business to stay ahead. &lt;strong&gt;A solution to database performance needs without the operational overhead&lt;/strong&gt; What if we could build out a storage performance platform that satisfies the performance requirements of the database irrespective of whether query plans are optimal, whether the schema design is appropriate or whether queries are ad-hoc or not? One imagines such a storage performance platform will completely take away the sometimes excessive tuning required to achieve acceptable query performance. The platform results in an environment where SQL is executed as needed by the business and the storage performance platform provides the required performance to meet the business SLA irrespective of query plans. This is exactly what PernixData FVP is designed to do. PernixData FVP decouples storage performance from storage capacity by building a server side performance tier using server side flash or RAM. What this means is that all the active I/O coming from the database, both reads and writes, whether sequential or random, and irrespective of block size is satisfied at the server layer by FVP right next to the database. You are longer limited by how data is laid out on the SAN, or the controller within the SAN or what else is running on the SAN when the SQL is executed. This means that even if the query optimizer generates a sub optimal query plan resulting in excessive I/O we are still okay because all of that I/O will be served from server side RAM or flash instead of network attached storage. In a future blog post we will look at a query that generates large intermediate results and explain why a server side performance platform such as FVP can make a huge difference. &lt;em&gt;Post originally appeared on &lt;a href="http://www.toddmace.io/blog/2015/4/1/how-can-database-users-benefit-from-pernixdata-fvp"&gt;ToddMace.io&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Don’t backup. Go forward with Rubrik</title><link>https://frankdenneman.ai/2015-03-24-dont-backup-go-forward-with-rubrik/</link><pubDate>Tue, 24 Mar 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-03-24-dont-backup-go-forward-with-rubrik/</guid><description>&lt;p&gt;&lt;img src="images/Screen-Shot-2015-03-24-at-16.51.59.png" alt="Screen Shot 2015-03-24 at 16.51.59"&gt; &lt;a href="http://rubrik.com/"&gt;Rubrik&lt;/a&gt; has set out to build a time machine for cloud infrastructures. I like the message as it shows that they are focused on bringing simplicity to the enterprise backup world. Last week I had the opportunity to catch up with them and they had some great news to share as they were planning to come out of stealth this week. And that day is today. &lt;strong&gt;Rubrik platform&lt;/strong&gt; This time machine is delivered on a 2U commodity appliance that runs the Rubrik software. By installing this appliance you greatly reduce the number of machines that are necessary to provide backup and restore services today. Reducing the number of machines simplifies the infrastructure for architects and support, while the UI of Rubrik simplifies the day-to-day operations of the administrators. &lt;strong&gt;User Interface&lt;/strong&gt; No agents are needed in the virtual datacenters to discover the workload and the user interface is centered on policy driven SLAs. Unfortunately I can’t show the user-interface, but trust me this is something you longed for a long time. Due to the pedigree of the co-founders it comes as no surprise that the Rubrik platform is fully programmable with REST API’s. Typically moving to a new backup system introduces risk and cost. Learning curves are high, misconfigured backup configurations possibly risking data loss. Policy driven and the ability to use REST APIs ensure that the platform easily integrates in every environment. The policies are so easy to use that no training is necessary; this reduces the impact of transition to a new backup system. The low learning curve means that no countless hours are lost by figuring out how to safely backup your data, while the REST APIs allow advanced tech crews to integrate Rubrik in their highly automated service offerings. &lt;strong&gt;Architecture&lt;/strong&gt; One thing that made me very happy to see is the Rubriks’ ability to “cloud-out” your data. Rubrik provides a gateway to AWS allowing you to send “aged data” to the cloud in a very secure way. This feature benefits the complexity reduction of local architecture. Instead of having to incorporate a tape library, you now only need an Internet connection. Having worked with a big tape libraries myself for years I know this will not only bring a lot of datacenter space back and reduce your energy bill, you WILL have way less heat to cool. As the team understand the concept of distributed architectures thoroughly (more about that in the next paragraph) it doesn’t come as a surprise that it scales very well. The architecture can scale to 1000s of nodes. What’s interesting is that it can mount the snapshots directly on the Rubrik platform allowing virtual machines to run directly on the appliance. Think about the possibilities for development. Snapshot your current production workload and test your new code instantly without any impact on active services. Rubrik starts off by supporting VMware vSphere and it makes sense to focus on the biggest market out there as a startup. But support for other hypervisors and cloud infrastructures (to cloud-out data) will follow. I expect Rubrik to become a success, the product aligns with the todays enterprise datacenter requirements and the pedigree of the team is amazing. As mentioned before the co-founders have a very rich background in distributed systems, Arvind Jain was the founding Engineer of Riverbed and was a Distinguished Engineer at Google before co-founding the other three members. Interesting enough (for me at least) there are stong ties with PernixData. Prior to Rubrik, &lt;a href="https://twitter.com/bipulsinha" title="Bipul Sinha on twitter"&gt;Bipul Sinha&lt;/a&gt; was a partner at LightSpeed before founding Rubrik. I had the great pleasure of talking to Bipul often, as he is the initial investor of PernixData. Funny enough I can recall a conversation where Bipul asked me on my view of the backup world. I believe boring and totally not sexy was my initial reply. Guess he is setting out to change that fast! The CTO of Rubrik, Arvind Nithrakashyap, worked at Oracle where he co-founded Oracle Exadata. The other Co-founder of Exadata is PernixData CEO Poojan Kumar. Last but certainly not least Soham Mazumdar, who worked at Google on the search engine and founded Tagtile. As of today you can sign-up for the &lt;a href="http://rubrik.com/early-access/"&gt;early access program&lt;/a&gt;. Go visit the &lt;a href="http://rubrik.com/"&gt;website&lt;/a&gt; to read more and follow them on &lt;a href="https://twitter.com/rubrikinc"&gt;twitter&lt;/a&gt;. Exciting times ahead for Rubrik! Don’t Backup. Go Forward!&lt;/p&gt;</description></item><item><title>Part 3 - Data path is not managed as a clustered resource</title><link>https://frankdenneman.ai/2015-03-16-part-3-data-path-is-not-managed-as-a-clustered-resource/</link><pubDate>Mon, 16 Mar 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-03-16-part-3-data-path-is-not-managed-as-a-clustered-resource/</guid><description>&lt;p&gt;Welcome to part 3 of the Virtual Datacenter scaling problems with traditional shared storage series. Last week I published an article about the FAST presentation “&lt;a href="https://frankdenneman.ai/2015-03-09-fast-15-presentation-about-fvp-fault-tolerant-writeback/" title="FAST '15 presentation about FVP Fault Tolerant WriteBack"&gt;A Practical Implementation of Clustered Fault Tolerant Write Acceleration in a Virtualized Environment&lt;/a&gt;”. Ian Forbes followed up with the question about the advantages of throughput and latency of host-to-host network versus a traditional SAN when both have similar network speeds. Part 1: Intro Part 2: &lt;a href="https://frankdenneman.ai/2015-03-12-virtual-datacenter-scaling-problems-with-traditional-shared-storage-part-2/" title="Virtual Datacenter scaling problems with traditional shared storage - part 2"&gt;Storage Area Network topology&lt;/a&gt; &lt;strong&gt;IOPS distribution amongst ESXi hosts&lt;/strong&gt; In the previous part of this series the IOPS provided by the array were equally divided amongst the ESXi hosts. In reality given the nature of applications and their variance it’s the application demand that drives the I/O demand. And due to this I/O demand will not be equally balanced across all the host in the cluster. The virtual datacenter is comprised of different resource layers each with components that introduce their own set of load balancing algorithms. Back in 2009 Chad published nice diagram depicting all the queues and buffers of a typical storage environment. Go read the excellent article “&lt;a href="http://virtualgeek.typepad.com/virtual_geek/2009/06/vmware-io-queues-micro-bursting-and-multipathing.html"&gt;VMware I/O queues, micro bursting and multipathing&lt;/a&gt;”. How can you ensure that the available paths to the array are load-balanced based on virtual machine demand and importance? Unfortunately for us today’s virtual datacenter lacks load balance functionality that clusters these different layers, reducing hotspots and optimally distributes workloads. Let’s focus on the existing algorithms currently available, and possibly present, in virtual datacenters around the world. &lt;img src="images/Part3-01-Load-balancing-algorithms-v2.png" alt="Part3-01-Load balancing algorithms v2"&gt; &lt;strong&gt;Clustered load balancers&lt;/strong&gt; The only cluster-wide load balancing tools are DRS and Storage DRS. Both cluster resources into seamless pools and distribute workload according to their demand and their priority. When the current host cannot provide the entitled resources a virtual machine demands, the virtual machine is migrated to another host or datastore. DRS aggregates CPU and memory resources, Storage DRS tries to mix and match the VM I/O &amp;amp; capacity demand with the datastore I/O and capacity availability. The layers between compute and datastores are equally important yet network bandwidth and data paths are not managed as a clustered resource. Load balancing occurs within the boundaries of the host; specifically they focus on outgoing data streams. &lt;strong&gt;Data Path load balancing&lt;/strong&gt; With IP-based storage networks, multiple options exist to balance the workload across the outgoing ports. With iSCSI, binding of multiple VMkernel NICs can be used to distribute workload, some storage vendors prefer a configuration using multiple VLANS to load balance across storage ports. When using NFS Load Based Teaming (LBT) can be used to load balance data across multiple NICs. Unfortunately all these solutions don’t take the path behind the first switch port in consideration. Although the existing workload is distributed across the available uplinks as efficiently as possible, no solution exists that pools the connected paths of the hosts in the cluster and distribute the workloads across the hosts accordingly. A solution that distributes virtual machines across host with less congested data paths in a well-informed and automatic manner simply does not exist. &lt;strong&gt;Distributed I/O control&lt;/strong&gt; Storage I/O Control (SIOC) is a datastore-wide scheduler, allowing distributing of queue priority amongst the virtual machines located on various hosts that are connected to that datastore. SIOC is designed to deal with situations where contention occurs. If necessary it divides the available queue slots across the hosts to satisfy the I/O requirements based on the virtual machine priority. SIOC measures the latency from the (datastore) device inside the kernel to disk inside the array. It is not designed to migrate virtual machines to other hosts into the cluster to reduce latency or bandwidth limitations incurred by the data path. Network IO Control (NetIOC) is based on similar framework. It allocates and distributes bandwidth across the virtual machines that are using the NICs of that particular host. It has no ability to migrate virtual machines by taking lower utilized links of other hosts in the cluster into account. &lt;strong&gt;Multipathing software&lt;/strong&gt; VMware Pluggable Storage Architecture (PSA) is interesting. The PSA allows third party vendors to provide their own native multipathing software (NMP). Within the PSA, Path Selection Plugins (PSPs) are active that are responsible for choosing a physical path for I/O requests. The VMware Native Multipathing Plugin framework supports three types of PSPs; Most Recently Used (MRU), Fixed and Round Robin. The Storage Array Type Plugins (SATP) run in conjunction with NMP and manages array specific operations. SATPs are aware of storage array specifics, such as whether it’s an active/active array or active/passive array. For example, when the array uses ALUA (Asymmetric LUN Unit Access) it determines which paths lead to the ports of the managing controllers. The Round Robin PSP distributes I/O for a datastore down all active paths to the managing controller and uses a single path for a given number of I/O operations. Although it distributes workload across all (optimized) paths, it does not guarantee that throughput will be constant. There is no optimization on the I/O profile of the host. Its load balance algorithm is based purely on equal numbers of I/O down a given path, without regard to what the block size of I/O type is, it will not be balanced on application workload characteristics or the current bandwidth utilization of the particular path. Similar to SIOC and NetIOC, NMP is not designed to treat data paths as clustered resource and has no ability to distribute workloads across all available uplinks in the cluster. EMC PowerPath is a third party NMP and has multiple algorithms that consider current bandwidth consumption of the paths and the pending types of I/O. It also integrates certain storage controller statistics to avoid negative affects by continuously switching paths. PowerPath squeezes as much performance (and resilience) out of their storage paths as possible because it can probe the link from host all the way to the back-end of a supported array and make decisions about active links accordingly. However PowerPath hosts do not communicate with each other and balances the I/O load on a host-by-host basis. This paragraph focuses on EMC solution; other storage vendors are releasing their NMP software with similar functionality. However not all vendors are providing their own software, and EMC PowerPath is only supported on a short list of storage vendors other than EMC own products. &lt;strong&gt;Quality of Services on data paths&lt;/strong&gt; Quality of Services on data paths (QoS) is an interesting solution if it provides end-to-end QoS; from virtual machine to datastore. The hypervisor is context-rich environment, allowing kernel services to understand which I/O belongs to which virtual machine. However when the I/O exits the host and hits the network, the remaining identification is the address of the transmitting device of the host. There is no differentiation of priority possible other then at host level. Not all applications are equally important to the business, therefor end-to-end QoS is necessary to guarantee that business critical application get the resources they deserve. Scalability limitation on storage controller ports influences the overall impact of QoS. Similar to most algorithms, it does not aim to provide a balanced utilization of all available data paths; it deals with priority control during resource contention. &lt;strong&gt;Storage Array layer&lt;/strong&gt; Storage DRS is able to migrate virtual machine files based on their resource demand. Storage DRS monitors the VMobserved latency, this includes the kernel and data path latency. Storage DRS incorporates the latency to calculate the benefit a migration has on the overall change in latency at source and destination datastore. It does not use the different latencies of kernel and data path to initiate a migration at compute level. Storage DRS initiates a self-vMotion to load the new VMX file as it has a different location after the storage vMotion, the virtual machine remains on the same hosts. In other words Storage DRS is not designed to migrate virtual machine at the compute layer or datastore layer to solve bandwidth imbalance. Most popular arrays provide asymmetric LUN unit access. All ports on the Storage controllers accept incoming read and write operations, however the controller owning the LUN always manages read operations. Distributing LUNs across controllers are crucial as imbalance of CPU utilization or port utilization of the storage controllers can be easily introduced. LUNs can be manually transferred to improve CPU utilization, however this is not done dynamically unfortunately. Manual detection and management is as good as people watching it and not many organizations watch the environment at that scrutiny level all the time. Some might argue that arrays transfer the LUNs automatically, but that’s when a certain amount of “proxy reads” are detected. This means that the I/O’s are transmitted across the non-optimized paths, and likely either the PSP is not doing a great job, or all your active optimized paths are dead. Both not hallmarks of an healthy – or –properly architected environment. &lt;strong&gt;Is oversizing a solution?&lt;/strong&gt; Oversizing bandwidth can help you so far, as its difficult to predict workload increase and intensity variation. Introduction of radically new application landscape impact current designs tremendously. When looking at the industry developments, its almost certain that most datacenters will be forced to absorb these new application landscapes, can current solutions applied in a traditional storage stack provide and guarantee the services they require and are they able to scale to provide the resources necessary? &lt;strong&gt;Non-holistic load balancer available&lt;/strong&gt; In essence, the data-path between the compute layer and datastore layer is not treated as a clustered resource. Virtual machine host placement is based on compute resource availability and entitlement, disregarding the data path towards storage layer. This can potentially lead to hotspots inside the cluster, where some hosts saturate their data paths, while data paths of other hosts are underutilized. Data path saturation impacts application performance. Unfortunately there is no mechanism available today that takes the various resource demands of a virtual machine into account. No solution at this time has the ability to intelligently manage these resources without creating other bottlenecks or impracticalities. This article is not a stab at the current solutions. It is a very difficult problem to solve, especially for an industry that relies on various components of various vendors, expecting everything to integrate and perform optimally aligning. And think about moving forward and attempt to incorporate new technology advancements from all different vendors when they are available. And don’t forget about backward compatibility, world peace might be easier to solve. With this problem in mind, the existence of uncontrollable data paths, oversubscribed inter-switch links and its inability to be application aware, many solutions nowadays move away from the traditional storage architecture paradigm. Deterministic performance delivery and Policy-driven management are the future and when no centralized control plane is available that stitching these disparate components together a different architecture arises. PernixData FVP, VMware VSAN and Hyper-converged systems rely on point-to-point network architectures of the crossbar switch architecture to provide consistent and non-blocking network performance to cater their storage performance and storage service resiliency needs. Leveraging point-to-point connections and being able to leverage the context-aware hypervisor allows you not only to scale easily, it allows you to create environments that provide consistent and deterministic performance levels. The future datacenter is one step closer! Part 4 focusses on the storage controller architecture and why leveraging host-to-host communication and host resource availability remove scalability issues.&lt;/p&gt;</description></item><item><title>Virtual Datacenter scaling problems with traditional shared storage - part 2</title><link>https://frankdenneman.ai/2015-03-12-virtual-datacenter-scaling-problems-with-traditional-shared-storage-part-2/</link><pubDate>Thu, 12 Mar 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-03-12-virtual-datacenter-scaling-problems-with-traditional-shared-storage-part-2/</guid><description>&lt;p&gt;&lt;strong&gt;Oversubscription Ratios&lt;/strong&gt; The most common virtual datacenter architecture consists of a group of ESXi hosts connected via a network to a centralized storage array. The storage area network design typically follows the core-to-edge topology. In this topology a few high-capacity core switches are placed in the middle this topology. ESXi hosts are sometimes connected directly to this core switch but usually to a switch at the edge. An inter-switch link connects the edge switch to the core switch. Same design applies to the storage array; it’s either connected directly to the core switch or to an edge switch. &lt;img src="images/Part-2-01-core-edge-switch.png" alt="Part-2-01-core-edge-switch"&gt; This network topology allows scaling out easily from a network perspective. Edge switches (sometimes called distribution switches) are used to extend the port count. Although core switches are beefy, there is however a limitation on the number of ports. And each layer in the network topology has its inherent roles in the design. One of the drawbacks is that Edge-to-Core topologies introduce oversubscription ratios, where a number of edge ports use a single connection to connect to a core port. Placement of systems begins to matter in this design as multiple hops increase latency. To reduce latency the number of hops should be reduced, but this impacts port count (and thus number of connected hosts) which impacts bandwidth availability, as there are a finite amounts of ports per switch. Adding switches to increase port count brings you back to device placement problems again. As latency play a key role in application performance, most storage area network aim to be as flat as possible. Some use a single switch layer to connect the host layer to the storage layer. Let’s take a closer look on how scale out compute and this network topology impacts storage performance: &lt;strong&gt;Storage Area Network topology&lt;/strong&gt; This architecture starts of with two hosts, connected with 2 x 10GB to a storage array that can deliver 33K IOPS. The storage area network is 10GB and each storage controller has two 10GB ports. To reduce latency as much as possible, a single redundant switch layer is used that connects the ESXi hosts to the storage controller ports. It looks like this: &lt;img src="images/01-two-host-architecture.png" alt="01-two host architecture"&gt; In this scenario the oversubscription ratio of links between the switch and the storage controller is 1:1. The ratio of consumer network connectivity to resource network connectivity is equal. New workload is introduced which requires more compute resources. The storage team increases the spindle count to increase more capacity and performance at the storage array level. &lt;img src="images/02-six-host-architecture.png" alt="02-six host architecture"&gt; Although both the compute resources and the storage resources are increased, no additional links between the storage controllers are added. The oversubscription ratio is increased and now a single 10Gb link of an ESXi host has to share this link with potentially 5 other hosts. The answer is obviously increasing the number of links between the switch and the storage controllers. However most storage controllers don’t allow scaling the network ports. This design stems from the era where storage arrays where connected to a small number of hosts running a single application. On top of that, it took the non-concurrent activity into account. Not every application is active at the same time and with the same intensity. The premise of grouping intermitted workloads led to virtualization, allowing multiple applications using powerful server hardware. Consolidation ratios are ever expanding, normalizing intermittent workload into a steady stream of I/O operations. Workloads have changed, more and more data is processed every day, pushing these IO’s of all these applications through a single pipe. Bandwidth requirements are shooting through the roof, however many storage area network designs are based of best practices prior to the virtualization era. And although many vendors stress to aim for a low oversubscription ratio, the limitation of storage controller ports prevents removing this constraint. In the scenario above I only used 6 ESXi hosts, typically you will see a lot more ESXi hosts connected to the same-shared storage array, stressing the oversubscription ratio. In essence you have too squeeze more IO through a smaller funnel, this will impact latency and bandwidth performance. Frequently scale-out problems with traditional storage architecture are explained by calculating the average number of IOPS per host by dividing the number of host by the total number of IOPS provided by the array. In my scenario, the average number of IOPS is 16.5K IOPS remained the same due to the expansion of storage resources at the same time the compute resources were added (33/2 or 100/6). Due to the way storage is procured (mentioned in part 1) storage arrays are configured for expected peak performance at the end of its life cycle. When the first hosts are connected, bandwidth and performance are (hopefully) not a problem. New workloads lead to higher consolidation ratio’s, which typically result in expansion of compute cycles to keep the consolidation ratio at a certain level to satisfy performance and availability requirements. This generally leads to reduction of bandwidth and IOPS per hosts. Arguably this should not pose a problem if sizing was done correctly. Problem is, workload increase and workload behavior typically do not align with expectations, catching the architects off-guard or simply new application landscape turn up unexpectedly when business needs change. A lack of proper analytics impacts consumption of the storage resources and avoiding hitting limits. It’s not unusually for organizations to experience performance problems due to lack of proper visibility in workload behavior. To counteract this, more capacity is added to the storage array to satisfy capacity and performance requirements. However this does not solve the problem that exists right in the middle of these two layers. It ignores the funnel created by the oversubscription ratio of the links connected to the storage controller ports. The storage controller port count impact the ability to solve this problem, another problem is that the way total bandwidth is consumed. The activity of the applications and the distribution of the virtual machines across the compute layer affect the storage performance, as workload might not be distributed equally across the links to the storage controllers. Part 3 of this series will focus on this problem.&lt;/p&gt;</description></item><item><title>Memory Deep Dive Summary</title><link>https://frankdenneman.ai/2015-03-02-memory-deep-dive-summary/</link><pubDate>Mon, 02 Mar 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-03-02-memory-deep-dive-summary/</guid><description>&lt;p&gt;This is last part of the memory deep dive. As the total series count 7667 words, I thought it would be a good idea to create a summary of the previous 6 parts. The memory deep dive series: Part 1: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-configuration-scalability-blog-series/" title="Memory configuration scalability blog series"&gt;Memory Deep Dive Intro&lt;/a&gt; Part 2: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-tech-primer-memory-subsystem-organization/" title="Memory deep dive: Memory subsystem organisation"&gt;Memory subsystem Organisation&lt;/a&gt; Part 3: &lt;a href="https://frankdenneman.ai/2015-02-19-memory-deep-dive-memory-subsystem-bandwidth/" title="Memory Deep Dive: Memory Subsystem Bandwidth"&gt;Memory Subsystem Bandwidth&lt;/a&gt; Part 4: &lt;a href="https://frankdenneman.ai/2015-02-20-memory-deep-dive/" title="Memory Deep Dive - Optimizing for Performance"&gt;Optimizing for Performance&lt;/a&gt; Part 5: &lt;a href="https://frankdenneman.ai/2015-02-25-memory-deep-dive-ddr4/" title="Memory Deep Dive - DDR4 Memory"&gt;DDR4 Memory&lt;/a&gt; Part 6: &lt;a href="https://frankdenneman.ai/2015-02-27-memory-deep-dive-numa-data-locality/" title="Memory Deep Dive: NUMA and Data Locality"&gt;NUMA Architecture and Data Locality&lt;/a&gt; Part 7: &lt;a href="https://frankdenneman.ai/2015-03-02-memory-deep-dive-summary/"&gt;Memory Deep Dive Summary&lt;/a&gt; The reason why I started this deep dive is to understand the scalability of server memory configurations and constrains certain memory type introduce. Having unpopulated DIMM slot does not always translate into future expandability of memory capacity. A great example is the DIMM layout of today’s most popular server hardware. The server boards of the &lt;a href="http://www.cisco.com/c/en/us/products/servers-unified-computing/ucs-b200-m4-blade-server/index.html"&gt;Cisco UCS B200 M4&lt;/a&gt;, &lt;a href="http://shopping1.hp.com/is-bin/INTERSHOP.enfinity/WFS/WW-USSMBPublicStore-Site/en_US/-/USD/ViewStandardCatalog-Browse?CatalogCategoryID=DSwQ7hacs9sAAAE3Do9ObFx_"&gt;HP Proliant DL380 Gen 9&lt;/a&gt;, and &lt;a href="http://www.dell.com/us/business/p/poweredge-r730/pd"&gt;Dell PowerEdge 730 Gen 13&lt;/a&gt; come equipped with 2 CPU’s and 24 DIMM slots. &lt;img src="images/Part-7-01-Intel-Xeon-26xx-v3-CPU-and-memory-layout-680x192.png" alt="Part 7-01-Intel Xeon 26xx v3 CPU and memory layout"&gt; Processors used in the aforementioned systems are part of the new Intel Xeon 26xx v3 micro-architecture. It uses multiple onboard memory controllers to provide a multi-channel memory architecture. Multi-channel configurations, DIMM ranking and DIMM types must be considered when designing your new server platform. If these are not taken into account, future scalability might not be possible or the memory will not perform as advertised. &lt;strong&gt;Multi-channel memory architecture&lt;/strong&gt; Modern CPU microarchitectures support triple or quadruple memory channels. This allows the memory controller to access the multiple DIMMs simultaneously. The key to high bandwidth and low latency is interleaving. Data is distributed in small chunks across multiple DIMMs. Smaller bits of data are retrieved from each DIMM across independent channels instead of accessing a single DIMM for the entire chunk of data across one channel. For in-depth information, please go to &lt;a href="https://frankdenneman.ai/2015-02-18-memory-tech-primer-memory-subsystem-organization/" title="Memory Deep Dive: Memory Subsystem Organisation"&gt;part 2&lt;/a&gt;. The Intel Xeon 26xx v3 micro-architecture offers a quad-channel memory architecture. To leverage all the available bandwidth each channel should be populated with at least one DIMM. &lt;img src="images/Part-7-2-Quad-Channel-memory-mode-680x250.png" alt="Part 7-2-Quad Channel memory mode"&gt; This configuration has the largest impact on performance and especially on throughput. &lt;a href="https://frankdenneman.ai/2015-02-20-memory-deep-dive/" title="Memory Deep Dive - Optimizing for Performance"&gt;Part 4&lt;/a&gt; dives into multi-channel configuration in depth. The configuration depicted above leverages all four channels and allows the CPU to interleave memory operations across all four channels. The memory controller groups memory across the channels in a region. When creating a 1 DIMM per Channel configuration, the CPU creates one region (Region 0) and interleaves the memory access. The CPU will use the available bandwidth if less than 4 DIMMs are used, for example when 3 DIMMs are used, the memory controller uses three channels to interleave memory. 2 DIMMs result in two usable channels, and one DIMM will use a single channel, disabling interleaving across channels. Populating four channels provide the best performance, however sometimes extra capacity is required, but less than DIMMS populating four channels provide. For example if 384 GB is required and 32 GB DIMMs are used, 6 DIMMS are used. The CPU will create two Regions. Region 0 will run in quad channel mode, while region 1 runs in dual channel mode: &lt;img src="images/Part-7-3-Unbalanced-Channel-mode-configuration-680x256.png" alt="Part 7-3-Unbalanced Channel mode configuration"&gt; This creates an unbalanced memory channel configuration, resulting in inconsistent performance. With Quad Channel configurations its recommended to add memory in groups of 4 DIMMS. Therefor use 4, 8 or 12 DIMMs per CPU to achieve the required memory capacity. &lt;strong&gt;Memory Ranking&lt;/strong&gt; A DIMM groups the chips together in ranks. The memory controller can access ranks simultaneously and that allows interleaving to continue from channel to rank interleaving. Rank interleaving provides performance benefits as it provides the memory controller to parallelize the memory request. Typically it results in a better improvement of latency. DIMMs come in three rank configurations; single-rank, dual-rank or quad-rank configuration, ranks are denoted as (xR). To increase capacity, combine the ranks with the largest DRAM chips. A quad-ranked DIMM with 4Gb chips equals 32GB DIMM (4Gb x 8bits x 4 ranks). As server boards have a finite amount of DIMM slots, quad-ranked DIMMs are the most effective way to achieve the highest memory capacity. Unfortunately current systems allow up to 8 ranks per channel. Therefor limiting the total capacity and future expandability of the system. &lt;img src="images/Part-7-04-Ranking-Configuration-680x181.png" alt="Part 7-04-Ranking Configuration"&gt; 3 DIMMs of QR provide the most capacity however it is not a supported configuration as 12 ranks exceeds the allowable 8 ranks. Ranking impacts the maximum number of DIMMs used per channel. If current memory capacity of your servers needs to be increased, verify the ranking configuration of the current memory modules. Although there might be enough unpopulated DIMM slots, quad rank memory modules might prevent you from utilizing these empty DIMM slots. LRDIMMs allow large capacity configurations by using a memory buffer to obscure the number of ranks on the memory module. Although LRDIMMs are quad ranked, the memory controller only communicates to the memory buffer reducing the electrical load on the memory controller. &lt;strong&gt;DIMMs per Channel&lt;/strong&gt; A maximum of 3 DIMMs per channel are allowed. If one DIMM is used per channel, this configuration is commonly referred to as 1 DIMM Per Channel (1 DPC). 2 DIMMs per channel (2 DPC) and if 3 DIMMs are used per channel, this configuration is referred to as 3 DPC. When multiple DIMMs are used per channel they operate at a slower frequency.&lt;/p&gt;</description></item><item><title>Memory Deep Dive: NUMA and Data Locality</title><link>https://frankdenneman.ai/2015-02-27-memory-deep-dive-numa-data-locality/</link><pubDate>Fri, 27 Feb 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-02-27-memory-deep-dive-numa-data-locality/</guid><description>&lt;p&gt;This is part 6 of the memory deep dive. This is a series of articles that I wrote to share what I learned while documenting memory internals for large memory server configurations. This topic amongst others will be covered in the upcoming FVP book. The memory deep dive series:&lt;/p&gt;
&lt;p&gt;Part 1: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-configuration-scalability-blog-series/" title="Memory configuration scalability blog series"&gt;Memory Deep Dive Intro&lt;/a&gt; Part 2: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-tech-primer-memory-subsystem-organization/" title="Memory deep dive: Memory subsystem organisation"&gt;Memory subsystem Organisation&lt;/a&gt; Part 3: &lt;a href="https://frankdenneman.ai/2015-02-19-memory-deep-dive-memory-subsystem-bandwidth/" title="Memory Deep Dive: Memory Subsystem Bandwidth"&gt;Memory Subsystem Bandwidth&lt;/a&gt; Part 4: &lt;a href="https://frankdenneman.ai/2015-02-20-memory-deep-dive/" title="Memory Deep Dive - Optimizing for Performance"&gt;Optimizing for Performance&lt;/a&gt; Part 5: &lt;a href="https://frankdenneman.ai/2015-02-25-memory-deep-dive-ddr4/" title="Memory Deep Dive - DDR4 Memory"&gt;DDR4 Memory&lt;/a&gt; Part 6: &lt;a href="https://frankdenneman.ai/2015-02-27-memory-deep-dive-numa-data-locality/" title="Memory Deep Dive: NUMA and Data Locality"&gt;NUMA Architecture and Data Locality&lt;/a&gt; Part 7: &lt;a href="https://frankdenneman.ai/2015-03-02-memory-deep-dive-summary/"&gt;Memory Deep Dive Summary&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Memory Deep Dive: DDR4 Memory</title><link>https://frankdenneman.ai/2015-02-25-memory-deep-dive-ddr4/</link><pubDate>Wed, 25 Feb 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-02-25-memory-deep-dive-ddr4/</guid><description>&lt;p&gt;This is part 5 of the memory deep dive. This is a series of articles that I wrote to share what I learned while documenting memory internals for large memory server configurations. This topic amongst others will be covered in the upcoming FVP book. The memory deep dive series: Part 1: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-configuration-scalability-blog-series/" title="Memory configuration scalability blog series"&gt;Memory Deep Dive Intro&lt;/a&gt; Part 2: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-tech-primer-memory-subsystem-organization/" title="Memory deep dive: Memory subsystem organisation"&gt;Memory subsystem Organisation&lt;/a&gt; Part 3: &lt;a href="https://frankdenneman.ai/2015-02-19-memory-deep-dive-memory-subsystem-bandwidth/" title="Memory Deep Dive: Memory Subsystem Bandwidth"&gt;Memory Subsystem Bandwidth&lt;/a&gt; Part 4: &lt;a href="https://frankdenneman.ai/2015-02-20-memory-deep-dive/" title="Memory Deep Dive - Optimizing for Performance"&gt;Optimizing for Performance&lt;/a&gt; Part 5: &lt;a href="https://frankdenneman.ai/2015-02-25-memory-deep-dive-ddr4/" title="Memory Deep Dive - DDR4 Memory"&gt;DDR4 Memory&lt;/a&gt; Part 6: &lt;a href="https://frankdenneman.ai/2015-02-27-memory-deep-dive-numa-data-locality/" title="Memory Deep Dive: NUMA and Data Locality"&gt;NUMA Architecture and Data Locality&lt;/a&gt; Part 7: &lt;a href="https://frankdenneman.ai/2015-03-02-memory-deep-dive-summary/"&gt;Memory Deep Dive Summary&lt;/a&gt; &lt;strong&gt;DDR4&lt;/strong&gt; Released mid-2014, DDR4 is the latest variant of DDR memory. JEDEC is the semiconductor standardization body and published the DDR4 specs (&lt;a href="http://www.jedec.org/standards-documents/results/jesd79-4%20ddr4" title="JEDEC DDR4 Spec"&gt;JESD79-4&lt;/a&gt;) in September 2012. The standard describes that the per-pin data rate ranges from 1.6 gigatransfers per second to an initial maximum objective of 3.2 gigatransfers per second. However it states that it’s likely that higher performance speed grades will be added in the future.&lt;/p&gt;</description></item><item><title>Memory Deep Dive: Optimizing for Performance</title><link>https://frankdenneman.ai/2015-02-20-memory-deep-dive/</link><pubDate>Fri, 20 Feb 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-02-20-memory-deep-dive/</guid><description>&lt;p&gt;This is part 4 of the memory deep dive. This is a series of articles that I wrote to share what I learned while documenting memory internals for large memory server configurations. This topic amongst others will be covered in the upcoming FVP book. The memory deep dive series: Part 1: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-configuration-scalability-blog-series/" title="Memory configuration scalability blog series"&gt;Memory Deep Dive Intro&lt;/a&gt; Part 2: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-tech-primer-memory-subsystem-organization/" title="Memory deep dive: Memory subsystem organisation"&gt;Memory subsystem Organisation&lt;/a&gt; Part 3: &lt;a href="https://frankdenneman.ai/2015-02-19-memory-deep-dive-memory-subsystem-bandwidth/" title="Memory Deep Dive: Memory Subsystem Bandwidth"&gt;Memory Subsystem Bandwidth&lt;/a&gt; Part 4: &lt;a href="https://frankdenneman.ai/2015-02-20-memory-deep-dive/" title="Memory Deep Dive - Optimizing for Performance"&gt;Optimizing for Performance&lt;/a&gt; Part 5: &lt;a href="https://frankdenneman.ai/2015-02-25-memory-deep-dive-ddr4/" title="Memory Deep Dive - DDR4 Memory"&gt;DDR4 Memory&lt;/a&gt; Part 6: &lt;a href="https://frankdenneman.ai/2015-02-27-memory-deep-dive-numa-data-locality/" title="Memory Deep Dive: NUMA and Data Locality"&gt;NUMA Architecture and Data Locality&lt;/a&gt; Part 7: &lt;a href="https://frankdenneman.ai/2015-03-02-memory-deep-dive-summary/"&gt;Memory Deep Dive Summary&lt;/a&gt; &lt;strong&gt;Optimizing for Performance&lt;/strong&gt; The two primary measurements for performance in storage and memory are latency and throughput. &lt;a href="https://frankdenneman.ai/2015-02-19-memory-deep-dive-memory-subsystem-bandwidth/" title="Memory Deep Dive: Memory Subsystem Bandwidth"&gt;Part 2&lt;/a&gt; covered the relation between bandwidth and frequency. It is interesting to see how the memory components and the how the DIMMs are populated on the server board impact performance. Let’s use the same type of processor used in the previous example’s the Intel Xeon E5 2600 v2. The Haswell edition (v3) uses DDR4, which is covered in part 5. &lt;strong&gt;Processor Memory Architecture&lt;/strong&gt; The Intel E5 2600 family contains 18 different processors. They differ in number of cores, core frequency, amount of cache memory and CPU instruction features. Besides the obvious CPU metrics, system bus speed, memory types, and maximum throughput can differ as well. Instead of listing all 18, I selected three CPUs to show the difference. To compare all 18 processors of the 2600 family, please go to &lt;a href="http://ark.intel.com/compare/76157,75787,75789,75790,75791,75792,75267,75268,75269,75270,75272,75273,75275,75277,76161,75279,75281,75283" title="ark intel compare v2600 v2"&gt;ark.intel.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Memory Deep Dive: Memory Subsystem Bandwidth</title><link>https://frankdenneman.ai/2015-02-19-memory-deep-dive-memory-subsystem-bandwidth/</link><pubDate>Thu, 19 Feb 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-02-19-memory-deep-dive-memory-subsystem-bandwidth/</guid><description>&lt;p&gt;This is part 3 of the memory deep dive. This is a series of articles that I wrote to share what I learned while documenting memory internals for large memory server configurations. This topic amongst others will be covered in the upcoming FVP book. The memory deep dive series:&lt;/p&gt;
&lt;p&gt;Part 1: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-configuration-scalability-blog-series/" title="Memory configuration scalability blog series"&gt;Memory Deep Dive Intro&lt;/a&gt; Part 2: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-tech-primer-memory-subsystem-organization/" title="Memory deep dive: Memory subsystem organisation"&gt;Memory subsystem Organisation&lt;/a&gt; Part 3: &lt;a href="https://frankdenneman.ai/2015-02-19-memory-deep-dive-memory-subsystem-bandwidth/" title="Memory Deep Dive: Memory Subsystem Bandwidth"&gt;Memory Subsystem Bandwidth&lt;/a&gt; Part 4: &lt;a href="https://frankdenneman.ai/2015-02-20-memory-deep-dive/" title="Memory Deep Dive - Optimizing for Performance"&gt;Optimizing for Performance&lt;/a&gt; Part 5: &lt;a href="https://frankdenneman.ai/2015-02-25-memory-deep-dive-ddr4/" title="Memory Deep Dive - DDR4 Memory"&gt;DDR4 Memory&lt;/a&gt; Part 6: &lt;a href="https://frankdenneman.ai/2015-02-27-memory-deep-dive-numa-data-locality/" title="Memory Deep Dive: NUMA and Data Locality"&gt;NUMA Architecture and Data Locality&lt;/a&gt; Part 7: &lt;a href="https://frankdenneman.ai/2015-03-02-memory-deep-dive-summary/"&gt;Memory Deep Dive Summary&lt;/a&gt; &lt;strong&gt;Memory Subsystem Bandwidth&lt;/strong&gt; Unfortunately, there is a downside when aiming for high memory capacity configurations and that is the loss of bandwidth. As shown in Table 1, using more physical ranks per channel lowers the clock frequency of the memory banks. As more ranks per DIMM are used the electrical loading of the memory module increases. And as more ranks are used in a memory channel, memory speed drops restricting the use of additional memory. Therefore in certain configurations, DIMMs will run slower than their listed maximum speeds.&lt;/p&gt;</description></item><item><title>Memory Deep Dive Series</title><link>https://frankdenneman.ai/2015-02-18-memory-configuration-scalability-blog-series/</link><pubDate>Wed, 18 Feb 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-02-18-memory-configuration-scalability-blog-series/</guid><description>&lt;p&gt;Processor speed and core counts are important factors when designing a new server platform. However with virtualization platforms, the memory subsystem can have equal or sometimes even have a greater impact on application performance than the processor speed. During my last trip I spend a lot talking about server configurations with customers. vSphere 5.5 update 2 supports up to 6 TB and vSphere 6.0 will support up to 12TB per server. All this memory can be leveraged for Virtual Machine memory and if you run FVP, &lt;a href="https://frankdenneman.ai/2014-10-02-whats-new-pernixdata-fvp-2-0-distributed-fault-tolerant-memory/" title="What’s new in PernixData FVP 2.0 – Distributed Fault Tolerant Memory"&gt;Distributed Fault Tolerant Memory&lt;/a&gt;. With the possibility of creating high-density memory configurations, care must be taken when spec’ing the server. The availability of DIMM slots does not automatically mean expandability. Especially when you want to expand the current memory configuration. The CPU type and generation impacts the memory configuration and when deciding on a new server spec you get a wide variety of options presented. Memory Channels, Memory bus frequency, ranking, DIMM type are just a selection of options you encounter. DIMM type, the number of DIMMs used and how the DIMMs are populated on the server board impact performance and supported maximal memory capacity. In this short series of blog posts, I attempt to provide a primer on memory tech and how it impacts scalability. Part 1: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-configuration-scalability-blog-series/" title="Memory configuration scalability blog series"&gt;Memory Deep Dive Intro&lt;/a&gt; Part 2: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-tech-primer-memory-subsystem-organization/" title="Memory deep dive: Memory subsystem organisation"&gt;Memory subsystem Organisation&lt;/a&gt; Part 3: &lt;a href="https://frankdenneman.ai/2015-02-19-memory-deep-dive-memory-subsystem-bandwidth/" title="Memory Deep Dive: Memory Subsystem Bandwidth"&gt;Memory Subsystem Bandwidth&lt;/a&gt; Part 4: &lt;a href="https://frankdenneman.ai/2015-02-20-memory-deep-dive/" title="Memory Deep Dive - Optimizing for Performance"&gt;Optimizing for Performance&lt;/a&gt; Part 5: &lt;a href="https://frankdenneman.ai/2015-02-25-memory-deep-dive-ddr4/" title="Memory Deep Dive - DDR4 Memory"&gt;DDR4 Memory&lt;/a&gt; Part 6: &lt;a href="https://frankdenneman.ai/2015-02-27-memory-deep-dive-numa-data-locality/" title="Memory Deep Dive: NUMA and Data Locality"&gt;NUMA Architecture and Data Locality&lt;/a&gt; Part 7: &lt;a href="https://frankdenneman.ai/2015-03-02-memory-deep-dive-summary/"&gt;Memory Deep Dive Summary&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Memory Deep Dive: Memory Subsystem Organisation</title><link>https://frankdenneman.ai/2015-02-18-memory-tech-primer-memory-subsystem-organization/</link><pubDate>Wed, 18 Feb 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-02-18-memory-tech-primer-memory-subsystem-organization/</guid><description>&lt;p&gt;This is part 2 of the memory deep dive. This is a series of articles that I wrote to share what I learned while documenting memory internals for large memory server configurations. This topic amongst others will be covered in the upcoming FVP book. The memory deep dive series: Part 1: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-configuration-scalability-blog-series/" title="Memory configuration scalability blog series"&gt;Memory Deep Dive Intro&lt;/a&gt; Part 2: &lt;a href="https://frankdenneman.ai/2015-02-18-memory-tech-primer-memory-subsystem-organization/" title="Memory deep dive: Memory subsystem organisation"&gt;Memory subsystem Organisation&lt;/a&gt; Part 3: &lt;a href="https://frankdenneman.ai/2015-02-19-memory-deep-dive-memory-subsystem-bandwidth/" title="Memory Deep Dive: Memory Subsystem Bandwidth"&gt;Memory Subsystem Bandwidth&lt;/a&gt; Part 4: &lt;a href="https://frankdenneman.ai/2015-02-20-memory-deep-dive/" title="Memory Deep Dive - Optimizing for Performance"&gt;Optimizing for Performance&lt;/a&gt; Part 5: &lt;a href="https://frankdenneman.ai/2015-02-25-memory-deep-dive-ddr4/" title="Memory Deep Dive - DDR4 Memory"&gt;DDR4 Memory&lt;/a&gt; Part 6: &lt;a href="https://frankdenneman.ai/2015-02-27-memory-deep-dive-numa-data-locality/" title="Memory Deep Dive: NUMA and Data Locality"&gt;NUMA Architecture and Data Locality&lt;/a&gt; Part 7: &lt;a href="https://frankdenneman.ai/2015-03-02-memory-deep-dive-summary/"&gt;Memory Deep Dive Summary&lt;/a&gt; Today’s CPU micro-architectures contain integrated memory controllers. The memory controller connects through a channel to the DIMMs. DIMM stands for Dual Inline Memory Module and contains the memory modules (DRAM chips) that provide 4 or 8 bits of data. Dual Inline refers to pins on both side of the module. Chips on the DIMM are arranged in groups called ranks that can be accessed simultaneously by the memory controller. Within a single memory cycle 64 bits of data will be accessed. These 64 bits may come from the 8 or 16 DRAM chips depending on how the DIMM is organized. &lt;strong&gt;An Overview of Server DIMM types&lt;/strong&gt; There are different types of DIMMs, registered and unregistered. Unregistered DIMM (UDIMM) type is targeted towards the consumer market and systems that don’t require supporting very large amounts of memory. An UDIMM allows the memory controller address each memory chip individually and in parallel. Each memory chip places a certain amount of capacitance on the memory channel and weakens the signal. As a result, a limited number of memory chips can be used while maintaining stable and consistent performance. Servers running virtualized enterprise applications require a high concentration of memory. However with these high concentrations, the connection between the memory controller and the DRAM chips can overload, causing errors and delays in the flow of data. CPU speeds increase and therefor memory speeds have to increase as well. Consequently higher speeds of the memory bus leads to data flooding the channel faster, resulting in more errors occurring. To increase scale and robustness, a register is placed between the DRAM chips and the memory controller. This register, sometimes referred to as a buffer, isolates the control lines between the memory controller and each DRAM chip. This reduced the electrical load, allowing the memory controller to address more DRAM chips while maintaining stability. Registered DIMMs are referred to as RDIMMs. Load Reduced DIMMs (LRDIMMs) were introduced in the third generation of DDR memory (DDR3) and buffers both the control and data lines from the DRAM chips. This decreases the electrical load on the memory controller allowing for denser memory configurations. The increased memory capacity leads to increased power consumption, however by implementing the buffer structure differently it provides substantially higher operating data rates than RDIMMs in the same configuration. The key to increased capacity and performance of LRDIMMs is the abstraction of DRAM chips and especially the rank count by the buffer. RDIMMs register only buffers the command and address while leaving the more important data bus unbuffered. This leaves the group of DRAM chips (ranks) exposed to the memory controller. A memory controller accesses the grouped DRAM chips simultaneously. A Quad rank DIMM configuration presents four separate electrical loads on the data bus per DIMM. The memory controller can handle up to a certain amount of load and therefor there is a limitation on the number of exposed ranks. LRDIMMs scale to higher speeds by using rank multiplication, where multiple ranks appear to the memory controller as a logical rank of a larger size. &lt;strong&gt;DIMM Ranking&lt;/strong&gt; DIMMs come in three rank configurations; single-rank, dual-rank or quad-rank configuration, ranks are denoted as (xR). Together the DRAM chips grouped into a rank contain 64-bit of data. If a DIMM contains DRAM chips on just one side of the printed circuit board (PCB), containing a single 64-bit chunk of data, it is referred to as a single-rank (1R) module. A dual rank (2R) module contains at least two 64-bit chunks of data, one chunk on each side of the PCB. Quad ranked DIMMs (4R) contains four 64-bit chunks, two chunks on each side. To increase capacity, combine the ranks with the largest DRAM chips. A quad-ranked DIMM with 4Gb chips equals 32GB DIMM (4Gb x 8bits x 4 ranks). As server boards have a finite amount of DIMM slots, quad-ranked DIMMs are the most effective way to achieve the highest memory capacity. As mentioned before there are some limitations when it comes to the amount of ranks used in a system. Memory controllers use channels to communicate with DIMM slots and each channel supports a limited amount of ranks due to maximal capacitance. &lt;strong&gt;Memory Channel&lt;/strong&gt; Modern CPU microarchitectures support triple or quadruple memory channels. These multiple independent channels increases data transfer rates due to concurrent access of multiple DIMMs. When operating in triple-channel or in quad-channel mode, latency is reduced due to interleaving. The memory controller distributes the data amongst the DIMM in an alternating pattern, allowing the memory controller to access each DIMM for smaller bits of data instead of accessing a single DIMM for the entire chunk of data. This provides the memory controller more bandwidth for accessing the same amount of data across channels instead of traversing a single channel when it stores all data in one DIMM. If the CPU supports triple-channel mode, it is enabled when three identical memory modules are installed in the separate channel DIMM slots. If two of the three-channel slots are populated with identical DIMMs, then the CPU activates dual-channel mode. Quad-channel mode is activated when four identical DIMMs are put in quad-channel slots. When three matched DIMMs are used in Quad-channel CPU architectures, triple-channel is activated, when two identical DIMMs are used, the system will operate in dual-channel mode. &lt;strong&gt;LRDIMM rank aware controllers&lt;/strong&gt; With the introduction of LRDIMMs, memory controllers have been enhanced to improve the utilization of the LRDIMMs memory capacity. Rank multiplication is of of these enhancements and improved latency and bandwidth tremendously. Generally memory controllers of systems prior to 2012 were “rank unaware” when operating in rank multiplication mode. Due to the onboard register on the DIMM it was unaware whether the rank was on the same DIMM it had to account for time to switch between DRAMS on the same bus. This resulted in lower back-to-back read transactions performance, sometimes up to 25% performance penalty. Many tests have been done between RDIMMs and LRDIMMs operating at the same speed. In systems with rank unaware memory controllers you can see a performance loss of 30% when comparing LRDIMMs and RDIMMS. Systems after 2012 are referred to generation 2 DDR3 platforms and contain controllers that are aware of the physical ranks behind the data buffer. Allowing the memory controller to adjust the timings and providing better back-to-back reads and writes. Gen 2 DDR3 systems reduce the latency gap between RDIMMs and LRDIMMs but most importantly it reduces the bandwidth gap. Please be aware of this difference when reading memory reviews posted on the net by independent hardware review sites. Verify the date of the publication to understand if they tested a configuration that was rank aware or rank unaware systems. DDR4 LRDIMMs improves lantencies even further due to use of distributed data buffers. DDR4 memory is covered in the third article in this series. &lt;strong&gt;Pairing DIMMs per Memory Channel&lt;/strong&gt; Depending on the DIMM slot configuration of the server board, multiple DIMMs can be used per channel. If one DIMM is used per channel, this configuration is commonly referred to as 1 DIMM Per Channel (1 DPC). 2 DIMMs per channel (2 DPC) and if 3 DIMMs are used per channel, this configuration is referred to as 3 DPC. [caption id=&amp;ldquo;attachment_4949&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;511&amp;rdquo;]&lt;img src="images/01-Memory-configuration-511x300.png" alt="Figure 1: DPC configurations and channels"&gt; Figure 1: DPC configurations and channels[/caption] &lt;em&gt;The diagram illustrates different DPC configurations; please note that balanced DIMM population (same number and type of DIMMs in each channel) is generally recommended for the best overall memory performance. The configuration displayed above is non-functional do not try to repeat.&lt;/em&gt; However there are some limitations to channels and ranking. To achieve more memory density, higher capacity DIMMs are required. As you move up in the size of gigabytes of memory, you are forced to move up in the ranks of memory. For example single rank and dual rank RDIMMs have a maximum capacity per DIMM of 16GB. DDR3 32GB RDIMMs are available in quad rank (QR). Recently 64GB DIMS are made available, but only in LRDIMM format. Memory rank impacts the number of DIMMS supported per channel. Modern CPUs can support up to 8 physical ranks per channel. This means that if a large amount of capacity is required quad ranked RDIMMs or LRDIMMs should be used. When using quad ranked RDIMMs, only 2 DPC configurations are possible as 3 DPC equals 12 ranks, which exceeds the 8 ranks per memory rank limit of currents systems. [caption id=&amp;ldquo;attachment_4952&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;556&amp;rdquo;]&lt;img src="images/02-Maximum-RDIMM-configuration--556x300.png" alt="Maximum RDIMM configuration (256 GB per CPU)"&gt; Maximum RDIMM configuration (256 GB per CPU)[/caption] When comparing 32GB LRDIMMs and 32GB Quad Rank RDIMMs it becomes apparent that LRDIMMS allow for higher capacity while retaining the bandwidth. For example, a Gen 12 Dell R720 contains two Intel Xeon E5 2600 CPU, allowing up to 1.5TB of RAM. The system contains 24 DIMM slots and allows up to 64GB DDR3 DIMMs up to 1866 Mhz. Dells memory configuration samples only contain configurations up to 1600 MHz. Table 1: Total capacity configuration of RDIMMs and LRDIMMs&lt;/p&gt;</description></item><item><title>New TPS management capabilities</title><link>https://frankdenneman.ai/2015-02-02-new-tps-management-capabilities/</link><pubDate>Mon, 02 Feb 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-02-02-new-tps-management-capabilities/</guid><description>&lt;p&gt;Recently VMware decided that it’s best to change Transparent Page Sharing (TPS) behavior. In KB &lt;a href="http://kb.vmware.com/selfservice/search.do?cmd=displayKC&amp;amp;docType=kc&amp;amp;docTypeID=DT_KB_1_1&amp;amp;externalId=2080735" title="VMware KB 2080735"&gt;2080735&lt;/a&gt; they state the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Although VMware believes the risk of TPS being used to gather sensitive information is low, we strive to ensure that products ship with default settings that are as secure as possible. For this reason new TPS management options are being introduced and inter-Virtual Machine TPS will no longer be enabled by default in ESXi 5.5, 5.1, 5.0 Updates and the next major ESXi release. Administrators may revert to the previous behavior if they so wish.&lt;/p&gt;</description></item><item><title>KB 2104983 explained: Default behavior of DRS has been changed to make the feature less aggressive</title><link>https://frankdenneman.ai/2015-01-28-kb-2104983-explained-default-behavior-drs-changed-make-feature-less-aggressive/</link><pubDate>Wed, 28 Jan 2015 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2015-01-28-kb-2104983-explained-default-behavior-drs-changed-make-feature-less-aggressive/</guid><description>&lt;p&gt;Yesterday a couple of tweets were in my timeline discussing DRS behavior mentioned in KB article &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2104983"&gt;2104983&lt;/a&gt;. The article is terse at best, therefor I thought lets discuss this a little bit more in-depth. During normal behavior DRS uses an upper limit of 100% utilization in its load-balancing algorithm. It will never migrate a virtual machine to a host if that migration results in a host utilization of 100% or more. However this behavior can prolong the time to upgrade all the hosts in the cluster when using the cluster maintenance mode feature in vCenter update manager (parallel remediation). &lt;img src="images/parallel-remediation.png" alt="parallel remediation"&gt; To reduce the overall remediation time, vSphere 5.5 contains an increased limit for cluster maintenance mode and uses a default setting of 150%. This can impact the performance of the virtual machine during the cluster upgrade. vCenter Server 5.5 Update 2d includes a fix that allows users to override the default and can specify the range between 40% and 200%. If no change is made to the setting, the default of 150% is used during cluster maintenance mode. Please note that normal load balancing behavior in vSphere 5.5 still uses a 100% upper limit for utilization calculation.&lt;/p&gt;</description></item><item><title>My wish for 2015 - better tooling to provide better insight</title><link>https://frankdenneman.ai/2014-12-30-wish-2015-better-tooling-provide-better-insight/</link><pubDate>Tue, 30 Dec 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-12-30-wish-2015-better-tooling-provide-better-insight/</guid><description>&lt;p&gt;&lt;img src="images/IOreq.png" alt="IOreq"&gt; I’ve seen this image pop up quite a bit in my twitter timeline this week and it’s a very recognizable situation. Most of us have been in such conversation; I know I was when I was an Enterprise architect. And most tweets are wishing this situation changes in 2015, and I totally agree with it. However in my opinion it’s not the “app owner” who gives the wrong answer, it’s a wrong question to begin with. When I order a bread at the bakery, the baker ask what kind of bread I want, not how he needs to operate and fine tune his machinery in order to give me the product I want. Why do we think our industry, our service offering is different? In reality, can you expect from app owners to truly understand the I/O characteristics of his application? Maybe they read all the documentation of the vendor, maybe they followed a couple of courses on how to configure and operate the application, or maybe they might even got a few certifications under their belt. But in reality there are no classes and courses in the dynamics of the workload you are running. The application stack is merely a framework in order to delivery a service to the business you are servicing. The dynamics of workload is very complex, especially in a virtualized datacenter. Typically enterprise applications do not generate a consistent workload pattern. These patterns are different when servicing users or when interacting with infrastructure services. During their life cycle, applications are updated, code/query improves impacting application behaviour. Pete Koehler wrote down his experience in his article “&lt;a href="http://vmpete.com/2013-10-18-using-a-new-tool-to-discover-old-problems/"&gt;Using a new tool to discover old problems&lt;/a&gt;”. Besides generating a variety of different workload patterns, applications are subject to change during its lifecycle. Change in interaction and demand, impacting the underlying infrastructure differently throughout time. Typically an application experiences a lot of interaction during test/dev/acceptance process before going into production. After the introduction period, demand is low but increasing. During the maturity of the application, demand will peak. At one point application will be replaced and is phased out. During this phase workload demand will taper off, but the service still demands a particular level of service. During all these phases, the infrastructure needs to provide the service the organization demands. And this is just an isolated case of one particular application. Typically the virtual datacenter infrastructure is shared. A virtual machine containing an application lands on a storage array, typically storing multiple virtual machines on that datastore. The datastore is backed by a LUN, backed by multiple physical devices. Access to the devices is done via shared controllers and the list continues all the way up the stack to hypervisor. Maybe the application owner understands what type of I/O the application is generally producing, but the underlying stack will impact the performance. Can you ensure the application gets the performance it requires? Do you know if the infrastructure is capable of delivering the service the application requires? And what about the impact of the application on the infrastructure. How will introducing this application impact the current active applications? Will it impact their service levels? Therefor I believe that two things need to change, behavior and tooling. IT needs to switch from asking technical questions to asking functional questions. It’s better to understand the role and place in the business process. Typically this provides insight on the availability, concurrency and response requirements of the application. The second thing that needs to change, and this is what I hope 2015 will bring, is better tooling that provides insight on workload characteristics. Tooling that provides better analysis of application demand and it’s impact on infrastructure. At this stage, most tooling is ineffective in proving proper information. Virtualized Datacenters need tooling that provides a better view into the theatre of consumers and producers. Tooling that provides a more holistic view of the application workload characteristics while being able to monitor the resource usage. Having such tools allows IT departments to operationalize and manage their environments much better, ensuring proper service levels while being able to understand the capability of the environment. Looking at the current developments in the IT industry, it is incredible difficult to predict what type of workloads (and especially in what form/platform) will hit the enterprise IT landscape in the next two years. Understanding what your environment truly delivers is a necessity when discussing future workloads. I think this is a necessary step for datacenter advancements. Once you know what’s going on, once you got proper tooling to provide better insights you can feed this data into advanced algorithms to distribute the load across the infrastructure to provide the performance it requires while optimizing resource utilization. All of this providing the correct priority aligning it with business needs. This goes beyond todays offering such as DRS, Storage DRS, SIOC in vSphere datacenters and Mesos in container landscapes.&lt;/p&gt;</description></item><item><title>Interesting IT related documentaries</title><link>https://frankdenneman.ai/2014-12-24-interesting-related-documentaries/</link><pubDate>Wed, 24 Dec 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-12-24-interesting-related-documentaries/</guid><description>&lt;p&gt;The holidays are upon us and for most its time to wind down. Maybe time for some nice though-provoking documentaries before the food-coma sets in. ;) Most of the documentaries listed here are created by Tegenlicht (Backlight). Backlight provides some of the best documentaries on Dutch television and luckily they made most of them available in English. The following list is a set of documentaries that impressed me. If you found some awesome documentaries yourself, please leave a comment. &lt;strong&gt;Tech revolution on Wall Street&lt;/strong&gt; Backlight created a trilogy on the tech revolution on Wall Street over a period of three years. The most famous one is the second one, “Money and Speed, inside the black box”. It received multiple awards and although it’s the second documentary in the series of three, I recommend starting with that one. If you are intrigued about how the impact of these algorithms, continue with the other two episodes, “Quants. The alchemists of Wall Street” and “Wall Street Code”. They almost make you feel like you are watching a thriller, highly recommended! 08.02.2010: &lt;strong&gt;Quants, The alchemists of Wall Street&lt;/strong&gt;. &lt;a href="http://tegenlicht.vpro.nl/backlight/quants.html"&gt;English&lt;/a&gt; | &lt;a href="http://tegenlicht.vpro.nl/afleveringen/2009-2010/Crisis-als-kans/quants-de-alchemisten-van-wall-street.html"&gt;Dutch&lt;/a&gt; 20.03.2013: &lt;strong&gt;Money &amp;amp; Speed: Inside the Black Box&lt;/strong&gt;. &lt;a href="http://tegenlicht.vpro.nl/backlight/money-and-speed.html"&gt;English&lt;/a&gt; | &lt;a href="http://tegenlicht.vpro.nl/afleveringen/2010-2011/the-future-of-finance/money-and-speed.html"&gt;Dutch&lt;/a&gt; 04.11.2013: &lt;strong&gt;Wall Street Code&lt;/strong&gt;. &lt;a href="http://tegenlicht.vpro.nl/backlight/wall-street-code.html"&gt;English&lt;/a&gt; | &lt;a href="http://tegenlicht.vpro.nl/afleveringen/2013-2014/de-wall-street-code.html"&gt;Dutch&lt;/a&gt; &lt;strong&gt;Extra video&lt;/strong&gt; 08.02.2010: &lt;strong&gt;Quants, George Dyson&lt;/strong&gt;. &lt;a href="http://tegenlicht.vpro.nl/backlight/George-Dyson.html"&gt;English&lt;/a&gt; 01.07.2011: &lt;strong&gt;Kevin Slavin: How algorithms shape our world&lt;/strong&gt;. &lt;a href="http://www.ted.com/talks/kevin_slavin_how_algorithms_shape_our_world?fb_ref=talk"&gt;English&lt;/a&gt; (Ted Talk) Unfortunately these two documentaries are Dutch only. 21.10.2013: &lt;strong&gt;Big Data, the Shell Search&lt;/strong&gt;. &lt;a href="http://tegenlicht.vpro.nl/afleveringen/2013-2014/big-data-de-shell-search.html"&gt;Dutch&lt;/a&gt; Tegenlicht onderzoekt hoe je met behulp van big data kunt doordringen in gesloten bolwerken. Wat geven deze enorme informatiestromen prijs over een multinational als Shell? 1.10.2014: &lt;strong&gt;Zero Days veiligheidslekken te koop&lt;/strong&gt; &lt;a href="http://tegenlicht.vpro.nl/afleveringen/2014-2015/zero-days.html"&gt;Dutch&lt;/a&gt; Tegenlicht neemt je mee in de handel van &amp;lsquo;zero days&amp;rsquo;, onbekende lekken in software of op het internet. Een strijd tussen &amp;lsquo;white hat&amp;rsquo; en &amp;lsquo;black hat&amp;rsquo; hackers bepaalt onze online veiligheid. Although the voice over is Dutch, most of this documentary is in English, you might want to give it a try. It focuses on legal trade of unknown security vulnerabilities, so called zero days. Yes your government is also acquiring these from hackers, all perfectly legal! Enjoy! And of course I wish you all happy holidays!&lt;/p&gt;</description></item><item><title>Playing tonight: DRS and the IO controllers</title><link>https://frankdenneman.ai/2014-12-01-playing-tonight-drs-io-controllers/</link><pubDate>Mon, 01 Dec 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-12-01-playing-tonight-drs-io-controllers/</guid><description>&lt;p&gt;Ever wondered why the band is always mentioned second, is the band replaceable? Is the sound of the instruments so ambiguous that you can swap out any musician with another? Apparently the front man is the headliner of the show and if he does he job well he will never be forgotten. The people who truly recognize talent are the ones that care about the musicians. They understand that the artist backing the singer create the true sound of the song. And I think this is also the case when it comes to DRS and his supporting act the Storage controllers. Namely SIOC and NETIOC. If you do it right, the combination creates the music in your virtual datacenter, well at least from a resource management perspective. ;)&lt;/p&gt;</description></item><item><title>VCDX- You cannot abstract your way out of things indefinitely</title><link>https://frankdenneman.ai/2014-11-11-vcdx-abstract-way-things-indefinitely/</link><pubDate>Tue, 11 Nov 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-11-11-vcdx-abstract-way-things-indefinitely/</guid><description>&lt;p&gt;The amount of abstraction in IT is amazing. Every level in the software and hardware stack attempts to abstract operations and details. And the industry is craving for more. Look at the impact “All Things Software Defined” has on todays datacenter. It touches almost every aspect, from design to operations. The user provides the bare minimum of inputs and the underlying structure automagically tunes itself to a working solution. Brilliant! However sometimes I get the feeling that this level of abstraction becomes an excuse to not understand the underlying technology. As an architect you need to do your due diligence. You need to understand the wheels and cogs that are turning when dialing a specific knob at the abstracted layer. But sometimes it seems that the abstraction level becomes the right to refuse to answer questions. This was always an interesting discussion during a VCDX defense session. When candidates argued that they weren’t aware of the details because other groups were responsible for that design. I tend to disagree &lt;strong&gt;What level of abstraction is sufficient?&lt;/strong&gt; I am in the lucky position to work with PernixData R&amp;amp;D engineers and before that VMware R&amp;amp;D engineers. They tend to go deep, right down to the core of things. Discussing every little step of a process. Is this the necessary level of understanding the applied technology and solutions for an architect? I don’t think so. It’s interesting to know, but on a day-to-day basis you don’t have to understand the function of ceiling when DRS calculates priority levels of recommendations. What is interesting is to understand what happens if you place a virtual machine at the same hierarchical level as a resource pool filled with virtual machines. What is the impact on the service levels of these various entities? Something in the middle might be the NFS series of &lt;a href="http://www.joshodgers.com/" title="Josh Odgers online"&gt;Josh Odgers&lt;/a&gt;. Josh goes in-depth about the technology involved using NFS datastores. Virtual SCSI Hard Drives are presented to virtual machines, even when ESXi is connected to an NFS datastore. How does this impact the integrity of I/O’s? How does the SCSI protocol emulation process affect write ordering and of I/O’s of business critical applications. You as the virtual datacenter architect should be able to discuss the impact of using this technology with application owners. You should understand the potential impact a selected technology has on the various levels throughout the stack and what impact it has on the service it provides. Recently I published a series on databases and what &lt;a href="https://frankdenneman.ai/2014-09-23-database-workload-characteristics-impact-storage-architecture-design-part-1/" title="Database workload characteristics and their impact on storage architecture design – part 1"&gt;impact their workload characteristics have on storage architecture design&lt;/a&gt;. Understanding the position of a solution in the business process allows an architect to design a suitable solution. Lets use the OLTP example. Typically OLTP databases are at the front of the process, customer-facing process, dramatically put they are in the line of fire. When the OLTP database is performing slow or is unavailable it will typically impact revenue-generating processes. This means that latency is a priority but also concurrency and availability. You can then tailor your design to provide the best services to this application. This is just a simplified example, but it shows that you have to understand multiple aspects of the technology. Not just the behavior of a single component. The idea is to get a holistic view and then design your environment to cater the needs of the business, cause that’s why we get hired. Circling back to the abstraction and the power of software defined, I though the post from &lt;a href="http://www.bitcon.be/?p=2762" title="The good, the bad and the ugly about Software Defined Storage"&gt;Bart Heungens&lt;/a&gt; was interesting. Bart argues that Software Defined Storage is not the panacea for all storage related challenges. Which is true. Bart illustrates an architecture that is comprised of heterogeneous components. In his example, he illustrates what happens when you combine two servers HP DL380, but from different generations. Different generations primarily noticeable from a storage controller perspective and especially the way software behave. This is interesting on so many levels, and it would be a very interesting discussion if this were a VCDX defense session. SDS abstracts many things, but it still relies on the underlying structure to provide the services. From a VCDX defense perspective, Bart has a constraint. And that is the already available hardware and the requirement to use these different generation hardware in his design. VCDX is not about providing the ideal design, but showing how you deal with constrains, requirements and demonstrating your expertise on technology how it impacts the requested solution. He didn’t solve the problem entirely, but by digging in deeper he managed to squeeze out performance to provide a better architecture to service the customers applications. He states the following:&lt;/p&gt;</description></item><item><title>MS Word style formatting shortcut keys for Mac</title><link>https://frankdenneman.ai/2014-10-27-ms-word-style-formatting-shortcut-keys-mac/</link><pubDate>Mon, 27 Oct 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-10-27-ms-word-style-formatting-shortcut-keys-mac/</guid><description>&lt;p&gt;Recently I started to spend a lot of time in MS word again, and as a stickler for details I dislike a mishmash of font types throughout my document. I spend a lot of time on configuring the styles of the document, yet when I paste something from other documents, MS word tend to ignore these. Correcting the format burns a lot of time and it simply annoys the crap out of me. To avoid this further, I started to dig around to find some font and style related shortcut keys. Yesterday I tweeted the shortcut key to apply the normal style and by the looks of retweets many of you are facing the same challenge. Below is a short list of shortcut keys that I use. There are many more, share the common ones you like to use. As I use Mac I listed the Mac shortcut combination. Replace CTRL for CMD if you are using MS Word on a windows machine. &lt;strong&gt;Select text:&lt;/strong&gt; Select all: CTRL+A Select sentence: CMD + click Select word: Double click Select paragraph: Triple click &lt;strong&gt;Formatting:&lt;/strong&gt; Clear formatting: CTRL+spacebar Apply Normal Style: Shift+CMD+N Header 1: CMD+ALT+1 Header 2: CMD+ALT+2 Header 3: CMD+ALT+3 Change Case: CMD+Option+C (repeat combination to cycle through options) Indent paragraph: CTRL+Shift+M Remove indent: CMD+Shift+M Find and replace: F5&lt;/p&gt;</description></item><item><title>99 cents Promo to celebrate a major milestone of the vSphere Clustering Deepdive series</title><link>https://frankdenneman.ai/2014-10-09-upcoming-vmware-vsphere-5-1-clustering-deepdive-promo/</link><pubDate>Thu, 09 Oct 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-10-09-upcoming-vmware-vsphere-5-1-clustering-deepdive-promo/</guid><description>&lt;p&gt;This week Duncan was looking at the sales numbers of the vSphere Clustering Deep Dive series and he noticed that we hit a major milestone in September. In September 2014 we passed the 45000 copies distributed of the vSphere Clustering Deep Dive. Duncan and I never ever expected this or even dared to dream to hit this milestone. &lt;img src="images/vSphere-clustering-books-297x396.jpg" alt="vSphere-clustering-books"&gt;When we first started writing the 4.1 book we had discussions around what to expect from a sales point of view and we placed a bet, I was happy if we sold 100 books, Duncan was more ambitious with 400 books. Needless to say we reset our expectations many times since then&amp;hellip; We didn&amp;rsquo;t really follow it closely in the last 12-18 months, and as today we were discussing a potentially update of the book we figured it was time to look at the numbers again just to get an idea. 45000 copies distributed (ebook + printed) is just remarkable. We&amp;rsquo;ve noticed that the ebook is still very popular, and decided to do a promo. As of Monday the 13th of October the 5.1 e-book will be available for only $ 0.99 for 72 hours, then after 72 hours the price will go up to $ 3.99 and then after 72 hours it will be back to the normal price. So make sure to get it while it is low priced! Pick it up here on &lt;a href="http://www.amazon.com/gp/product/1478183411/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1478183411&amp;amp;linkCode=as2&amp;amp;tag=frankdenneman-20" title="VMware vSphere 5.1 Clustering Deepdive on Amazon"&gt;Amazon.com&lt;/a&gt;! The only other kindle store we could open the promotion up for was amazon.co.uk, so that is also an option!&lt;/p&gt;</description></item><item><title>Database workload characteristics and their impact on storage architecture design – part 3 - Ancillary structures for tuning databases</title><link>https://frankdenneman.ai/2014-09-29-database-workload-characteristics-impact-storage-architecture-design-part-3-ancillary-structures-tuning-databases/</link><pubDate>Mon, 29 Sep 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-09-29-database-workload-characteristics-impact-storage-architecture-design-part-3-ancillary-structures-tuning-databases/</guid><description>&lt;p&gt;Welcome to part 3 of the &lt;a href="https://frankdenneman.ai/2014-09-23-database-workload-characteristics-impact-storage-architecture-design-part-1/" title="Database workload characteristics and their impact on storage architecture design – part 1"&gt;Database workload characteristics series&lt;/a&gt;. Databases are considered to be one of the biggest I/O consumers in the virtual infrastructure. Database operations and database design are a study upon themselves, but I thought it might be interested to take a small peak underneath the surface of database design land. I turned to our resident Database expert &lt;a href="https://twitter.com/BalaNarasimhan" title="Bala on twitter"&gt;Bala Narasimhan&lt;/a&gt;, PernixData’s director of products to provide some insights about the database designs and their I/O preferences. Previous instalments of the series:&lt;/p&gt;</description></item><item><title>Database workload characteristics and their impact on storage architecture design – part 2 - Data pipelines</title><link>https://frankdenneman.ai/2014-09-24-database-workload-characteristics-impact-storage-architecture-design-part-2-data-pipelines/</link><pubDate>Wed, 24 Sep 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-09-24-database-workload-characteristics-impact-storage-architecture-design-part-2-data-pipelines/</guid><description>&lt;p&gt;Welcome to part 2 of the &lt;a href="https://frankdenneman.ai/2014-09-23-database-workload-characteristics-impact-storage-architecture-design-part-1/" title="Database workload characteristics and their impact on storage architecture design – part 1"&gt;Database workload characteristics series&lt;/a&gt;. Databases are considered to be one of the biggest I/O consumers in the virtual infrastructure. Database operations and database design are a study upon themselves, but I thought it might be interested to take a small peak underneath the surface of database design land. I turned to our resident Database expert &lt;a href="https://twitter.com/BalaNarasimhan" title="Bala on twitter"&gt;Bala Narasimhan&lt;/a&gt;, PernixData’s director of products to provide some insights about the database designs and their I/O preferences.&lt;/p&gt;</description></item><item><title>Database workload characteristics and their impact on storage architecture design - part 1</title><link>https://frankdenneman.ai/2014-09-23-database-workload-characteristics-impact-storage-architecture-design-part-1/</link><pubDate>Tue, 23 Sep 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-09-23-database-workload-characteristics-impact-storage-architecture-design-part-1/</guid><description>&lt;p&gt;Frequently PernixData FVP is used to accelerate databases. Databases are for many a black box solution. Sure we all know they consume resources like there is no tomorrow, but can we make some general statements about database resource consumption from a storage technology perspective? I asked Bala Narasimhan, our director of Products, a couple of questions to get a better understanding about the database operations and how FVP can help to provide the performance the business needs. &lt;img src="images/Bala.jpeg" alt="Bala"&gt;The reason why I asked Bala about databases is because of his rich background in database technology. After spending some time at HP writing kernel memory management software, he moved to Oracle and was responsible for memory SGA and PGA. One of his proudest achievements was to build the automatic memory management in 10G. He then went on and worked at a startup where he rewrote the open source database, Postgres, to be a scale out, columnar relational databases for data warehousing and analytics. Bala recently recorded a &lt;a href="http://info.pernixdata.com/Eliminate-Performance-Bottlenecks" title="Eliminate Performance Bottlenecks in Virtualized Databases"&gt;webinar eliminate performance bottlenecks in virtualized Databases&lt;/a&gt;. Bala’s twitter account can be found &lt;a href="https://twitter.com/BalaNarasimhan" title="Bala on twitter"&gt;here&lt;/a&gt;. As the topic databases is an extensive one, the article is split up into a series of smaller articles, making it more digestible.&lt;/p&gt;</description></item><item><title>Improve public speaking by reading a book?</title><link>https://frankdenneman.ai/2014-09-08-improve-public-speaking-reading-book/</link><pubDate>Mon, 08 Sep 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-09-08-improve-public-speaking-reading-book/</guid><description>&lt;p&gt;Although it sounds like an oxymoron I do have the feeling that books about this topic can help you become a better public speaker, or in a matter of fact more skillful in driving home your message.&lt;/p&gt;
&lt;p&gt;After our talk at VMworld a lot of friends complimented not only on the talk itself but also on the improvements I’ve made when it comes to public speaking. My first public speaking engagement was VMworld 2010 at Vegas, 8 o’clock Monday morning for 1200 people. Talk about a challenge! Since then I have been slowly improving my skills. Last year I’ve done more talks than the previous 3 years before combined. Although Malcolm Gladwell’s &lt;a href="http://www.amazon.com/Outliers-Story-Success-Malcolm-Gladwell/dp/0316017930/ref=sr_1_1?ie=UTF8&amp;amp;qid=1410187724&amp;amp;sr=8-1&amp;amp;keywords=outliers" title="Outliers"&gt;10.000 –hour rule&lt;/a&gt; is heavily debated nowadays, I do believe that practice is by far the best way to improve your skill. By itself getting 10.000 hours of public speaking time is rather a challenge and just going through the motions alone will be very inefficient. To maximize efficiency I started to dive into the theory behind public speaking or even more broadly theory about communicating. Over the year I read a decent stack of books but these four stood out the most.&lt;/p&gt;</description></item><item><title>Virtual machines versus Containers who will win?</title><link>https://frankdenneman.ai/2014-08-21-virtual-machines-versus-containers-will-win/</link><pubDate>Thu, 21 Aug 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-08-21-virtual-machines-versus-containers-will-win/</guid><description>&lt;p&gt;Ah round X in the battle between who will win, which technology will prevail and when will the displacement of technology happen. Can we stop with this nonsense, with this everlasting tug-of-war mimicking the characteristics of a schoolyard battle. And I can’t wait to hear these conversations at VMworld. In reality there aren’t that many technologies that completely displaced a prevailing technology. We all remember the birth of the CD and the message of revolutionising music carriers. And in a large way it did, yet still there are many people who prefer to listen to vinyl. Experience the subtle sounds of the medium, giving it more warmth and character. The only solution I can think of that displaced the dominant technology was video disc (DVD &amp;amp; Blue Ray) rendering video tape completely obsolete (VHS/Betamax). There isn’t anybody (well let’s only use the subset Sane people) that prefers a good old VHS tape above a Blue ray tape. The dialog of “Nah let’s leave the blue-ray for what it is, and pop in the VHS tape, cause I like to have that blocky grainy experience&amp;quot; will not happen very often I expect. So in reality most technologies coexist in life. Fast forward to today. Dockers’ popularity put Linux Containers on the map for the majority of the IT population. A lot of people are talking about it and see the merits of leveraging a container instead of using a virtual machine. To me the choice seems to stem from the layer you present and manage your services. If your application is designed to provide high availability and scalability, then a container may be the best fit. If your application doesn’t than place it in a virtual machine and leverage the services provided by the virtual infrastructure. Sure there are many other requirements and constraints to incorporate in your decision tree, but I believe the service availability argument should be one of the first steps. Now the next step is, where do you want to run your container environment? If you are a VMware shop, are you going to invest time and money to expand your IT services with containers or are you going to leverage an online PAAS provider? Introducing an APPS centric solution into an organization that has years of experience in managing Infrastructure centric platforms might require a shift of perspective Just my two cents.&lt;/p&gt;</description></item><item><title>Disable vMotion for a single VM</title><link>https://frankdenneman.ai/2014-08-18-disable-vmotion-single-vm/</link><pubDate>Mon, 18 Aug 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-08-18-disable-vmotion-single-vm/</guid><description>&lt;p&gt;This question pops up regularly on the VMTN forums and reddit. It’s a viable question but the admins who request this feature usually don’t want Maintenance mode to break or any other feature that helps them to manage large scale environments. When you drill down, you discover that they only want to limit the option of a manual vMotion triggered by an administrator. Instead of configuring complex DRS rules, connect the VM to an unique portgroup or use bus sharing configurations, you just have to add an extra permission to the VM. The key is all about context and permission structures. When executing Maintenance mode the move of a virtual machine is done under a different context (System) then when the VM is manually migrated by the administrator. As vCenter honors the most restrictive rule you can still execute a Maintenance mode operation of a host, while being unable to migrate a specific VM. Here is how you disable vMotion for a single VM via the Webclient: &lt;strong&gt;Step 1: Add another Role let’s call it &lt;em&gt;No-vMotion&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Platform 9 - transform your virtual infrastructure into a private cloud within seconds</title><link>https://frankdenneman.ai/2014-08-12-platform-9-transform-virtual-infrastructure-private-cloud-within-seconds/</link><pubDate>Tue, 12 Aug 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-08-12-platform-9-transform-virtual-infrastructure-private-cloud-within-seconds/</guid><description>&lt;p&gt;Recently I had the joy of reconnecting with some of my old VMware colleagues to learn that their new startup was coming out of stealth. Today &lt;a href="http://platform9.com"&gt;Platform 9&lt;/a&gt; announced their SaaS platform. In short, Platform 9 allows IT organisations to transform their local IT infrastructure into a self-service private cloud. The beauty of this product is that it can be implemented on existing infrastructures. No need to create a new infrastructure to introduce the private cloud within your organisation. Just install the agent on your hypervisor layer, connect with the Platform 9 cloud management platform and you are off into the world of private clouds. The ease of integration is amazing and I believe that Platform 9 will be the accelerator of private cloud adoption. No need to go to AWS, no migration to Azure. You manage your own resources while allowing the customer to provision their own virtual machines or containers. Today Platform 9 supports KVM, but they will support both VMware and docker environments soon. I can dive into the details of Platform 9 but &lt;a href="https://twitter.com/discoposse"&gt;Eric Wright&lt;/a&gt; has done a tremendous job of publishing an &lt;a href="http://www.discoposse.com/index.php/2014-08-12-platform9-public-cloud-features-for-private-cloud-deployments/"&gt;extensive write-up&lt;/a&gt; and I recommend reading his article to learn more about Platform 9 private cloud offering. If you want to meet the team of Platform 9 and hear their vision, visit booth #324 at the solution exchange of VMworld 2014.&lt;/p&gt;</description></item><item><title>Life in the Data Center - a story of love, betrayal and virtualization</title><link>https://frankdenneman.ai/2014-07-31-life-data-center-story-love-betrayal-virtualization/</link><pubDate>Thu, 31 Jul 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-07-31-life-data-center-story-love-betrayal-virtualization/</guid><description>&lt;p&gt;I’m excited to announce the first ever “collective novel”, in which members of the virtualization community collaborated to create a book with intrigue, mystery, romance, and a whole lot of geeky data center references. &lt;img src="images/Lifeinthedatacenter.png" alt="Lifeinthedatacenter"&gt; The concept of the project is that one person writes a section and then passes it along. The writers don&amp;rsquo;t know their fellow contributors. They get an unfinished story in their mailbox and are allowed to take the story in whatever direction it needs to go. The only limitation is the author imagination. For me it was a fun and interesting project. Writing a chapter for a novel is a whole different ballgame than writing technical focused content. As I rarely read novels it’s a challenge how to properly describe the situation the protagonist is getting himself into. On top of that I needed to figure out how to extend and expand the story line set by the previous authors but also get the story into a direction I prefer. And to make it more challenging, you do not know what the next author will be writing, therefor your intention for the direction of the storyline may be ignored. All in all a great experience and I hope we can do a second collective novel. I’m already collecting ideas ☺ I would like to thank Jeff Aaron. He came up with the idea and guided the project perfectly. Once again &lt;a href="https://twitter.com/jonatterbury" title="Jon Atterbury on twitter"&gt;Jon Atterbury&lt;/a&gt; did a tremendous job on the formatting and artwork of the book. And of course I would like to thank the authors of taking time out of their busy schedules to contribute to the book. The authors: [caption id=&amp;ldquo;attachment_4495&amp;rdquo; align=&amp;ldquo;alignleft&amp;rdquo; width=&amp;ldquo;125&amp;rdquo;]&lt;a href="https://twitter.com/jeffreysaaron"&gt;&lt;img src="images/08-Jeff-300x300.jpeg" alt="Jeff Aaron (@jeffreysaaron)"&gt;&lt;/a&gt; Jeff Aaron (@jeffreysaaron)[/caption] [caption id=&amp;ldquo;attachment_4491&amp;rdquo; align=&amp;ldquo;alignleft&amp;rdquo; width=&amp;ldquo;125&amp;rdquo;]&lt;a href="https://twitter.com/Josh_Atwell"&gt;&lt;img src="images/04-Josh-300x300.jpeg" alt="Josh Atwell (@Josh_Atwell)"&gt;&lt;/a&gt; Josh Atwell (@Josh_Atwell)[/caption] [caption id=&amp;ldquo;attachment_4490&amp;rdquo; align=&amp;ldquo;alignleft&amp;rdquo; width=&amp;ldquo;125&amp;rdquo;]&lt;a href="https://twitter.com/KendrickColeman"&gt;&lt;img src="images/03-Kendrick-300x300.png" alt="Kendrick Coleman on twitter"&gt;&lt;/a&gt; Kendrick Coleman (@KendrickColeman)[/caption] [caption id=&amp;ldquo;attachment_4488&amp;rdquo; align=&amp;ldquo;alignleft&amp;rdquo; width=&amp;ldquo;125&amp;rdquo;]&lt;a href="https://twitter.com/CommsNinja"&gt;&lt;img src="images/01-amy-300x300.jpeg" alt="Amy Lewis (@commsNinja)"&gt;&lt;/a&gt; Amy Lewis (@commsNinja)[/caption] [caption id=&amp;ldquo;attachment_4489&amp;rdquo; align=&amp;ldquo;alignleft&amp;rdquo; width=&amp;ldquo;125&amp;rdquo;]&lt;a href="https://twitter.com/malhoit"&gt;&lt;img src="images/02-Lauren-300x300.jpeg" alt="Lauren Malhoit (@malhoit)"&gt;&lt;/a&gt; Lauren Malhoit (@malhoit)[/caption] [caption id=&amp;ldquo;attachment_4492&amp;rdquo; align=&amp;ldquo;alignleft&amp;rdquo; width=&amp;ldquo;125&amp;rdquo;]&lt;a href="https://twitter.com/plankers"&gt;&lt;img src="images/06-Bob-300x300.jpg" alt="Bob Planker (@plankers)"&gt;&lt;/a&gt; Bob Planker (@plankers)[/caption] [caption id=&amp;ldquo;attachment_4494&amp;rdquo; align=&amp;ldquo;alignleft&amp;rdquo; width=&amp;ldquo;125&amp;rdquo;]&lt;a href="https://twitter.com/SatyamVaghani"&gt;&lt;img src="images/07-Satyam-300x300.jpeg" alt="Satyam Vaghani (@SatyamVaghani)"&gt;&lt;/a&gt; Satyam Vaghani (@SatyamVaghani)[/caption] [caption id=&amp;ldquo;attachment_4493&amp;rdquo; align=&amp;ldquo;alignleft&amp;rdquo; width=&amp;ldquo;125&amp;rdquo;]&lt;a href="https://twitter.com/ChrisWahl"&gt;&lt;img src="images/06-Chris-300x300.png" alt="Chris Wahl (@ChrisWahl)"&gt;&lt;/a&gt; Chris Wahl (@ChrisWahl)[/caption]&lt;/p&gt;</description></item><item><title>Let Cloudphysics help rid yourself of Heartbleed</title><link>https://frankdenneman.ai/2014-07-28-let-cloudphysics-help-rid-heartbleed/</link><pubDate>Mon, 28 Jul 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-07-28-let-cloudphysics-help-rid-heartbleed/</guid><description>&lt;p&gt;Unfortunately the &lt;a href="http://www.vmware.com/security/advisories/VMSA-2014-0004.html"&gt;Open SSL Heartbleed bug&lt;/a&gt; (CVE-2014-0224) is present in the ESXi and vCenter 5.5 builds. VMware responded by incorporating a patch to solve the OpenSSL vulnerability in the OpenSSL 1.0.1 library. For more info about the ESXI 5.5 patch read KB &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2076665" title="KB 2076665"&gt;2076665&lt;/a&gt;, VMware issued two releases for vCenter 5.5, read KB &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2076692" title="KB 2076692"&gt;2076692&lt;/a&gt;. Unfortunately some NFS environments experienced connection loss after applying the &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2076392" title="KB 2076392"&gt;ESXi 5.5 patch&lt;/a&gt;, VMware responded by releasing patch &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2077360" title="KB 2077360"&gt;2077360&lt;/a&gt; and more recently &lt;a href="https://www.vmware.com/support/vsphere5/doc/vsphere-vcenter-server-55u1b-release-notes.html" title="vCenter update 1b"&gt;vCenter update 1b&lt;/a&gt;. The coverage on the NFS problems and the amount of ESX and vCenter update releases to fix a bunch of problems may left organizations in the dark whether they patched the Heartbleed vulnerability. &lt;a href="http://www.Cloudphysics.com" title="Cloudphysics"&gt;Cloudphysics&lt;/a&gt; released a free Heartbleed analytic card in their card store that helps identify which hosts in your environment are unprotected. Check out the &lt;a href="http://www.cloudphysics.com/blog/vmware-heartbleed/" title="Heartbleed card"&gt;recent article&lt;/a&gt; of Cloudphysics CTO, &lt;a href="https://twitter.com/virtualirfan" title="Irfan Ahmad on twitter"&gt;Irfan Ahmad&lt;/a&gt; about their recently released Heartbleed analytic package. I would recommend to run the card and rid yourself of this nasty bug.&lt;/p&gt;</description></item><item><title>Homelab - Power-on your Supermicro system by SSH&amp;#039;ing into IPMI</title><link>https://frankdenneman.ai/2014-04-29-homelab-power-supermicro-system-sshing-ipmi/</link><pubDate>Tue, 29 Apr 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-04-29-homelab-power-supermicro-system-sshing-ipmi/</guid><description>&lt;p&gt;Just a short article, recently I discovered you can access Supermicro IPMI via SSH and power on the system by using the command: &lt;code&gt;start /system1/pwrmgtsvc1&lt;/code&gt; A nice short command that saves you a lot of time by eliminating the need to log in the webUI and wait until the app responds.&lt;/p&gt;</description></item><item><title>Which HA admission control policy do you use?</title><link>https://frankdenneman.ai/2014-04-04-ha-admission-control-policy-use/</link><pubDate>Fri, 04 Apr 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-04-04-ha-admission-control-policy-use/</guid><description>&lt;p&gt;Yesterday &lt;a href="http://twitter.com/duncanyb" title="Duncan on twitter"&gt;Duncan&lt;/a&gt; and I where discussing the 5.5 update of the vSphere clustering deepdive book and we were debating which HA admission control policy is the most popular. Last week I asked around on twitter, but hopefully a short poll will give us better insights. Please cast your vote. [socialpoll id=&amp;ldquo;2195435&amp;rdquo;]&lt;/p&gt;</description></item><item><title>Gotcha - Disable reserve all guest memory setting does not remove the reservation</title><link>https://frankdenneman.ai/2014-04-03-gotcha-disable-reserve-guest-memory-setting-remove-reservation/</link><pubDate>Thu, 03 Apr 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-04-03-gotcha-disable-reserve-guest-memory-setting-remove-reservation/</guid><description>&lt;p&gt;A while ago I wrote about the nice feature &lt;a href="https://frankdenneman.ai/2013-02-21-reserve-all-guest-memory-all-locked/" title="Reserve all guest memory (all locked)"&gt;Reserve all guest memory&lt;/a&gt; available in vSphere 5.1 and 5.5. The feature automatically adjusts the memory reservation when the memory configuration changes. Increase the memory size and the memory reservation is automatically increased as well. Reduce the memory size of a virtual machine, and the reservation is immediately reduced. &lt;img src="images/Setting-enabled.png" alt="Setting enabled"&gt; This week I received an email from someone who used the settings temporarily and when disabling this setting he was surprised that the reservation was not set to 0, reverting back to the default. [caption id=&amp;ldquo;attachment_4377&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;603&amp;rdquo;]&lt;img src="images/Default-memory-reservation-setting.png" alt="Expected behavior"&gt; Expected behavior[/caption] [caption id=&amp;ldquo;attachment_4379&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;604&amp;rdquo;]&lt;img src="images/Real-behavior-disable-reserve-all-guest-memory.png" alt="Real product behavior"&gt; Real product behavior[/caption] Although I understand his point of view, the reality is that when you enabled the feature your intent was to apply a memory reservation to the virtual machine. The primary function of this setting is to take away the responsibility of adjusting the reservation when you change the memory reservation. If your goal is to remove the memory reservation, disable the setting Reserve all guest memory and then change the memory reservation to 0.&lt;/p&gt;</description></item><item><title>vSphere 5.5 Home lab</title><link>https://frankdenneman.ai/2014-03-27-vsphere-5-5-home-lab/</link><pubDate>Thu, 27 Mar 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-03-27-vsphere-5-5-home-lab/</guid><description>&lt;p&gt;For a while I’ve been using three Dell R610 servers in my home lab. The machines specs are quite decent, each server equipped with two Intel Xeon 5530 CPUs, 48GB of memory and four 1GB NICs. With a total of 24 cores (48 HT Threads) and 144GB of memory the cluster has more than enough compute power. However from a bandwidth perspective they are quite limited, 3 Gbit/s SATA and 1GbE network bandwidth is not really pushing the envelope. These limitations do not allow me to properly understand what a customer can expect when running FVP software. In addition I don’t have proper cooling to keep the machines cool and their &lt;a href="http://servers.findthebest.com/q/113/5661/How-much-power-does-the-Dell-PowerEdge-R610-Server-use"&gt;power consumption&lt;/a&gt; is something troubling. Time for something new, but where to begin? &lt;strong&gt;CPU&lt;/strong&gt; Looking at the current lineup of CPUs doesn’t make it easier. Within the same CPU vendor product line multiple types of CPU socket exist, multiple different processor series exist with comparable performance levels. I think I spent most of my time on figuring out which processor to select. Some selection criteria were quite straightforward. I want a single CPU system and at least 6 cores with Hyper-Threading technology. The CPU must have a high clock speed, preferably above 3GHz. &lt;a href="http://ark.intel.com" title="Intel Ark"&gt;Intel ARK&lt;/a&gt; (Automated Relational Knowledge base) provided me the answer. Two candidates stood out; the Intel Core i7 4930 and the Intel Xeon E5 1650 v2. Both 6 core, both HT-enabled, both supporting the advanced technologies such as VT-x, VT-d and EPT. &lt;a href="http://ark.intel.com/compare/77780,75780"&gt;http://ark.intel.com/compare/77780,75780&lt;/a&gt; The main difference between the two CPU that matters the most to me is the higher number of supported memory of the Intel Xeon E5. However the i7-4930 supports 64GB, which should be enough for a long time. But the motherboard provided me the answer &lt;strong&gt;Motherboard&lt;/strong&gt; Contrary to the variety of choices at CPU level, there is currently one Motherboard that stands out for me. It looks it almost too good to be true and I’m talking about the &lt;a href="http://www.supermicro.com/products/motherboard/Xeon/C600/X9SRH-7TF.cfm" title="SuperMicro X9SRH-7TF"&gt;SuperMicro X9SRH-7TF&lt;/a&gt;. This thing got it all and for a price that is unbelievable. The most remarkable features are the on-board Intel X540 Dual Port 10GbE NIC and the LSI 2308 SAS controller. 8 DIMM slots, Intel C602J chipset and a dedicated IPMI LAN port complete the story. And the best part is that its price is similar of a PCI version of the &lt;a href="http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&amp;amp;DEPA=0&amp;amp;Order=BESTMATCH&amp;amp;Description=Intel+X540+Dual+Port+10GbE+NIC&amp;amp;N=-1&amp;amp;isNodeId=1" title="Intel X540 on Newegg"&gt;Intel X540 Dual Port 10GbE NIC&lt;/a&gt;. The motherboard only supports Intel E5 Xeons, therefor the CPU selection is narrowed down to one choice, the Intel Xeon E5 1650 v2. &lt;strong&gt;CPU Cooler&lt;/strong&gt; The SuperMicro X9SRH-7TF contains an Intel LGA2011 socket with Narrow ILM (Independent Loading Mechanism) mounting. This requires a cooler designed to fit this narrow socket. The goal is to create silent machines and the listed maximum acoustical noise of 17.6 dB(A) of the &lt;a href="http://www.noctua.at/main.php?show=productview&amp;amp;products_id=67&amp;amp;lng=en&amp;amp;set=1" title="Noctua NH-U9DX i4"&gt;Noctua NH-U9DX i4&lt;/a&gt; “sounds” promising. &lt;strong&gt;Memory&lt;/strong&gt; The server will be equipped with 64GB. Four 16GB DDR3-1600 modules allowing for a future upgrade of memory. The full product name: &lt;a href="http://www.kingston.com/en/memory/search/Default.aspx?DeviceType=7&amp;amp;Mfr=SMI&amp;amp;Line=X9SRH-7TF&amp;amp;Model=80742&amp;amp;Description=Kingston_ValueRam_Memory_Server_Premier_Memory_for_SMI_X9SRH-7TF_Supermicro_-_X9SRH-7TF_Motherboard" title="Kingston module for Supermicro X9SRH-7TF"&gt;Kingston ValueRAM KVR16R11D4/16HA&lt;/a&gt; Modules. &lt;strong&gt;Network&lt;/strong&gt; Although two 10 GbE NICs provide more than enough bandwidth, I need to test scenarios where 1GbE is used. Unfortunately &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2056935" title="Devices deprecated and unsupported in ESXi 5.5 (2056935)"&gt;vSphere 5.5 does not support&lt;/a&gt; the 82571 chipset used by the &lt;a href="http://www.intel.com/content/www/us/en/network-adapters/gigabit-network-adapters/pro-1000-pt-dp.html" title="Intel PRO/1000 PT Dual Port Server Adapter product information"&gt;Intel PRO/1000 Pt Dual Port Server Adapter&lt;/a&gt; currently inserted in my Dell servers. I need to find an alternative 1 GbE NIC recommendations are welcome. &lt;strong&gt;Power supply&lt;/strong&gt; I prefer a power supply that is low noise and fully modular. Therefore I selected the &lt;a href="http://www.corsair.com/en-us/rm-series-rm550-80-plus-gold-certified-power-supply" title="Corsair rm 550 product information"&gt;Corsair RM550&lt;/a&gt;. Besides a noise-reducing fan the PSU has a Zero RPM Fan Mode, which does not spin the fan until it is under heavy load, reducing the overall noise level of my lab when I’m not stressing the environment. &lt;strong&gt;Case&lt;/strong&gt; The case of choice is the &lt;a href="http://www.fractal-design.com/home/product/cases/define-series/define-r4-titanium-grey" title="Fractal Design Define R4 product information"&gt;Fractal Design Define R4&lt;/a&gt;. Simple but elegant design, enough space inside and has some sound reducing features. Instead of the standard black color, I decided to order the titanium grey. &lt;strong&gt;SSD&lt;/strong&gt; Due to the &lt;a href="http://www.pernixdata.com/partners/pernixdrive/" title="PernixData PernixDrive program"&gt;PernixDrive&lt;/a&gt; program I have access to many different SSD devices. Currently my lab contains &lt;a href="http://www.intel.com/content/www/us/en/solid-state-drives/solid-state-drives-dc-s3700-series.html" title="Intel® Solid-State Drive DC S3700 Series product information"&gt;Intel DC 3700 100GB&lt;/a&gt; and &lt;a href="http://www.kingston.com/en/ssd/enterprise" title="Kingston SSDNOW enterprise e100 200GB Product Information"&gt;Kingston SSDNOW enterprise e100 200GB&lt;/a&gt; drives. Fusion I/O currently not (yet) in the PernixDrive program was so kind to lend me a Fusion I/O IODrive of 3.2 TB, unfortunately I need to return this to Fusion someday. &lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Help my DRS cluster is not load balancing!</title><link>https://frankdenneman.ai/2014-03-18-help-drs-cluster-load-balancing/</link><pubDate>Tue, 18 Mar 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-03-18-help-drs-cluster-load-balancing/</guid><description>&lt;p&gt;Unfortunately I still see this cry for help appearing on the VMTN forums and on twitter. And they usually are accompanied by screenshots like this: &lt;img src="images/01-DRS-unbalanced-memory-680x223.png" alt="01-DRS-unbalanced-memory"&gt; This screen doesn’t really show you if your DRS cluster is balanced or not. It just shows if the virtual machine receives the resources they are entitled to. The reason why I don’t use the word demand is that DRS calculates priority based on virtual machine and resource pool resource settings and resource availability. To understand if the virtual machine received the resources it requires, hover over the bar and find the virtual machine. A new window is displayed with the metric “Entitled Resources Delivered” &lt;img src="images/02-DRS-VM-resource-entitlement-563x300.png" alt="02-DRS-VM-resource-entitlement"&gt; DRS attempts providing the resources requested by the virtual machine. If the current host is not able to provide the resources, DRS move it to another host that is able to provide the resources. If the virtual machine is receiving the resources it requires then there is no need to move the virtual machine to another hosts. Moves by DRS consume resources as well and you don’t want to waste resources on unnecessary migrations. To avoid wasting resources, DRS calculates two metrics, the current host load standard deviation and the target host load standard deviation. These metrics indicate how far the current load of the host is removed from the ideal load. The migration threshold determines how far these two metrics can lie apart before indicating that the distribution of virtual machines needs to be reviewed. The web client contains this cool water level image that indicates the overall cluster balance. It can be found at the cluster summary page and should be used as a default indicator of the cluster resource status. &lt;img src="images/03-DRS-Host-Load-Standard-Deviation.png" alt="03-DRS-Host Load Standard Deviation"&gt; One of main arguments is that a host contain more than CPU and memory resources alone. Multiple virtual machines located on one host, can stress or saturate the network and storage paths extensively, whereas a better distribution of virtual machine across the hosts would also result in a better distribution of resources at the storage and network path layer. And this is a very valid argument, however DRS is designed to take care of CPU and Memory resource distribution and is therefor unable to take these other resource consumption constraints into account. In reality DRS takes a lot of metrics into account during its load balance task. For more in-depth information I would recommend to read the article: “&lt;a href="https://frankdenneman.ai/2012-08-10-drs-and-memory-balancing-in-non-overcomitted-clusters/" title="DRS and memory balancing in non-overcommitted clusters"&gt;DRS and memory balancing in non-overcommitted clusters&lt;/a&gt;” and “&lt;a href="https://frankdenneman.ai/2012-07-09-disabling-mingoodness-and-costbenefit/" title="Disabling MinGoodness and CostBenefit"&gt;Disabling mingoodness and costbenefit&lt;/a&gt;”.&lt;/p&gt;</description></item><item><title>Consumer grade SSD versus Enterprise grade SSD, which one to pick?</title><link>https://frankdenneman.ai/2014-03-10-consumer-grade-ssd-versus-enterprise-grade-ssd-one-pick/</link><pubDate>Mon, 10 Mar 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-03-10-consumer-grade-ssd-versus-enterprise-grade-ssd-one-pick/</guid><description>&lt;p&gt;&lt;em&gt;Should I use consumer grade SSD drives or should I use enterprise grade SSD drives?&lt;/em&gt; This a very popular question and I receive it almost on a daily basis. Lab or production environment, my answer is always the same: Enterprise grade without a doubt! Why? Enterprise Grade drives have a higher endurance level, they contain power loss data protection features and they consistently provide high level of performance. All align with a strategy ensuring reliable and consistent performance. Lets expand on these three key features; &lt;strong&gt;Endurance&lt;/strong&gt; Recently a lot of information is released about the &lt;a href="http://techreport.com/review/26058/the-ssd-endurance-experiment-data-retention-after-600tb"&gt;endurance levels&lt;/a&gt; of consumer grade SSDs and tests show that they operate well beyond the claimed endurance levels. Exciting news as it shows how much progression is made during the last few years. But be aware that vendors test their consumer grade SSDs with client workloads while enterprise grade SSDs are tested with worst-case data center workload. The interesting question is whether the SSD vendor is list the rate a drive in DWPD or drive-writes per-day in a conservative manner or an aggressive manner? As I don’t want to gamble with customers’ data, I’m not planning to find out whether the consumer SSD wasn’t able to sustain high levels of continuous data center load. I believe vSphere architectures have high endurance requirements; therefore use enterprise drives as they are specifically designed and tested for this use. &lt;strong&gt;Power loss data protection features&lt;/strong&gt; Not often highlighted but most enterprise SSDs contain power loss data protection features. These SSDs typically contains a small buffer or cache in which the data is stored before it’s written to disk. Enterprise SSD leverages various on-board capacitance solutions to provide enough energy for the SSD to move the data from the cache to the drive itself. Protecting the drive and the data. It protects the drive because if a sector is partially written it becomes unreadable. This can lead to performance problems, as the drive will perform time-consuming error recovery on that sector. Select Enterprise drives with power loss data protection features, it avoids erratic performance levels or even drive failure after a power-loss. &lt;strong&gt;Consistent performance&lt;/strong&gt; Last but certainly not least is the fact that enterprise SSDs are designed to provide a consistent level of performance. SSD vendors expect their enterprise disks to be used intensively for an extended period of time. This means that possibility of a full disk increases dramatically when comparing it to a consumer grade SSD. As data can only be written to a cell that is in an erased state, high levels of write amplification is expected. Please read &lt;a href="https://frankdenneman.ai/2013-07-02-basic-elements-of-fvp-part-2-using-own-platform-versus-in-place-file-system/" title="Basic elements of the FVP platform"&gt;this article&lt;/a&gt; to learn more about write amplification (write amp). Write amp impacts the ratio of drive writes to host writes, that means that when write amp occurs the number of writes a drive needs to make increases considerably in order to execute those host writes. One way to reduce this strain is to “over-provision” the drive. Vendors, such as Intel, allocate a large amount of flash resource to allow the drive to absorb these write amp operations. This results in a more consistent rate of IOPS and predictable IOPS. &lt;strong&gt;Impact on IOPS and Latency&lt;/strong&gt; I’ve done some testing in my lab, and used two enterprise flash drives, a Intel DC S3700 and a Kingston E-100. I also used two different consumer grade flash devices. I refrain from listing the type and vendor name of these disks. I ran the first test from 11:30 to 11:50 I ran the test an enterprise grade SSD drive, the rate of IOPS was consistent and predictable. The VM was migrated to the host with the consumer grade SSD and the same test was run again, not a single moment did the disk provide a steady rate of IOs. &lt;img src="images/Enterprise-consumer-grade.png" alt="Enterprise-consumer-grade"&gt; &lt;a href="http://anandtech.com/" title="http://anandtech.com/"&gt;Anandtech.com&lt;/a&gt; performed similar tests and witnessed similar behaviour, the publish their results in the article “&lt;a href="http://www.anandtech.com/show/6489/playing-with-op" title="Exploring the Relationship Between Spare Area and Performance Consistency in Modern SSDs"&gt;Exploring the Relationship Between Spare Area and Performance Consistency in Modern SSDs&lt;/a&gt;” An excellent read, highly recommended. [caption id=&amp;ldquo;attachment_4262&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;646&amp;rdquo;]&lt;img src="images/Anandtech-screenshot.png" alt="Picture courtesy of Anandtech.com"&gt; Picture courtesy of Anandtech.com[/caption] &lt;em&gt;Click on the different drive sizes to view their default performance and the impact of spare flash resources on the ability to provide consistent performance.&lt;/em&gt; Next step was to determine latency behaviour. Both Enterprise grade SSD provided an extreme case of predictable latency. To try to create an even playing field I ran read tests instead of write centric tests. The first graph was a read test on the Kingston e100. &lt;img src="images/Enterprise-latency.png" alt="Enterprise-latency"&gt; Latency was consistent providing predictable and consistent application response time. The consumer grade drive performance charts were not as pretty. The virtual machine running the read test was the only workload hitting the drive and yet the drive had trouble providing steady response times. &lt;img src="images/Consumer-Latency.png" alt="Consumer-Latency"&gt; Please note that the test were ran multiple times and the graphs shown are the most positive ones for the consumer grades. Multiple (enterprise-level) controllers were used to avoid any impact from that layer. As more and more SSD drive hit the market we decided to help to determine which drives fit in a strategy ensuring reliable and consistent performance. Therefor PernixData started the &lt;a href="https://www.pernixdata.com/partners/pernixdrive/" title="PernixDrive"&gt;PernixDrive&lt;/a&gt; initiative, in which we test and approve flash devices. &lt;strong&gt;Conclusion&lt;/strong&gt; Providing consistent performance is key for predictable application behaviour. This applies to many levels of operation. First of all it benefits day-to-day customer satisfaction and helps you to reduce troubleshooting application performance. Power-loss data protection features help you to cope with short-term service loss, and avoid continuous performance loss as the drive can survive power-loss situations. Reverting applications to a non-accelerated state, due to complete loss of SSD drive can result in customer dissatisfaction or neglecting your SLA. Higher levels of drive-writes per-day help you to create and ensure high levels of consistent performance for longer terms. In short, use the correct tool for the job and go for enterprise SSD drives.&lt;/p&gt;</description></item><item><title>Who to vote for?</title><link>https://frankdenneman.ai/2014-02-25-vote/</link><pubDate>Tue, 25 Feb 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-02-25-vote/</guid><description>&lt;p&gt;This week &lt;a href="https://twitter.com/ericsiebert" title="Eric on twitter"&gt;Eric Siebert&lt;/a&gt; opened up the &lt;a href="http://vsphere-land.com/news/voting-now-open-for-the-2014-top-vmware-virtualization-blogs.html" title="2014 top VMware &amp;amp; virtualization blogs"&gt;2014 edition of top virtualization blog&lt;/a&gt; contest. For the industry this is one of the highlights and applaud the effort Eric and his team of volunteers put in to make this work. I cannot wait to the watch the show in which they unveil this years top 25 winners. A big thank you to Eric and the team! Most of the time you will see blog articles that highlight this years effort and I think they are great. As there are so many great bloggers writing and sharing their thoughts and ideas, it’s very easy to miss out on some brilliant post. A quick scan of these posts helps to (re)discover the wealth of information that is out there. Last year I was voted number 2, however this year the frequency (hopefully not the quality) of my blog articles went down. This was due to my career change and the new responsibilities my job role encompasses. Plus creating the vSphere design book took a lot of time and effort. For this years VMworld we have planned something even better, so please stay tuned for this years VMworld book! But this post is not about me as a blogger and my material, but to highlight some of the bloggers that help the community understand the product better, comprehend the behavior of the complex systems we work with every day and the insights they provide by spending a lot of their (spare) time writing and creating these great articles. Voting for them you will help them understand that their time and effort is well spend! First of all, guys like Duncan Epping, Cormac Hogan, William Lam and Eric Sloof relentlessly churn out great collateral, whether it is a written article, podcast or video. It keeps the community well fed when it comes to quality information. Writing a great article is a challenge, doing this on a continuous basis is even more impressive! But I would like to highlight some of the guys that are considered “new” guys. They are all industry veterans, but they decided to pick up blogging recently. I would like to highlight these guys, but there are many more of course. &lt;strong&gt;&lt;a href="https://twitter.com/vmpete" title="Pete on twitter"&gt;Pete Koehler&lt;/a&gt; - &lt;a href="http://vmpete.com/" title="vmpete.com"&gt;vmpete.com&lt;/a&gt;&lt;/strong&gt; Pete writes a lot about PernixData, but that’s not the reason I want to highlight him. His articles are quite in-depth and I love reading those articles as I learn from them every time Pete decides to post his most recent insights. For example in the article “Observations of PernixData in a Production environment” he covers the IOPS, Throughput &amp;amp; Latency relationship in great detail. In this exercise he discovers that applications do not use a static block size, something you don’t read that often. He correlates specific output and explains how each metric interacts which each other, educating you along the way and helping you to do a better and more effective job in your own environment. &lt;strong&gt;&lt;a href="https://twitter.com/josh_odgers" title="Josh Odgers on Twitter"&gt;Josh Odgers&lt;/a&gt; - &lt;a href="http://www.joshodgers.com/" title="joshodgers.com/"&gt;joshodgers.com&lt;/a&gt;&lt;/strong&gt; Josh is listed both on the general blogging list as well as a newcomer and I think he deserves to be “rookie of the year” Josh’s insight are very valuable and its always a joy to read his articles. His VCDX articles are top notch and are a must read for every aspiring VCDX candidate. Just too bad he decided to join Nutanix ;). &lt;strong&gt;&lt;a href="https://twitter.com/dellock6" title="Luca on Twitter"&gt;Luca Dell’Oca&lt;/a&gt; – &lt;a href="http://www.virtualtothecore.com/en/" title="http://www.virtualtothecore.com/en/"&gt;virtualtothecore.com&lt;/a&gt;&lt;/strong&gt; Dropping knowledge both in English and Italian, Luca is covering new technologies as well as insight full tips and tricks on a frequent basis. Ranging from reclaiming space on a Windows 2012 installation to a complete write up on how to create a valuable I/O test virtual machine. A blog that should be visited regularly. &lt;strong&gt;&lt;a href="https://twitter.com/WillemIndigo" title="Willem on Twitter"&gt;Willem ter Harmsel&lt;/a&gt; - &lt;a href="http://willemterharmsel.nl/" title="http://willemterharmsel.nl/"&gt;willemterharmsel.nl&lt;/a&gt;&lt;/strong&gt; Not your average virtualization blog, Willem covers the startup world by interviewing CEO’s and CTOs of the hottest and newest startups this world currently has to offer. Willem provides insights of upcoming technology and allows its readers to place and compare different technologies. A welcome change of pace after spending a day knee-deep into the bits and bytes Consuming those stories and articles on a daily basis, are they helpful in your daily work? Please show your appreciation and vote today on your favorite blogs! Thanks! &lt;a href="http://vsphere-land.com/news/voting-now-open-for-the-2014-top-vmware-virtualization-blogs.html" title="2014 top VMware &amp;amp; virtualization blogs"&gt;Please vote now!&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VCDX Defence: Are you planning to use a fictitious design?</title><link>https://frankdenneman.ai/2014-02-10-vcdx-defence-planning-use-fictitious-design/</link><pubDate>Mon, 10 Feb 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-02-10-vcdx-defence-planning-use-fictitious-design/</guid><description>&lt;p&gt;This week the following tweet caught my eye: &lt;a href="https://twitter.com/VirtualSnook/status/432274972992487424"&gt;https://twitter.com/VirtualSnook/status/432274972992487424&lt;/a&gt; Apparently &lt;a href="https://twitter.com/MarkBrunstad"&gt;Marc Brunstad&lt;/a&gt; (VCDX program manager) stated this fact during the PEX VCDX workshop. But what does this stat mean and to what level do you need to take this into regard when submitting your own design? During my days as a panel member, I’ve seen only a handful of fictitious designs and although they were technically sound, the reasoning and defense were usually not that strong. Be aware that the VCDX program isn’t born into existence to find the best design ever. It determines if the candidate has aligned the technical functionality with the customers’ requirements, the constraints provided by the environment and the assumptions the team made about for example future workloads or organizational growth. But does that mean that you shouldn’t use any fictitious element in your design? Are fictiticous elements inherently bad? I don’t think so. Speaking from own experience I made some adjustments to my design I submitted. My submitted design was largely based on the environment that I worked on for a couple of years. At that time the customer used rack-based systems, my design contained a blade architecture. The reason why I changed this, as it allowed me to demonstrate my knowledge of the HA stack featured in vSphere 4.1. Some might argue that I deliberately made my design more complex, but I was comfortable enough to defend my choices and explain High Availability Primary and Secondary node interaction and how to mitigate risk. More over it allowed me to demonstrate the pros and cons of such a design on various levels, such as the impact it had on operational processes, the influence on scalability and the alignment of availability policies to org-defined failure domains. Did I have these discussions in real life? Yes, with many other customers but just not with that specific customer that this design was based on. And that’s why complete fictitious designs fail and why most reasoning is incomplete. The candidate only focused on the alignment of technical specs and workload. Not the “softer” side of things. Arguing that this design element was just the wish of a customer just doesn’t cut it. Sure we all met customers that were strung on having that particular setting configured in the way they saw fit, but its your responsibility to explain to the panel which steps you took to inform the customer about the risk and potential impact that setting had. Try to explain which setting you would have used and why. Demonstrate your knowledge about feasible alternatives. My recommendation to future candidates; when incorporating a specific fictitious design element in your design, make sure you had a conversation with a customer about that element once. You can easily align this with the main design and it helps to recollect the specifics during your defense.&lt;/p&gt;</description></item><item><title>Installing Exchange Jetstress without full installation media.</title><link>https://frankdenneman.ai/2014-02-05-installing-exchange-jetstress-without-full-installation-media/</link><pubDate>Wed, 05 Feb 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-02-05-installing-exchange-jetstress-without-full-installation-media/</guid><description>&lt;p&gt;I believe in &lt;a href="https://frankdenneman.ai/2013-09-17-not-all-performance-tests-are-created-equal/" title="Not all performance tests are created equal"&gt;testing environments with applications&lt;/a&gt; that will be used in the infrastructure itself. Pure synthetic workloads, such as &lt;a href="http://www.iometer.org/" title="IOmeter home"&gt;IOmeter&lt;/a&gt;, are useful to push hardware to their theoretical limit but that’s about it. Using a real life workload, common to your infrastructure, will give you a better understanding of the performance and behavior of the environment you are testing. However, it can be cumbersome to setup the full application stack to simulate that workload and it might be difficult to simulate future workload. Simulators made by the application vendor, such as &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=20163" title="Download SQLIO Disk Subsystem Benchmark Tool"&gt;SQLIO Disk Subsystem Benchmark Tool&lt;/a&gt; or &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=4167#tm" title="Download Microsoft Exchange Server Jetstress 2010 (64 bit)"&gt;Exchange Server Jetstress&lt;/a&gt;, provide an easy way to test system behaviour and simulate workloads that might be present in the future. One of my favourite workload simulators is MS Exchange server Jetstress however its not a turn-key solution. After installing Exchange Jetstress you are required to install the ESE binary files from an Exchange server. It can happen that you don’t have the MS exchange installation media available or a live MS exchange system installed. &lt;img src="images/01-Missing-files-jetstress-2010.png" alt="01-Missing files - jetstress 2010"&gt; Microsoft recommends downloading the trail version of Exchange, install the software and then copy the files from its directory. Fortunately you can save a lot of time by skipping these steps and extract the ESE files straight from an Exchange Service Pack. Added bonus, you immediately know you have the latest versions of the files. I want use Jetstress 2010 and therefor I downloaded &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=4167#tm" title="Download Microsoft Exchange Server Jetstress 2010 (64 bit)"&gt;Microsoft Exchange Server Jetstress 2010 (64 bit)&lt;/a&gt; and &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=36768" title="Download Microsoft Exchange Server 2010 Service Pack 3 (SP3)"&gt;Microsoft Exchange Server 2010 Service Pack 3 (SP3)&lt;/a&gt;. To extract the files direct from the .exe file, I use &lt;a href="http://www.7-zip.org/" title="Download 7-zip file archiver"&gt;7zip file archiver&lt;/a&gt;. () The ESE files are located in the following directory:&lt;/p&gt;</description></item><item><title>vSphere 5.5 vCenter server inventory 0</title><link>https://frankdenneman.ai/2014-01-16-vsphere-5-5-vcenter-server-0-inventory/</link><pubDate>Thu, 16 Jan 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-01-16-vsphere-5-5-vcenter-server-0-inventory/</guid><description>&lt;p&gt;After logging into my brand spanking new vCenter 5.5 server I was treated with a vCenter server inventory count of 0. Interesting to say the least as I installed vCenter on a new windows 2008 R2 machine, connected to a fresh MS active directory domain. I installed vCenter with a user account that is domain admin, local admin and has all the appropriate local rights (M_ember of the Administrators group, Act as part of the operating system and Log on as a Service_). The install process went like a breeze, no error messages whatsoever and yet the vCenter server object was mysteriously missing after I logged in. A mindbender! Being able to log into the vCenter server and finding no trace of this object whatsoever, it felt like someone answering the door and saying he’s not home. I believed I did my due diligence, I read the topic “&lt;a href="http://pubs.vmware.com/vsphere-55/topic/com.vmware.vsphere.install.doc/GUID-C6AF2766-1AD0-41FD-B591-75D37DDB281F.html" title="Prerequisites for Installing vCenter Single Sign-On, Inventory Service, and vCenter Server"&gt;Prerequisites for Installing vCenter Single Sign-On, Inventory Service, and vCenter Server&lt;/a&gt;” and followed every step, however it appeared I did not RTFM enough. &lt;strong&gt;&lt;a href="mailto:administrator@vsphere.local"&gt;administrator@vsphere.local&lt;/a&gt; only&lt;/strong&gt; Apparently vSphere will only attach the permissions and assign the role of administrator to the default account &lt;a href="mailto:administrator@vsphere.local"&gt;administrator@vsphere.local&lt;/a&gt; and you have to logon with this account after the installation is complete. See “&lt;a href="http://pubs.vmware.com/vsphere-55/topic/com.vmware.vsphere.install.doc/GUID-B472DA47-94DB-40EB-9F0C-48743FADB4A9.html" title="How vCenter Single Sign-On Affects Log In Behavior"&gt;How vCenter Single Sign-On Affects Log In Behavior&lt;/a&gt;” for the following quote:&lt;/p&gt;</description></item><item><title>VCDX defend clinic: Choosing between Multi-NIC vMotion and LBT</title><link>https://frankdenneman.ai/2014-01-07-vcdx-defend-clinic-choosing-multi-nic-vmotion-lbt/</link><pubDate>Tue, 07 Jan 2014 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2014-01-07-vcdx-defend-clinic-choosing-multi-nic-vmotion-lbt/</guid><description>&lt;p&gt;A new round of VCDX defenses will kickoff soon and I want to wish everyone that participates in the panel session good luck. Usually when VCDX panels are near, I receive questions on how to prepare for a panel. And one recommendation I usually provide is&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Know why you used a specific configuration of a feature and especially know why you haven’t used the available alternatives”.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Let’s have some fun with this and go through a “defend clinic”. The point of this clinic is to provide you an exercise model than you can use for any configuration, not only for a vMotion configuration. It helps you to understand the relationship of information you provide throughout your documentation set and helps you explain how you derived through every decision to come to this design. To give you some background, when a panel member is provided the participants documentation set, he enters a game of connecting the dots. This set of documents are his only view into the your world while creating the design and dealing with your customer. He needs to take your design and compare it to the requirements of the customer, the uncertainties you dealt with in the form of assumptions and the constraints that were given. Reviewing the design on technical accuracy is only a small portion of the process. That’s just basically checking to see if you are using your tools and material correctly, the remaining part is to understand if you build the house to the specification of the customer while dealing with regional laws and the available space and layout of the land. Building a 90.000 square feet single floor villa might provide you the most amount of easily accessible space, but if you want to build that thing in downtown Manhattan you’re gonna have a bad time. ;) &lt;strong&gt;Structure of the article&lt;/strong&gt; This exercise lists the design goals and its influencers, requirements, constraints and assumptions. The normal printed text is architects (technical) argument while the paragraphs are displayed in Italic can be seen as questions or thoughts of a reviewer/panel member. Is this a blue print on how to beat the panel? No! It’s just an exhibition on how to connect and correlate certain statement made in various documents. Now let’s have some fun exploring and connecting the dots in this exercise. &lt;strong&gt;Design goal and influencers&lt;/strong&gt; Your design needs to contain a vMotion network as the customer wants to leverage DRS load balancing, maintenance mode and overall enjoy the fantastic ability of VM mobility. How will you design your vMotion network? In your application form you have stated that the customer want to see a design that reduces complexity, increases scalability, prefers to have the best performance available as possible. Financial budget and the amount of IP-addresses are constraints and the level of expertise of the virtualization management team is an assumption. &lt;strong&gt;Listing the technical requirements&lt;/strong&gt; Since you are planning to use vSphere 5.x you have the choice to create a traditional single vMotion-enabled VMKnic, Multi-NIC vMotion setup or use vMotion configuration that uses “Route based on physical NIC load” load balance algorithm (commonly known as LBT) to distribute vMotion traffic amongst multiple active NICs. As the customer does not prefer to use link aggregation, IP-hash based / EtherChannel configurations are not valid. First let’s review the newer vMotion configurations and how they differentiate from the traditional vMotion configuration, where you have one single VMKnic, a single IP address, connected to a single Portgroup which is configured to use an active and standby NIC? Multi-NIC vMotion • Multiple VMKnics required • Multiple IP-addresses required • Consistent configuration of NIC failover order required • Multiple physical NICs required Route based on physical NIC load • Distributed vSwitch required • Multiple physical NICs required It goes without saying that you want to provide the best performance possible that leads you into considering using multiple NICs to increase bandwidth. But which one will be better? A simple performance test will determine that. &lt;strong&gt;VCDX application form: Requirements&lt;/strong&gt; &lt;em&gt;In your application document you stated that one of the customer requirements was “Reducing complexity”. Which of the two configurations do you choose now, what are your arguments? How do you balance or prioritize performance over complexity reduction?&lt;/em&gt; If Multi-NIC vMotion beats LBT configuration in performance, leading to faster maintenance mode operations, better DRS load balance operations and overall reduction in lead time of a manual vMotion process, would you still choose the simpler configuration over the complex one? Simplicity is LBTs forte, just enable vMotion on a VMKnic, add multiple uplinks, set them to active and your good to go. Multi-NIC vMotion exists of more intricate steps to get a proper configuration up and running. Multiple vMotion-enabled VMKnics are necessary, each with their own IP-range configuration, secondly vMotion requires deterministic path control, meaning that it wants to know which path is selects to send traffic across. As the vMotion load balancing process is higher up in the stack, NIC failover orders are transparent for vMotion. It selects a VMKnic and assumes it resembles a different physical path then the other available VMKnics. That means its up to the administrator to provide these unique and deterministic paths. &lt;em&gt;Are they capable of doing this? You mentioned the level of expertise of the admin team as an assumption, how do you guarantee that they can execute this design, properly manage it for a long period and expand the design without the use of external resources?&lt;/em&gt; &lt;strong&gt;Automation to the rescue&lt;/strong&gt; Complexity of technology by itself should not pose a problem, its how you (are required to) interact with it that can lead to challenges. As mentioned before Multi-NIC vMotion requires multiple IP-addresses to function. On a side note this could put pressure on the IP-ranges as all vMotion enabled VMKnics inside the cluster requires being a part of the same network. Unfortunately routed vMotion is not supported yet. Every vMotion VMKnic needs to be configured properly, Pair this with availability requirements and the active and standby NIC configuration of each VMKnic can cause headaches if you want to have a consistent and identical network configuration across the cluster. Power-CLI and Host Profiles can help tremendously in this area. &lt;strong&gt;Supporting documents&lt;/strong&gt; &lt;em&gt;Now have you included these scripts in your documentation? Have you covered the installation steps on how to configure vMotion on a distributed switch? Make sure that these elements are included in your supporting documents!&lt;/em&gt; &lt;strong&gt;What about the constraints and limitations?&lt;/strong&gt; &lt;strong&gt;Licensing&lt;/strong&gt; Unfortunately LBT is only available in distributed vSwitches, resulting in a top-tier licensing requirement if LBT is selected. The LBT configuration might be preferred over Multi-NIC vMotion configuration because it provides the least amount of complexity increase over the traditional configuration. &lt;em&gt;How does this intersect with the listed budget constraint and the customer is not able –or willing – to invest in enterprise licenses?&lt;/em&gt; &lt;strong&gt;IP4 pressure&lt;/strong&gt; &lt;em&gt;One of the listed constraints in the application form is the limited amount of IP addresses in the available IP range destined for the virtual infrastructure. This could impact your decision on which configuration to select. Would you “sacrifice” the amount of IP-s to get a better vMotion performance and all the related improvements on the remaining dependent features or is scalability and future expansion of your cluster more important? Remember scalability is also listed in the application form as a requirement.&lt;/em&gt; &lt;strong&gt;Try this at home!&lt;/strong&gt; These are just an example of questions that can be asked during a defense. Try to find these answers when preparing for you VCDX panel. When finalizing the document set, try to do this exercise. Even better to find a group of your peers and try to review each others design while reviewing the application form and the supporting set of documents. At the Nordic VMUG Duncan and I spoke with a group of people that are setting up a VCDX study group, I think this is a great way of not only preparing for a VCDX panel but to learn and improve your skill set you can use in your daily profession.&lt;/p&gt;</description></item><item><title>My lab and the birth of the portable Ikea lack 19” datacenter rack</title><link>https://frankdenneman.ai/2013-12-16-my-lab-and-the-birth-of-the-portable-ikea-lack-19-datacenter-rack/</link><pubDate>Mon, 16 Dec 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-12-16-my-lab-and-the-birth-of-the-portable-ikea-lack-19-datacenter-rack/</guid><description>&lt;p&gt;Currently, topics about labs are hot, and when meeting people at the VMUGs or other tech conferences, I get asked a lot about my lab configuration. I&amp;rsquo;m a big fan of labs, and I think everybody who works in IT needs a lab, whether it&amp;rsquo;s at home or in a centralized location.&lt;/p&gt;
&lt;p&gt;At &lt;a href="http://www.PernixData.com"&gt;PernixData&lt;/a&gt;, we have two major labs. One on the east coast and one on the west coast of the U.S. Both these labs are shared, so you cannot do everything you like. However, sometimes you want to break stuff. You want to pull cables and disks and kill an entire server or array. To see what happens. For these reasons having a lab that is 4000 miles away doesn&amp;rsquo;t work. Enough reasons to build a small lab at home.&lt;/p&gt;</description></item><item><title>Send F11 key to nested ESXi on Mac</title><link>https://frankdenneman.ai/2013-11-05-send-f11-key-to-nested-esxi-on-mac/</link><pubDate>Tue, 05 Nov 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-11-05-send-f11-key-to-nested-esxi-on-mac/</guid><description>&lt;p&gt;I only use Mac at home, most of the time it&amp;rsquo;s great sometimes it&amp;rsquo;s not. For example when installing or configuring your remote lab. I have a windows server installed on a virtual machine that runs vCenter and the vSphere client.&lt;/p&gt;
&lt;p&gt;When I&amp;rsquo;m installing a new nested ESXi server, I connect with a remote desktop session to the Windows machine and use the VMware vSphere client.&lt;/p&gt;
&lt;p&gt;During the ESXi install process, it requires to press the F11 key to continue with the install process. However, F11 isn&amp;rsquo;t mapped by the vSphere client automatically and there isn&amp;rsquo;t a menu option in the vSphere client to send it to the client.&lt;/p&gt;</description></item><item><title>vCPU configuration. Performance impact between virtual sockets and virtual cores?</title><link>https://frankdenneman.ai/2013-09-18-vcpu-configuration-performance-impact-between-virtual-sockets-and-virtual-cores/</link><pubDate>Wed, 18 Sep 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-09-18-vcpu-configuration-performance-impact-between-virtual-sockets-and-virtual-cores/</guid><description>&lt;p&gt;A question that I frequently receive is if there is a difference in virtual machine performance if the virtual machine is created with multiple cores instead of selecting multiple sockets?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Single core CPU&lt;/strong&gt; VMware introduced multi core virtual CPU in vSphere 4.1 to avoid socket restrictions used by operating systems. In vSphere a vCPU is presented to the operating system as a single core cpu in a single socket, this limits the number of vCPUs that can be operating system. Typically the OS-vendor only restricts the number of physical CPU and not the number of logical CPU (better know as cores).&lt;/p&gt;</description></item><item><title>Only two days left to sign up for your VMworld speaker shirt!</title><link>https://frankdenneman.ai/2013-08-12-only-two-days-left-to-sign-up-for-your-vmworld-speaker-shirt/</link><pubDate>Mon, 12 Aug 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-08-12-only-two-days-left-to-sign-up-for-your-vmworld-speaker-shirt/</guid><description>&lt;p&gt;During our advisory call with &lt;a href="http://www.cloudphysics.com/" title="CloudPhysics home"&gt;CloudPhysics&lt;/a&gt;, a great idea was born. Why not provide all the speakers at VMworld a cool speaker shirt? Unfortunately in 2011 VMworld made the decision to stop providing speaker shirts to the people on stage, so most people started wearing older speaker shirt or even RUN DRS shirts ☺. For most speakers this move by VMworld was disappointing as the speaker shirts made them more recognizable but it also served as a cool badge of honor. &lt;img src="images/cloudphysics_speaker_shirt-314x300.jpg" alt="cloudphysics_speaker_shirt"&gt; I think CloudPhysics stepped up big time and gave us back that cool badge of honor. If you are a speaker this year, &lt;a href="https://docs.google.com/forms/d/1KNi9bQZHFPEOuC73eaAaIya1bWD3hhKRg4RpwmNoDTY/viewform" title="Register to receive your speaker shirt"&gt;go register here&lt;/a&gt; before tomorrow evening as the deadline is &lt;strong&gt;Tuesday August 13th end of day(pst)&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Have you seen the new video introduction to PernixData?</title><link>https://frankdenneman.ai/2013-08-06-have-you-seen-the-new-video-introduction-to-pernixdata/</link><pubDate>Tue, 06 Aug 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-08-06-have-you-seen-the-new-video-introduction-to-pernixdata/</guid><description>&lt;p&gt;I know PernixData FVP is cool, you know it&amp;rsquo;s cool, now how can you tell you all your friends and colleagues about it? Going around and telling them one by one doesn&amp;rsquo;t scale, just show them this video! &lt;a href="http://www.youtube.com/watch?v="&gt;http://www.youtube.com/watch?v=&lt;/a&gt;_t5b61xtT4Q I think Jeff sums it up nicely: &lt;img src="images/Screen-Shot-2013-08-06-at-11.21.08-AM.png" alt="Screen Shot 2013-08-06 at 11.21.08 AM"&gt;&lt;/p&gt;</description></item><item><title>New Book Project: Tweet sized vSphere Design Considerations – Selection process</title><link>https://frankdenneman.ai/2013-06-21-new-book-project-tweet-sized-vsphere-design-considerations-selection-process/</link><pubDate>Fri, 21 Jun 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-06-21-new-book-project-tweet-sized-vsphere-design-considerations-selection-process/</guid><description>&lt;p&gt;Just a quick update - this week we passed the deadline for Call of entries and have closed the form. Well over 400 design considerations were submitted and it’s now up to the judges to go through the design considerations. Thanks all for submitting your entries! Stay tuned for more updates.&lt;/p&gt;</description></item><item><title>Download the vSphere 4.1 and 5.0 clustering deepdive for free</title><link>https://frankdenneman.ai/2013-06-05-download-the-vsphere-4-1-and-5-0-clustering-deepdive-for-free/</link><pubDate>Wed, 05 Jun 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-06-05-download-the-vsphere-4-1-and-5-0-clustering-deepdive-for-free/</guid><description>&lt;p&gt;Do you want a free Kindle copy of the vSphere 4.1 HA and DRS Deepdive or the vSphere 5.0 Clustering Deepdive? Today and tommorow, Thursday June the 6th, you can download the Kindle (US Kindle Store) copy of both these books for free! &lt;img src="images/vSphere41.png" alt="vSphere41"&gt; &lt;img src="images/vSphere5.jpg" alt="vSphere5"&gt; So make sure you pick it up either today or tomorrow, it might be the only time this year it is on promo.&lt;/p&gt;</description></item><item><title>Want to have my former job?</title><link>https://frankdenneman.ai/2013-05-20-want-to-have-my-former-job/</link><pubDate>Mon, 20 May 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-05-20-want-to-have-my-former-job/</guid><description>&lt;p&gt;My old technical marketing team of VMware is looking for someone to cover resource management. If you have a passion for resource management of virtual infrastructures and like to help VMware’s field personnel, partners and customers understand the technology then this job might be something for you. A large part of my role was bridging between engineering, product management, product marketing and the field / customers. Provide information to the R&amp;amp;D side of VMware how the products are used and what features customers are requesting. You create collateral in every way or form to help the customer and field personnel understand and adopt the features. I always enjoyed working with the different teams at VMware. The cloud resource management and vMotion team are an awesome group to work with. Be prepared to deep dive with these guys Marianas trench style. Having a customer facing background helps you provide the team valuable information to align the features to the customer wishes. In this role you assist product marketing and product management in achieving their tactical and strategic plans. Besides working with the responsible engineering and product marketing teams you collaborate with your technical marketing colleagues. You have the ability to interact with guys such as Ken Werneberg, Cormac Hogan, Mike Foley, William Lam, Alan Renouf or Rawlinson Rivera on a daily basis. If you have thorough understanding of the vMotion features, DRS, Storage DRS, SIOC and DPM and love to help customers adopt these features, then apply now! &lt;a href="http://jobs.vmware.com/job/Palo-Alto-Sr_-Technical-Marketing-Manager-Resource-Management-Job-CA-94301/2593496/" title="http://jobs.vmware.com/job/Palo-Alto-Sr_-Technical-Marketing-Manager-Resource-Management-Job-CA-94301/2593496/"&gt;http://jobs.vmware.com/job/Palo-Alto-Sr_-Technical-Marketing-Manager-Resource-Management-Job-CA-94301/2593496/&lt;/a&gt; &lt;strong&gt;Please note&lt;/strong&gt; Be aware that this is my former role and that I no longer work for VMware. Therefor I cannot answer any further inquiries. Please contact the &lt;a href="www.vmware.com/careers" title="www.vmware.com/careers"&gt;VMware career team&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>New Storage DRS whitepaper available at VMware.com</title><link>https://frankdenneman.ai/2013-05-13-new-storage-drs-whitepaper-available-at-vmware-com/</link><pubDate>Mon, 13 May 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-05-13-new-storage-drs-whitepaper-available-at-vmware-com/</guid><description>&lt;p&gt;Last Friday my last and latest whitepaper about Storage DRS was published on VMware.com. Go to &lt;a href="http://www.vmware.com/resources/techresources/10363" title="http://www.vmware.com/resources/techresources/10363"&gt;http://www.vmware.com/resources/techresources/10363&lt;/a&gt; and download the whitepaper: &amp;ldquo;&lt;a href="http://www.vmware.com/files/pdf/vmw-vsphr-5-1-stor-drs-uslet-101-web.pdf" title="http://www.vmware.com/files/pdf/vmw-vsphr-5-1-stor-drs-uslet-101-web.pdf"&gt;Understanding vSphere 5.1 Storage DRS&lt;/a&gt;&amp;rdquo;. Download and read this whitepaper if you want to learn more about the five key elements of Storage DRS. Here&amp;rsquo;s a little snippet from the whitepaper: &lt;strong&gt;Step 1. Determine Whether Datastores Are Violating the Space-Utilization Threshold&lt;/strong&gt; If the space utilization of a datastore exceeds 80 percent, the datastore violates the threshold and the vSphere Storage DRS load-balancing algorithm is invoked. vSphere Storage DRS attempts to avoid an out-of-space situation and therefore runs a load-balancing operation as soon as the datastore exceeds its space-utilization threshold. This operation can be outside of the normal load-balancing interval of every 8 hours. The space-utilization threshold is a soft limit, enabling vSphere Storage DRS to place virtual machines in the datastore cluster even if all datastores exceed the space-utilization threshold. vSphere Storage DRS attempts to generate prerequisite migrations before virtual machine placement. If this fails, the virtual machine is placed on the datastore that provides the best overall cluster balance. &lt;img src="images/SDRS-whitepaper-screenshot.png" alt="SDRS-whitepaper-screenshot"&gt; This performance applies to space-utilization load-balancing operations as well, even if all datastores violate the space-utilization threshold. vSphere Storage DRS tries to keep space utilization near the threshold across all datastores. &lt;strong&gt;Download:&lt;/strong&gt; &lt;a href="http://www.vmware.com/files/pdf/vmw-vsphr-5-1-stor-drs-uslet-101-web.pdf" title="http://www.vmware.com/files/pdf/vmw-vsphr-5-1-stor-drs-uslet-101-web.pdf"&gt;http://www.vmware.com/files/pdf/vmw-vsphr-5-1-stor-drs-uslet-101-web.pdf&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Cloudphysics webinar: Expert Tips for Managing Datastore Space in a vSphere Environment</title><link>https://frankdenneman.ai/2013-05-09-cloudphysics-webinar-expert-tips-for-managing-datastore-space-in-a-vsphere-environment/</link><pubDate>Thu, 09 May 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-05-09-cloudphysics-webinar-expert-tips-for-managing-datastore-space-in-a-vsphere-environment/</guid><description>&lt;p&gt;Tonight I will join Erik Haus and Krishna Raj Raja of CloudPhysics to talk about Datastore space management in a virtual infrastructure. During the webinar Krishna will show you how the new CloudPhysics &amp;ldquo;Datastore Space&amp;rdquo; card and &amp;ldquo;Snapshots Gone Wild&amp;rdquo; card help you to identify and resolve space problems. Join us! The event will start at 6:00 pm Amsterdam Time on May 9, 2013. (9:00 AM PDT) Go to the CloudPhysics site to &lt;a href="https://www.cloudphysics.com/"&gt;register&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>Embarking on a new adventure - Joining PernixData as Tech Evangelist</title><link>https://frankdenneman.ai/2013-04-29-embarking-on-a-new-adventure-joining-pernixdata-as-tech-evangelist/</link><pubDate>Mon, 29 Apr 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-04-29-embarking-on-a-new-adventure-joining-pernixdata-as-tech-evangelist/</guid><description>&lt;p&gt;Sometimes something comes along that makes you feel you need to get involved with. Something that makes you want to leave the comfortable position you have now and take up the challenge of starting all over again. Help turn that something into something big. Well that something is in my case PernixData and its Flash Virtualization Platform. Joining &lt;a href="http://www.pernixdata.com"&gt;PernixData&lt;/a&gt; means I’m leaving the great company of VMware and an awful lot of great colleague behind. Some of them I consider to be good friends. During my years at VMware I learned a lot and words cannot describe how awesome those years were. Designing the vCloud environment for the European launching partner, consulting a lot of the Fortune 500 firms, participating in VCDX panels around the world and co-authoring three books are some of the highlights during my time at VMware but I’m sure I’m forgetting a lot of other great moments. Being a part of the technical marketing team was amazing! Besides working alongside the best bloggers in the world I had the privilege to work with the engineers on a daily basis.  Having a job that allows you to think, talk and write about technology you absolutely love is great and difficult to let go. But opportunities do come along and as I mentioned in the beginning some of these opportunities spark the desire to become a part of that story. When I attended a technical preview of the Flash Virtualization Platform at PernixData I got excited. I think just as excited as when I saw my first vMotion. Meeting the founders and the team made me realize that this company and product was more than just a single product, this platform is a game changer in the world of virtual infrastructure and datacenter design. Which drove me to the decision to accept a position with PernixData as Technology Evangelist. As the Technology Evangelist I’m responsible for helping the virtualization community understand PernixData’s Flash Virtualization Platform (FVP). And as the first international employee I also will be focusing on expanding the European organization. I will be starting at PernixData soon, can’t wait to start&lt;/p&gt;</description></item><item><title>vSphere 5.1 update 1 release fixes Storage vMotion rename &amp;quot;bug&amp;quot;</title><link>https://frankdenneman.ai/2013-04-26-vsphere-5-1-update-1-release-fixes-storage-vmotion-rename-bug/</link><pubDate>Fri, 26 Apr 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-04-26-vsphere-5-1-update-1-release-fixes-storage-vmotion-rename-bug/</guid><description>&lt;p&gt;vSphere 5.1 update 1 is released today which contains several updates and bug fixes for both ESXi and vCenter Server 5.1. This release contains the return of the much requested functionality of renaming VM files by using Storage vMotion. Renaming a virtual machine within vCenter did not automatically rename the files, but in previous versions Storage vMotion renamed the files and folder to match the virtual machine name. A nice trick to keep the file structure aligned with the vCenter inventory. However engineers considered it a bug and &amp;ldquo;fixed&amp;rdquo; the problem. Duncan and I pushed hard for this fix, but the strong voice of the community lead (thanks for all who submitted a &lt;a href="https://frankdenneman.ai/2012-11-12-vmware-feature-request/" title="VMware feature request"&gt;feature request&lt;/a&gt;) helped the engineers and product managers understand that this bug was actually considered to be a very useful feature. The engineers introduced the &amp;ldquo;bugfix&amp;rdquo; in &lt;a href="https://frankdenneman.ai/2013-01-21-storage-drs-cluster-shows-error-index-was-out-of-range-must-be-non-negative-and-less-than-the-size-of-the-collection-2/" title="Storage DRS Cluster shows error "&gt;5.0 update 2&lt;/a&gt; end of last year and now the fix is included in this update for vSphere 5.1 Here&amp;rsquo;s the details of the bugfix:&lt;/p&gt;</description></item><item><title>Awesome read: Storage Performance And Testing Best Practices</title><link>https://frankdenneman.ai/2013-04-24-awesome-read-storage-performance-and-testing-best-practices/</link><pubDate>Wed, 24 Apr 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-04-24-awesome-read-storage-performance-and-testing-best-practices/</guid><description>&lt;p&gt;The last couple of days I’ve been reading up on EMC VPLEX technology as I’m testing VPLEX metro with SIOC and Storage DRS. Yesterday I discovered a technical paper called “&lt;a href="https://community.emc.com/docs/DOC-20661"&gt;EMC VPLEX: Elements Of Performance And Testing Best Practices Defined&lt;/a&gt;” and I think this paper should be read by anyone who is interested in testing storage or even wanting to understand the difference between workloads. Even if you do not plan to use EMC VPLEX the paper delivers some great insights about IOPS versus MB/s. What to expect when testing for transactional-based workloads and throughput-based workload? Here’s a little snippet: “Let’s begin our discussion of VPLEX performance by considering performance in general terms. What is good performance anyway? Performance can be considered to be a measure of the amount of work that is being accomplished in a specific time period. Storage resource performance is frequently quoted in terms of IOPS (IO per second) and/or throughput (MB/s). While IOPS and throughput are both measures of performance, they are not synonymous and are actually inversely related – meaning if you want high IOPS, you typically get low MB/s. This is driven in large part by the size of the IO buffers used by each storage product and the time it takes to load and unload each of them. This produces a relationship between IOPS and throughput as shown in Figure 1 below.” &lt;img src="images/01-IOversusMB.png" alt="01-IOversusMB"&gt; Although it’s primarily focused on VPLEX, the paper helps you understand the different layers of a storage solution and how each layer affects performance. Another useful section is the overview of good benchmark software which describes the basic operation of each listed benchmark program. The paper is very well written and I bet even a joy to read for both the beginner as well as the the most hardened storage geek. &lt;a href="https://community.emc.com/docs/DOC-20661"&gt;Download the paper here.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Migrating VMs between DRS clusters in an elastic vDC</title><link>https://frankdenneman.ai/2013-04-17-migrating-vapps-between-drs-clusters-in-an-elastic-vdc/</link><pubDate>Wed, 17 Apr 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-04-17-migrating-vapps-between-drs-clusters-in-an-elastic-vdc/</guid><description>&lt;p&gt;In the article “&lt;a href="https://frankdenneman.ai/2013-04-12-migrating-datastore-clusters-by-changing-storage-profiles-in-a-vcloud/" title="Migrating datastore clusters by changing storage profiles in a vCloud"&gt;Migrating datastore clusters by changing storage profiles in a vCloud&lt;/a&gt;“ I closed with the remark that vCD is not providing an option to migrate virtual machines between compute clusters that are part of an elastic vDC. Fortunately my statement was not correct. &lt;a href="https://twitter.com/fojta"&gt;Tomas Fojta&lt;/a&gt; pointed out that vCD does provide this functionality. Unfortunately this feature is not exposed in the vCloud organization portal but in the system portal of the vCloud infrastructure itself. In other words, to be able to use this functionality you need to have system administrator privileges. In the previous article, I created the scenario where you want to move virtual machines between two sites. Site 1 contains compute cluster “vCloud-Cluster1” and datastore cluster “ DSC-Site-1”. Site 2 contains “vCloud-Cluster2” and datastore cluster “DSC-Site-2” . By changing the VM storage profile from Site-1 to Site-2, we have vCD instruct vSphere to storage vMotion the virtual machine disk files from one datastore cluster to another. Now at this point we need to migrate the compute state of the virtual machine. &lt;img src="images/09.png" alt="09"&gt; &lt;strong&gt;Migrate virtual machine between clusters&lt;/strong&gt; Please note that vCD refers to clusters as resource pools. To migrate the virtual machine between clusters, log into the vCloud director and select the system tab. Go to the vSphere resources and select Resource Pools menu option. &lt;img src="images/01-vSphere-resource-Pools.png" alt="01-vSphere-resource-Pools"&gt; The UI displays the clusters that are a part of the Provide vDC. Select the cluster a.k.a. resource pool in which the virtual machine resides. Select the virtual machine to migrate, right click the virtual machine to have vCD display the submenu and select the option “Migrate to…” &lt;img src="images/02-vCD-migrate-to.png" alt="02-vCD-migrate-to"&gt; The user interface allows you to choose how you want to select the destination resource pool for the virtual machine: Either automatic and let vCD select the resource pool for you, or select the appropriate resource pool manually. When selecting automatic vCD selects the cluster with the most unreserved resources available. If the virtual machine happens to be in the cluster with the most unreserved resources available vCD might not move the virtual machine. In this case we want to place the virtual machine in site 2 so that means we need to select the appropriate cluster. We select vCloud-Cluster2 and click on OK to start the migration process. &lt;img src="images/03-vCD-Manually-select-a-resource-pool.png" alt="03-vCD-Manually-select-a-resource-pool"&gt; vCD instructs vSphere to migrate the virtual machine between clusters with the use of vMotion. In order to use vMotion, both clusters need to have access to the datastore on which the virtual machine files reside. vCD does not use “enhanced’ vMotion where it can live migrate between host without being connected shared storage. Hopefully we see this enhancement in the future. When we log into vSphere we can verify if the life migration of the virtual machine was completed. Select the destination cluster, in this case that would be vCloud-Cluster2, go to menu option Monitor, select tasks and click on the entry “Migrate virtual machine” &lt;img src="images/04-VCD-Migrate-virtual-machine-process-overview.png" alt="04-VCD-Migrate-virtual-machine-process-overview"&gt; In the lower part of the screen, you get more detailed information of the Migrate-virtua-machine entry. As you can seem the virtual machine W2K8_RS_SP1 is migrated between servers 10.27.51.155 and 10.27.51.152. As we do not change anything to the storage configuration, the virtual machine files remains untouched and stay on the same datastore. To determine if vCD has updated the current location of the virtual machine, log into vCD again, go to the menu option “Resource Pools” and select the cluster chosen as destination as the previously org cluster. &lt;img src="images/05-vCD-VM-migrated-to-different-DRS-cluster.png" alt="05-vCD-VM-migrated-to-different-DRS-cluster"&gt;&lt;/p&gt;</description></item><item><title>3 common questions about DRS preferential VM-Host affinity rules</title><link>https://frankdenneman.ai/2013-04-15-3-common-questions-about-drs-preferential-vm-host-affinity-rules/</link><pubDate>Mon, 15 Apr 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-04-15-3-common-questions-about-drs-preferential-vm-host-affinity-rules/</guid><description>&lt;p&gt;On a regular basis I receive questions about the behavior of DRS when dealing with preferential VM to Host affinity rules. The rules configured with the rule set “should run on / should not run on” are considered preferential. Meaning that DRS prefers to satisfy the requirements of the rules, but is somewhat flexible to run a VM outside the designated hosts. It is this flexibility that raises questions; lets see how “loosely” DRS can operate within the terms of conditions of a preferential rule: &lt;strong&gt;Question 1: If the cluster is imbalanced does DRS migrate the virtual machines out of the DRS host group?&lt;/strong&gt; DRS only considers migrating the virtual machines to hosts external to the DRS host group if each host inside the group is 100% utilized. And if the hosts are 100% utilized, then DRS will consider virtual machines that are not part of a VM-Host affinity rule first. DRS will always avoid violating an affinity rule &lt;strong&gt;Question 2: When a virtual machine is powered on, will DRS start the virtual machine on a host external to the DRS host group?&lt;/strong&gt; By default DRS will start the virtual machine on hosts listed in the associated Host DRS group. If all hosts are 100% utilized – or – if they do not meet the virtual machine hardware requirements such as datastore or network connectivity, then DRS will start the virtual machine on a host external to the Host DRS group. &lt;strong&gt;Question 3: If a virtual machine is running on a host external to the associated host DRS group, shall DRS try to migrate the virtual machine to a host listed in the DRS host group?&lt;/strong&gt; The first action DRS triggers during an invocation is to determine if an affinity rules is violated. If a virtual machine is running on a host external to the associated Host DRS group then DRS will try to correct this violation. This move will have the highest priority ensuring that this move is carried out during this invocation.&lt;/p&gt;</description></item><item><title>Migrating datastore clusters by changing storage profiles in a vCloud</title><link>https://frankdenneman.ai/2013-04-12-migrating-datastore-clusters-by-changing-storage-profiles-in-a-vcloud/</link><pubDate>Fri, 12 Apr 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-04-12-migrating-datastore-clusters-by-changing-storage-profiles-in-a-vcloud/</guid><description>&lt;p&gt;vCloud director 5.1 supports the use of both storage profiles and Storage DRS. One of the coolest features and unfortunately relatively unknown is the ability to live migrate virtual machines between datastore clusters by changing the storage profile in the vCloud director portal. In my lab I’ve set up a provider vDC that contains two compute clusters. Each compute cluster connects to two datastore clusters. Datastore Cluster “vCloud-SDC-Gold” is compatible with the VM storage profile “vCloud-Gold-Storage”, while Datastore Cluster “vCloud-SDC-Silver” is compatible with the VM storage profile “vCloud-Silver-Storage”. &lt;img src="images/01.png" alt="01"&gt; When creating a vApp the default storage profile of the organization vDC is applied to the vApp and all its virtual machines. In this case, the VM storage profile Gold is applied to all the virtual machines in the vApp. You can determine which VM Storage Profile is associated with the virtual machine by selecting the properties of the virtual machine in the “My Cloud” tab. Please note that vCloud Director does not show the VM Storage Profile at the vApp level! &lt;img src="images/02.png" alt="02"&gt; By selecting the drop-down box, all storage profiles that are associated with the organization vCD are displayed. &lt;img src="images/03.png" alt="03"&gt; By selecting the Storage Profile “vCloud-Silver-Storage” vCloud Director determines that the virtual machine is stored on a datastore that is not compatible with the associated storage profile. In other words the current configuration is violating the storage level policy. To correct this violation, vCloud director instructs vSphere to migrate the virtual machine via Storage vMotion to a datastore that is compatible with the VM storage Profile. In this case the datastore cluster “vCloud-DSC-Silver” is selected as the destination. Storage DRS determines the most suitable datastore by using its initial placement algorithm and selects the datastore that has the most amount of free space and the lowest I/O load. To demonstrate the feature, I selected the virtual machine “W2K8_R2-SP1”. The VM storage profile “vCloud-Gold-Storage” is applied and Storage DRS determined that the datastore “nfs-f-vcloud03” of the datastore cluster “vCloud-DSC-Gold” was the most suitable location. &lt;img src="images/04.png" alt="04"&gt; By changing the Storage Profile to “vCloud-Silver-Storage” vCloud director instructed vSphere to migrate it to the datastore cluster that is compatible with the newly associated VM storage profile. &lt;img src="images/05.png" alt="05"&gt; When logging into the vCenter server managing the ESXi hosts the following task is running: &lt;img src="images/06.png" alt="06"&gt; After the task is complete, vCenter shows that the virtual machine is now stored on datastore &amp;ldquo;nfs-f-vcloud06&amp;rdquo; in the datastore cluster “vCloud-DSC-Silver”. &lt;img src="images/07.png" alt="07"&gt; &lt;strong&gt;The power of abstraction&lt;/strong&gt; The abstraction layer of vCloud Director makes this possible. When changing the storage profile directly on the vSphere layer, nothing happens. vSphere will not migrate the virtual machine to the appropriate datastore cluster that is compatible with the selected VM storage profile. &lt;strong&gt;Useful for stretched clusters?&lt;/strong&gt; The reason why I was looking into this feature in my lab is due to an conversation with my esteemed colleagues &lt;a href="https://twitter.com/leedilworth" title="Lee Dilworth on Twitter"&gt;Lee Dilworth&lt;/a&gt; and &lt;a href="https://twitter.com/AidersD" title="Aidan Dalgleish on Twitter"&gt;Aidan Dalgleish&lt;/a&gt;. We were looking to an alternative scenario for a stretched cluster. By leveraging the &lt;a href="https://frankdenneman.ai/2013-03-29-elastic-vdc-and-how-to-span-a-provider-vdc-across-multiple-drs-clusters/" title="Elastic vDC and how to span a provider vDC across multiple DRS clusters"&gt;elastic vDC feature of vCloud director&lt;/a&gt;, a seperate DRS cluster is created in each site. Due to the automatic initial placement engine on the compute level, we needed to find a construct that can provide us a more deterministic method of virtual machine placement. We immediately thought of the VM profile storage feature. Create two datastore clusters, one per site and associate a profile storage based on site name to the respective datastore clusters. &lt;img src="images/08.png" alt="08"&gt; When creating the vApp, just select the site-related Storage Profile to place the virtual machine in a specific site. Due to the compatibility check, vCloud Director determines that in order to be compliant with the storage profile it places the virtual machine on the compute cluster in the same site. For example, if you want to place a virtual machine in site 1, select the VM storage Profile “site 1”. vCloud director determines that the virtual machine needs to be stored in datastore cluster “DSC-Site-1”. The compute cluster Site-1 is the only compute cluster connected to the datastore cluster, therefor both the compute and storage configuration of the virtual machine is stored in Site 1. This configuration works perfect if you want to simplify initial placement if you have multiple sites/locations and you always want to keep the virtual machine in the same site. However this solution might not be optimal for a Stretched cluster configuration where failover to another site is necessary. &lt;strong&gt;Connectivity to all datastores necessary&lt;/strong&gt; As this feature uses storage vMotion instead of cross-host/datastore vMotion, means that the cluster needs to be connected to both datastore clusters. &lt;img src="images/09.png" alt="09"&gt; When selecting the different storage profile, the storage state is migrated to another datastore cluster. However it doesn’t move the compute state of the virtual machine. This means that storage is moved to site B, while the compute state is still in Site A. vCloud director does not provide an option to migrate the virtual machine to a different compute cluster within the provider vDC. You can either solve it by logging into the vCenter server that manages the ESXi hosts and manually vMotion the virtual machines to cluster in Site B, or power-off the virtual machine in vCloud Director, then change the storage profile and power-on the virtual machine. Both “solutions” are not very enterprise-level scenario’s therefor I think this is not yet suitable as a stretched cluster configuration&lt;/p&gt;</description></item><item><title>VMworld 2013 - Call of Papers deadline ends today</title><link>https://frankdenneman.ai/2013-04-12-vmworld-2013-call-of-papers-deadline-ends-today/</link><pubDate>Fri, 12 Apr 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-04-12-vmworld-2013-call-of-papers-deadline-ends-today/</guid><description>&lt;p&gt;Just a reminder here on submitting VMworld sessions. The deadline is coming up quickly. If you haven&amp;rsquo;t submitted yet, you have still some hours left to submit a Session Proposal for VMworld 2013. &lt;a href="http://www.vmworld.com/community/conference/cfp" title="Call of Papers VMworld 2013"&gt;Submit your session today!&lt;/a&gt;&lt;/p&gt;</description></item><item><title>vMotion over layer 3?</title><link>https://frankdenneman.ai/2013-04-09-vmotion-over-layer-3/</link><pubDate>Tue, 09 Apr 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-04-09-vmotion-over-layer-3/</guid><description>&lt;p&gt;This question regularly pops up on twitter and the community forums. And yes it works but VMware does not support vMotion interfaces in different subnets. The reason is that this can break functionality in higher-level features that rely on vMotion to work. If you think Routed vMotion (vMotion interfaces in different subnets) is something that should be available in the modern datacenter, please fill out a &lt;a href="https://frankdenneman.ai/2012-11-12-vmware-feature-request/" title="VMware feature request"&gt;feature request&lt;/a&gt;. The more feature requests we receive; the more priority can be applied to the development process of the feature.&lt;/p&gt;</description></item><item><title>Saving a Resource Pool Structure web client feature not suitable for vCD environments</title><link>https://frankdenneman.ai/2013-04-08-saving-a-resource-pool-structure-web-client-feature-not-suitable-for-vcd-environments/</link><pubDate>Mon, 08 Apr 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-04-08-saving-a-resource-pool-structure-web-client-feature-not-suitable-for-vcd-environments/</guid><description>&lt;p&gt;Last week I published the article “&lt;a href="https://frankdenneman.ai/2013-04-05-saving-a-resource-pool-structure/" title="Saving a Resource Pool Structure"&gt;Saving a Resource Pool Structure&lt;/a&gt;” describing the RP-tree backup and restore feature of vSphere 5.1 web client. Multiple people immediately asked if the feature keeps the Managed Object Reference ID (MoRef) of the resource pools identical when it restores the resource pool tree? This is important for vCloud Director as it creates a relationship between vCloud Director objects organization vCD and the vSphere level resource pool. vCloud Director ties the org vCD UUID with the vSphere resource pool Moref id within vCD database. For more information read Chris his post: &amp;ldquo;&lt;a href="http://www.chriscolotti.us/vmware/gotcha-disabling-vmware-drs-with-vcloud-director/"&gt;Gotcha: Disabling VMware DRS with vCloud Director&lt;/a&gt;&amp;rdquo;. Unfortunately the feature just captures the old tree structure and rebuilds a new tree structure. I tested it by using William Lam’s custom Perl script called moRefFinder.pl. Please visit Williams site to &lt;a href="http://www.virtuallyghetto.com/2011/11/vsphere-moref-managed-object-reference.html"&gt;download his script&lt;/a&gt;. &lt;img src="images/1-moref-before.png" alt="1-moref-before"&gt; Then I proceeded to backup and restore the resource pool tree. vCenter showed the follow commands being processed. &lt;img src="images/2-vCenter-operations.png" alt="2-vCenter-operations"&gt; Then I checked if the MoRef ID was the same as prior to disabling DRS. &lt;img src="images/3-moref-after.png" alt="3-moref-after"&gt; As shown, the current MoRef ID of the “00-Infra-mgmt” resource pool is 137 contrary to MoRef ID of 129 before disabling DRS. Therefor you should not use this feature when planning to backup and restore the resource pool used by VCD for its organization vCD structures.&lt;/p&gt;</description></item><item><title>Saving a Resource Pool Structure</title><link>https://frankdenneman.ai/2013-04-05-saving-a-resource-pool-structure/</link><pubDate>Fri, 05 Apr 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-04-05-saving-a-resource-pool-structure/</guid><description>&lt;p&gt;During a troubleshooting exercise of a problem with vCenter I needed to disable DRS to make sure DRS was not the culprit. However a resource pool tree exisited in the infrastructure and I was not looking forward reconfiguring all the resource allocation settings again and documenting which VM belonged to which resource pool. The web client of vSphere 5.1 has a cool feature that helps in these cases. When deactivating DRS (Select cluster, Manage, Settings, Edit, deselect “Turn ON vSphere DRS”) the user interface displays the following question: &lt;img src="images/01-turn-OFF-DRS.png" alt="01-turn-OFF-DRS"&gt; &lt;strong&gt;Backup resource pool tree&lt;/strong&gt; Click “Yes” to backup the tree and select an appropriate destination for the resource pool tree snapshot file. This file uses the name structure clustername.snapshot and should the file size be not bigger than 1 or 2 KB. &lt;strong&gt;Restore resource pool tree&lt;/strong&gt; When enabling DRS on the cluster, the User interface does not ask the question to restore the tree. In order to restore the tree, enable DRS first and select the cluster in the tree view. Open the submenu by performing a right-click on the cluster, expand the “All vCenter Actions” and select the option “Restore Resource Pool Tree…” &lt;img src="images/02-Restore-Resource-Pool-Tree.png" alt="02-Restore-Resource-Pool-Tree"&gt; A window appears and click browse in order to select the saved resource pool tree snapshot and click on OK &lt;img src="images/03-select-cluster-snapshot.png" alt="03-select-cluster-snapshot"&gt; vCenter restores the tree, the resource pool settings (shares, reservations limits) and moves the virtual machines back to the resource pool they were placed in before disabling DRS. &lt;img src="images/04-Restored-Tree.png" alt="04-Restored-Tree"&gt; If you want to save the complete vCenter inventory configuration I suggest you download the fling &lt;a href="http://labs.vmware.com/flings/inventorysnapshot" title="InventorySnapshot"&gt;&amp;ldquo;InventorySnapshot&amp;rdquo;&lt;/a&gt;. &lt;strong&gt;Update:&lt;/strong&gt; If you want to use this tool to backup and restore resource pool trees used by vCloud Director, please read this article: &lt;a href="https://frankdenneman.ai/2013-04-08-saving-a-resource-pool-structure-web-client-feature-not-suitable-for-vcd-environments/" title="Saving a Resource Pool Structure web client feature not suitable for vCD environments"&gt;Saving a Resource Pool Structure web client feature not suitable for vCD environments&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Elastic vDC and how to span a provider vDC across multiple DRS clusters</title><link>https://frankdenneman.ai/2013-03-29-elastic-vdc-and-how-to-span-a-provider-vdc-across-multiple-drs-clusters/</link><pubDate>Fri, 29 Mar 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-03-29-elastic-vdc-and-how-to-span-a-provider-vdc-across-multiple-drs-clusters/</guid><description>&lt;p&gt;vCloud director 5.1 provides the ability to create elastic vDC which allows an organization vDC to consume resources from multiple DRS clusters. By having the provider vDC abstract the resources from multiple DRS clusters, its simpler to grow capacity when needed. Before elastic vDC, a new provider vDC and Org vDCs needed to be created when an org vDC wanted to grow beyond the capacity of the provider vDC. With Elastic vDC you just add new clusters when needed and allow the Provider vDC to manage initial placement of vApps. During research of elastic vDCs I discovered that the way to span a provider vDC isn’t that intuitive. In order to save you some time, here are the steps to create a provider vDC that spans multiple DRS clusters. Create a Provider vDC, give it a name and select the highest supported hardware version. If you run a homogenous environment with solely 5.1 ESX hosts I highly recommend changing it to Hardware Version 9. If the clusters run different ESX versions, lower the hardware version to the appropriate supported level. &lt;img src="images/00-hardware-version-provider-vdc.png" alt="00-hardware-version-provider-vdc"&gt; Please note that the provider vDC is responsible for initial placement of the vApp. It will place the vApp on the cluster that contains the most available “unreserved” compute resources and storage resources. It is possible that vApps of the same organization run on different ESX versions. Select Resource pool. This screen is a little bit ambiguous. The user interface “talks” about resource pools, but that doesn’t mean you cannot select a complete DRS cluster for consumption by the provider vDC. A DRS cluster is in essence a resource pool, the root resource pool for all its child resource pools. So don’t worry if you want to select an entire cluster, in matter of fact, when you select the vCenter it shows the DRS clusters as well as the resource pools. In this example, the vCenter contains two DRS clusters; vCloud-Cluster1 and vCloud-Cluster2. The DRS cluster vCloud-Cluster2 contains a resource pool called RP1. Unfortunately the user interface does not use any icons to differentiate between clusters and resource pools, but shows a vCenter path notation. As RP1 is the child resource pool of vCloud-Cluster2, the vCenter path is as follows: vCloud-Cluster2/RP1. Unfortunately the interface only allows to select a single resource pool or cluster, therefor I select the vCloud-Cluster1 and select next. &lt;img src="images/01-select-drs-cluster.png" alt="01-select-drs-cluster"&gt; Select an appropriate Storage profile and click on next. The ready to complete screen displays an overview of your selected configuration. Click on Finish to create the Provider vDC. &lt;img src="images/02-Ready-to-Complete-Provider-vDC.png" alt="02-Ready-to-Complete-Provider-vDC"&gt; At this point in time, the provider vDC maps to only one DRS cluster. To add additional clusters, go to the Manage and Monitor tab and select Provider vDCs. &lt;img src="images/03-Provider-vDCs-overview.png" alt="03-Provider-vDCs-overview"&gt; Click on the provider vDC and select the resource pools tab &lt;img src="images/04-Provider-vDC-menu.png" alt="04-Provider-vDC-menu"&gt; Click on the green plus icon to add another DRS cluster. The attach resource pool window is displayed and you can select another cluster from the same vCenter as the primary cluster. Please note that a provider vDC can only span clusters managed by the same vCenter server. Click on Finish to add the DRS cluster to the provider vDC. &lt;img src="images/05-Select-resource-pool.png" alt="05-Select-resource-pool"&gt; The Provider vDC is now able to provider resources from multiple DRS clusters. In vCloud Director 5.1 both the Pay-as-You-Go and Allocation Pool model org vCD are able to consume resources from an elastic vDC. In order to allow the Allocation Pool model to leverage an Elastic vDC changes needed to be made. Massimo Re Ferrè wrote an extensive post about the changes of the &lt;a href="http://it20.info/2012/10/vcloud-director-5-1-1-changes-in-resource-entitlements/" title="http://it20.info/2012/10/vcloud-director-5-1-1-changes-in-resource-entitlements/"&gt;different allocation models in vCloud director 5.1&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Would you be interested in Storage-level reservations?</title><link>https://frankdenneman.ai/2013-03-26-would-you-be-interested-in-storage-level-reservations/</link><pubDate>Tue, 26 Mar 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-03-26-would-you-be-interested-in-storage-level-reservations/</guid><description>&lt;p&gt;In todays world it&amp;rsquo;s quite common to virtualize higher priority / tier-1 applications and services. These applications and services are usually subject to service level agreements that typically include requirements for strong performance guarantees. For the compute resources (CPU and Memory) we are relying on the virtualization layer to give us that resource allocation solution by setting reservation, shares and limits. You might want to ensure that the storage requirements of these virtual machines are met and when contention for storage resources occurs these workloads are not impacted. Today vSphere offers Storage I/O Control (SIOC) to allocates I/O resources based on the virtual machine priority if datastore latency is exceeded. Shares identify priority while limits restrict the amount of IOPS for a virtual machine. Although these are useful controls it does not provide a method to define a minimum amount of IOPS that is available all the time to the application. Providing lots of shares to these virtual machines can solve help to meet the SLA, however continuously calculating the correct share value in a highly dynamic virtual datacenter is cumbersome and complex job. &lt;strong&gt;Storage level reservations&lt;/strong&gt; Therefore we are working on Storage level reservations. A storage reservation allows you to specify a minimum number of IOPS that should be available to the virtual machine at all times. This allows the virtual machine to make minimum progress in order to comply with the service level agreement. In a relative closed environment such as the compute layer its fairly easy to guarantee a minimum level of resource availability, but when it comes to a shared storage platform new challenges arise. The hypervisor owns the computes resource and distributes it to the virtual machine it’s hosting. In a shared storage environment we are dealing with multiple layers of infrastructure, each susceptible to congestion and contention. And then there is the possibility of multiple external storage resource consumers such as non-virtualized workloads using the same array impacting the availability of resources and the control of distributing the resources. These challenges must be taken into account when developing storage reservations and we must understand how stringent you want the guarantee to be. One of the questions we are dealing with is whether you would like a strict admission control or a relaxed admission control. With strict admission control, a virtual machine power-on operation is denied when vSphere cannot guarantee the storage reservation (similar to compute reservations). Relaxed admission control turns storage reservations into a share-like construct, defining relative priority at times where not enough IOPS are available at power-on. For example: Storage reservation on VM1 = 800 and VM2 = 200. At boot 600 IOPS are available; therefore VM1 gets 80% of 600 = 480, while VM2 gets 20%, i.e. 120 IOPS. When the array is able to provide more IOPS the correct number of IOPS are distributed to the virtual machines in order to to satisfy the storage reservation. In order to decide which features to include and define the behavior of storage reservation we are very interested in your opinion. We have created a short list of questions and by answering you can help us define our priorities during the development process. I intentionally kept the question to a minimum so that it would not take more than 5 minutes of your time to complete the survey. &lt;strong&gt;Disclaimer&lt;/strong&gt; As always, this article provides information about a feature that is currently under development. This means this feature is subject to change and nor VMware nor I in no way promises to deliver on any features mentioned in this article or survey. Any other ideas about storage reservations? Please leave a comment below. &lt;strong&gt;The survey is closed, thanks for your interest in participating&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Hello world! Again</title><link>https://frankdenneman.ai/2013-03-25-hello-world-2/</link><pubDate>Mon, 25 Mar 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-03-25-hello-world-2/</guid><description>&lt;p&gt;During my holiday, frankdenneman.nl got some unwanted attention. I&amp;rsquo;m currently in the process of rebuilding the site. Stay tuned for new updates!&lt;/p&gt;</description></item><item><title>WOW, voted number 2 of top virtualization blogs!</title><link>https://frankdenneman.ai/2013-03-12-wow-voted-number-2-of-top-virtualization-blogs/</link><pubDate>Tue, 12 Mar 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-03-12-wow-voted-number-2-of-top-virtualization-blogs/</guid><description>&lt;p&gt;Voted number 2 of top virtualization blogs As many other IT-addicts, the first thing I do is pick up my phone to see what’s new on twitter, google+ and facebook and to my surprise I received a lot of direct messages and mentions congratulating on taking the second spot on the &lt;a href="http://vsphere-land.com/news/2013-top-vmware-virtualization-blog-voting-results.html" title="http://vsphere-land.com/news/2013-top-vmware-virtualization-blog-voting-results.html"&gt;top 25 virtualization blog list&lt;/a&gt;. WOW talk about excitement! From being drowsy to uber-hyped in under a millisecond. Thanks for voting me! I really appreciate the recognition. I love to blog and write articles and when I’m not researching I’m thinking of topics I can cover. Reaching the number 2 spot proves I’m doing something you all like. But actually I want to thank you for taking the time to vote on any of the top 25 blogs. Everybody spends a great deal of time researching and writing articles, getting votes is a great way to receive acknowledgement for your hard work. A big thank you goes out to &lt;a href="https://twitter.com/ericsiebert" title="https://twitter.com/ericsiebert"&gt;Eric&lt;/a&gt; for organizing this competition again. Awesome work and thanks for putting in all the effort. Viewing the stats it shows that this event is becoming more and more an industry event, organized by community members for community members. Great stuff. &lt;a href="https://twitter.com/jtroyer" title="https://twitter.com/jtroyer"&gt;John&lt;/a&gt;, &lt;a href="https://twitter.com/Davidmdavis" title="https://twitter.com/Davidmdavis"&gt;David&lt;/a&gt;, &lt;a href="https://twitter.com/kiwi_si" title="https://twitter.com/kiwi_si"&gt;Simon&lt;/a&gt; similar to last year, great vChat. A delight to watch! BTW, thank you for the compliments! It’s always cool to hear some background details of the top 25 bloggers. I encourage you to watch the special &lt;a href="http://www.vmwarevideos.com/vchat-episode-34-top-virtualization-blogs-2013-with-jtroyer" title="http://www.vmwarevideos.com/vchat-episode-34-top-virtualization-blogs-2013-with-jtroyer"&gt;vChat&lt;/a&gt; it’s great entertainment! Congrats to Duncan for taking the number 1 spot. Well deserved! I know how much effort you put into the blog. Outstanding stuff. Congrats to the rest of the top 25 and a special congrats goes out to Cormac. Well deserved to enter in the top 10. If you are on twitter make sure you follow each and everyone of the top 25. These guys are a special bunch, all passionately about virtualization and great bunch of people in general. Here is the list of the top 25 on twitter:&lt;/p&gt;</description></item><item><title>Distribution of resources based on shares in a Resource pool environment</title><link>https://frankdenneman.ai/2013-02-28-distribution-of-resources-based-on-shares-in-a-resource-pool-environment/</link><pubDate>Thu, 28 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-28-distribution-of-resources-based-on-shares-in-a-resource-pool-environment/</guid><description>&lt;p&gt;Unfortunately Resource pools seem to have a bad rep, pair them with the word shares and we might as well call death and destruction to our virtual infrastructure while we’re at it. Now in reality shares and resource pools are an excellent way of maintaining a free flow of resource distribution to the virtual machine who require these resources. Some &lt;a href="http://www.yellow-bricks.com/2010-12-14-shares-set-on-resource-pools/"&gt;articles&lt;/a&gt;, and the examples I use in the book are meant to illustrate the worst-case scenario, but unfortunately those examples are perceived to be the default method of operation. Let me use an example: &lt;img src="images/00-logical-diagram-of-cluster-configuration.png" alt="00-logical-diagram-of-cluster-configuration"&gt; In a cluster two resource pool exist, resource pool gold is used for production and is configured with a high share level. Resource pool bronze is used for development and test and is configured with a low share level. Meaning that the ratio of shares is 4:1. Now this environment contains a 8:1 ratio when it comes to virtual machines. The gold resource pool contains 320 virtual machines and the bronze resource pool contains 40 virtual machines. The cluster contains 200 GB of memory and 200 GHz of CPU, this means that the each virtual machine in the gold resource pool has access to 0.5 MHz and 0.5 GB right? Well yes BUT…. (take a deep breath because this will be one long sentence)… Only in the scenario where all the virtual machines in the environment are 100% utilized (CPU and memory), where the ESXi hosts can provide enough network bandwidth and storage bandwidth to back the activity of the virtual machines, no other operations are active in the environment and where all virtual machines are configured identically in size and operating system than yes that happens. In all other scenarios a more dynamic distribution of resources is happening. &lt;strong&gt;The distribution process&lt;/strong&gt; Now let’s deconstruct the distribution process. First of all let’s refresh some basic resource management behavior and determine the distinction between shares and reservations. A share is a relative weight, identifying the priority of the virtual machine during contention. It is only relative to its peers and only relative to other active shares. This means that using the previous scenario, the resource pool shares compete against each other and the virtual machine shares inside a single resource pool compete against each other. It’s important to note that only active shares are used when determining distribution. This is to prevent resource hoarding based on shares, if you do not exercise you shares, you lose the rights to compete in the bidding of resources. Reservations are the complete opposite, the resource is protected by a reservation the moment you used it. Basically the virtual machine “owns” that resources and cannot be pressured to relinquish it. Therefor reservations can be seen as the complete opposite of shares, a basic mechanism to hoard resources. Back to the scenario, what happens in most environments? &lt;img src="images/00-logical-diagram-of-cluster-configuration.png" alt="00-logical-diagram-of-cluster-configuration"&gt; First of all the demand is driven from bottom to top, that means that virtual machines ask their parent if they can have the resources they demand. The resource pool will ask the cluster for resources. &lt;img src="images/01-demand-up.png" alt="01-demand-up"&gt; The distribution is going in the opposite direction; top to bottom and that’s where activity and shares come in to play. If both resource pools are asking for more resources than the cluster can supply, then the cluster needs to decide which resource pool gets the resources. As resource pool (RP) Gold contains a lot more virtual machines its safe to assume that RP Gold is demanding more resources than RP Bronze. The total demand of the virtual machines in RP Gold is 180 GB while the virtual machines in RP Bronze demand a total of 25GB. In total the two RP’s demand 205GB while the cluster can only provide 200GB. Notice that I split up demand request into two levels, VMs to RP, RP to cluster. The cluster will take multiple passes to distribute the resources. In the first pass the resources are distributed according to the relative share value, in this case 4:1 that means that RP Gold is entitled to 160GB of memory (4/5 of 200) and RP Bronze 40GB (1/5 of 200). &lt;img src="images/02-distribution-pass-1.png" alt="02-distribution-pass-1"&gt; While RP Bronze gets awarded 40GB, it is only requesting 25GB, returning the excessive 15GB of memory to the cluster. (Remember if you don’t use it, you lose it) &lt;img src="images/03-Return-of-excessive-resources.png" alt="03-Return-of-excessive-resources"&gt; As the cluster has a &amp;ldquo;spare&amp;rdquo; 15GB to distribute it executes a second distribution pass and since there are no other resource consumers in the cluster it awards these 15GB of memory resources to the claim of RP Gold. &lt;img src="images/04-distribution-pass-2.png" alt="04-distribution-pass-2"&gt; This leads to a distribution of 175GB to Resource Pool Gold and 25GB of memory of Resource Pool Bronze. Please note that in this scenario I broke down the sequence into multiple passes, in reality these multiple passes are contained within a (extremely fast) single operation. The moment resource demand changes, a new distribution of resources will occur. Allowing the cluster resources to satisfy the demand in the most dynamic way. The same sequence is happening in the resource pool itself; virtual machines receive their resources based on their activity and their share value. Hereby distributing the resources “owned” by the resource pool to the most important and active virtual machines within the pool If no custom share values are configured on the virtual machine itself, the virtual machine CPU and memory configuration along with the configured share level will determine the amount of shares the virtual machine posses. For example a virtual machine configured with a normal share value and a configuration of 2vCPU and 2GB will posses 2000 shares of CPU and 20480 shares of memory. For more info about share calculation please consult the &lt;a href="http://pubs.vmware.com/vsphere-51/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-51-resource-management-guide.pdf" title="VMware vSphere 5.1 resource management guide"&gt;VMware vSphere 5.1 resource management guide&lt;/a&gt;, table 2-1 page 12. (share values have not been changed since the introduction, therefor it&amp;rsquo;s applicable to ESX and all vSphere versions) &lt;strong&gt;Key takeaway&lt;/strong&gt; I hope that by using this scenario it’s clear that shares do not hoard resources. The most important thing to understand that it all comes down to activity. Supply is to meet its demand, whenever demand changes new distribution of resources are executed. And although the number of the virtual machines might not be comparable to the share ratio of the resource pools, it’s the activity that drives the dynamic distribution. &lt;strong&gt;Mixing multiple resource allocation settings&lt;/strong&gt; In theory an unequal distribution of resources is possible, in reality the presences of more virtual machines equal more demand. Now architecting an environment can be done in many ways, a popular method is to design for worst-case scenario. Great designs usually do not rely on a single element and therefor a configuration with the use of multiple resource allocation settings (reservations, shares and limits) might provide the level of performance throughout the cluster. If you are using a cluster design as described in the scenario and you want to ensure that load and smoke testing do not interfere with the performance levels of the virtual machines in RP Gold, than a mix of resource pool reservations and shares might be a solution. Determine the amount of resources that need to be permanently available to your production environment and configure a reservation on RP Gold. Hereby creating a pool of guaranteed resources and a pool for burstability. Allowing the remaining resources to be allocated by both resource pools on a dynamic and opportunistic basis. You can even further restrict the use of physical resources to the RP bronze by setting a limit on the resource pool. &lt;strong&gt;Longing for SDDC? Start with resource pools!&lt;/strong&gt; Its too bad resource pools got a bad rep and maybe I have been a part of it by only describing worst-case scenarios. When understanding resource pool one recongnizes that resource pools are a crucial element in the Software Defined Datacenter. By using the correct mix of resource allocation settings you can provide an abstraction layer that is able to isolate resources for specific workloads or customers. Resources can be flexibly added, removed, or reorganized in resource pools as per changing business needs and priorities. All this is available to you without the need for tinkering with low-level settings on virtual machines or using power-cli scripts to adjust the shares on resource pools.&lt;/p&gt;</description></item><item><title>There is a new fling in town: DRMdiagnose</title><link>https://frankdenneman.ai/2013-02-28-there-is-a-new-fling-in-town-drmdiagnose/</link><pubDate>Thu, 28 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-28-there-is-a-new-fling-in-town-drmdiagnose/</guid><description>&lt;p&gt;This week the &lt;a href="http://labs.vmware.com/flings/drmdiagnose" title="http://labs.vmware.com/flings/drmdiagnose"&gt;DRMdiagnose&lt;/a&gt; fling is published. Produced by the resource management team and just in case you are wondering, DRM stands for Distributed Resource Manager; the internal code for DRS. Download DRMdiagnose at the VMware fling site. &lt;strong&gt;Please note that this fling only works on vSphere 5.1 environments&lt;/strong&gt; &lt;strong&gt;Purpose of DRMdiagnose&lt;/strong&gt; This tool is created to understand the impact on the virtual machines own performance and the impact on other virtual machines in the cluster if the resource allocation settings of a virtual machine are changed. DRMdiagnose compares the current resource demand of the virtual machine and suggest changes to the resource allocation settings to achieve the appropriate performance. This tool can assist you to meet service level agreements by providing feedback on desired resource entitlement. Although you might know what performance you want for a virtual machine, you might not be aware of the impact or consequences an adjustments might have on other parts of the resource environment or cluster policies. DRMdiagnose provides recommendations that provides the meets the resource allocation requirement of the virtual machines with the least amount of impact. A DRMdiagnose recommendation could look like this:&lt;/p&gt;</description></item><item><title>Do you use vApps?</title><link>https://frankdenneman.ai/2013-02-26-do-you-use-vapps/</link><pubDate>Tue, 26 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-26-do-you-use-vapps/</guid><description>&lt;p&gt;We&amp;rsquo;re interested in learning more about how you use vApps for workload provisioning today and how you envision it evolving in the future. If you have a couple of spare minutes, please fill out these 15 questions: &lt;a href="http://www.surveymethods.com/EndUser.aspx?FFDBB7AEFDB5AAAAFB"&gt;http://www.surveymethods.com/EndUser.aspx?FFDBB7AEFDB5AAAAFB&lt;/a&gt; Thanks!&lt;/p&gt;</description></item><item><title>Reserve all guest memory (all locked)</title><link>https://frankdenneman.ai/2013-02-21-reserve-all-guest-memory-all-locked/</link><pubDate>Thu, 21 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-21-reserve-all-guest-memory-all-locked/</guid><description>&lt;p&gt;Some applications do not perform well when memory is reclaimed from the virtual machine. Most users set a virtual machine memory reservation to prevent memory reclamation and to ensure stable performance levels. Memory reservation settings are static, meaning that when you change the memory configuration of the virtual machine itself the memory reservation remains the same. If you want to keep the reservation equal to the virtual machine memory reservation, the UI (included in both the vSphere client and the web client) offers the setting: “Reserve all guest memory (all locked)”. This setting is linked to the virtual machine memory configuration. The memory reservation is immediately readjusted when the memory configuration changes. Increase the memory size and the memory reservation is automatically increased as well. Reduce the memory size of a virtual machine, and the reservation is immediately reduced. The behavior is extremely useful when using the vSphere client as management tool. Within the vSphere client the memory configuration and the memory reservation settings do not share the same screen. While changing the memory configuration one can easily forget to adjust the memory reservation. &lt;img src="images/00-virtual-machine-memory-configuration-vSphere-client.png" alt="00-virtual-machine-memory-configuration-vSphere client"&gt; &lt;img src="images/01-reserve-all-guest-memory-vSphere-client.png" alt="01-reserve-all-guest-memory-vSphere-client"&gt; The web client is redesigned and shows the memory configuration and reservation in a single screen. Yet having a setting that automates and controls alignment of memory configuration and reservation reduce the change for human error.   &lt;img src="images/02-reserve-all-guest-memory-web-client.png" alt="02-reserve-all-guest-memory-web-client"&gt;&lt;/p&gt;</description></item><item><title>PernixData Flash Virtualization Platform will revolutionize virtual infrastructure ecosystem design</title><link>https://frankdenneman.ai/2013-02-20-pernixdata-flash-virtualization-platform-will-revolutionize-virtual-infrastructure-ecosystem-design-2/</link><pubDate>Wed, 20 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-20-pernixdata-flash-virtualization-platform-will-revolutionize-virtual-infrastructure-ecosystem-design-2/</guid><description>&lt;p&gt;A couple of weeks ago I was fortunate enough to attend a tech preview of &lt;a href="http://pernixdata.com"&gt;PernixData&lt;/a&gt; Flash Virtualization Platform (FVP). Today PernixData exited stealth mode so we can finally talk about FVP. &lt;a href="http://yellow-bricks.com"&gt;Duncan&lt;/a&gt; already posted a lengthy article about PernixData and FVP and I recommend you to read it. At this moment a lot of companies are focusing on flash based solutions. PernixData distinguishes itself in today’s flash focused world by providing a new flash based technology but that is not a storage array based solution or a server-bound service. I&amp;rsquo;ll expand on what FVP does in a bit, let&amp;rsquo;s take a look at the aforementioned solutions. The solutions have drawbacks. A Storage array based flash solution is plagued by common physics. Distance between the workload and the fast medium (flash) generates a higher latency than when the flash disk is placed near the workload. Placing the flash inside a server provides the best performance but it must be shared between the hosts in the cluster to become a true enterprise solution. If the solution breaks important functions such as DRS and vMotion than the use case of this technology remains limited. FVP solves these problems by providing a flash based data tier that becomes a cluster-based resource. FVP virtualizes server side flash devices such as SSD drives or PCIe flash devices (or both) and pools these resources into a data tier that is accessible to all the hosts in the cluster. One feature that stands out is remote access. By allowing access to remote devices, FVP allows the cluster to migrate virtual machines around while still offering performance acceleration. Therefor cluster features such as HA, DRS and Storage DRS are fully supported when using FVP. Unlike other server based flash solutions, FVP accelerates both read and write operations. Turning the flash pool in to a “data-in-motion-tier”. All hot data exists in this tier, thus turning the compute layer into an all-IOPS-providing platform. Data that is at rest is moved to the storage array level, turning this layer into the capacity platform. By keeping the I/O operations as close to the source (virtual machines) as possible, performance is increased while reducing the traffic load to the storage platform as well. By filtering out read I/Os the traffic pattern to the array is changed as well, allow the array to focus more on the writes Another great option is the ability to configure multiple protection levels when using write-back. Data is synchronously replicated to remote devices. During the tech preview &lt;a href="https://twitter.com/SatyamVaghani"&gt;Satyam&lt;/a&gt; and &lt;a href="https://twitter.com/poojan"&gt;Poojan&lt;/a&gt; provided some insights on the available protection levels, however I’m not sure if I’m allowed to share these publically. For more information about FVP visit &lt;a href="http://www.pernixdata.com"&gt;Pernixdata.com&lt;/a&gt; The beauty of FVP is that its not a virtual appliance and that it does not require any agents installed in the guest OS. FVP is embedded inside the hypervisor. Now this for me is the key to believe that this ”data-in-motion-tier” is only the beginning of PernixData. By having insights in the hypervisor and understanding the dataflow of the virtual machines, FVP can become a true platform that accelerates all types of IOPS. I do not see any reasons why FVP is not able to replicate/encrypt/duplicate any type of input and output of a virtual machine. :) As you can see I’m quite excited by this technology. I believe FVP is as revolutionary/disruptive as vMotion. It might not be as “flashy” (forgive the pun) as vMotion but it sure is exciting to know that the limitation of use-cases is actually the limitation of your imagination. I truly believe this technology will revolutionize virtual infrastructure ecosystem design.&lt;/p&gt;</description></item><item><title>Voting for the 2013 top virtualization blogs - A year in review</title><link>https://frankdenneman.ai/2013-02-20-voting-for-the-2013-top-virtualization-blogs-a-year-in-review/</link><pubDate>Wed, 20 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-20-voting-for-the-2013-top-virtualization-blogs-a-year-in-review/</guid><description>&lt;p&gt;When &lt;a href="https://twitter.com/ericsiebert" title="https://twitter.com/ericsiebert"&gt;Eric Siebert&lt;/a&gt; opens up the &lt;a href="http://vsphere-land.com/news/voting-now-open-for-the-2013-top-vmware-virtualization-blogs.html" title="voting for the 2013 top virtualization blogs"&gt;voting for the top VMware &amp;amp; virtualization blogs&lt;/a&gt; you know another (blogging) year has passed. First of all I want to thank Eric for organizing this year in year out. I know he spends an awful lot of time on this. Thanks Eric! Its amazing to see that there are more than 200 blogs dedicated to virtualization and that each month new blogs appear. Unfortunately I don’t have the time to read them all but I do want to show my appreciation for the blog sites that I usually visit. Best newcomer is an easy one, &lt;a href="http://www.cormachogan.com" title="http://www.cormachogan.com"&gt;Cormac Hogan&lt;/a&gt;. The content is absolutely great and he should be in the top 10. Then we have the usually suspects, my technical marketing colleagues and buddies: &lt;a href="http://www.virtu-al.net/"&gt;Alan Renouf&lt;/a&gt;, &lt;a href="http://www.punchingclouds.com/"&gt;Rawlinson Rivera&lt;/a&gt; and &lt;a href="http://www.virtuallyghetto.com/"&gt;William Lam&lt;/a&gt;. I start of the day by making coffee, checking my email and logging into &lt;a href="http://www.yellow-bricks.com" title="yellow-bricks.com"&gt;yellow-bricks.com&lt;/a&gt;. It’s the de facto standard of the virtualization blogs. Duncan’s blog provide not only technical in-depth articles, but also insights in the industry. Who else? &lt;a href="http://www.ntpro.nl/blog/" title="Eric Sloof"&gt;Eric Sloof&lt;/a&gt; of course! Always nice to read to find out that your white paper is published before you get the official word through company channels. ;) Two relative unknown blog sites but quality content: &lt;a href="http://www.bussink.ch/" title="Erik Bussink"&gt;Erik Bussink&lt;/a&gt; and &lt;a href="http://rickardnobel.se/" title="Rickard Nobel blog"&gt;Rickard Nobel&lt;/a&gt;. These guys create awesome material. One blog that I’m missing in the list is the one from &lt;a href="http://joshodgers.com/" title="Josh Odgers"&gt;Josh Odgers&lt;/a&gt;. Great content. Hope to be able to vote for him next year. When reviewing content from others you end up reviewing the stuff you did yourself and 2012 was a very busy year for me. During the year I published and co-authored a couple of white papers such as the &lt;a href="http://www.vmware.com/resources/techresources/10299" title="vSphere Metro Storage Cluster case Study"&gt;vSphere Metro Cluster Case Study&lt;/a&gt;, &lt;a href="http://www.vmware.com/resources/techresources/10286" title="vSphere Storage DRS interoperability guide"&gt;Storage DRS interoperability guide&lt;/a&gt; and &lt;a href="http://www.vmware.com/resources/techresources/10325" title="vCloud Director Resource Allocation Models"&gt;vCloud Director Resource Allocation Models&lt;/a&gt;. I presented at a couple of VMUGS and at both VMword San Francisco and Europe. The resource pool best practice session was voted as one of the top 10 presentations of VMworld. And of course Duncan and I released the vSphere 5.1 Clustering Deepdive, also know as 50 shades of Orange. ☺ I believe it’s the best one of the series. &lt;img src="images/50-shades-of-orange1.png" alt="50-shades-of-orange1"&gt; In the mean time I ended up writing for the vSphere blog, appearing on a couple of podcast and writing a little over a 100 blog articles on frankdenneman.nl. I then to focus on DRS, Storage DRS, SIOC and vMotion but once in a while I like to write about something that gives a little insight peek of my life such as the whiteboard desk or the documentaries I like to watch. It seems you like these articles also as they are frequently visited. In my articles I try to give insights in the behavior of the features of vSphere, this to help you understand the impact of these features. Understanding the behavior allows you to match your design to the requirements and constrains of the project/virtual infrastructure your working on. During my years in the field I was always looking for this type of information, by providing this material I hope to help out my fellow architects. When publishing more than over 100 articles you tend to like some more than others. While it’s very difficult to choose individual articles, I enjoyed spending time on writing a series of articles on the same topic, such as the series &lt;a href="https://frankdenneman.ai/2011-09-16-architecture-and-design-of-datastore-clusters/" title="Architecture and design of Datastore clusters"&gt;Architecture and design of datastore clusters&lt;/a&gt; (5 posts) and &lt;a href="https://frankdenneman.ai/2012-12-18-designing-your-vmotion-network/" title="Designing your vMotion network"&gt;Designing your (Multi-NIC) vMotion network&lt;/a&gt; (5 posts). But I also like the individual post: • vSphere 5.1 vMotion Deepdive • &lt;a href="https://frankdenneman.ai/2013-01-17-a-primer-on-network-io-control/" title="A primer on Network I/O Control"&gt;A primer on Network I/O Control&lt;/a&gt; • &lt;a href="https://frankdenneman.ai/2012-10-19-vsphere-5-1-storage-drs-load-balancing-and-sioc-threshold-enhancements/" title="vSphere 5.1 Storage DRS load balancing and SIOC threshold enhancements"&gt;vSphere 5.1 Storage DRS load balancing and SIOC threshold enhancements&lt;/a&gt; • &lt;a href="https://frankdenneman.ai/2012-10-17-ha-admission-control-is-not-a-capacity-management-tool/" title="HA admission control is not a capacity management tool."&gt;HA admission control is not a capacity management tool&lt;/a&gt; • &lt;a href="https://frankdenneman.ai/2012-06-28-limiting-the-number-of-storage-vmotions/" title="Limiting the number of Storage vMotions"&gt;Limiting the number of storage vMotions&lt;/a&gt; I hope you can spare a couple of minutes to &lt;a href="http://vsphere-land.com/news/voting-now-open-for-the-2013-top-vmware-virtualization-blogs.html"&gt;cast your vote&lt;/a&gt; and show your appreciation for the effort these bloggers put into their work. Instead of picking the customary names please look back and review last year, think about the cool articles you read that helped you or sparked your interest to dive into the technology yourself. Thanks I can’t wait to watch the Top 25 countdown show Eric, John and Simon did in the previous years.&lt;/p&gt;</description></item><item><title>Implicit anti-affinity rules and DRS placement behavior</title><link>https://frankdenneman.ai/2013-02-19-implicit-anti-affinity-rules-and-drs-placement-behavior/</link><pubDate>Tue, 19 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-19-implicit-anti-affinity-rules-and-drs-placement-behavior/</guid><description>&lt;p&gt;Yesterday I had an interesting conversation with a colleague about affinity rules and if DRS reviews the complete state of the cluster and affinity rules when placing a virtual machine. The following scenario was used to illustrate to question:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The following affinity rules are defined: 1. VM1 and VM2 must stay on the same host 2. VM3 and VM4 must stay on the same host 3. VM1 and VM3 must NOT stay on the same host If VM1 and VM3 is deployed first, everything will be fine. Because VM1 and VM3 will be placed on 2 different hosts, and VM2 and VM 4 will also be placed accordingly However, if VM1 is deployed first, and then VM4, there isn&amp;rsquo;t an explicit rule to say these two need to be on separate hosts, this is implied by looking into dependencies of the 3 rules created above. Would DRS be intelligent enough to recognize this? Or will it place VM1 and VM4 on the same host, but by the time VM3 needs to be placed, there is a clear deadlock.&lt;/p&gt;</description></item><item><title>HA Percentage based admission control from a resource management perspective – Part 1</title><link>https://frankdenneman.ai/2013-02-15-ha-percentage-based-admission-control-from-a-resource-management-perspective-part-1/</link><pubDate>Fri, 15 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-15-ha-percentage-based-admission-control-from-a-resource-management-perspective-part-1/</guid><description>&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; This article contains references to the words master and slave. I recognize these as exclusionary words. The words are used in this article for consistency because it&amp;rsquo;s currently the words that appear in the software, in the UI, and in the log files. When the software is updated to remove the words, this article will be updated to be in alignment.&lt;/p&gt;
&lt;p&gt;HA admission control is quite challenging to understand as it interacts with multiple layers of resource management. In the upcoming series of articles I want to focus on the HA Percentage based admission control and how it interacts with vCenter and Host management. Let’s cover the basis first before diving into percentage based admission control.&lt;/p&gt;</description></item><item><title>Have you signed up for the Benelux Software Defined Datacenter Roadshow yet?</title><link>https://frankdenneman.ai/2013-02-14-have-you-signed-up-for-the-benelux-software-defined-datacenter-roadshow-yet/</link><pubDate>Thu, 14 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-14-have-you-signed-up-for-the-benelux-software-defined-datacenter-roadshow-yet/</guid><description>&lt;p&gt;In less than 3 weeks time, the Benelux Software Defined Datacenter Roadshow starts. Industry-recognized experts from both IBM and VMware share their vision and insights on how to build a unified datacenter platform that provides automation, flexibility and efficiency to transform the way you deliver IT. Not only can you attend their sessions and learn how to abstract, pool and automate your IT services, the SDDC roadshow provides you to meet the expert, sit down and discus technology. The speakers and their field of expertise: &lt;strong&gt;VMware&lt;/strong&gt; &lt;a href="https://twitter.com/frankdenneman" title="twitter frank denneman"&gt;Frank Denneman&lt;/a&gt; – Resource Management Expert &lt;a href="https://twitter.com/VMwareStorage" title="Twitter Cormac Hogan"&gt;Cormac Hogan&lt;/a&gt; – Storage Expert &lt;a href="https://twitter.com/Borgcube_" title="Twitter Kamau Wanguhu"&gt;Kamau Wanguhu&lt;/a&gt; – Software Defined Networking Expert &lt;a href="https://twitter.com/Mike_Laverick" title="Twitter Mike Laverick"&gt;Mike Laverick&lt;/a&gt; – Cloud Infrastructure Expert &lt;a href="https://twitter.com/TonHermes" title="Twitter Ton Hermes"&gt;Ton Hermes&lt;/a&gt; – End User Computing Expert IBM Tikiri Wanduragala – IBM PureSystems Expert Dennis Lauwers – Converged Systems Expert &lt;a href="https://twitter.com/gekort" title="Twitter Geordy Korte"&gt;Geordy Korte&lt;/a&gt; – Software Defined Networking Expert &lt;a href="https://twitter.com/andreasgroth" title="Twitter Andreas Groth"&gt;Andreas Groth&lt;/a&gt; – End User Computing Expert The roadshow is held in three different countries: Netherlands – &lt;a href="http://www-05.ibm.com/nl/clientcenter/contact.html" title="IBM forum in Amsterdam"&gt;IBM forum&lt;/a&gt; in Amsterdam - March 5th 2013 Belgium – &lt;a href="http://www-05.ibm.com/be/clientcenter/contact.html" title="IBM forum in Brussels"&gt;IBM forum in Brussels&lt;/a&gt; - March 7th 2013 Luxembourg – March 8th 2013 The Software Defined Datacenter Roadshow is a full day event and best of all it is free! &lt;strong&gt;&lt;a href="http://info.vmware.com/content/EMEA_20696_LP" title="Sign up for the Benelux SDDC roadshow"&gt;Sign up now&lt;/a&gt;&lt;/strong&gt;!&lt;/p&gt;</description></item><item><title>Using Remote desktop connection on a Mac? Switch to CoRD</title><link>https://frankdenneman.ai/2013-02-13-using-remote-desktop-connection-on-a-mac-switch-to-cord/</link><pubDate>Wed, 13 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-13-using-remote-desktop-connection-on-a-mac-switch-to-cord/</guid><description>&lt;p&gt;One of the benefits of working for VMware technical marketing, is that you have your own lab. Luckily my lab is hosted by an external datacenter, which helps me avoid a costly power-bill at home each month :) However, that means I need to connect to my lab remotely. As a MAC user I used Remote Desktop Connection for MAC from Microsoft. One of the limiting factors of this RDP for MAC is the limited resolution of 1400 x 1050 px. The screens at home have a minimum resolution 2560 x 1440 px. This first world problem bugged me until today! Today I found CoRD - &lt;a href="http://cord.sourceforge.net/" title="Cord at sourceforge"&gt;http://cord.sourceforge.net/&lt;/a&gt;. CoRD allows me to connect to my servers with a resolution 2500 x 1600, using the full potential of my displays at home. &lt;img src="images/Cord.png" alt="Cord"&gt; Another create option is the hotkey function, using a key combination I spin up a remote desktop connection. I love these kinds of shortcuts that help me reduce time spend navigating throughout the UI. If you are using a MAC and often RDP into your lab, I highly recommend to download CoRD. Btw, it&amp;rsquo;s free ;)&lt;/p&gt;</description></item><item><title>VCD and initial placement of virtual disks in a Storage DRS datastore cluster</title><link>https://frankdenneman.ai/2013-02-13-vcd-and-initial-placement-of-virtual-disks-in-a-storage-drs-datastore-cluster/</link><pubDate>Wed, 13 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-13-vcd-and-initial-placement-of-virtual-disks-in-a-storage-drs-datastore-cluster/</guid><description>&lt;p&gt;Recently a couple of consultants brought some unexpected behavior of vCloud Director to my attention. If the provider vDC is connected to a datastore cluster and a virtual disk or vApp is placed in the datastore, vCD displays an error when the datastores do not have enough free space available. Last year I wrote an article (&lt;a href="https://frankdenneman.ai/2012-01-24-storage-drs-initial-placement-and-datastore-cluster-defragmentation/" title="Storage DRS initial placement and datastore cluster defragmentation"&gt;Storage DRS initial placement and datastore cluster defragmentation&lt;/a&gt;) describing storage DRS initial placement engine and it’s ability to move virtual machines around the datastore cluster if individual datastores did not have enough free space to store the virtual disk. I couldn’t figure it out why Storage DRS did not defragment the datastores in order to place the vApp, thus I asked the engineers about this behavior. It turns out that this behavior is by design. When creating vCloud director the engineers optimized the initial placement engine of vCD for speed. When deploying a virtual machine, defragmenting a datastore cluster can take some time. To avoid waiting, vCD reports an error of not enough free space and relies on the vCloud administrator to manage and correct the storage layer. In other words, Storage DRS initial placement datastore cluster defragmentation is disabled in vCloud Director. I can understand the choice the vCD engineers made, but I also believe in the benefit of having datastore cluster defragmentation. I’m interested in your opinion? Would you trade initial placement speed over reduced storage management?&lt;/p&gt;</description></item><item><title>Expandable reservation on resource pools, how does it work?</title><link>https://frankdenneman.ai/2013-02-12-expandable-reservation-on-resource-pools-how-does-it-work/</link><pubDate>Tue, 12 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-12-expandable-reservation-on-resource-pools-how-does-it-work/</guid><description>&lt;p&gt;It seems that the expandable reservation setting of a resource pool appears to be shrouded in mystery. How does it work, what is it for, and what does it really expand? The expandable reservation allows the resource pool to allocate physical resource (CPU/memory) protected by a reservation from a parent source to satisfy its child object reservation. Let’s dig a little deeper into this. &lt;strong&gt;Parent-child relation&lt;/strong&gt; A resource pool provides resources to its child objects. A child object can either be a virtual machine or a resource pool. This is what called the parent-child relationship. If a resource pool (A), contains a resource pool (B), which contains a resource pool (C), then C is the child of B. B is the parent of C, but is the child of A, A is the parent of B. There is no terminology for the relation A-C as A only provides resource to B, it does not care if B provide any resource to C. &lt;img src="images/01-Parent-child-relationship.png" alt="01-Parent-child-relationship"&gt; As a virtual machine is placed in to a resource pool, the virtual machine becomes a child-object of the resource pool. It is the responsibility of the resource pool to provide the resources the virtual machine requires. If a virtual machine is configured with a reservation, than it will request the physical resources from its parent resource pool. &lt;img src="images/02-Parent-child-relationship-vm-440x300.png" alt="02-Parent-child-relationship-vm"&gt; Remember that a reservation guarantees that the resources protected by the reservation will and cannot be reclaimed by the VMkernel, even during memory pressure. Therefor the reservation of the virtual machine is directed to its parent and the parent must exclusively provide this to the virtual machine. It can only provide these resources from its own pool of protected resources. The resource pool can only distribute the resources it has obtained itself. &lt;strong&gt;Protected or reserved resources?&lt;/strong&gt; I’m deliberately calling a resource claimed by a reservation a protected resource, as the VMkernel cannot reclaim it. However when a resource pool is configured with a reservation, it immediately claims this memory from its parent. This goes on all the way up to the cluster level. The cluster is the root resource pool and all the resources provided by the ESXi hosts are owned by the resource pool and protected by a reservation. Therefor the cluster – root resource pool – contains and manages the protected pool of resources. &lt;img src="images/03-Parent-child-protected-resource-distibution.png" alt="03-Parent-child-protected-resource-distibution"&gt; For example, the cluster has 100GB of resources, meaning that the root resource pool consists of 100GB of protected memory. Resource pool A is configured with a 50GB reservation, consuming this 50Gb from the root resource pool. However resource pool B is configured with a 30GB reservation, immediately claiming 30 GB of resources protected by the reservation of resource pool A. Leaving resource pool A with only 20 GB of protected resources for itself. Resource Pool C is configured with a 20GB memory reservation. Resource pool C claims this from its parent, resource pool B which is left with 10GB of protected resources for itself. But what happens if the resource pool runs out of protected resources? Or is not configured with a reservation at all? In other words, If the child objects in the resource pool are configured with reservations that exceeds the reservation set on the resource pool, the resource pool needs to request protected resources from its parent. This can only be done if expandable reservation is enabled. Please note that the resource pool request protected resources, it will not accept resources that are not protected by a reservation. &lt;img src="images/04-resource-pool-b-protected-reservation-request.png" alt="04-resource-pool-b-protected-reservation-request"&gt; Now in this scenario, the five virtual machines in the resource pool are each configured with 5GB memory reservation, totaling it to 25GB. Resource pool C is configured with a 20GB memory reservation. Therefor resource pool is required to make a request for 5GB of protected memory resources on behalf of the virtual machines to its parent resource pool B. If resource pool B does not have the protected resources itself, it can request these protected resources from its parent. This can only occur when the resource pool is configured with expandable reservation enabled. The last stop in the cluster it the cluster itself. What can stop this river of requests? Two things, the request for protected resources is stopped by a resource limit or by a disabled expandable reservation. If a resource pool has expandable reservation disabled, it will try to satisfy the reservation itself if it’s unable to do so, it will deny the reservation request. If a resource pool is set with a limit, the resource pool is limited to that amount of physical resources. For example if the parent resource pool has a reservation and a limit of 20GB, the reservation on behalf of its child need to be satisfied by the protected pool itself otherwise it will deny the resource request. Now lets use a more complex scenario, resource pool B is configured with expandable reservation enabled and a 30 GB reservation. A limit is set to 35GB. Resource pool C is requesting an additional 10GB on top of the 20GB it is already granted. Resource pool B is running 2 VM with a total reservation of 10GB. This means the protected pool of Resource pool B is servicing 20GB resource request from resource pool C and 10 GB for its own virtual machines. Its protected pool is depleted, the additional 10GB request of resource pool C is denied, as this would raise the protected pool of resource pool B to a total of 40GB memory, which exceeds the 35GB limit. &lt;strong&gt;Virtual machine memory overhead&lt;/strong&gt; Please remember that each virtual machine is configured with a memory reservation. To run the virtual machine a small amount of memory resources are required by the VMkernel. This is called the virtual machine memory overhead. To be able to run a virtual machine inside a resource pool, either the expandable reservation should be enabled or a memory reservation is configured on the resource pool.&lt;/p&gt;</description></item><item><title>vSphere Storage Area Network Traffic system network resource pool -NetIOC</title><link>https://frankdenneman.ai/2013-02-12-vsphere-storage-area-network-traffic-system-network-resource-pool-netioc/</link><pubDate>Tue, 12 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-12-vsphere-storage-area-network-traffic-system-network-resource-pool-netioc/</guid><description>&lt;p&gt;After posting the &lt;a href="https://frankdenneman.ai/2013-01-17-a-primer-on-network-io-control/" title="A primer on Network I/O Control"&gt;Network I/O Control primer&lt;/a&gt; I received a couple of questions about the vSAN traffic system network resource pool, such as:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What’s the “vSphere Storage Area Network Traffic” system network resource pool for? I tried to further investigate by searching practically everywhere, but I didn’t manage to find any detailed description…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The vSphere Storage Area Network Traffic is a system network pool designed for a future vSphere storage feature that is not released yet. Unfortunately Network I/O Control exposes this system network resource pool in vSphere 5.1 already. &lt;img src="images/02-network-pools-overview1-373x300.png" alt="02-network-pools-overview"&gt; Although it is defined as system network resource pool, the vSphere client lists the network pool as user-defined, providing the impression that this pool can be assigned to other streams of traffic. Unfortunately this is not possible. The pool is a system network resource pool and therefor only available to traffic that is specifically tagged by the VMkernel. I received the question if this network pool could be assigned to a third party NIC or an FCoE card. As mentioned, network pools only manage traffic that is assigned with the appropriate tag. Tagging of traffic is only done by the VMkernel and this functionality is not exposed to the user. Although its exposed in the user-interface, this system network pool has no function and it will not have any affect on other network streams. It can be happily ignored.&lt;/p&gt;</description></item><item><title>Error -1 in opening &amp;#038; reading the slot file error in storageRM.log (SIOC)</title><link>https://frankdenneman.ai/2013-02-11-error-1-in-opening-reading-the-slot-file-error-in-storagerm-log-sioc-2/</link><pubDate>Mon, 11 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-11-error-1-in-opening-reading-the-slot-file-error-in-storagerm-log-sioc-2/</guid><description>&lt;p&gt;&lt;strong&gt;The problem&lt;/strong&gt; Recently I noticed that my datastore cluster was not providing Latency statistics during initial placement. The datastore recommendation during initial placement displayed space utilization statistics, but displayed 0 in the I/O Latency Before column &lt;img src="images/01-Datastore-recommendations1-505x300.png" alt="01-Datastore-recommendations"&gt; The performance statistics of my datastores showed that there was I/O activity on the datastores. &lt;img src="images/02-Datastore-latency-680x252.png" alt="02-Datastore-latency"&gt; However the SIOC statistics all showed no I/O activity on the datastore &lt;img src="images/03-SIOC-activity-385x300.png" alt="03-SIOC-activity"&gt; The SIOC log file (storagerm.log) showed the following error: &lt;code&gt;Open /vmfs/volumes/ /.iorm.sf/slotsfile (0x10000042, 0x0) failed: permission denied Giving UP Permission denied Error -1 opening SLOT file /vmfs/volumes/datastore/.iorm.sf/slotsfile Error -1 in opening &amp;amp; reading the slot file Couldn’t get a slot Successfully closed file 6 Error in opening stat file for device: datastore. Ignoring this device&lt;/code&gt; The following permissions were applied on the slotfile: &lt;img src="images/04-slotsfile-before-680x104.png" alt="04-slotsfile-before"&gt; &lt;strong&gt;The Solution&lt;/strong&gt; Engineering explained to me that these permissions were not the default standards and default permissions are read and execute access for everyone and write access for the owner of the file. The following command sets the correct permissions on the slotsfile: &lt;code&gt;Chmod 755 /vmfs/volumes/datastore/.iorm.sf/slotsfile&lt;/code&gt; Checking the permission shows that the permissions are applied: &lt;img src="images/05-slotsfile-after-680x44.png" alt="05-slotsfile-after"&gt; The SIOC statistics started to show the I/O activity on the datastore &lt;img src="images/06-SIOC-activity-after-680x213.png" alt="06-SIOC-activity-after"&gt; Before changing the permissions on the slotsfile I stopped the SIOC service on the host by entering the command: &lt;code&gt;/etc/init.d/storageRM stop&lt;/code&gt; However I believe this isn’t necessary. Changing the permissions without stopping SIOC on the host should work. &lt;strong&gt;Cause&lt;/strong&gt; We are not sure what causes this problem and support and engineering are troubleshooting this error. In my case I believe it has to do with the frequent restructuring of my lab. vCenter and ESXi servers are reinstalled regularly, but I have never reformatted my datastores. I do not expect to see this error appear in stable production environments. Please check the current permissions on the slotsfile if Storage DRS does not show I/O utilization on the datastore. (VMs must be running and I/O metric on the Datastore cluster must be enabled of course) I expect the knowledge base article to be available soon.&lt;/p&gt;</description></item><item><title>Error -1 in opening &amp;amp; reading the slot file error in storageRM.log (SIOC)</title><link>https://frankdenneman.ai/2013-02-11-error-1-in-opening-reading-the-slot-file-error-in-storagerm-log-sioc/</link><pubDate>Mon, 11 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-11-error-1-in-opening-reading-the-slot-file-error-in-storagerm-log-sioc/</guid><description>&lt;p&gt;&lt;strong&gt;The problem&lt;/strong&gt; Recently I noticed that my datastore cluster was not providing Latency statistics during initial placement. The datastore recommendation during initial placement displayed space utilization statistics, but displayed 0 in the I/O Latency Before column &lt;img src="images/01-Datastore-recommendations1-505x300.png" alt="01-Datastore-recommendations"&gt; The performance statistics of my datastores showed that there was I/O activity on the datastores. &lt;img src="images/02-Datastore-latency-680x252.png" alt="02-Datastore-latency"&gt; However the SIOC statistics all showed no I/O activity on the datastore &lt;img src="images/03-SIOC-activity-385x300.png" alt="03-SIOC-activity"&gt; The SIOC log file (storagerm.log) showed the following error: &lt;code&gt;Open /vmfs/volumes/ /.iorm.sf/slotsfile (0x10000042, 0x0) failed: permission denied Giving UP Permission denied Error -1 opening SLOT file /vmfs/volumes/datastore/.iorm.sf/slotsfile Error -1 in opening &amp;amp; reading the slot file Couldn’t get a slot Successfully closed file 6 Error in opening stat file for device: datastore. Ignoring this device&lt;/code&gt; The following permissions were applied on the slotfile: &lt;img src="images/04-slotsfile-before-680x104.png" alt="04-slotsfile-before"&gt; &lt;strong&gt;The Solution&lt;/strong&gt; Engineering explained to me that these permissions were not the default standards and default permissions are read and execute access for everyone and write access for the owner of the file. The following command sets the correct permissions on the slotsfile: &lt;code&gt;Chmod 755 /vmfs/volumes/datastore/.iorm.sf/slotsfile&lt;/code&gt; Checking the permission shows that the permissions are applied: &lt;img src="images/05-slotsfile-after-680x44.png" alt="05-slotsfile-after"&gt; The SIOC statistics started to show the I/O activity on the datastore &lt;img src="images/06-SIOC-activity-after-680x213.png" alt="06-SIOC-activity-after"&gt; Before changing the permissions on the slotsfile I stopped the SIOC service on the host by entering the command: &lt;code&gt;/etc/init.d/storageRM stop&lt;/code&gt; However I believe this isn’t necessary. Changing the permissions without stopping SIOC on the host should work. &lt;strong&gt;Cause&lt;/strong&gt; We are not sure what causes this problem and support and engineering are troubleshooting this error. In my case I believe it has to do with the frequent restructuring of my lab. vCenter and ESXi servers are reinstalled regularly, but I have never reformatted my datastores. I do not expect to see this error appear in stable production environments. Please check the current permissions on the slotsfile if Storage DRS does not show I/O utilization on the datastore. (VMs must be running and I/O metric on the Datastore cluster must be enabled of course) I expect the knowledge base article to be available soon.&lt;/p&gt;</description></item><item><title>How to enable SIOC stats only mode?</title><link>https://frankdenneman.ai/2013-02-11-how-to-enable-sioc-stats-only-mode/</link><pubDate>Mon, 11 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-11-how-to-enable-sioc-stats-only-mode/</guid><description>&lt;p&gt;Today on twitter, &lt;a href="https://twitter.com/tGs_Optic" title="David Chadwick on Twitter"&gt;David Chadwick&lt;/a&gt;, &lt;a href="https://twitter.com/VMwareStorage" title="Cormac Hogan on Twitter"&gt;Cormac Hogan&lt;/a&gt; and I were discussing SIOC stats only mode. SIOC stats only mode gathers statistics to provide you insights on the I/O utilization of the datastore. Please note that Stats only mode does not enable the datastore-wide scheduler and will not enforce throttling. Stats only mode is disabled due to the (significant) increase of log data into the vCenter database. SIOC stats only mode is available from vSphere 5.1 and can be enabled via the web client. To enable SIOC stats only mode go to:&lt;/p&gt;</description></item><item><title>Why is vMotion using the management network instead of the vMotion network?</title><link>https://frankdenneman.ai/2013-02-07-why-is-vmotion-using-the-management-network-instead-of-the-vmotion-network/</link><pubDate>Thu, 07 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-07-why-is-vmotion-using-the-management-network-instead-of-the-vmotion-network/</guid><description>&lt;p&gt;On the community forums, I’ve seen some questions about the use of the management network by vMotion operations. The two most common scenarios are explained, please let me know if you notice this behavior in other scenarios.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Scenario 1: Cross host and non-shared datastore migration&lt;/strong&gt; vSphere 5.1 provides the ability to migrate a virtual machine between &lt;a href="https://frankdenneman.ai/2012-09-07-vsphere-5-1-vmotion-deepdive/" title="vSphere 5.1 vMotion deepdive"&gt;hosts and non-shared datastores simultaneously&lt;/a&gt;. If the virtual machine is stored on a local or non-shared datastore vMotion is using the vMotion network to transfer the data to the destination datastore. When monitoring the VMkernel NICs, some traffic can be seen following over the management NIC instead of the VMkernel NIC enabled for vMotion. When migrating a virtual machine, vMotion determines hot data and cold data. Virtual disks or snapshots that are actively used are considered hot data, while the cold data are the underlying snapshots and base disk. Let’s use a virtual machine with 5 snapshots as an example. The active data is the recent snapshot, this is sent over across the vMotion network while the base disk and the 4 older snapshots are migrated via a network file copy operation across the first VMkernel NIC (vmk0).&lt;/p&gt;</description></item><item><title>Please help VMware bring project NEE down to its (k)nees</title><link>https://frankdenneman.ai/2013-02-05-please-help-vmware-bring-project-nee-down-to-its-knees/</link><pubDate>Tue, 05 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-05-please-help-vmware-bring-project-nee-down-to-its-knees/</guid><description>&lt;p&gt;Folks, We have been testing the HOL platform for a few weeks using automated scripts and thought it would be great if we could do a real time stress test of our environment. The goal of this test is to put a massive load on our infrastructure and see how fast we can get the service to crawl to its knees. We understand that this is not a very good scientific approach but think collecting real user data will help us prepare for massive loads like Partner Exchange and VMworld. Currently we have close to 10,000 users in the Beta so we expect the application / infrastructure to keel over right after we start. We want to use this test as a way to learn what happens and where the smoke is coming from. If you registered for the Beta and you do not have an account please check your inbox from email from admin projectnee.com to verify your account. If you have not registered its time to do so,…&lt;a href="http://www.surveymethods.com/EndUser.aspx?AA8EE2FBAAEDF7FDAB"&gt;REGISTER FOR BETA&lt;/a&gt; &lt;a href="http://www.surveymethods.com/EndUser.aspx?AA8EE2FBAAEDF7FDAB"&gt;Here is what we need you to do:&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Storage DRS Initial placement workflow</title><link>https://frankdenneman.ai/2013-02-05-storage-drs-initial-placement-workflow/</link><pubDate>Tue, 05 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-05-storage-drs-initial-placement-workflow/</guid><description>&lt;p&gt;Last week I received the question how exactly Storage DRS picks a datastore.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;On a SDRS the initial placement of a vm is done on the weight calculated based on the storage free and IO. My question is: when I have a similar weight between all the datastore in the cluster, which datastore is choose for the initial placement?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Storage DRS takes the virtual machine configuration into account, the platform &amp;amp; user-defined constraints and the resource utilization of the datastores within the cluster. Let’s take a closer look at the Storage DRS initial placement workflow. &lt;strong&gt;User-defined constraint&lt;/strong&gt; When selecting the datastore cluster as a storage destination, the default datastore cluster affinity rule is applied to the virtual machine configuration. The datastore cluster can be configured with a VMDK affinity rule (Keep files together) or a VMDK anti-affinity rule (Keep files separated). Storage DRS obeys the affinity rule and is forced to find a datastore that is big enough to store the entire virtual machine or the individual VMDK files. The affinity rule is considered to be a user-defined constraint. &lt;strong&gt;Platform constraint&lt;/strong&gt; The next step in the process is to present a list of valid datastores to the Storage DRS initial placement algorithm. The Storage DRS placement engine checks for platform constraints. The first platform constraint is the check of the connectivity state of the datastores. Fully connected datastores (datastores connected to all host in the compute cluster) are preferred over &lt;a href="https://frankdenneman.ai/2011-10-07-partially-connected-datastore-clusters/" title="Partially connected datastore clusters"&gt;partially connected datastores&lt;/a&gt; (datastores that are not connected to all host in the cluster) due to the impact of mobility of the virtual machine in the compute cluster. The second platform constraint is applicable to thin-provisioned LUNs. If the datastore exceeds the thin-provisioning threshold of 75 percent, the VASA provider (if installed) triggers the thin-provisioning alarm. In response to this alarm Storage DRS removes the datastores from the list of valid destination datastores, in order to prevent virtual machine placement on low-capacity datastores. &lt;strong&gt;Resource utilization&lt;/strong&gt; After the constraint handling, Storage DRS sorts the valid datastores in order of combined resource utilization rate. The combined resource utilization rate consists of the space utilization and the I/O utilization of a datastore. The best-combined resource utilization rate is a datastore that has a high level of free capacity and Low I/O utilization. Storage DRS selects the datastore that has the best-combined utilization rate and attempts to place the virtual machine. If the virtual machine is configured with a VMDK anti-affinity rule, Storage DRS starts with placing the biggest VMDK first.&lt;/p&gt;</description></item><item><title>10 guidelines for creating good looking diagrams</title><link>https://frankdenneman.ai/2013-02-01-10-guidelines-for-creating-good-looking-diagrams/</link><pubDate>Fri, 01 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-01-10-guidelines-for-creating-good-looking-diagrams/</guid><description>&lt;p&gt;Frequently I receive the question which application I use to create my diagrams. I used to use Microsoft Visio but starting to use Omnigraffle a year ago. However I feel it’s not the program that makes these diagrams. Although it’s true that some functionality help me to create the diagrams more easily, it’s more about following some basic guidelines. I&amp;rsquo;ve picked up these guidelines along the way, they work for me and hopefully they can help you too. &lt;strong&gt;1: Find a suitable color scheme&lt;/strong&gt; A color scheme plays a very important role in a diagram. Colors have various functions within a diagram. I like to use various tints of a color to indicate a relation between objects, whether it has to indicate a relation within the same structure layer or the same consumer or provider. For example all storage related functions or objects have different shades of blue or resource pool structure of customer A have different shades of green. Picking the correct color for a diagram is very difficult and trying to select the perfect collection of colors wasted (I should say invested) many hours of my life. During that time I learned a lot, here are a few tips:&lt;/p&gt;</description></item><item><title>How to setup Multi-NIC vMotion on a distributed vSwitch</title><link>https://frankdenneman.ai/2013-02-01-how-to-setup-multi-nic-vmotion-on-a-distributed-vswitch/</link><pubDate>Fri, 01 Feb 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-02-01-how-to-setup-multi-nic-vmotion-on-a-distributed-vswitch/</guid><description>&lt;p&gt;This article provides you an overview of the steps required to setup a Multi-NIC vMotion configuration on an existing distributed Switch with the vSphere 5.1 web client. This article is created to act as reference material for the &lt;a href="https://frankdenneman.ai/vmotion/" title="vMotion"&gt;designing your vMotion network series&lt;/a&gt;. Configuring Multi-NIC vMotion is done at two layers, first the distributed switch layer where we are going to create two distributed port groups and the second layer is the host layer. At the host layer we are going to configure two VMkernel NICs and connect them to the appropriate distributed port group. &lt;img src="images/00-distributed-switch-and-host-levels-512x300.png" alt="00-distributed-switch-and-host-levels"&gt; Before you start you need to have ready two ip-addresses for the VMkernel NICs, their respective subnet and their VLAN ID. &lt;strong&gt;Distributed switch level&lt;/strong&gt; The first two steps are done at the distributed switch level, click on the networking icon in the home screen and select the distributed switch. &lt;strong&gt;Step 1: Create the vMotion distributed port groups on the distributed switch&lt;/strong&gt; The initial configuration is pretty much basic, just provide a name and use the defaults:   1: Select the distributed switch, right click and select “New Distributed Port Group”. &lt;img src="images/01-New-Distributed-Port-Group-276x300.png" alt="01-New-Distributed-Port-Group"&gt; 2: Provide a name, call it “vMotion-01” and confirm it’s the correct distributed switch. &lt;img src="images/02-Name-and-Location.png" alt="02-Name-and-Location"&gt; 3: Keep the defaults at Configure settings and click next. &lt;img src="images/03-dPortgroup-settings-620x300.png" alt="03-dPortgroup-settings"&gt; 4: Review the settings and click finish. Do the same for the second distributed port group, name that vMotion-02 &lt;strong&gt;Step 2: Configuring the vMotion distributed port groups&lt;/strong&gt; Configuring the vMotion distributed port groups consist of two changes. Enter the VLAN ID and set the correct failover order. 1: Select distributed Port Group vMotion-01 in the left side of your screen and right click and select edit settings. 2: Go to VLAN, select VLAN as VLAN type and enter the first VLAN used by the first VMkernel NIC. &lt;img src="images/04-VLAN-ID.png" alt="04-VLAN-ID"&gt; 3: Select “Teaming and failover” , move the second dvUplink down to mark it as a “Standby uplink”. Verify that load balancing is set to “Route based on originating virtual port”. &lt;img src="images/05-teaming-and-failover-595x300.png" alt="05-teaming-and-failover"&gt; 4: Click OK Repeat the instructions of step 2 for distributed Portgroup vMotion-02, but use the VLAN ID used by the IP-address of the second VMkernel NIC. &lt;img src="images/06-VLAN-ID-2.png" alt="06-VLAN-ID-2"&gt; Go to teaming and failover and configure the uplinks in an alternate order, ensuring that the second vMotion VMkernel NIC is using dvUplink2. &lt;img src="images/07-teaming-and-failover-586x300.png" alt="07-teaming-and-failover"&gt; &lt;strong&gt;Host level&lt;/strong&gt; We are done at the distributed switch level, the distributed switch now updates all connected hosts and each host has access to the distributed port groups. Two vMotion enabled VMkernel NICs are configured at host level. Go to Hosts and Clusters view. &lt;strong&gt;Step 3: Create vMotion enabled VMkernel NICs&lt;/strong&gt; 1: Select the first host in the cluster, go to manage, networking and “add host networking”. &lt;img src="images/08-add-host-networking.png" alt="08-add-host-networking"&gt; 2: Select VMkernel Network Adapter. &lt;img src="images/09-VMkernel-Network-Adapter-680x242.png" alt="09-VMkernel-Network-Adapter"&gt; 3: Select an existing distributed portgroup, click on Browse and select distributed Port Group “vMotion-01” Click on OK and click on Next. &lt;img src="images/10-select-network.png" alt="10-select-network"&gt; &lt;img src="images/11-select-target-device.png" alt="11-select-target-device"&gt; 4: Select vMotion traffic and click on Next. &lt;img src="images/12-Port-Properties-525x300.png" alt="12-Port-Properties"&gt; 5: Select static IPv4 settings, Enter the IP-address of the first VMkernel NIC corresponding with the VLAN ID set on distributed Port Group vMotion-01. &lt;img src="images/13-ip-address.png" alt="13-ip-address"&gt; 6: Click on next and review the settings. Create the second vMotion enabled VMkernel NIC. Configure identically except: 1: Select vMotion-02 portgroup 2: Enter IP-address corresponding with the VLAN ID on distributed Port Group vMotion-02. The setup of a Multi-NiC vMotion configuration on a single host is complete. Repeat Step 3 on each host in the cluster.&lt;/p&gt;</description></item><item><title>Designing your vMotion network - 3 reasons why I use a distributed switch for vMotion networks</title><link>https://frankdenneman.ai/2013-01-30-designing-your-vmotion-network-3-reasons-why-i-use-a-distributed-switch-for-vmotion-networks/</link><pubDate>Wed, 30 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-30-designing-your-vmotion-network-3-reasons-why-i-use-a-distributed-switch-for-vmotion-networks/</guid><description>&lt;p&gt;If your environment is licensed with the enterprise plus license you can choose to use a standard vSwitch or use a distributed switch for your vMotion network. Multi-NIC vMotion network is a complex configuration that consists out of many different components. Each component needs to be configured identically on each host in the cluster. Distributed switches can help you with that and in addition provide you with tools to prioritize traffic and allow other network streams to utilize available bandwidth when no vMotion traffic is active. &lt;strong&gt;1. Use distributed portgroups consistent configuration across the cluster&lt;/strong&gt; Consistently configuring two portgroups on each host in the cluster with alternating vmnic failover order is a challenging task. It’s a mere fact that humans are not good in performing a repetitive task consistently. Many virtual infrastructure health checks at various sites confirmed that fact. The beauty of distributed switches (VDS) is that it acts as profile configuration. Configure the portgroup once and the distributed switch propagates these settings to all the connected hosts of that distributed switch. A multi-NIC vMotion configuration is a perfect use-case to leverage the advantages of the distributed switch. As mentioned a Multi-NIC vMotion configuration is a complex configuration consisting of two portgroups with their own unique settings. By using the distributed switch, only two distributed portgroups need to be configured and the VDS distributes the portgroups and their settings to each host connected to the VDS. This saves a lot of work and you are ensured that each host is using the same configuration. Consistency in your cluster is important for to provide you reliable operations and consistent performance. &lt;img src="images/00-vds-teaming-and-failover.png" alt="00-vds-teaming-and-failover"&gt; &lt;strong&gt;2. Set traffic priority with Network I/O Control&lt;/strong&gt; Network I/O control can help you to consolidate the network connections into a single manageable switch, allowing you to utilize all the bandwidth available while still respecting requirements such as traffic isolation or traffic prioritization. This is applicable to both configurations containing a small number of 10GbE uplink as well for configurations that contain a high number of 1GbE ports. vMotion has a high bandwidth usage, performing optimally in high bandwidth environments. However vMotion traffic is not always present. Isolating NICs in order to protect other network traffic streams or provide a particular level of bandwidth can be uneconomical and may leave bandwidth idle and unused. By using Network I/O Control, you can &lt;a href="https://frankdenneman.ai/2013-01-17-a-primer-on-network-io-control/" title="A primer on Network I/O Control"&gt;control the priority of network traffic during contention&lt;/a&gt;. This allows you to specify the relative importance of traffic streams and provide bandwidth to particular traffic streams when other traffic competes for bandwidth. &lt;strong&gt;3. Using Load Based Teaming to balance all traffic across uplinks&lt;/strong&gt; Load based teaming, identified in the user interface as “&lt;a href="https://frankdenneman.ai/2011-02-24-ip-hash-versus-lbt/" title="IP-Hash versus LBT"&gt;Route based on physical NIC load&lt;/a&gt;” allows for ingress and egress traffic balancing. When consolidating all uplinks in one distributed switch, load based teaming (LBT) distributes the traffic streams across the available uplinks by taking into the utilization into account. Please note: Use Route based on originating virtual port load balancing policy for the two vMotion portgroup, but configure VM network with load based teaming load balancing policy. Route based on originating virtual port load balance policy creates a vNIC to pNIC relation during boot of a virtual machine. That vNIC is “bound” to that pNIC until the pNIC fails or the virtual machine is shutdown. When using a converged network or allowing all network traffic to use each uplink, a virtual machine could experience link saturation or latency due to vMotion using the same uplink. With LBT the virtual machine vNIC can be dynamically bound to a different pNIC with lesser utilization, providing better network performance. LBT monitors the utilization of each uplink and when the utilization is greater than 75 percent for a sustained period of time, LBT moves traffic to other underutilized uplinks. &lt;strong&gt;The benefits of a Distributed vSwitch&lt;/strong&gt; Consistent configuration across hosts saves a lot effort, during configuration and troubleshooting. Consistent configuration is key when providing a stable and a performing environment. Multi-NIC vMotion allows you to use as much bandwidth as possible benefitting DRS in load balance and maintenance mode operations. LBT and Network I/O Control allow other network traffic streams to consume network traffic as much as possible. Load based teaming is a perfect partner to Network I/O Control. LBT attempts to balance out the network utilization across all available uplinks and Network I/O Control dynamically distributes network bandwidth during contention. &lt;strong&gt;Back to standard vSwitch when uplink isolation is necessary?&lt;/strong&gt; Is this Multi-NIC vMotion/NetIOC/LBT configuration applicable to every customer? Unfortunately it isn’t. Converging all network uplinks into a single distributed switch and allowing all portgroups to utilize the uplinks require the VLANs to be available on every uplink. Some customers want to isolate vMotion traffic or other traffic and use dedicated links. For that scenario I would still use a distributed switch and create one for the vMotion configuration. In this particular scenario you do not leverage LBT and Network I/O Control but still benefit from the consistent configuration of distributed portgroups. &lt;a href="https://frankdenneman.ai/2012-12-18-designing-your-vmotion-network/" title="Part 1 - Designing your vMotion network"&gt;Part 1 - Designing your vMotion network&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2012-12-20-multi-nic-vmotion-failover-order-configuration/" title="Multi-NIC vMotion – failover order configuration"&gt;Part 2 - Multi-NIC vMotion failover order configuration&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2013-01-18-designing-your-vmotion-network-multi-nic-and-netioc/" title="Designing your vMotion network – Multi-NIC vMotion and NetIOC"&gt;Part 3 – Multi-NIC vMotion and NetIOC&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2013-01-25-designing-your-vmotion-networking-choose-link-aggregation-over-multi-nic-vmotion/" title="Designing your vMotion network – Choose link aggregation over Multi-NIC vMotion?"&gt;Part 4 – Choose link aggregation over Multi-NIC vMotion?&lt;/a&gt;&lt;/p&gt;</description></item><item><title>vMotion and EtherChannel, an overview of the load-balancing policies stack</title><link>https://frankdenneman.ai/2013-01-28-vmotion-and-etherchannel-an-overview-of-the-load-balancing-policies-stack/</link><pubDate>Mon, 28 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-28-vmotion-and-etherchannel-an-overview-of-the-load-balancing-policies-stack/</guid><description>&lt;p&gt;After posting the article “&lt;a href="https://frankdenneman.ai/2013-01-25-designing-your-vmotion-networking-choose-link-aggregation-over-multi-nic-vmotion/" title="Designing your vMotion networking – Choose link aggregation over Multi-NIC vMotion?"&gt;Choose link aggregation over Multi-NIC vMotion&lt;/a&gt;” I received a couple of similar questions. Pierre-Louis left a comment that covers most of the questions. Let me use this as an example and clarify how vMotion traffic flows through the stack of multiple load balancing algorithms and policies:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A question relating to Lee’s post. Is there any sense to you to use two uplinks bundled in an aggregate (LAG) with Multi-NIC vMotion to give on one hand more throughput to vMotion traffic and on the other hand dynamic protocol-driven mechanisms (either forced or LACP with stuff like Nexus1Kv or DVS 5.1)? Most of the time, when I’m working on VMware environment, there is an EtherChannel (when vSphere &amp;lt; v5.1) with access datacenter switches that dynamically load balance traffic based on IP Hash. If i&amp;rsquo;m using LAG, the main point to me is that load balancing is done independently from the embedded mechanism of VMware (Active/Standby for instance). Do you think that there is any issue on using LAG instead of using Active/Standby design with Multi-NIC vMotion? Do you feel that there is no interest on using LAG over Active/Standby (from VMware point of view and for hardware network point of view)?&lt;/p&gt;</description></item><item><title>Designing your vMotion networking - Choose link aggregation over Multi-NIC vMotion?</title><link>https://frankdenneman.ai/2013-01-25-designing-your-vmotion-networking-choose-link-aggregation-over-multi-nic-vmotion/</link><pubDate>Fri, 25 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-25-designing-your-vmotion-networking-choose-link-aggregation-over-multi-nic-vmotion/</guid><description>&lt;p&gt;The “&lt;a href="https://frankdenneman.ai/2012-12-18-designing-your-vmotion-network/" title="Designing your vMotion network"&gt;Designing your vMotion network&lt;/a&gt;” series have lead me to have some interesting conversations. A recurring question is why not use Link Aggregation technologies such as Etherchannel to increase bandwidth for vMotion operations. When zooming into vMotion load balancing operations and how the vNetwork load balancing operations work, it becomes clear that Multi-NIC vMotion network will provide a better performance that an aggregated link configuration. &lt;strong&gt;Anatomy of vMotion configuration&lt;/strong&gt; In order to use vMotion a VMkernel network adapter needs to be configured. This network adapter needs to be enabled for vMotion and the appropriate load balancing policy and network adaptor failover mode needs to be selected. &lt;img src="images/00-multi-nic-layers.png" alt="00-multi-nic layers"&gt; The vMotion load-balancing algorithm distribute vMotion traffic between the available VMkernel NICs, it does not consider the network configuration backing the VMkernel NIC (vmknic). vMotion expects that a vmknic is backed by a &lt;a href="https://frankdenneman.ai/2012-12-20-multi-nic-vmotion-failover-order-configuration/" title="Multi-NIC vMotion – failover order configuration"&gt;single active physical NIC&lt;/a&gt;, therefore when sending data to the vmknic the traffic will traverse a dedicated physical NIC. It’s important to understand that vMotion traffic flows between distinct vmknics! Migrating a virtual machine from a source host configured with Multi-NIC vMotion to a destination host with a single vmknic vMotion configuration result in the utilization of a single vmknic on the source host. Even though the single NIC vMotion is configured with two active uplinks, the source vMotion operation just selects one vmknic to transmit its data. &lt;img src="images/01-Multi-NIC-vMotion-to-Single-NIC-vMotion.png" alt="01-Multi-NIC-vMotion-to-Single-NIC-vMotion"&gt; &lt;strong&gt;Link aggregation&lt;/strong&gt; My esteemed colleague &lt;a href="https://twitter.com/VMWNetworking" title="twitter account VMWNetworking"&gt;Vyenkatesh “ Venky” Deshpande&lt;/a&gt; published an excellent article on the &lt;a href="http://blogs.vmware.com/vsphere/2013/01/vsphere-5-1-vds-new-features-link-aggregation-control-protocol-lacp.html" title="vSphere 5.1 – VDS New Features – Link Aggregation Control Protocol (LACP)"&gt;new LACP functionality&lt;/a&gt; on the vSphere blog. Let me highlight a very interesting section:&lt;/p&gt;</description></item><item><title>New technical paper: The CPU Scheduler in VMware vSphere 5.1</title><link>https://frankdenneman.ai/2013-01-24-new-technical-paper-the-cpu-scheduler-in-vmware-vsphere-5-1/</link><pubDate>Thu, 24 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-24-new-technical-paper-the-cpu-scheduler-in-vmware-vsphere-5-1/</guid><description>&lt;p&gt;Today a new technical paper is available on &lt;a href="http://www.vmware.com/resources/techresources/10345" title="VMware.com"&gt;vmware.com&lt;/a&gt;. Description The CPU scheduler is an essential component of vSphere 5.x. All workloads running in a virtual machine must be scheduled for execution and the CPU scheduler handles this task with policies that maintain fairness, throughput, responsiveness, and scalability of CPU resources. This paper describes these policies, and this knowledge may be applied to performance troubleshooting or system tuning. This paper also includes the results of experiments on vSphere 5.1 that show the CPU scheduler maintains or exceeds its performance over previous versions of vSphere. If you are interested in CPU scheduling and in particular NUMA, download the paper: &lt;a href="http://www.vmware.com/files/pdf/techpaper/VMware-vSphere-CPU-Sched-Perf.pdf" title="The CPU Scheduler in VMware vSphere 5.1"&gt;The CPU Scheduler in VMware vSphere 5.1&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Hide all Getting Started Pages in vSphere 5.1 webclient in 3 easy steps</title><link>https://frankdenneman.ai/2013-01-23-hide-all-getting-started-pages-in-vsphere-5-1-webclient/</link><pubDate>Wed, 23 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-23-hide-all-getting-started-pages-in-vsphere-5-1-webclient/</guid><description>&lt;p&gt;I&amp;rsquo;m rebuilding my lab and after I installed a new vCenter server I was confronted with those Getting Started tabs again. That reminded me that I promised someone at a VMUG to blog how to remove these tabs in one single operation.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to Help (located in the blue bar top right of your screen)&lt;/li&gt;
&lt;li&gt;Click on the arrow&lt;/li&gt;
&lt;li&gt;Select Hide All Getting Started Pages&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="images/Hide-All-Getting-Started-Pages.png" alt="Hide-All-Getting-Started-Pages"&gt;&lt;/p&gt;</description></item><item><title>Direct IP-storage and using NetIOC User-defined network resource pools for QoS</title><link>https://frankdenneman.ai/2013-01-21-direct-ip-storage-and-using-netioc-user-defined-network-resource-pools-for-qos/</link><pubDate>Mon, 21 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-21-direct-ip-storage-and-using-netioc-user-defined-network-resource-pools-for-qos/</guid><description>&lt;p&gt;Some customers use iSCSI initiators inside the Guest OS to connect directly to a datastore on the array or using an NFS client inside the Guest OS to access remote NFS storage directly. Thereby circumventing the VMkernel storage stack of the ESX host. The virtual machine connects to the remote storage system via a VM network portgroup and therefore the VMkernel classifies this network traffic as virtual machine traffic. This “indifference” or non-discriminating behavior of the VMkernel might not suit you or might not help you to maintain service level agreements. &lt;strong&gt;Isolate traffic&lt;/strong&gt; In the 1Gbe adapter world, having redundant and isolated uplinks assigned for different sorts of traffic is a simple way of not to worry about traffic congestion. However when using a small number of 10GbE adapters you need to be able to partition network bandwidth among the different types of network traffic flows. This is where NetIOC comes into play. Please read the “&lt;a href="https://frankdenneman.ai/2013-01-17-a-primer-on-network-io-control/" title="A primer on Network I/O Control"&gt;Primer on Network I/O Control&lt;/a&gt;” article to quickly brush up on your knowledge of NetIOC. &lt;strong&gt;System network resource pools&lt;/strong&gt; By default NetIOC provides seven different system network resource pools. Six network pools are used to bind VMkernel traffic, such as NFS and iSCSI. One system network resource pool is used for virtual machine network traffic. &lt;img src="images/03-system-network-resource-pools.png" alt="03-system network resource pools"&gt; The network adapters you use to connect your IP-Storage from within the Guest OS connect to a virtual machine network portgroup. Therefor NetIOC binds this traffic to the virtual machine network resource pool. In result this traffic shares the bandwidth and prioritization with “common” virtual machine network traffic. &lt;img src="images/01-vm-portgroup-mapping-to-virtual-machine-portgroup.png" alt="01-vm-portgroup-mapping-to-virtual-machine-portgroup"&gt; &lt;strong&gt;User-defined network resource pool&lt;/strong&gt; Most customers tend to prioritize IP storage traffic over network traffic induced by applications and the guest-OS. To ensure the IP-Storage traffic created by the NFS client or iSCSI initiator inside the Guest OS create a user-defined network resource pool. User-defined network resource pools are available from vSphere 5.0 and upwards. Make sure your distributed switch is at least version 5.0. &lt;strong&gt;Shares:&lt;/strong&gt; User-defined network resource pools are available to isolate and prioritize virtual machine network traffic. Configure the User-defined network resource pool with an appropriate number of shares. The number of shares will reflect the relative priority of this network pool compared to the other traffic streams using the same dvUplink. &lt;strong&gt;QoS tag:&lt;/strong&gt; Another benefit of creating a separate User-defined network resource pool is the ability to set a QoS tag specifically for this traffic stream. If you are using IEEE 802.1p tagging end-to-end throughout your virtual infrastructure ecosystem, setting the QoS tag on the User-defined network resource pool helps you to maintain the service level for your storage traffic. &lt;img src="images/011-user-defined-network-resource-pool.png" alt="011-user-defined-network-resource-pool"&gt; &lt;strong&gt;Setup&lt;/strong&gt; In a greenfield scenario setup the User-defined resource pool first, that allows you to select the correct network pool during the creation of the dvPortgroups. If you already created dvPortgroups, you can assign the correct network resource pool once you create the network resource pool. Create a user defined network resource pool: 1. Open your vSphere web client and go to networking. 2. Select the dvSwitch 3. Go to Manage 4. Select Resource Allocation tab 5. Click on the new icon. 6. Configure the network resource pool and click on OK &lt;img src="images/04-New-Network-Resource-Pool.png" alt="04-New-Network-Resource-Pool"&gt; I already made a User-defined network resource pool called dNFS, the overview of available network resource pools on the dvSwitch looks like this: &lt;img src="images/02-network-pools-overview1.png" alt="02-network-pools-overview"&gt; To map the network resource pool to the Distributed Port Group, create a new Distributed Port group, or edit an existing one and select the appropriate network resource pool: &lt;img src="images/03-new-distributed-portgroup.png" alt="03-new-distributed-portgroup"&gt;&lt;/p&gt;</description></item><item><title>Storage DRS Cluster shows error &amp;#034;Index was out of range. Must be non-negative and less than the size of the collection.</title><link>https://frankdenneman.ai/2013-01-21-storage-drs-cluster-shows-error-index-was-out-of-range-must-be-non-negative-and-less-than-the-size-of-the-collection-2/</link><pubDate>Mon, 21 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-21-storage-drs-cluster-shows-error-index-was-out-of-range-must-be-non-negative-and-less-than-the-size-of-the-collection-2/</guid><description>&lt;p&gt;Recently I have noticed an increase of tweets mentioning the error “Index was out of range” &lt;strong&gt;Error message:&lt;/strong&gt; When trying to edit the settings of a storage DRS cluster, or when clicking on SDRS scheduling settings an error pops up:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;An internal error occurred in the vSphere Client. Details: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Impact:&lt;/strong&gt; This error does not have any impact on Storage DRS operations and/or Storage DRS functionality and is considered a “cosmetic” issue. See KB article: &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2009765" title="KB 2009765"&gt;KB 2009765&lt;/a&gt;. &lt;strong&gt;Solution:&lt;/strong&gt; &lt;a href="https://www.vmware.com/support/vsphere5/doc/vsp_vc50_u2_rel_notes.html" title="VMware vCenter Server 5.0 Update 2 release notes"&gt;VMware vCenter Server 5.0 Update 2&lt;/a&gt; fixes this problem. Apply Update 2 if you experience this error. As the fix is included in the Update 2 for vCenter 5.0, I expect that vCenter 5.1 Update 1 will include the fix as well, however I cannot confirm any deliverables.&lt;/p&gt;</description></item><item><title>Storage DRS Cluster shows error &amp;quot;Index was out of range. Must be non-negative and less than the size of the collection.</title><link>https://frankdenneman.ai/2013-01-21-storage-drs-cluster-shows-error-index-was-out-of-range-must-be-non-negative-and-less-than-the-size-of-the-collection/</link><pubDate>Mon, 21 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-21-storage-drs-cluster-shows-error-index-was-out-of-range-must-be-non-negative-and-less-than-the-size-of-the-collection/</guid><description>&lt;p&gt;Recently I have noticed an increase of tweets mentioning the error “Index was out of range” &lt;strong&gt;Error message:&lt;/strong&gt; When trying to edit the settings of a storage DRS cluster, or when clicking on SDRS scheduling settings an error pops up:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;An internal error occurred in the vSphere Client. Details: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Impact:&lt;/strong&gt; This error does not have any impact on Storage DRS operations and/or Storage DRS functionality and is considered a “cosmetic” issue. See KB article: &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2009765" title="KB 2009765"&gt;KB 2009765&lt;/a&gt;. &lt;strong&gt;Solution:&lt;/strong&gt; &lt;a href="https://www.vmware.com/support/vsphere5/doc/vsp_vc50_u2_rel_notes.html" title="VMware vCenter Server 5.0 Update 2 release notes"&gt;VMware vCenter Server 5.0 Update 2&lt;/a&gt; fixes this problem. Apply Update 2 if you experience this error. As the fix is included in the Update 2 for vCenter 5.0, I expect that vCenter 5.1 Update 1 will include the fix as well, however I cannot confirm any deliverables.&lt;/p&gt;</description></item><item><title>Designing your vMotion network – Multi-NIC vMotion and NetIOC</title><link>https://frankdenneman.ai/2013-01-18-designing-your-vmotion-network-multi-nic-and-netioc/</link><pubDate>Fri, 18 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-18-designing-your-vmotion-network-multi-nic-and-netioc/</guid><description>&lt;p&gt;Designing a vMotion network can be quite a challenge. You want to provide vMotion as much bandwidth as possible but not at the expense of other network traffic streams. Network I/O Control (NetIOC) can provide you bandwidth management tools to shape and form your vMotion network. NetIOC provides a QoS that allows vMotion to utilize as much bandwidth as possible until contention occurs. The moment a physical NIC is saturated NetIOC distributes network bandwidth according to the relative share value of the network resource pool. In the article “&lt;a href="https://frankdenneman.ai/2013-01-17-a-primer-on-network-io-control/" title="A primer on Network I/O Control"&gt;A primer of Network I/O Control&lt;/a&gt;” I explain the various resource management constructs of Network I/O Control. How does NetIOC work with a Multi-NIC vMotion network? &lt;strong&gt;Multi-NIC vMotion network on a distributed switch&lt;/strong&gt; NetIOC is only supported on a distributed switch therefor you need to create multiple vMotion portgroups on your distributed switch. In order to have a supported vMotion network, both distributed port groups need to be configured with an alternate failover order configuration. In my lab I’ve named the two dvPortgroups vMotion-01 and vMotion-02. dvPortgroups vMotion-01 is configured with a failover order where dvUplink1 is active and dvUplink2 is standby. vMotion-02 is configured with dvUplink2 as active and dvUplink1 as standby. &lt;img src="images/01-failover-order.png" alt="01-failover-order"&gt; If you wonder why I’m configuring the redundant uplink as Unused please review the article: “&lt;a href="https://frankdenneman.ai/2012-12-20-multi-nic-vmotion-failover-order-configuration/" title="Multi-NIC vMotion – failover order configuration"&gt;Multi-NIC vMotion – failover order configuration&lt;/a&gt;”. The reason why “Route Based on originating virtual port” is chosen is described in the initial article of this series: “&lt;a href="https://frankdenneman.ai/2012-12-18-designing-your-vmotion-network/" title="Designing your vMotion network"&gt;Designing your vMotion network&lt;/a&gt;”. &lt;strong&gt;vMotion network resource pool&lt;/strong&gt; Each host in my lab is connected to the distributed switch has two dvUplink portgroups. A virtual adapter with vMotion enabled is connected to a uplink and vMotion is able to leverage both physical adapters to send out vMotion traffic. When enabling NetIOC, 7 predefined system network resource pools become active. One system network resource pool is vMotion, vMotion traffic binds to the vMotion system network resource pool and if contention occurs the network resource pool competes for bandwidth with the other active streams. It’s important to realize that the shares apply at the physical adapter layer. Therefore as vMotion is able to utilize both uplinks it “receives” 50 shares per physical adapter. &lt;img src="images/02-multi-nic-configuration.png" alt="02-multi-nic-configuration"&gt; As mentioned in the NetIOC primer article, shares are only active when contention exists and they only count when it is transmitting. Consequently, if vMotion is not active, the shares are not counted when an adapter is congested. Also when vMotion uses a single link only 50 shares are active. Although the dvUplink portgroup is configured with 2 dvUplinks, one dvUplink is configured as standby. When the active NIC is operating normally, the dvPortgroups cannot utilize the standby link. This results in the utilization of only 1 link and therefor only 50 shares become active during congestion. &lt;strong&gt;Example Scenario 1; vmnic0 saturated&lt;/strong&gt; The distributed switch is configured with 5 dvPortgroups, management, vMotion01, vMotion02, NFS and a virtual machine portgroup. Each network resource pool is configured with the default physical adapter shares. In this scenario vMotion is load-balancing traffic across both dvPortgroups, however the VMkernel decides to also send management and virtual machine traffic through dvUplink1, saturating vmnic0. &lt;img src="images/03-multi-nic-configuration-active-shares.png" alt="03-multi-nic configuration-active shares"&gt; In this scenario, bandwidth is distributed following relative share values. As NFS traffic isn’t transmitting across dvUplink1, its shares are not active. Available bandwidth for vMotion is reduced to 2.5Gb as long as this situation persists. vMotion is also using dvUplink2, as a result traffic flows through vmnic1 as well. Fortunately vmnic1 is not saturated and vMotion can utilize as much bandwidth it can allocate. Restricted by the CPU speed of the host, vMotion is able to utilize 6Gb of bandwidth on vmnic1 while having an additional bandwidth allocation of 2.5Gb on vmnic0. In total vMotion utilizes 8.5Gb at that moment. &lt;strong&gt;Example Scenario 2; Both NICs saturated&lt;/strong&gt; The moment both NICs are saturated, the available bandwidth available to vMotion is calculated on a NIC basis. vMotion traffic wanting to use vmnic0 is assigned bandwidth relative to their share value, similar to example scenario 1. vMotion traffic wanting to use vmnic1 is assigned bandwidth relative to their share value compared to the active traffic streams, in this case NFS and vMotion are sending traffic to the dvUplink. &lt;img src="images/04-multi-nic-configuration-active-shares-worst-case-scenario.png" alt="04-multi-nic configuration - active shares - worst case scenario"&gt; The distributed switch receives traffic from NFS and vMotion destined for vmnic1, as a result NetIOC will assign half of the bandwidth to vMotion and NFS as each owns 50 shares of the total active 100 shares. In this case the amount of bandwidth vMotion can utilize is 2.5Gb on vmnic0 and 5 Gb on vmnic1, allowing vMotion to utilize 7.5Gb of the total available 20Gb. &lt;strong&gt;Host Limits&lt;/strong&gt; vSphere 5.1 introduced a big adjustment to hosts limits, the host limits now applies to each individual uplink. This means that when setting a host limit on the network resource pool for vMotion of 3000Mbps, vMotion is limited to transmit a maximum of 3Gb per uplink. In the case of a Multi-NIC vMotion configuration (2NICs) the maximum traffic vMotion can issue to the vmnics is 6Gb. Divide the host limit by the number of active NICs if you decide to set a limit on a particular network resource pool. If you want to limit vMotion to 3Gb with a 2 NIC Multi-NIC configuration, set the host limit on the network resource pool to 1500 Mbps. &lt;img src="images/049-Host-limit.png" alt="049 - Host limit"&gt; As for limits, limits are always active! Host limits are always enforced on the physical adapter regardless of the utilization rate of the adapter. This means setting a host limit on a network resource pool restricts the traffic to utilize more bandwidth even if this bandwidth is available. Saturating an adapter is not by definition wrong you are utilizing the infrastructure. Taking precaution and limiting certain network streams unconditionally might hurt you more than your assumed gain. Before limiting a network stream my recommendation is always to measure traffic patterns over a longer period of time. &lt;strong&gt;Ingress only&lt;/strong&gt; NetIOC shares and limits are only applied to ingress traffic. In ESX , the ingress and egress traffic are with respect to a distributed switch. Ingress traffic is traffic that flows from the VMkernel or vNic from the running VM towards the distributed switch. Egress is traffic that flows from the distributed vSwitch to the physical nic or to the vNIC &lt;img src="images/05-ingress-egress.png" alt="05-ingress-egress"&gt; It is important to know NetIOC only controls ingress traffic initiated from within the ESX host. This means that you can set a limit the vMotion network resource pool, this only affects traffic send towards the uplink inside the host. If you have a cluster with a small number of hosts, it can happen that multiple vMotion operations are inbound to that host. In that scenario, NetIOC cannot prevent the Uplinks to get saturated by incoming vMotion traffic. &lt;img src="images/06-multiple-vmotion-streams-inbound.png" alt="06-multiple-vmotion-streams-inbound"&gt; To avoid this situation, traffic shaping needs to be configured on the dvPortgroups. The upcoming article Designing your vMotion network - vMotion dvPortgroups traffic shaping explores this feature in depth. &lt;a href="https://frankdenneman.ai/2012-12-18-designing-your-vmotion-network/" title="Part 1 - Designing your vMotion network"&gt;Part 1 - Designing your vMotion network&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2012-12-20-multi-nic-vmotion-failover-order-configuration/" title="Multi-NIC vMotion – failover order configuration"&gt;Part 2 - Multi-NIC vMotion failover order configuration&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2013-01-25-designing-your-vmotion-networking-choose-link-aggregation-over-multi-nic-vmotion/" title="Designing your vMotion network – Choose link aggregation over Multi-NIC vMotion?"&gt;Part 4 – Choose link aggregation over Multi-NIC vMotion?&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2013-01-30-designing-your-vmotion-network-3-reasons-why-i-use-a-distributed-switch-for-vmotion-networks/" title="Designing your vMotion network – 3 reasons why I use a distributed switch for vMotion networks"&gt;Part 5 – 3 reasons why I use a distributed switch for vMotion networks&lt;/a&gt;&lt;/p&gt;</description></item><item><title>A primer on Network I/O Control</title><link>https://frankdenneman.ai/2013-01-17-a-primer-on-network-io-control/</link><pubDate>Thu, 17 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-17-a-primer-on-network-io-control/</guid><description>&lt;p&gt;Network I/O Control (NetIOC) provides controls to partition network capacity during contention. NetIOC provides additional control over the usage of network bandwidth in the form of network isolation and limits. vMotion operations introduce temporary network traffic that tries to consume as much bandwidth as possible. In a converged network vMotion operations may have a disruptive effect on other network traffic streams. Due to way NetIOC operates, NetIOC provides control for predictable networking performance while different network traffic streams are contending for the same bandwidth. This article serves as an introduction on Network I/O Control resource control before we dive into specifics on how to use NetIOC on multi-NIC vMotion networks on distributed switches. Please note that this article covers NetIOC in vSphere 5.1 &lt;strong&gt;Distributed Switch&lt;/strong&gt; NetIOC is only available on the vNetwork Distributed Switch (vDS). To enable it, in the vSphere web client go to Networking, Manage, Settings, click on the third icon from the left (Edit distributed switch settings) and enable Network I/O Control. &lt;img src="images/01-enable-netioc.png" alt="01-enable-netioc"&gt; Once enabled go to the Resource Allocation tab there you will find an overview of the (predefined) Network Resource Pools, Host Limits and Physical Adapter Shares and the Shares value. &lt;img src="images/02-resource-allocation-tab.png" alt="02-resource-allocation-tab"&gt; &lt;strong&gt;Network Resource Pool&lt;/strong&gt; The NetIOC network resource pool (NRP) construct is quire similar in many ways to the compute resource pools already existing for CPU and Memory. Each resource pool is assigned shares to define the relative priority of its workload against other workloads active on the same resource. In the case of NetIOC, network resource pools are used to differentiate between network traffic classes. NetIOC predefines 7 different system network resource pools: 1. Management Traffic 2. vMotion Traffic 3. Fault Tolerance (FT) Traffic 4. iSCSI Traffic 5. vSphere Storage Area Network Traffic * 6. NFS Traffic 7. vSphere Replication (VR) Traffic 8. Virtual Machine Traffic * The vSphere client marks this as a User defined network resource pool, while the web client marks this (correctly) as system network resource pool. &lt;img src="images/03-system-network-resource-pools.png" alt="03-system network resource pools"&gt; NetIOC classifies incoming traffic and binds it automatically to the correct system network resource pool; therefor you do not have to assign the vMotion traffic network resource pool to the distributed port groups manually. Once a vMotion operation starts NetIOC “tags” it as vMotion traffic and assigns the appropriate share value to it. The user interface displays the term (default) in the Network resource pool settings screen. &lt;img src="images/04-default-network-resource-pool.png" alt="04-default-network-resource-pool"&gt; vSphere 5.0 introduced User-defined network resource pools and these are only applicable to virtual machine network traffic. User defined network pools are excellent to partition your network when multiple customers are using a shared network infrastructure. &lt;strong&gt;Physical adapter Shares&lt;/strong&gt; NetIOC shares are comparable to the traditional CPU and memory shares. In the case of NetIOC, shares assigned to a network resource pool determine the portion of the total available bandwidth if contention occurs. Similar to compute shares, shares are only relative to the other active shares using the same resource. NetIOC provides 3 predefined share levels and a custom share level. The predefined share levels; low, normal and high provide an easy method of assigning a number of shares to the network resource pool. Low assigns 25 shares to the network resource pool, Normal 50 shares and High 100 shares. Custom allows you to assign the number of shares yourself within the supported range of 1 – 100. By default every system network resource pool is assigned 50 shares with the exception of the virtual machine traffic resource pool, this NRP gets 100 shares. &lt;img src="images/05-default-share-values.png" alt="05- default share values"&gt; The key to understand network resource pools and shares is that the shares apply on the physical adapter; hence the name physical adapter shares ;). This means that if the physical adapter of a host is saturated the shares of the network resource pools actively transmitting are in play. For example, your distributed switch is configured with a Management portgroup, a vMotion portgroup, NFS and virtual machine portgroup. All NRPs are configured with default shares and you use 2 uplinks. For the sake of simplicity, in this scenario both uplinks are configured as active uplinks &lt;img src="images/06-ds-architecture2.png" alt="06-ds-architecture"&gt; Although this environment is configured with 4 portgroups, the default system network pools remain to exist. The existences of the non-utilized system-NRPs have no effect on the distribution of bandwidth during contention. As mentioned before the when the physical adapter is saturated, then the shares apply. In the following scenario vmnic0 of host ESX02 is saturated, as there are only 4 portgroups active on the distributed switch, the shares of the network pools are applied: &lt;img src="images/07-all-shares-applied2.png" alt="07-all-shares-applied"&gt; This means that 50+50+50+100 (250) shares are active, in this scenario the virtual machine network resource pool gets to divide 40% (100/(50+50+50+100)) of the available physical network bandwidth. If vmnic0 was a 10GB NIC, the virtual machines network pool would receive 4GB to distribute amongst the actively transmitting virtual machines on that host. &lt;img src="images/071-distribution-of-bandwidth.png" alt="071-distribution-of-bandwidth"&gt; This was a worst-case scenario because usually not all portgroups are transmitting, as the shares are relative to other network pools actively using the physical adapter it might happen that Virtual Machine and vMotion traffic is only active on this NIC. In that case only the shares of the vMotion NRP and VM NRP are compared against each other to determine the available bandwidth for both network resource pools. &lt;img src="images/08-relative-share-priority.png" alt="08-relative-share-priority"&gt; The moment another traffic source transmits to the distributed switch a new calculation is made to determine the available bandwidth for the network resource pools. For example, HA is heart beating across the management LAN, using vmnic0, therefor the active transmitting network resource pools are Management, vMotion and virtual machines, generating a distribution of network bandwidth as follows: &lt;img src="images/09-relative-share-priority-3-streams.png" alt="09-relative-share-priority 3 streams"&gt; &lt;strong&gt;Host Limits&lt;/strong&gt; Up to vSphere 5.1 NetIOC applies a limit &lt;strong&gt;per host&lt;/strong&gt;. This means that the host limit enforces a traffic bandwidth limit on the overall set of dvUplinks for that particular network resource pool. The limit is expressed in an absolute unit of Mbps. This means that if you set a 3000Mpbs limit on the vMotion network resource pool, the traffic stream of the vMotion network resource pool will never exceed the given limit of 3000Mpbs for a distributed switch out of a particular ESX host. vSphere 5.1 introduced a big adjustment to hosts limits, the host limits now applies to each individual uplink. This means that when setting a host limit on the network resource pool for vMotion of 3000Mbps, vMotion is limited to transmit a maximum of 3Gb per uplink. In the case of a Multi-NIC vMotion configuration (2NICs) the maximum traffic vMotion can issue to the vmnics is 6Gb. Please note that limits only apply on ingress traffic (incoming traffic from vm to vds) meaning that a limit only affects native traffic coming from the active virtual machine running on the host or the vMotion traffic initiated on the host itself. &lt;strong&gt;Coming up next..&lt;/strong&gt; The next article in this series is how to use &lt;a href="https://frankdenneman.ai/2013-01-18-designing-your-vmotion-network-multi-nic-and-netioc/" title="Designing your vMotion network – Multi-NIC vMotion and NetIOC"&gt;NetIOC for predictable network performance when using a Multi-NIC vMotion configuration&lt;/a&gt; on a distributed vSwitch.&lt;/p&gt;</description></item><item><title>Storage DRS survey</title><link>https://frankdenneman.ai/2013-01-17-storage-drs-survey/</link><pubDate>Thu, 17 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-17-storage-drs-survey/</guid><description>&lt;p&gt;If you have a few spare minutes, please fill out the survey about Storage DRS usage. We are very interested in your Storage DRS architecture and which options you use. But we are also seeking to identify adoption blockers preventing you to use Storage DRS. It takes about 5 minutes to get through. &lt;a href="http://www.surveymethods.com/EndUser.aspx?C9ED8198CB8E9F9CCF" title="Storage DRS survey"&gt;Storage DRS survey&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Two very interesting videos about how computer algorithms shapes today&amp;#039;s world</title><link>https://frankdenneman.ai/2013-01-16-two-very-interesting-videos-about-how-computer-algorithms-shapes-todays-world/</link><pubDate>Wed, 16 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-16-two-very-interesting-videos-about-how-computer-algorithms-shapes-todays-world/</guid><description>&lt;p&gt;Resource management within virtual infrastructures relies on distributed algorithms, as a result I became more and more interested in the application of computer algorithms in other areas. Today I found an English version of the multiple award winning Dutch documentary which I can finally share with my non-dutch speaking friends. The documentary reviews the flash crash on the U.S. Stock Market on May 6th 2010. In particular it explores the application of black box trading (algo-trading) and how algorithms shaped and formed the architecture of not only of the trade market institutions but also city architectures and human terraforming. &lt;a href="http://www.youtube.com/watch?feature=player_embedded&amp;amp;v=aq1Ln1UCoEU#!"&gt;Money &amp;amp; Speed: Inside the Black Box (Marije Meerman, VPRO)&lt;/a&gt; Sit back and be amazed. Once viewed, view the TED presentation by Kevin Slavin: &lt;a href="http://www.ted.com/talks/kevin_slavin_how_algorithms_shape_our_world.html?fb_ref=talk"&gt;How algorithms shape our world&lt;/a&gt;. Kevin Slavin zooms in some of the algorithms applied in our lives and how it affect us and our surroundings.&lt;/p&gt;</description></item><item><title>Adjusting the cost of vMotion – a word of caution</title><link>https://frankdenneman.ai/2013-01-15-adjusting-the-cost-of-vmotion-a-word-of-caution/</link><pubDate>Tue, 15 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-15-adjusting-the-cost-of-vmotion-a-word-of-caution/</guid><description>&lt;p&gt;Yesterday I posted an article on &lt;a href="https://frankdenneman.ai/2013-01-14-limiting-the-number-of-concurrent-vmotions/" title="Limiting the number of concurrent vMotions"&gt;how to change the cost of vMotion&lt;/a&gt; in order to change the default number of concurrent vMotion. As I mentioned in the article, I’m not a proponent of changing advanced settings.&lt;/p&gt;
&lt;p&gt;Today Kris posted a very interesting question;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;How about the scenario where one uses multi NIC vMotion for against two 5Gbps virtual adapters)? I know a cost of 4 will be set for the network by the VMkernel, however as the aggregate bandwidth becomes 10Gbps is it safe enough to raise the limit? Perhaps not to the full 8 for 10Gbps, but 6?&lt;/p&gt;</description></item><item><title>Limiting the number of concurrent vMotions</title><link>https://frankdenneman.ai/2013-01-14-limiting-the-number-of-concurrent-vmotions/</link><pubDate>Mon, 14 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-14-limiting-the-number-of-concurrent-vmotions/</guid><description>&lt;p&gt;After explaining how to &lt;a href="https://frankdenneman.ai/2012-06-28-limiting-the-number-of-storage-vmotions/" title="Limiting the number of concurrent Storage vMotions"&gt;limit the number of concurrent Storage vMotions operations&lt;/a&gt;, I received multiple questions on how to limit the number of concurrent vMotion operations. This article will cover the cost and max cost constructs and show you how to calculate the correct config key values to limit the number of concurrent vMotion operations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Please note&lt;/strong&gt;&lt;br&gt;
I usually do not post on configuration keys that change default behavior simply because I feel that most defaults are sufficient, and it should only be changed as a last resort when all other avenues are exhausted. I would like to mention that this is an unsupported configuration. Support will request to remove these settings before troubleshooting your environment!&lt;/p&gt;</description></item><item><title>Adding new disk to an existing virtual machine in a Storage DRS Datastore Cluster</title><link>https://frankdenneman.ai/2013-01-11-adding-new-disk-to-an-existing-virtual-machine-in-a-storage-drs-datastore-cluster/</link><pubDate>Fri, 11 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-11-adding-new-disk-to-an-existing-virtual-machine-in-a-storage-drs-datastore-cluster/</guid><description>&lt;p&gt;Recently I had some discussions where I needed to clarify the behavior of Storage DRS when the user adds a new disk to a virtual machine that is already running in the datastore cluster. Especially what will happen if the datastore cluster is near its capacity? When adding a new disk, Storage DRS reviews the configured affinity rule of the virtual machine. By default Storage DRS applies an affinity rule (Keep VMDKs together by default) to all new virtual machines. vSphere 5.1 allows you to change the default behavior of the cluster, you can change the default affinity rule in the Datastore cluster settings: &lt;img src="images/00-datastore-cluster-default-vm-affinity-rule.png" alt="00-datastore cluster default vm affinity rule"&gt; &lt;strong&gt;Adding a new disk to an existing virtual machine&lt;/strong&gt; The first one to realize is that Storage DRS never can violate the affinity or anti-affinity rule of the virtual machine. For example, if the datastore cluster default affinity rule is set to &amp;ldquo;keep VMDKs together&amp;rdquo; then all the files are placed on the same datastore. Ergo if a new disk is added to the virtual machine, that disk must be stored on the same datastore in order not to violate the affinity rule. Let use an example, VM1 is placed in the datastore and is configured with the Intra-VM affinity rule (Keep the files inside the VM together). &lt;img src="images/01-intra-vm-affinity-rule.png" alt="01-intra-vm-affinity-rule"&gt; The virtual machine is configured with 2 hard disks and both reside on the datastore [nfs-f-07] of the datastore cluster &lt;img src="images/02-vm-configuration.png" alt="02-vm-configuration"&gt; When adding another disk, Storage DRS provides me with an recommendation &lt;img src="images/03-recommendation.png" alt="03-recommendation"&gt; Although all the other datastores inside the datastore cluster are excellent candidates as well, Storage DRS is forced to place the VMDK on the same datastore together with the rest of the virtual machine files. &lt;img src="images/04-datastore-cluster-overview.png" alt="04-datastore-cluster overview"&gt; &lt;strong&gt;Datastore cluster defragmentation&lt;/strong&gt; At one point you may find yourself in a situation where the datastores inside the datastore cluster are quite full. Not enough free space per datastore, but enough free space in the datastore cluster to host another disk of an exisiting virtual machine. In that situation, Storage DRS does not break the affinity rule but starts to “defragment” the datastore cluster. It will move virtual machines around to provide enough free space for the new VMDK. The article “&lt;a href="https://frankdenneman.ai/sdrs/storage-drs-initial-placement-and-datastore-cluster-defragmentation/" title="Storage-DRS initial placement and datastore cluster defragmentation"&gt;Storage-DRS initial placement and datastore cluster defragmentation&lt;/a&gt;&amp;quot; can provide you more information about this mechanism. &lt;strong&gt;Key takeaway&lt;/strong&gt; Therefore in a datastore cluster you will never see Storage DRS splitting up a virtual machine if the VM is configured with an affinity rule, but you will see pre-requisite moves, migrating virtual machines out of the datastore to make room for the new vmdk.&lt;/p&gt;</description></item><item><title>Why do you manually select a datastore while using Storage DRS?</title><link>https://frankdenneman.ai/2013-01-10-why-do-you-manually-select-a-datastore-while-using-storage-drs/</link><pubDate>Thu, 10 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-10-why-do-you-manually-select-a-datastore-while-using-storage-drs/</guid><description>&lt;p&gt;On the community forums a couple of threads are active about the Storage DRS Automation level behavior when trying to manually migrate a virtual machine between datastores in the same datastore cluster. When migrating within the datastore cluster, Storage DRS is disabled for that virtual machine. Some community members asked me why Storage DRS disables automation for this virtual machine when migrating between datastores inside a datastore cluster or when selecting a datastore during placement of a new virtual machine. &lt;strong&gt;Intent&lt;/strong&gt; It is all about intent. When migrating a virtual machine into a datastore cluster, you are migrating the virtual machine into a load-balancing domain (the datastore cluster). You allow and trust Storage DRS to provide you an environment that provides an optimum load balanced state where the virtual machines receive the overall best I/O performance and the optimal placement regarding space utilization. If the user wants to migrate the virtual machine to a different datastore inside the datastore cluster, Storage DRS is capturing this intent, as “user knows best”. The way this is designed is that if a datastore is selected, then user is telling us that the selected datastore is the best, i.e. user knows something Storage DRS doesn’t. And to prohibit any future migration recommendation to other datastores, Storage DRS is disabled to ensure permanent placement. This behavior also applies when migrating a virtual machine into a datastore cluster. During initial placement it is expected that the user selects the datastore cluster, if the user wants to select a specific datastore it has to select “Disable Storage DRS for this virtual machine” in order to be able to select a member datastore. But this brings me to the question I have; &lt;strong&gt;what is the reason for not trusting Storage DRS?&lt;/strong&gt; Why do you manually select a datastore while using Storage DRS? Apparently old habits die-hard and most tell me that their administrator feels like they could beat Storage DRS in placement. I’ve written a couple of articles about it (plus two 100+ page chapters featured in &lt;a href="https://frankdenneman.ai/publications/" title="Books"&gt;two books&lt;/a&gt;) about the working of Storage DRS and trust me it’s very difficult to beat Storage DRS placement and migration recommendations. During development the engineers try to run an equivalent experiment to IBM big blue versus Gary Kasparov and lined up two world-class storage experts versus Storage DRS. Although they received answers to all their questions they could not match the overall performance improvement Storage DRS could provide. &lt;strong&gt;Correlation of metrics&lt;/strong&gt; Storage DRS has a lot of visibility into the environment, it measures space growth rates of existing virtual machine with thin disks, snapshots, etc. It selects destination datastore based on current utilization and growth rates. It builds device models to understand the performance of the devices backing the datastore as well as measuring the overall load on the datastores. It creates workload models of the existing virtual machine and measures on multiple metrics. Due to the insights Storage DRS can decide to migrate virtual machines to other datastores in order to make room or avoid the I/O threshold. It analyzes the environment and prefers moving virtual machines with low storage vMotion overhead. For more information please read the following articles: &lt;a href="https://frankdenneman.ai/sdrs/storage-drs-automation-level-and-initial-placement-behavior/" title="Storage DRS automation level and initial placement behavior"&gt;Storage DRS automation level and initial placement behavior&lt;/a&gt; &lt;a href="https://frankdenneman.ai/sdrs/storage-drs-initial-placement-and-datastore-cluster-defragmentation/" title="Storage DRS Initial placement and datastore cluster defragmentation"&gt;Storage DRS Initial placement and datastore cluster defragmentation&lt;/a&gt; &lt;a href="https://frankdenneman.ai/sdrs/avoiding-vmdk-level-over-commitment-while-using-thin-disks-and-storage-drs/" title="Avoiding VMDK level over commitment while using Thin disks and Storage DRS"&gt;Avoiding VMDK level over commitment while using Thin disks and Storage DRS&lt;/a&gt; If you have a specific use case, for example to run some benchmark test on a datastore, then the option “Disable Storage DRS for this virtual machine” helps you to prevent Storage DRS from interrupting your test. However I would recommend selecting the datastore cluster as a destination instead of a specific datastore when migrating a virtual machine into a datastore cluster. Read the article &lt;a href="https://frankdenneman.ai/vmotion/manual-storage-vmotion-migration-into-datastore-cluster/" title="Storage vMotion migration into a datastore cluster"&gt;Storage vMotion migration into a datastore cluster&lt;/a&gt; for more information. Remember Storage DRS always generate a recommendation that you can review during provisioning. After selecting the destination (datastore cluster), the user interface provides an overview of the current selections, at the right part of the screen a link “more recommendations” is provided. &lt;img src="images/01-more-recommendations-680x130.png" alt="01-more-recommendations"&gt; &lt;strong&gt;More recommendations&lt;/strong&gt; After you click on the more recommendation link, the user interface provides you with a list of alternative recommendations. The order of the list is that the top recommendation provides the best placement, this is the same recommendation listed in the previous review selection screen. The list provides an overview of the space utilization before placement (2nd column), space utilization after placement (3rd column) and I/O latency before placement on the destination datastore (4th column). As the screenshot shows, the 2nd recommendation shows that placing the EMC-003 datastore provides the best placement. This datastore has the lowest utilization before and after placement and has the lowest I/O latency of all the other datastores inside the datastore cluster. &lt;img src="images/02-datastore-recommendation-395x300.png" alt="02-datastore recommendation"&gt; Use this screen to educate your team responsible for provisioning and placement, show them that Storage DRS take multiple metrics into account and review the impact of the result if they picked the datastore of their choice. For my education, please share your thoughts on why you want to manually select a datastore that is a part of a datastore cluster?&lt;/p&gt;</description></item><item><title>vSphere 5.1 web client: VM overrides -Storage DRS automation level overview</title><link>https://frankdenneman.ai/2013-01-09-vsphere-5-1-web-client-vm-overrides-storage-drs-automation-level-overview/</link><pubDate>Wed, 09 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-09-vsphere-5-1-web-client-vm-overrides-storage-drs-automation-level-overview/</guid><description>&lt;p&gt;Overall the vSphere 5.1 web client attempts to mimic the behavior of menus and settings workflows of the (old) vSphere client. When editing the settings of a datastore cluster, the web client provides the same set of options that can be edited as the vSphere client. However certain functions of overviews and menus are changed in the vSphere 5.1 web client. For example the VM overrides screen. The primary purpose of the VM overrides screen is to display deviant Storage DRS Automation level of the virtual machines inside the datastore cluster. &lt;strong&gt;VM overrides and Virtual Machine Settings screens&lt;/strong&gt; The VM overrides screen is located in the storage view, select the datastore cluster, select the tab Manage and click on the Settings button. &lt;img src="images/00-default-webclient.png" alt="00-default-webclient"&gt; The VM overrides screen is the replacement of the virtual machine settings screen of the datastore cluster settings in the vSphere client. &lt;img src="images/01-vSphereclient-344x300.png" alt="01-vSphereclient"&gt; &lt;strong&gt;Difference in default behavior&lt;/strong&gt; As you might have noticed, the web client is not listing any virtual machine while the Virtual Machine settings overview in the vSphere client shows 5 virtual machines and a VM template. Already mentioned in the introduction paragraph, the primary purpose of the VM overrides screen has changed from the Virtual Machine settings overview in the vSphere client. The VM Overrides screen only displays a virtual machine is set to a non-default automation level. To display the different behavior, I have change the Automation level of VM3, VM4, VM5. The datastore cluster is configured with a Manual Automation Mode. Therefor the default automation mode is Default (Manual). The previous screenshot shows that all virtual machines are configured with the Default (Manual) automation level, VM3 is changed to Fully Automated, VM4 to Manual and VM5 to disabled. If you want to reproduce this behavior in your own environment, change the automation level in the vSphere client and then go the VM overrides screen in the web client to see the modified virtual machines listed. &lt;img src="images/02-vSphereclient-344x300.png" alt="02-vSphereclient"&gt; The VM overrides screen displays the following: &lt;img src="images/03-webclient.png" alt="03-webclient"&gt; Even though VM4 is configured with the same automation level as the datastore cluster, the VM overrides screen displays VM4 as it is not configured with the default automation mode. By changing the automation mode back to Default (Manual) via the Edit screen, VM4 is removed from the VM overrides list. &lt;img src="images/04-override.png" alt="04-override"&gt; &lt;img src="images/05-webclient.png" alt="05-webclient"&gt; To be honest it took me a while to get used to the new functionality of this screen. I would like to know if you like this new behavior or if you rather prefer the way the virtual machine settings view in the old vSphere client works?&lt;/p&gt;</description></item><item><title>Manual storage vMotion migrations into a datastore cluster</title><link>https://frankdenneman.ai/2013-01-08-manual-storage-vmotion-migration-into-datastore-cluster/</link><pubDate>Tue, 08 Jan 2013 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2013-01-08-manual-storage-vmotion-migration-into-datastore-cluster/</guid><description>&lt;p&gt;Frequently I receive questions about the impact of a manual migration into a datastore cluster, especially about the impact of the VM disk file layout. Will Storage DRS take the initial disk layout into account or will it be changed? The short answer is that the virtual machine disk layout will be changed by the default affinity rule configured on the datastore cluster. The article describes several scenarios of migrating “distributed“ and “centralized” disk layout configurations into datastore cluster configured with different affinity rules. &lt;strong&gt;Test scenario architecture&lt;/strong&gt; For the test scenarios I’ve build two virtual machines VM1 and VM2 Both virtual machines are of identical VM configuration, only the datastore location is different. VM1-centralized has a “centralized” configuration, storing all VMDKs on a single datastore, while VM2-distributed has a “distributed” configuration, storing all VMDKs on separate datastores.&lt;/p&gt;</description></item><item><title>Storage DRS and Storage vMotion bugs solved in vSphere 5.0 Update 2.</title><link>https://frankdenneman.ai/2012-12-21-storage-drs-and-storage-vmotion-bugs-solved-in-vsphere-5-0-update-2/</link><pubDate>Fri, 21 Dec 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-12-21-storage-drs-and-storage-vmotion-bugs-solved-in-vsphere-5-0-update-2/</guid><description>&lt;p&gt;Today Update 2 for vSphere ESXI 5.0 and vCenter Server 5.0 were released. I would like to highlight two bugs that have been fixed in this update, one for Storage DRS and one for Storage vMotion &lt;strong&gt;Storage DRS&lt;/strong&gt; vSphere ESXi 5.0 Update 2 was released today and it contains a fix that should be interesting to customers running Storage DRS on vSphere 5.0. The release note states the following bug:&lt;/p&gt;</description></item><item><title>Multi-NIC vMotion – failover order configuration</title><link>https://frankdenneman.ai/2012-12-20-multi-nic-vmotion-failover-order-configuration/</link><pubDate>Thu, 20 Dec 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-12-20-multi-nic-vmotion-failover-order-configuration/</guid><description>&lt;p&gt;After posting the article “&lt;a href="https://frankdenneman.ai/2012-12-18-designing-your-vmotion-network/" title="Designing your vMotion network"&gt;designing your vMotion network&lt;/a&gt;” I quickly received the question which failover order configuration is better. Is it better to configure the redundant NIC(s) as standby or as unused? The short answer: always use standby and never unused! Tomas Fojta posted the comment that it does not make sense to place the NICs into standby mode:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In the scenario as depicted in the diagram I prefer to use active/unused. If you think about it the standby option does not give you anything as when one of the NICs fails both vmknics will be on the same NIC which does not give you anything.&lt;/p&gt;</description></item><item><title>Thin or thick disks? – it’s about management not performance</title><link>https://frankdenneman.ai/2012-12-19-thin-or-thick-disks-its-about-management-not-performance/</link><pubDate>Wed, 19 Dec 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-12-19-thin-or-thick-disks-its-about-management-not-performance/</guid><description>&lt;p&gt;This is my contribution to the debate &lt;a href="http://www.yellow-bricks.com/2012-12-19-death-to-false-myths-the-type-of-virtual-disk-used-determines-your-performance/"&gt;Zero or Thick disks – debunking the performance myth.&lt;/a&gt; The last couple of years all sorts of VMware engineers worked very hard to reduce the performance difference between thin disks and thick disks. Many white-papers have been written by performance engineers to explain the improvements made on thin-disk. Therefore today the question whether to use Thin-provisioned disks or Eager zero thick is not about the difference in performance but the difference in management. When using Thin-provisioned VMDKs you need to have a very clear defined process. What to do, when your datastore, which stores the thin provisioned disks is getting full? You need to define a consolidation ratio, you need to understand which operational process might be dangerous to your environment (think Patch-Tuesday) and what space utilization threshold you need to define before migrating thin-provisioned disks to other datastores. Today Storage DRS can help you with many of the fore mentioned challenges. For more information please read the article: &lt;a href="https://frankdenneman.ai/sdrs/avoiding-vmdk-level-over-commitment-while-using-thin-disks-and-storage-drs/"&gt;Avoiding VMDK level over-commitment while using Thin-provisioned disks and Storage DRS&lt;/a&gt;. If Storage DRS is not used, Thin-provisioned disks can require a seamless collaboration between virtualization teams (provisioning and architecture) and storage administrators. When this is not possible due to organizational cultural differences, thin provisioning is rather a risk, than bliss. &lt;strong&gt;Zero out process:&lt;/strong&gt; Eager zero thick on the other hand might provide in some (corner) cases a marginal performance increase; the costs involved could outweigh the perceived benefits. First of all, Eager zero thick disks need to be zeroed out during creation, when your array doesn’t support the VAAI initiatives, this can take a hit on performance and the time to provision is extended. With terabyte sized disks becoming more common this will impact provisioning time immensely. &lt;strong&gt;Waste of space:&lt;/strong&gt; Most virtualized environments use virtual machines, typically configured with oversized OS disks and over-specced data disks, resulting in wasted space full of zero’s. Thin-provisioned disks only occupy the space used for storing data, not zero’s. &lt;strong&gt;Migration:&lt;/strong&gt; Storage vMotion goes out of its way to migrate every little bit of a virtual disk, this means it needs to copy over every zeroed out block. Combined with the oversized disks, you are creating unnecessary overhead on your hosts and storage subsystem copying and verifying the integrity of zeroed out blocks. Migrating thin disks only requires migrating the “user-data”, resulting in faster migration times, lesser overhead on hosts and storage subsystem. In essence, Thin-provisioned disks versus Eager zero thick is all about resource/time saving versus risk avoidance. Choose wisely&lt;/p&gt;</description></item><item><title>vMotion Futures Survey</title><link>https://frankdenneman.ai/2012-12-19-vmotion-futures-survey/</link><pubDate>Wed, 19 Dec 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-12-19-vmotion-futures-survey/</guid><description>&lt;p&gt;If you have a few spare minutes, please fill out the survey about vMotion futures. We are very interested in how you use vMotion and especially your opinion about use cases for Long-distance vMotion operations. It takes about 10 minutes to get through. &lt;a href="http://tinyurl.com/VMwareVMotion2012"&gt;http://tinyurl.com/VMwareVMotion2012&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Designing your vMotion network</title><link>https://frankdenneman.ai/2012-12-18-designing-your-vmotion-network/</link><pubDate>Tue, 18 Dec 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-12-18-designing-your-vmotion-network/</guid><description>&lt;p&gt;A well designed vMotion network will benefit the environment in many ways. Before vSphere 5, designing a vMotion network was relative easy, select the fastest NIC and assign it to a vMotion vmknic. vSphere 4.x supports both 1GB and 10GB networks and since vSphere 5.0 vMotion is able to leverage multiple NICs. Multi-NIC in vSphere 5.x makes it a bit more challenging. The combination of NICs, the failover mode and which load balancing policy need to be taken into consideration when configuring your vMotion network. &lt;strong&gt;The benefit of multi-NIC vMotion network&lt;/strong&gt; In vSphere 5.x vMotion balances the vMotion operations across all available NICs. Both for a single vMotion operation and for multiple concurrent vMotions operations. By using multiple NICs it reduces the duration of a vMotion operation. This benefits:&lt;/p&gt;</description></item><item><title>Storage vMotion and the vSphere web-client</title><link>https://frankdenneman.ai/2012-12-18-storage-vmotion-and-the-vsphere-web-client/</link><pubDate>Tue, 18 Dec 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-12-18-storage-vmotion-and-the-vsphere-web-client/</guid><description>&lt;p&gt;The new web client of vSphere 5.1 is my weapon of choice when working in my lab. It contains a lot of “hidden” gems, the UI team spends a lot of time crafting and aligning the user-interface to the administrator needs. One thing that drove me nuts was the lack of information when running a Storage vMotion operation. The Recent task doesn’t show anything, other than Storage vMotion operation itself and the target. When using Storage DRS, it only shows the name of the target Datastore cluster. Sometimes you just want to know which datastore the virtual machine migrated to. &lt;strong&gt;The new recent task window&lt;/strong&gt; For example, take a look at the Recent Tasks window in the right size of the corner of the web client. When running a storage vMotion operation, it displays the Storage vMotion task similar to the vSphere client. However, when clicking on the task itself it shows the event info and task in one view. Helping you identify the source and destination datastore of the Storage vMotion process. &lt;img src="images/webclient.png" alt="" title="webclient"&gt; &lt;strong&gt;Compare that to the workflow of the old vSphere client&lt;/strong&gt; Select the task in the Recent task bar and double click it. &lt;img src="images/vsphere-client-01.png" alt="" title="vsphere-client-01"&gt; This brings you in the Task and Events view of the target datastore cluster. By default the view is displaying events. Therefore you need to select Tasks, then select the task itself and then click on the related events in the bottom view. &lt;img src="images/vsphere-client-02.png" alt="" title="vsphere-client-02"&gt; It may look trivial, but these things do speed up your work. Eradicating unnecessary clicks and wait time before a screen refreshes sure makes your job a little easier.&lt;/p&gt;</description></item><item><title>SIOC on datastores backed by a single datapool</title><link>https://frankdenneman.ai/2012-12-06-sioc-on-datastores-backed-by-a-single-datapool/</link><pubDate>Thu, 06 Dec 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-12-06-sioc-on-datastores-backed-by-a-single-datapool/</guid><description>&lt;p&gt;Duncan posted an article today in which he brings up the question: &lt;a href="http://www.yellow-bricks.com/2012-12-06-should-i-use-many-small-luns-or-a-couple-of-large-luns-for-storage-drs/"&gt;Should I use many small LUNs or a couple large LUNs for Storage DRS?&lt;/a&gt; In this article he explains the differences between Storage I/O Control (SIOC) and Storage DRS and why they work well together, to re-emphasize, the goal of Storage DRS load balancing is to fix long term I/O imbalances, while SIOC addresses short term burst and loads. SIOC is all about managing the queue’s while Storage DRS is all about intelligent placement and avoiding bottlenecks. Julian Wood makes an interesting remark, and both Duncan and I hear this remark when discussing SIOC. Don’t get me wrong I’m not picking on Julian, I’m merely stating the fact he made a frequently used argument.&lt;/p&gt;</description></item><item><title>Overlapping DRS VM-Host affinity rule in a vSphere Stretched Cluster</title><link>https://frankdenneman.ai/2012-12-05-overlapping-drs-vm-host-affinity-rule-in-a-vsphere-stretched-cluster/</link><pubDate>Wed, 05 Dec 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-12-05-overlapping-drs-vm-host-affinity-rule-in-a-vsphere-stretched-cluster/</guid><description>&lt;p&gt;A question on the VMware community forum triggered me to validate DRS behavior of applying VM to Host group rules. The scenario describes a stretched HA cluster with overlapping DRS group rules, allowing to run particular VMs on hosts in a single site and a subset of hosts of both sides. How does DRS handle overlapping groups? &lt;strong&gt;The architecture&lt;/strong&gt; In this scenario the stretched cluster contains four hosts; ESXi-01 and ESXi-02 are located in Site A, ESXi-03 and ESXi-04 are located in Site B. &lt;img src="images/00-Stretched-cluster-architecture.png" alt="vSphere Stretched Cluster logical diagram" title="00-Stretched-cluster-architecture"&gt; A collection of virtual machines are run by the hosts in the cluster, two management virtual machines, vCenter and vCenterDB are a part of this group. Storage housing the virtual machines are available for all hosts. Storage architecture is not the focus of this article, for more information about storage configurations and stretched vSphere clusters, please read the white paper: &lt;a href="http://www.vmware.com/resources/techresources/10299" title=" VMware vSphere Metro Storage Cluster Case Study"&gt;VMware vSphere Metro Storage Cluster Case Study&lt;/a&gt; &lt;strong&gt;Site DRS VM-Host groups&lt;/strong&gt; ESXi-01 and ESXi-02 are grouped in Host DRS group Host-Site-A, ESXi-03 and ESXi-04 are grouped in Host DRS group Host-Site-B. All virtual machines running in Site-A are grouped in a VM DRS group VM-Site-A, all virtual machines running in Site-B are grouped in a VM DRS group VM-Site-B. All (Site) rules are configured as preferential rules (Should run on). &lt;img src="images/01-Initial-DRS-Groups.png" alt="Site DRS VM-Host groups in a vSphere stretched cluster" title="01-Initial-DRS-Groups"&gt; &lt;strong&gt;Management DRS VM-Host group&lt;/strong&gt; In the scenario described on the community forum, the virtual machines vCenter and vCenterDB are placed in an additional VM DRS group; MGMT-VMs. This group should be run on a select set of hosts of both sides, to simulate similar behavior the Host DRS group configured in my environment contains ESXi-02 of Site-A and ESXi-03 of Site-B. The group is named MGMT-Hosts. &lt;img src="images/02-mgmt-vm-group-setup.png" alt="Overlapping DRS VM-Host affinity rule in a vSphere Stretched Cluster" title="02-mgmt-vm-group-setup"&gt; &lt;strong&gt;Overlapping rule-set&lt;/strong&gt; Because the management virtual machines are a part of the VM-Site-A VM group an overlap of compatible hosts exists. Please note that DRS allows virtual machines to be a member of multiple VM groups. When reviewing the active affinity rules in a DRS cluster, DRS extracts a subset of compatible hosts for each virtual machine and uses this subset for placement and load balancing decisions. A Venn diagram shows the compatible host for the VMs vCenter and vCenterDB and specifically the host(s) listed in the compatibility set. &lt;img src="images/03-Venn-diagramm.png" alt="Venn diagram illustrating VM compatibility set of vSphere hosts" title="03-Venn diagramm"&gt; This means that under normal operation DRS will choose to run the virtual machines on ESXi-02 as it satisfies both rules. With normal condition I want to indicate that there is not excessive load on any of the host and all hosts are configured identically without any hardware failures. Back to the scenario, what if there is a host failure or ESXi-02 is placed into maintenance mode? &lt;strong&gt;Maintenance mode&lt;/strong&gt; Now what happens if ESXi-02 is placed into maintenance mode? As previously mentioned, DRS determines the set of compatible hosts. As ESXi-02 is placed into maintenance mode, DRS mark this host as a source host for migration. This way DRS knows which virtual machine to select for migration and excludes ESXi-02 as a valid destination for migrations. DRS must select other hosts listed in the Host DRS group. As ESXi-02 is not a valid destination, DRS needs to select either ESXi-01 or ESXi-03. Which host will it select? This depends on the creation date of the DRS rules, in other words, the newer DRS VM-Host rule is selected first. This is important to understand when applying overlapping VM-Host affinity rules in your environment. The last rule you create is applied first, overruling all other existing rules. In my lab, I created the MGMT rule as last, therefor having the youngest timestamp. &lt;img src="images/04-affinity-rules.png" alt="DRS rules User Interface vSphere 5.1 Web Client" title="04-affinity rules"&gt; There is no option of showing the timestamp in the user-interface of the web and vSphere client. I have provided this feedback to the engineering team. Hopefully they can include it in future releases. I placed ESXi-02 into maintenance mode and DRS migrated the virtual machines to ESXi-03, regulated by the MGMT VM-Host affinity rule. After placing ESXi-03 into maintenance mode, the virtual machines were moved to ESXi-01 as there were no compatible hosts available to satisfy the MGMT affinity rule. As ESXi-01 is listed in the Host-Site-A group of the Site-A affinity rule, DRS had no choice other than moving them to ESXi-01. After resetting the lab and destroying all the rules, I created the same set of host groups, VM groups and affinity rules, but I created the Site-A affinity rule as last. This resulted in the behavior that DRS moved the virtual machines to host ESXi-01 after placing ESXi-02 into maintenance mode, as DRS respected the Site-A affinity rule. &lt;strong&gt;Alarms&lt;/strong&gt; As DRS supports non-contradicting overlapping affinity rules, no alarm was generated. During the scenario where both ESXi-02 and ESXi-03 were placed into maintenance mode, no alarm was triggered. It was expected to see an alarm that an affinity alarm is violated, however after digging through some code and contacting engineering this appears to be behavior by design. In the current release, the alarm is only triggered when mandatory rules (must run on) are violated. &lt;strong&gt;HA behavior&lt;/strong&gt; All rules are configured with preferential rule sets (Should run on) and HA is not aware of DRS constructs. When a mandatory rule set (Must run on) is created, the hosts listed in the rule set are registered in the compatibility list of the virtual machine itself. Only those hosts registered in the compatibility list are viable destinations. During startup, HA checks the compatibility list and attempts to start up the virtual machine on any of these hosts listed. As the virtual machines are a part of a preferential affinity rule, all hosts are listed in the compatibility list and therefor HA could place them on a host outside the DRS Host Group. &lt;strong&gt;Conclusion&lt;/strong&gt; If you want certain virtual machines to gravitate to specific hosts or a specific site, please take into account the way DRS sequence the active affinity rules.&lt;/p&gt;</description></item><item><title>Calculating the bandwidth usage and duration of a vMotion process?</title><link>https://frankdenneman.ai/2012-12-04-calculating-the-bandwidth-usage-and-duration-of-a-vmotion-process/</link><pubDate>Tue, 04 Dec 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-12-04-calculating-the-bandwidth-usage-and-duration-of-a-vmotion-process/</guid><description>&lt;p&gt;Every once in a while I get the question if I have a calculator that can determine the lead-time and the bandwidth consumption of a vMotion process. Unfortunately I haven’t got such a calculator, as there isn&amp;rsquo;t an easy way to calculate the consumed bandwidth and the duration of a vMotion process. &lt;strong&gt;CPU&lt;/strong&gt; vMotion tries to move the used memory blocks as fast as possible. vMotion uses all the available bandwidth depending on the available CPU speed and bandwidth. Depending on the detected line speed, vMotion reserves an X amount of CPU speed at the start of a vMotion process. vMotion computes its desired host vMotion CPU reservation. For every 1GBe vMotion link speed it detects vMotion in vSphere 5.1 reserved 10% of a CPU core with a minimum desired CPU reservation of 30%. This means that if you use a single 1GBe, vMotion reserves 30% of a core, if you use 4 x 1GBe connections, that means vMotion reserves 40% of a core. A 10GBe link is special as vMotion reserves 100% of a single core. vMotion creates a (system) resource pool and sets the appropriate CPU reservation on the resource pool. It’s important to note that this is being done to the vMotion resource pool, which means that the reservation is shared across all vMotions happening on the host. &lt;img src="images/vMotion-system-resource-pool.png" alt="vMotion system Resource Pool" title="vMotion system resource pool"&gt; &lt;strong&gt;Warning&lt;/strong&gt;: DO NOT CHANGE the default settings of the system vMotion resource pool. This is set dynamically by the kernel depending on its memory state, manually adjusting this setting will likely hurt performance. Please do not attempt to be smarter then the kernel, many have tried, very few have succeeded. &lt;strong&gt;DRS&lt;/strong&gt; When DRS is enabled, it can decide to migrate virtual machines as well. It might happen that this occurs at the same time your vMotion process is running. All vMotions will be placed into the vMotion resource pool contesting for the resources acquired by the resource pool of vMotion. If high priority for the manual vMotion is selected (User interface uses the term: Reserve CPU for optimal vMotion performance) then the vMotion process receives a higher priority within the vMotion resource pool. In which case the high priority vMotion will have double the relative CPU shares, and as a result probably complete more quickly than their lower priority counterparts. However it still need to share the resources claimed by the vMotion resource pool. Although it has a higher priority over DRS vMotions, sharing resources still may have an effect on the duration of the vMotion process. &lt;strong&gt;Memory&lt;/strong&gt; vMotion copies only the used memory blocks, a virtual machine doesn&amp;rsquo;t always have to use all of its memory. Therefor its not easy to determine the required bandwidth. To make it more complex, as we are migrating a live virtual machine, the virtual machine can dirty (re-use) memory blocks that are already copied over, those blocks have to be sent again. Prolonging the duration of the process and the used bandwidth. &lt;strong&gt;Swap file&lt;/strong&gt; If the swap file is located on a non-shared datastore and pages has been stored in the swap file, those pages are copied over to the new swap file on a location accessible by the destination host. This will increase the demand for bandwidth and increases the duration of the vMotion process. For more information about the impact of non-shared swap files, please read the following articles: &lt;a href="https://frankdenneman.ai/vmware/alternative-vm-swap-file-locations-qa/"&gt;(Alternative) VM swap file locations Q&amp;amp;A&lt;/a&gt; and (A&lt;a href="https://frankdenneman.ai/drs/alternative-vm-swap-file-locations-qa-part-2/"&gt;lternative) VM swap file locations Q&amp;amp;A – part 2&lt;/a&gt;. &lt;strong&gt;Conclusion&lt;/strong&gt; As you can see, it&amp;rsquo;s very difficult to determine the duration of a vMotion process and the actual bandwidth it consumes.&lt;/p&gt;</description></item><item><title>How to create a &amp;#034;New Storage DRS recommendation generated&amp;#034; alarm</title><link>https://frankdenneman.ai/2012-11-30-how-to-create-a-new-storage-drs-recommendation-generated-alarm-2/</link><pubDate>Fri, 30 Nov 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-11-30-how-to-create-a-new-storage-drs-recommendation-generated-alarm-2/</guid><description>&lt;p&gt;It is recommended to configure Storage DRS in manual mode when you are new to Storage DRS. This way you become familiar with the decision matrix Storage DRS uses and you are able to review the recommendations it provides. One of the drawbacks of manual mode is the need to monitor the datastore cluster on a regular basis to discover if new recommendations are generated. As Storage DRS is generated every 8 hours and doesn’t provide insights when the next invocation run is scheduled, it’s becomes a bit of a guessing game when the next load balancing operation has occurred. To solve this problem, it is recommended to create a custom alarm and configure the alarm to send a notification email when new Storage DRS recommendations are generated. Here’s how you do it: &lt;strong&gt;Step 1: Select the object where the alarm object resides&lt;/strong&gt; If you want to create a custom rule for a specific datastore cluster, select the datastore cluster otherwise select the Datacenter object to apply this rule to each datastore cluster. In this example, I’m defining the rule on the datastore cluster object. &lt;strong&gt;Step 2: Go to Manage and select Alarm Definitions&lt;/strong&gt; Click on the green + icon to open the New Alarm Definition wizard &lt;img src="images/00-datastore-cluster-object.png" alt="Storage DRS datastore cluster object" title="00-datastore-cluster-object"&gt; &lt;strong&gt;Step 3: General Alarm options&lt;/strong&gt; Provide the name of the alarm as this name will be used by vCenter as the subject of the email. Provide an adequate description so that other administrators understand the purpose of this alarm. In the Monitor drop-down box select the option “Datastore Cluster” and select the option “specific event occurring on this object, for example VM Power On”. Click on Next. &lt;img src="images/01-New-alarm-definition.png" alt="Storage DRS vCenter new alarm definition" title="01-New-alarm-definition"&gt; &lt;strong&gt;Step 4: Triggers&lt;/strong&gt; Click on the green + icon to select the event this alarm should be triggered by. Select “New Storage DRS recommendation generated”. The other fields can be left blank, as they are not applicable for this alarm. Click on next. &lt;img src="images/02-event-trigger.png" alt="Storage DRS new recommendation trigger" title="02-event-trigger"&gt; &lt;strong&gt;Step 5: Actions&lt;/strong&gt; Click on the green plus icon to create a new action. You can select “Run a Command”, “Send a notification email” and “Send a notification trap”. For this exercise I have selected “Send a notification email”. Specify the email address that will receive the messages containing the warning that Storage DRS has generated a migration recommendation. Configure the alarm so that it will send a mail once when the state changes from green to yellow and yellow to red. Click on Finish. &lt;img src="images/03-alarm-action.png" alt="Storage DRS new recommendation alarm email notification configuration" title="03-alarm-action"&gt; The custom alarm is now listed between the pre-defined alarms. As I chose to define the alarm on this particular datastore cluster, vCenter list that the alarm is defined on “this Object”. This particular alarm is therefor not displayed at Datacenter level and cannot be applied to other datastore clusters in this vCenter Datacenter. &lt;img src="images/04-alarm-listed.png" alt="Storage DRS new recommendation alarm listed" title="04-alarm listed"&gt; Please note that you must configure a Mail server when using the option “send a notification email” and configure an valid SNMP receiver when using the option “Send a notification trap”. To configure a mail or SNMP server, select the vCenter server option in the inventory list, select manage, settings and click on edit. Go to Mail and provide a valid mail server address and an optional mail sender. &lt;img src="images/05-mailserver.png" alt="Configure a mail server in vCenter general settings" title="05-mailserver"&gt; To test the alarm, I moved a couple of files onto a datastore to violate the datastore cluster space utilization threshold. Storage DRS ran and displayed the following notifications on the datastore cluster summary screen and at the “triggered alarm” view: &lt;img src="images/06-Triggered-Alarms.png" alt="vCenter shows the following triggered alerts on the Storage DRS datastore cluster" title="06-Triggered Alarms"&gt; The moment Storage DRS generated a migration recommendation I received the following email: &lt;img src="images/07-alarm-message.png" alt="email message generated by vCenter Storage DRS new recommendation alarm" title="07-alarm message"&gt; As depicted in the screenshot above, the subject of the email generated by vCenter contains the name of the alarm you specified (notice the exclamation mark), the event itself - New Storage DRS recommendation generated&amp;quot; and the datastore cluster in which the event occurred.&lt;/p&gt;</description></item><item><title>How to create a &amp;quot;New Storage DRS recommendation generated&amp;quot; alarm</title><link>https://frankdenneman.ai/2012-11-30-how-to-create-a-new-storage-drs-recommendation-generated-alarm/</link><pubDate>Fri, 30 Nov 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-11-30-how-to-create-a-new-storage-drs-recommendation-generated-alarm/</guid><description>&lt;p&gt;It is recommended to configure Storage DRS in manual mode when you are new to Storage DRS. This way you become familiar with the decision matrix Storage DRS uses and you are able to review the recommendations it provides. One of the drawbacks of manual mode is the need to monitor the datastore cluster on a regular basis to discover if new recommendations are generated. As Storage DRS is generated every 8 hours and doesn’t provide insights when the next invocation run is scheduled, it’s becomes a bit of a guessing game when the next load balancing operation has occurred. To solve this problem, it is recommended to create a custom alarm and configure the alarm to send a notification email when new Storage DRS recommendations are generated. Here’s how you do it: &lt;strong&gt;Step 1: Select the object where the alarm object resides&lt;/strong&gt; If you want to create a custom rule for a specific datastore cluster, select the datastore cluster otherwise select the Datacenter object to apply this rule to each datastore cluster. In this example, I’m defining the rule on the datastore cluster object. &lt;strong&gt;Step 2: Go to Manage and select Alarm Definitions&lt;/strong&gt; Click on the green + icon to open the New Alarm Definition wizard &lt;img src="images/00-datastore-cluster-object.png" alt="Storage DRS datastore cluster object" title="00-datastore-cluster-object"&gt; &lt;strong&gt;Step 3: General Alarm options&lt;/strong&gt; Provide the name of the alarm as this name will be used by vCenter as the subject of the email. Provide an adequate description so that other administrators understand the purpose of this alarm. In the Monitor drop-down box select the option “Datastore Cluster” and select the option “specific event occurring on this object, for example VM Power On”. Click on Next. &lt;img src="images/01-New-alarm-definition.png" alt="Storage DRS vCenter new alarm definition" title="01-New-alarm-definition"&gt; &lt;strong&gt;Step 4: Triggers&lt;/strong&gt; Click on the green + icon to select the event this alarm should be triggered by. Select “New Storage DRS recommendation generated”. The other fields can be left blank, as they are not applicable for this alarm. Click on next. &lt;img src="images/02-event-trigger.png" alt="Storage DRS new recommendation trigger" title="02-event-trigger"&gt; &lt;strong&gt;Step 5: Actions&lt;/strong&gt; Click on the green plus icon to create a new action. You can select “Run a Command”, “Send a notification email” and “Send a notification trap”. For this exercise I have selected “Send a notification email”. Specify the email address that will receive the messages containing the warning that Storage DRS has generated a migration recommendation. Configure the alarm so that it will send a mail once when the state changes from green to yellow and yellow to red. Click on Finish. &lt;img src="images/03-alarm-action.png" alt="Storage DRS new recommendation alarm email notification configuration" title="03-alarm-action"&gt; The custom alarm is now listed between the pre-defined alarms. As I chose to define the alarm on this particular datastore cluster, vCenter list that the alarm is defined on “this Object”. This particular alarm is therefor not displayed at Datacenter level and cannot be applied to other datastore clusters in this vCenter Datacenter. &lt;img src="images/04-alarm-listed.png" alt="Storage DRS new recommendation alarm listed" title="04-alarm listed"&gt; Please note that you must configure a Mail server when using the option “send a notification email” and configure an valid SNMP receiver when using the option “Send a notification trap”. To configure a mail or SNMP server, select the vCenter server option in the inventory list, select manage, settings and click on edit. Go to Mail and provide a valid mail server address and an optional mail sender. &lt;img src="images/05-mailserver.png" alt="Configure a mail server in vCenter general settings" title="05-mailserver"&gt; To test the alarm, I moved a couple of files onto a datastore to violate the datastore cluster space utilization threshold. Storage DRS ran and displayed the following notifications on the datastore cluster summary screen and at the “triggered alarm” view: &lt;img src="images/06-Triggered-Alarms.png" alt="vCenter shows the following triggered alerts on the Storage DRS datastore cluster" title="06-Triggered Alarms"&gt; The moment Storage DRS generated a migration recommendation I received the following email: &lt;img src="images/07-alarm-message.png" alt="email message generated by vCenter Storage DRS new recommendation alarm" title="07-alarm message"&gt; As depicted in the screenshot above, the subject of the email generated by vCenter contains the name of the alarm you specified (notice the exclamation mark), the event itself - New Storage DRS recommendation generated&amp;quot; and the datastore cluster in which the event occurred.&lt;/p&gt;</description></item><item><title>vSphere 5.1 Clustering deepdive Cyber Monday deal</title><link>https://frankdenneman.ai/2012-11-26-vsphere-5-1-clustering-deepdive-cyber-monday-deal/</link><pubDate>Mon, 26 Nov 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-11-26-vsphere-5-1-clustering-deepdive-cyber-monday-deal/</guid><description>&lt;p&gt;We are long time fascinated by the whole Black Friday and Cyber Monday craze in the USA. Unfortunately we do not celebrate Thanksgiving in the Netherlands and none of the shops are participating in something similar as Black Friday. Similar to last year, we thought it was a great idea to participate in some form and what better than to offer our &lt;a href="http://www.amazon.com/gp/product/1478183411/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1478183411&amp;amp;linkCode=as2&amp;amp;tag=frankdenneman-20"&gt;vSphere 5.1 Clustering Technical Deepdive book&lt;/a&gt; for a price you cannot resist. We just changed the price of the vSphere 5.1 Clustering Technical Deepdive to $17.95, &lt;a href="http://www.amazon.de/VMware-vSphere-5-1-Clustering-Deepdive/dp/1478183411/ref=sr_1_1?ie=UTF8&amp;amp;qid=1353930820&amp;amp;sr=8-1"&gt;Amazon Deutschland&lt;/a&gt; is offering the book for 16.00 EURO, while &lt;a href="http://www.amazon.co.uk/VMware-vSphere-5-1-Clustering-Deepdive/dp/1478183411/ref=sr_1_1?ie=UTF8&amp;amp;qid=1353930879&amp;amp;sr=8-1"&gt;Amazon UK&lt;/a&gt; is selling the book for 11.01 Pounds sterling. The book has some amazing reviews, here is one we like to share with you:&lt;/p&gt;</description></item><item><title>(Alternative) VM swap file locations Q&amp;#038;A – part 2</title><link>https://frankdenneman.ai/2012-11-19-alternative-vm-swap-file-locations-qa-part-2-2/</link><pubDate>Mon, 19 Nov 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-11-19-alternative-vm-swap-file-locations-qa-part-2-2/</guid><description>&lt;p&gt;After writing the article “&lt;a href="https://frankdenneman.ai/vmware/alternative-vm-swap-file-locations-qa/"&gt;(Alternative) VM swap file locations Q&amp;amp;A&lt;/a&gt;” I received a lot of questions about the destination of the swapped pages and reading back my article I didn’t do a good job clarifying that part of the process. &lt;strong&gt;Which network is used for copying swapped pages?&lt;/strong&gt; As mentioned in the previous post the swap file itself is not copied over to the destination host, but only the swapped pages itself. Raphael Schitz (&lt;a href="http://twitter.com/@hypervisor_fr"&gt;@hypervisor_fr&lt;/a&gt;) was the first to ask, which network is used to copy over the swapped pages? The answer is vMotion network. The reason why the vMotion network is used, is that the source host running the active virtual machine, pulls the swapped pages back in to memory when migrating the memory pages to the destination host. &lt;strong&gt;Are swapped pages on the source host swapped out on the destination host?&lt;/strong&gt; As the pages are copied out from the swap file to the destination host, swapped pages are copied into the stream of the in-memory pages from the source host to the destination host. That means that the destination host is not aware which pages orginate from swap file and which pages come from in-memory, they are just memory pages that need to be stored and made available to the new virtual machine. &lt;img src="images/swapped-out-pages-destination.png" alt="" title="swapped out pages destination"&gt; To describe the behavior in a different way, the source host pulls the swapped pages from disk before sending them over, therefor the destination host sees a continues stream of memory pages, unmarked, all equal and are therefor stored in memory by the destination host. &lt;strong&gt;What if the destination host is experiencing contention?&lt;/strong&gt; Well it&amp;rsquo;s up to the destination host to decide which pages to swap out to disk. During a vMotion process, the destination VM starts out with a clean slate, meaning that the memory target is not determined by the source host but by the destination host. Memory targets are local memory schedule metrics and thus not shared. The source host shares the percentage of active pages but it&amp;rsquo;s the destination hosts&amp;rsquo; memory scheduler that determines the appropriate swap target for the new virtual machine. It can possibly push out memory pages back to its swap file as needed. The pages could be the same as the pages on the old host, but they can also completely different pages. &lt;strong&gt;What about compressed pages?&lt;/strong&gt; For every rule there is an exception and the exception is compressed pages. During a vMotion process the destination host will maintain the compressed pages by keeping them compressed. This behavior occurs even with an unshared swap migration. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="http://twitter.com/frankdenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>(Alternative) VM swap file locations Q&amp;amp;A – part 2</title><link>https://frankdenneman.ai/2012-11-19-alternative-vm-swap-file-locations-qa-part-2/</link><pubDate>Mon, 19 Nov 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-11-19-alternative-vm-swap-file-locations-qa-part-2/</guid><description>&lt;p&gt;After writing the article “&lt;a href="https://frankdenneman.ai/vmware/alternative-vm-swap-file-locations-qa/"&gt;(Alternative) VM swap file locations Q&amp;amp;A&lt;/a&gt;” I received a lot of questions about the destination of the swapped pages and reading back my article I didn’t do a good job clarifying that part of the process. &lt;strong&gt;Which network is used for copying swapped pages?&lt;/strong&gt; As mentioned in the previous post the swap file itself is not copied over to the destination host, but only the swapped pages itself. Raphael Schitz (&lt;a href="http://twitter.com/@hypervisor_fr"&gt;@hypervisor_fr&lt;/a&gt;) was the first to ask, which network is used to copy over the swapped pages? The answer is vMotion network. The reason why the vMotion network is used, is that the source host running the active virtual machine, pulls the swapped pages back in to memory when migrating the memory pages to the destination host. &lt;strong&gt;Are swapped pages on the source host swapped out on the destination host?&lt;/strong&gt; As the pages are copied out from the swap file to the destination host, swapped pages are copied into the stream of the in-memory pages from the source host to the destination host. That means that the destination host is not aware which pages orginate from swap file and which pages come from in-memory, they are just memory pages that need to be stored and made available to the new virtual machine. &lt;img src="images/swapped-out-pages-destination.png" alt="" title="swapped out pages destination"&gt; To describe the behavior in a different way, the source host pulls the swapped pages from disk before sending them over, therefor the destination host sees a continues stream of memory pages, unmarked, all equal and are therefor stored in memory by the destination host. &lt;strong&gt;What if the destination host is experiencing contention?&lt;/strong&gt; Well it&amp;rsquo;s up to the destination host to decide which pages to swap out to disk. During a vMotion process, the destination VM starts out with a clean slate, meaning that the memory target is not determined by the source host but by the destination host. Memory targets are local memory schedule metrics and thus not shared. The source host shares the percentage of active pages but it&amp;rsquo;s the destination hosts&amp;rsquo; memory scheduler that determines the appropriate swap target for the new virtual machine. It can possibly push out memory pages back to its swap file as needed. The pages could be the same as the pages on the old host, but they can also completely different pages. &lt;strong&gt;What about compressed pages?&lt;/strong&gt; For every rule there is an exception and the exception is compressed pages. During a vMotion process the destination host will maintain the compressed pages by keeping them compressed. This behavior occurs even with an unshared swap migration. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="http://twitter.com/frankdenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>(Alternative) VM swap file locations Q&amp;#038;A</title><link>https://frankdenneman.ai/2012-11-14-alternative-vm-swap-file-locations-qa-2/</link><pubDate>Wed, 14 Nov 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-11-14-alternative-vm-swap-file-locations-qa-2/</guid><description>&lt;p&gt;Lately I have received a couple of questions about Swap file placement. As I mentioned in the article “&lt;a href="https://frankdenneman.ai/sdrs/storage-drs-and-alternative-swap-file-locations/"&gt;Storage DRS and alternative swap file locations&lt;/a&gt;”, it is possible to configure the hosts in the DRS cluster to place the virtual machine swapfiles on an alternative datastore. Here are the questions I received and my answer: &lt;strong&gt;Question 1: Will placing a swap file on a local datastore increase my vMotion time?&lt;/strong&gt; Yes, as the destination ESXi host cannot connect to the local datastore, the file has to be placed on a datastore that is available for the new ESXi host running the incoming VM.Therefor the destination host creates a new swap file in its swap file destination. vMotion time will increase as a new file needs to be created on the local datastore of the destination host and swapped memory pages potentially need to be copied. &lt;strong&gt;Question 2: Is the swap file an empty file during creation or is it zeroed out?&lt;/strong&gt; When a swap file is created an empty file equal to the size of the virtual machine memory configuration. This file is empty and does not contain any zeros. Please note that if the virtual machine is configured with a reservation than the swap file will be an empty file with the size of (virtual machine memory configuration – VM memory reservation). For example, if a 4GB virtual machine is configured with a 1024MB memory reservation, the size of the swap file will be 3072MB. &lt;strong&gt;Question 3: What happens with the swap file placed on a non-shared datastore during vMotion?&lt;/strong&gt; During vMotion, the destination host creates a new swap file in its swap file destination. If the source swap file contains swapped out pages, only those pages are copied over to the destination host. &lt;strong&gt;Question 4: What happens if I have an inconsistent ESXi host configuration of local swap file locations in a DRS cluster?&lt;/strong&gt; When selecting the option “Datastore specified by host”, an alternative swap file location has to be configured on each host separately. If one host is not configured with an alternative location, then the swap file will be stored in the working directory of the virtual machine. When that virtual machine is moved to another host configured with an alternative swap file location, the contents of the swap file is copied over to the specified location, regardless of the fact that the destination host can connect to the swap file in the working directory. &lt;img src="images/datastore-specified-by-host.png" alt="" title="datastore-specified-by-host"&gt; &lt;strong&gt;Question 5: What happens if my specified alternative swap file location is full and I want to power-on a virtual machine?&lt;/strong&gt; If the alternative datastore does not have enough space, the VMkernel tries to store the VM swap file in the working directory of the virtual machine. You need to ensure enough free space is available in the working directory otherwise the VM not allowed to be powered up. &lt;strong&gt;Question 6: Should I place my swap file on a replicated datastore?&lt;/strong&gt; Its recommended placing the swap file on a datastore that has replication disabled. Replication of files increases vMotion time. When moving the contents of a swap file into a replicated datastore, the swap file and its contents need to replicated to the replica datastore as well. If synchronous replication is used, each block/page copied from the source datastore to the destination datastore, it needs to wait until the destination datastore receives an acknowledgement from its replication partner datastore (the replica datastore). &lt;img src="images/replicated-datastores2.png" alt="" title="replicated datastores"&gt; &lt;strong&gt;Question 7: Should I place my swap file on a datastore with snapshots enabled?&lt;/strong&gt; To save storage space and design for the most efficient use of storage capacity, it is recommended not to place the swap files on a datastore with snapshot enabled. The VMkernel places pages in a swap file if it’s there is memory pressure, either by an overcommitted state or the virtual machine requires more memory than it’s configured memory limit. It only retrieves memory from the swap file if it requires that particular page. The VMkernel will not transfer all the pages out of the swap file if the memory pressure on the host is resolved. It keeps unused swapped out pages in the swap file, as transferring unused pages is nothing more than creating system overhead. This means that a swapped out page could stay there as long as possible until the virtual machine is powered-off. Having the possibility of snapshotting idle and unused pages on storage could reduce the pools capacity used for snapshotting useful data. &lt;strong&gt;Question 8: Should I place my swap file on a datastore on a thin provisioned datastore (LUN)?&lt;/strong&gt; This is a tricky one and it all depends on the maturity of your management processes. As long as thin provisioned datastore is adequately monitored for utilization and free space and controls are in place that ensures sufficient free space is available to cope with bursts of memory use, than it could be a viable possibility. The reason for the hesitation is the impact a thin provisioned datastores has on the continuity of the virtual machine. Placement of swap files by VMkernel is done at the logical level. The VMkernel determines if the swap file can be placed on the datastore based on its file size. That means that it checks the free space of a datastore reported by the ESX host, not the storage array. However the datastore could exist in a heavily over-provisioned datapool. Once the swap file is created the VMkernel assumes it can store pages in the entire swap file, see question 2 for swap file calculation. As the swap file is just an empty file until the VMkernel places a page in the swap file, the swap file itself takes up a little space on the thin disk datastore. Now this can go on for a long time and nothing will happen. But what if the total reservation consumed, memory overcommit-level and workload spikes on the ESXi host layer are not correlated with the available space in the thin provisioning storage pool? Understand how much space the datastore could possibly obtain and calculate the maximum configured size of all existing swap files on the datastore to avoid an Out-of space condition. &lt;a href="https://frankdenneman.ai/drs/alternative-vm-swap-file-locations-qa-part-2/"&gt;(Alternative) VM swap file locations Q&amp;amp;A – part 2&lt;/a&gt; Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="http://twitter.com/frankdenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>(Alternative) VM swap file locations Q&amp;amp;A</title><link>https://frankdenneman.ai/2012-11-14-alternative-vm-swap-file-locations-qa/</link><pubDate>Wed, 14 Nov 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-11-14-alternative-vm-swap-file-locations-qa/</guid><description>&lt;p&gt;Lately I have received a couple of questions about Swap file placement. As I mentioned in the article “&lt;a href="https://frankdenneman.ai/sdrs/storage-drs-and-alternative-swap-file-locations/"&gt;Storage DRS and alternative swap file locations&lt;/a&gt;”, it is possible to configure the hosts in the DRS cluster to place the virtual machine swapfiles on an alternative datastore. Here are the questions I received and my answer: &lt;strong&gt;Question 1: Will placing a swap file on a local datastore increase my vMotion time?&lt;/strong&gt; Yes, as the destination ESXi host cannot connect to the local datastore, the file has to be placed on a datastore that is available for the new ESXi host running the incoming VM.Therefor the destination host creates a new swap file in its swap file destination. vMotion time will increase as a new file needs to be created on the local datastore of the destination host and swapped memory pages potentially need to be copied. &lt;strong&gt;Question 2: Is the swap file an empty file during creation or is it zeroed out?&lt;/strong&gt; When a swap file is created an empty file equal to the size of the virtual machine memory configuration. This file is empty and does not contain any zeros. Please note that if the virtual machine is configured with a reservation than the swap file will be an empty file with the size of (virtual machine memory configuration – VM memory reservation). For example, if a 4GB virtual machine is configured with a 1024MB memory reservation, the size of the swap file will be 3072MB. &lt;strong&gt;Question 3: What happens with the swap file placed on a non-shared datastore during vMotion?&lt;/strong&gt; During vMotion, the destination host creates a new swap file in its swap file destination. If the source swap file contains swapped out pages, only those pages are copied over to the destination host. &lt;strong&gt;Question 4: What happens if I have an inconsistent ESXi host configuration of local swap file locations in a DRS cluster?&lt;/strong&gt; When selecting the option “Datastore specified by host”, an alternative swap file location has to be configured on each host separately. If one host is not configured with an alternative location, then the swap file will be stored in the working directory of the virtual machine. When that virtual machine is moved to another host configured with an alternative swap file location, the contents of the swap file is copied over to the specified location, regardless of the fact that the destination host can connect to the swap file in the working directory. &lt;img src="images/datastore-specified-by-host.png" alt="" title="datastore-specified-by-host"&gt; &lt;strong&gt;Question 5: What happens if my specified alternative swap file location is full and I want to power-on a virtual machine?&lt;/strong&gt; If the alternative datastore does not have enough space, the VMkernel tries to store the VM swap file in the working directory of the virtual machine. You need to ensure enough free space is available in the working directory otherwise the VM not allowed to be powered up. &lt;strong&gt;Question 6: Should I place my swap file on a replicated datastore?&lt;/strong&gt; Its recommended placing the swap file on a datastore that has replication disabled. Replication of files increases vMotion time. When moving the contents of a swap file into a replicated datastore, the swap file and its contents need to replicated to the replica datastore as well. If synchronous replication is used, each block/page copied from the source datastore to the destination datastore, it needs to wait until the destination datastore receives an acknowledgement from its replication partner datastore (the replica datastore). &lt;img src="images/replicated-datastores2.png" alt="" title="replicated datastores"&gt; &lt;strong&gt;Question 7: Should I place my swap file on a datastore with snapshots enabled?&lt;/strong&gt; To save storage space and design for the most efficient use of storage capacity, it is recommended not to place the swap files on a datastore with snapshot enabled. The VMkernel places pages in a swap file if it’s there is memory pressure, either by an overcommitted state or the virtual machine requires more memory than it’s configured memory limit. It only retrieves memory from the swap file if it requires that particular page. The VMkernel will not transfer all the pages out of the swap file if the memory pressure on the host is resolved. It keeps unused swapped out pages in the swap file, as transferring unused pages is nothing more than creating system overhead. This means that a swapped out page could stay there as long as possible until the virtual machine is powered-off. Having the possibility of snapshotting idle and unused pages on storage could reduce the pools capacity used for snapshotting useful data. &lt;strong&gt;Question 8: Should I place my swap file on a datastore on a thin provisioned datastore (LUN)?&lt;/strong&gt; This is a tricky one and it all depends on the maturity of your management processes. As long as thin provisioned datastore is adequately monitored for utilization and free space and controls are in place that ensures sufficient free space is available to cope with bursts of memory use, than it could be a viable possibility. The reason for the hesitation is the impact a thin provisioned datastores has on the continuity of the virtual machine. Placement of swap files by VMkernel is done at the logical level. The VMkernel determines if the swap file can be placed on the datastore based on its file size. That means that it checks the free space of a datastore reported by the ESX host, not the storage array. However the datastore could exist in a heavily over-provisioned datapool. Once the swap file is created the VMkernel assumes it can store pages in the entire swap file, see question 2 for swap file calculation. As the swap file is just an empty file until the VMkernel places a page in the swap file, the swap file itself takes up a little space on the thin disk datastore. Now this can go on for a long time and nothing will happen. But what if the total reservation consumed, memory overcommit-level and workload spikes on the ESXi host layer are not correlated with the available space in the thin provisioning storage pool? Understand how much space the datastore could possibly obtain and calculate the maximum configured size of all existing swap files on the datastore to avoid an Out-of space condition. &lt;a href="https://frankdenneman.ai/drs/alternative-vm-swap-file-locations-qa-part-2/"&gt;(Alternative) VM swap file locations Q&amp;amp;A – part 2&lt;/a&gt; Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="http://twitter.com/frankdenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VMware feature request</title><link>https://frankdenneman.ai/2012-11-12-vmware-feature-request/</link><pubDate>Mon, 12 Nov 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-11-12-vmware-feature-request/</guid><description>&lt;p&gt;During presentations I always stress to submit a feature request if you have an idea how to enhance the product or if you feel you are missing a vital product feature. VMware is very interested to hear how the products can be enhanced and improved. Although it’s always good to talk to your local VMware rep or your favorite VMware blogger, submitted feedback might not reach the correct person on time. In order to have the feedback routed to the correct person using the shortest path available, it is best to submit a feature request via the VMware website. Unfortunately VMware.com doesn’t have an action button on the front-page, therefor I thought it might be a good idea to publish a short article with the link included. If you have any feedback go to the &lt;a href="https://www.vmware.com/contact/contactus.html?department=prod_request" title="VMware product feature request"&gt;feature request page&lt;/a&gt; and submit your comments. Thanks!&lt;/p&gt;</description></item><item><title>VAAI hw offload and Storage vMotion between two Storage Arrays</title><link>https://frankdenneman.ai/2012-11-06-vaai-hw-offload-and-storage-vmotion-between-two-storage-arrays/</link><pubDate>Tue, 06 Nov 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-11-06-vaai-hw-offload-and-storage-vmotion-between-two-storage-arrays/</guid><description>&lt;p&gt;Recently I received a question about migrating virtual machines with Storage vMotion between two Storage Arrays. More specifically if VAAI is leveraged by Storage vMotion in this process. Unfortunately VAAI is an internal array based feature, the Clone Blocks VAAI feature Storage vMotion leverages is only used to copy and migrate data within the same physical array. &lt;strong&gt;Datamovers&lt;/strong&gt; How does Storage vMotion work between two arrays? Storage vMotion uses a VMkernel component called the datamover. This component is moves the blocks from the source to the destination datastore, to be more precise; it handles the read and write blocks I/O from and to the source and destination datastores. The VMkernel used in vSphere 4.1 and up contains 2 different datamovers, software datamovers (FSDM and FS3DM) and a hardware offloading datamover (FS3DM-hardware offloading). The most efficient datamover is the FS3DM-hardware offload, followed by the FS3DM and as last the legacy datamover FSDM. FS3DM operates at kernel level, while the FSDM operates at the application level, the shorter the communication path the faster the operation. In essence Storage vMotion is travelling up to the stack of datamovers, trying the most efficient first, before reverting to a less optimal choice. To get an idea of difference in performance, please read the article “&lt;a href="http://www.yellow-bricks.com/2011-02-24-storage-vmotion-performance-difference/"&gt;Storage vMotion performance difference&lt;/a&gt;” on Yellow-Bricks.com &lt;strong&gt;Traversing the datamover stack&lt;/strong&gt; When a data movement operation is invoked (I.E. Storage vMotion) and the VAAI hardware offload operation is enabled, the data mover will first attempt to use the hardware offload. If the hardware offload operation fails, the data mover reverts to the software datamovers, first FS3DM, then FSDM. As you are migrating between arrays, hardware offloading will fail and the VMkernel selects a software datamover FS3DM. If the block-sizes of the datastore are not identical, then Storage vMotion has to revert to the FSDM datamover. If you are migrating data between NFS datastores than Storage vMotion immediately revert to the FSDM datamover. &lt;strong&gt;Impact on Storage DRS datastore cluster design&lt;/strong&gt; Keep this in mind when designing Storage DRS datastore clusters. Storage DRS does not keep historical data of storage vMotion lead times, and thus it cannot incorporate these metrics when generating migration recommendations. Although no performance loss will occur within the virtual machine, migrating between arrays can create overhead on the supporting infrastructure. If possible design your datastores to contain datastores within the same array and use identical blocksizes (if VMFS is used)&lt;/p&gt;</description></item><item><title>vSphere 5.1 Storage DRS Multi-VM provisioning improvement</title><link>https://frankdenneman.ai/2012-11-02-vsphere-5-1-storage-drs-multi-vm-provisioning-improvement/</link><pubDate>Fri, 02 Nov 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-11-02-vsphere-5-1-storage-drs-multi-vm-provisioning-improvement/</guid><description>&lt;p&gt;When a virtual machine is provisioned to the datastore cluster, Storage DRS algorithm runs to determine the best placement of the virtual machine. The interesting part of this process is the method Storage DRS determines the free space of a datastore or to be more precise the improvement made in vSphere 5.1 regarding free space calculation and the method of finding the optimal destination datastore. &lt;strong&gt;vSphere 5.0 Storage DRS behavior&lt;/strong&gt; Storage DRS is designed to balance the utilization of the datastore cluster, it selects the datastore with the highest free space value to balance the space utilization of the datastores in the datastore cluster and avoids out-of-space situations. During the deployment of a virtual machine, Storage DRS initiates a simulation to generate an initial placement operation. This process is an isolated process and retrieves the current datastore free space values. However, when a virtual machine is deployed, the space usage of the datastore is updated once the virtual machine deployment is completed and the virtual machine is ready to power-on. This means that the initial placement process is unaware of any ongoing initial placement recommendations and pending storage space allocations. Let’s use an example that explains this behavior. In this scenario the datastore cluster contains 3 datastores, the size of each datastore is 1TB, no virtual machines are deployed yet, and therefor they each report a 100% free space. When deploying a 500GB virtual machine, storage DRS selects the datastore with the highest reported number of free space and as all three datastores are equal it will pick the first datastore, Datastore-01. Until the deployment process is complete the datastore remains reporting 1000GB of free space. &lt;img src="images/00-Storage-DRS-Initial-placement-process-vSphere-5.png" alt="vSphere 5.0 Storage DRS Initial placement" title="00-Storage-DRS-Initial-placement-process-vSphere-5"&gt; When deploying single virtual machines this behavior is not a problem, however when deploying multiple virtual machines this might result in an unbalanced distribution of virtual machine across the datastores. As the available space is not updated during the deployment process, Storage DRS might select the same datastore, until one (or more) of the provisioning operations complete and the available free space is updated. Using the previous scenario, Storage DRS in vSphere 5.0 is likely to pick Datastore-01 again when deploying VM2 before the provisioning process of VM1 is complete, as all three datastore report the same free space value and Datastore-01 is the first datastore it detected. &lt;img src="images/01-Initial-placement-process-place-vm2.png" alt="vSphere 5.0 Storage DRS Initial placement add VM2 " title="01-Initial placement process-place-vm2"&gt; &lt;strong&gt;vSphere 5.1 Storage DRS behavior&lt;/strong&gt; Storage DRS in vSphere 5.1 behaves differently and because Storage DRS in vSphere 5.1 supports vCloud Director, it was vital to support the provisioning process of a vApp that contains multiple virtual machines. &lt;strong&gt;Enter the storage lease&lt;/strong&gt; Storage DRS in vSphere 5.1 applies a storage lease when deploying a virtual machine on a datastore. This lease “reserves” the space and making deployments aware of each other, thus avoiding suboptimal/invalid placement recommendations. Let’s use the deployment of a vApp as an example. The same datastore cluster configuration is used, each datastore if empty, reporting 1000GB free space. The vApp exists of 3 virtual machines, VM1, VM2 and VM3. Respectively they are 100GB, 200GB and 400GB in size. During the provisioning process, Storage DRS needs to select a datastore for each virtual machine. As the main goal of Storage DRS is to balance the utilization of the datastore cluster, it determines which datastore has the highest free space value after each placement during the simulation. &lt;img src="images/02-Initial-placement-process-vApp-step-1.png" alt="Storage DRS Initial placement process - vApp-step-1" title="02-Initial placement process - vApp-step-1"&gt; During the simulation VM1 is placed on Datastore-01, as all three datastores report an equal value of free space. Storage DRS then applies the lease of 100GB and reduces the available free space to 900GB. &lt;img src="images/03-Initial-placement-process-vApp-step-2.png" alt="Storage DRS Initial placement process - vApp-step-2" title="03-Initial placement process - vApp-step-2"&gt; When Storage DRS simulates the placement of VM2, it checks the free space and determines that Datastore-02 and Datastore-03 each have 1000GB of free space, while Datastore-01 reports 900GB. Although VM2 can be placed on Datastore-01 as it does not violate the space utilization threshold, Storage DRS prefers to select the datastore with the highest free space value. Storage DRS will choose Datastore-02 in this scenario as it picks the first datastore if multiple datastores report the same free space value. &lt;img src="images/04-Initial-placement-process-vApp-step-3.png" alt="Storage DRS Initial placement process - vApp-step-3" title="04-Initial placement process - vApp-step-3"&gt; The simulations determines that the optimal destination for VM3 is Datastore-03, as this reports a free space value of 1000GB, while Datastore-02 reports 800 free space and Datastore-01 reports 900GB of space. This lease is applied during the simulation of placement for the generation of the initial placement recommendation and remains applied until the placement process of the virtual machine is completed or when the operation times out. This means that not only a vApp deployment is aware of the storage resource lease but also other deployment processes. &lt;strong&gt;Update to vSphere 5.1&lt;/strong&gt; This new behavior is extremely useful when deploying multiple virtual machines in batches such as vApp deployment or vHadoop environments with the use of &lt;a href="http://cto.vmware.com/project-serengeti-theres-a-virtual-elephant-in-my-datacenter/"&gt;Serengeti&lt;/a&gt;. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Add DRS cluster to existing Storage DRS Datastore Cluster?</title><link>https://frankdenneman.ai/2012-10-29-add-drs-cluster-to-existing-datastore-cluster/</link><pubDate>Mon, 29 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-29-add-drs-cluster-to-existing-datastore-cluster/</guid><description>&lt;p&gt;Lately I have seen the following question popping up at multiple places: “&lt;em&gt;How can I add hosts of a DRS cluster to a Storage DRS datastore cluster after the datastore cluster is created?&lt;/em&gt;” This is an intriguing question as it gives insight to how datastore cluster construct is perceived and that a step in the “create datastore cluster” workflow in the user interface might be the culprit of this. &lt;strong&gt;The workflow:&lt;/strong&gt; During the create datastore cluster, step 4 requires the use to connect the datastore cluster to a DRS cluster or stand-alone hosts. &lt;img src="images/00-Step-4-Select-Clusters-and-Hosts.png" alt="" title="00-Step-4-Select-Clusters-and-Hosts"&gt; The reason for incorporating the step of selecting clusters and stand-alone hosts is to help narrow down the list of datastores that are presented in step 5. This way, one can create a datastore cluster that consists of datastores that are connected to all the hosts in a particular DRS cluster. The article “&lt;a href="https://frankdenneman.ai/sdrs/partially-connected-datastore-clusters/" title="Partially connected datastore clusters"&gt;Partially connected datastore clusters&lt;/a&gt;” provide more information on the impact partially connected datastores on Storage DRS load balancing. &lt;strong&gt;In short, the screen “Select Clusters and Hosts” is just a filter, no host to datastore connectivity is altered by this step&lt;/strong&gt;. To prove this theory, I attached the datastores nfs-f-04, nfs-f-05, nfs-f-06 and nfs-f-07 to all the hosts in Cluster01 and Cluster02. However I selected the Cluster 01 in step 4. Step 5 provides the following overview, indicating that all the available datastores are connected to the hosts in Cluster01. &lt;img src="images/01-Select-Datastores.png" alt="" title="01-Select-Datastores"&gt; When you review the “Ready to Complete” screen, scroll down to the “Cluster and Host” overview, this screen shows that all the datastores are connected to Cluster01 and Cluster02, but only Cluster01 is selected. In my opinion this screen doesn’t make sense and I’m already working with the User Interface team and engineering to see if we can make some adjustments. (No promises though)! &lt;img src="images/02-Clusters-and-Hosts.png" alt="" title="02-Clusters-and-Hosts"&gt; Although this Selected column can make this screen a little confusing, in essence it displays the user selection during the configuration process. The “Datastore Connection Status” is the key message of this view. Once complete, select the Storage view, select the new datastore cluster and select the Cluster tab. This view shows that both clusters are connected and can utilize the datastore cluster as destination for virtual machine placement. &lt;img src="images/03-Storage-view-Clusters.png" alt="" title="03-Storage-view-Clusters"&gt; Another check is the “Standalone Hosts” tab. This displays the connectivity state of the hosts to the datastore cluster. Host *h09* and *h10* are part of Cluster01, host *h11* and *h12* are part of Cluster02. &lt;img src="images/04-Storage-view-Standalone-Hosts.png" alt="" title="04-Storage-view-Standalone-Hosts"&gt; &lt;strong&gt;In essence&lt;/strong&gt; Remember I didn’t select Cluster02 during the datastore cluster configuration, yet Cluster02 and its hosts are still connected. Long story short: DRS Cluster and Storage DRS Datastore clusters are independent load balancing domain constructs. In the end it drills down to the host to datastore connectivity, remember partially connected datastores can still be a part of a datastore cluster. DRS and Storage DRS take the connectivity of hosts and datastores into account during the initial placement and load balancing process, not the cluster constructs. Before creating a datastore cluster, ensure the following: • Check Storage adapter settings • Check Array configuration (masking, LUN ID, exports) • Check zoning • Rescan hosts that are going to use the datastores inside the datastore cluster. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>vMotion bug fixed in vCenter server 5.1.0a</title><link>https://frankdenneman.ai/2012-10-29-vmotion-bug-fixed-in-vcenter-server-5-1-0a/</link><pubDate>Mon, 29 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-29-vmotion-bug-fixed-in-vcenter-server-5-1-0a/</guid><description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;Looking for the &amp;ldquo;&lt;a href="https://frankdenneman.ai/2013-01-18-designing-your-vmotion-network-multi-nic-and-netioc/" title="Designing your vMotion network"&gt;Designing your vMotion network&lt;/a&gt;&amp;rdquo;? Please follow the &lt;a href="https://frankdenneman.ai/2012-12-18-designing-your-vmotion-network/" title="Designing your vMotion network"&gt;link&lt;/a&gt;.&lt;/em&gt;&lt;/strong&gt; Last week VMware vCenter Server™ 5.1.0a was released which contains a bugfix for Essential plus license customers. A few readers provided me feedback about being unable to initiate the new vMotion that migrates both host and datastore state of the virtual machine. Due to the feedback and the filed SRs we got to the bottom of the bug pretty quickly and got the bugfix in this release. &lt;strong&gt;vMotion and Storage vMotion&lt;/strong&gt; &lt;code&gt;Unable to access the cross-host Storage vMotion feature from the vSphere Web Client with an Essentials Plus license If you start the migration wizard for a powered on virtual machine with an Essentials Plus license, the Change both host and datastore option in the migration wizard is disabled, and the following error message is displayed: Storage vMotion is not licensed on this host. To perform this migration without a license, power off the virtual machine. This issue is resolved in this release.&lt;/code&gt; &lt;a href="https://www.vmware.com/support/vsphere5/doc/vsphere-vcenter-server-510a-release-notes.html" title="vSphere vCenter 5.1.0.a release notes"&gt;https://www.vmware.com/support/vsphere5/doc/vsphere-vcenter-server-510a-release-notes.html&lt;/a&gt; Thanks for the feedback and above all, thanks for filing the SRs providing us useful data. You can download the update &lt;a href="https://my.vmware.com/web/vmware/info/slug/datacenter_cloud_infrastructure/vmware_vcloud_suite/5_1" title="https://my.vmware.com/web/vmware/info/slug/datacenter_cloud_infrastructure/vmware_vcloud_suite/5_1"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>vSphere 5.1 Storage DRS load balancing and SIOC threshold enhancements</title><link>https://frankdenneman.ai/2012-10-19-vsphere-5-1-storage-drs-load-balancing-and-sioc-threshold-enhancements/</link><pubDate>Fri, 19 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-19-vsphere-5-1-storage-drs-load-balancing-and-sioc-threshold-enhancements/</guid><description>&lt;p&gt;Lately I have been receiving questions on best practices and considerations for aligning the Storage DRS latency and Storage IO Control (SIOC) latency, how they are correlated and how to configure them to work optimally together. Let&amp;rsquo;s start with identifying the purpose of each setting, review the enhancements vSphere 5.1 has introduced and discover the impact when misaligning both thresholds in vSphere 5.0. &lt;strong&gt;Purpose of the SIOC threshold&lt;/strong&gt; The main goal of the SIOC latency is to give fair access to the datastores, throttling virtual machine outstanding I/O to the datastores across multiple hosts to keep the measured latency below the threshold. &lt;img src="images/00-SIOC-threshold-host-queue-throttled.png" alt="SIOC threshold violation host queue throttled" title="00-SIOC threshold-host-queue-throttled"&gt; It can have a restrictive effect on the I/O flow of virtual machines. &lt;strong&gt;Purpose of the Storage DRS latency threshold&lt;/strong&gt; The Storage DRS latency is a threshold to trigger virtual machine migrations. To be more precise, if the average latency (VMObservedLatency) of the virtual machines on a particular datastore is higher than the Storage DRS threshold, then Storage DRS will mark that datastore as “source” for load balancing migrations. In other words, that datastore provide the candidates (virtual machines) for Storage DRS to move around to solve the imbalance of the datastore cluster. &lt;img src="images/01-Storage-DRS-load-balancing-source-destination-datastore.png" alt="Storage DRS Load balancing between source and destination datastores" title="01-Storage-DRS-load-balancing-source-destination-datastore"&gt; This means that the Storage DRS threshold metric has no &amp;ldquo;restrictive&amp;rdquo; access limitations. It does not limit the ability of the virtual machines to send I/O to the datastore. It is just an indicator for Storage DRS which datastore to pick for load balance operations. &lt;strong&gt;SIOC throttling behavior&lt;/strong&gt; When the average device latency detected by SIOC is above the threshold, SIOC throttles the outstanding IO of the virtual machines on the hosts connected to that datastore. However due to different number of shares, various IO sizes, random versus sequential workload and the spatial locality of the changed blocks on the array, we are almost certain that no virtual machine will experience the same performance. Some virtual machines will experience a higher latency than other virtual machines running on that datastore. Remember SIOC is driven by shares, not reservations, we cannot guarantee IO slots (reservations). Long story short, when the datastore is experiencing latency, the VMkernel manages the outbound queue, resulting in creating a buildup of I/O somewhere higher up in the stack. As the SIOC latency threshold is the weighted average of D/AVG per host, the weight is the number of IOPS on that host. For more information how SIOC calculates the Device average latency, please read the article: “&lt;a href="https://frankdenneman.ai/sioc/to-which-host-level-latency-statistic-is-the-sioc-congestion-threshold-related/" title="To which host-level latency statistic is the SIOC congestion threshold related?"&gt;To which host-level latency statistic is the SIOC congestion threshold related?&lt;/a&gt;” &lt;strong&gt;Has SIOC throttling any effect on Storage DRS load balancing?&lt;/strong&gt; Depending on which vSphere version you run is the key whether SIOC throttling has impact on Storage DRS load balancing. As stated in the previous paragraph, if SIOC throttles the queues, the virtual machine I/O does not disappear, vSphere always allows the virtual machine to generate I/O to the datastore, it just builds up somewhere higher in the stack between the virtual machine and the HBA queue. In vSphere 5.0, Storage DRS measures latency by averaging the device latency of the hosts running VMs on that datastore. This is almost the same metric as the SIOC latency. This means that when you set the SIOC latency equal to the Storage DRS latency, the latency will be build up in the stack above the Storage DRS measure point. This means that in worst-case scenario, SIOC throttles the I/O, keeping it above the measure point of Storage DRS, which in turn makes the latency invisible to Storage DRS and therefore does not trigger the load balance operation for that datastore. &lt;strong&gt;Introducing vSphere 5.1 VMObservedLatency&lt;/strong&gt; To avoid this scenario Storage DRS in vSphere 5.1 is using the metric VMObservedLatency. This metric measures the round-trip of I/O from the moment the VMkernel receives the I/O (Virtual Machine Monitor) to the datastore and all the way back to the VMM. &lt;img src="images/02-VMobservedLatency.png" alt="vSphere 5.1 VMObservedLatency" title="02-VMobservedLatency"&gt; This means that when you set the SIOC latency to a lower threshold than the Storage DRS latency, Storage DRS still observes the latency build up in the kernel layer. &lt;strong&gt;vSphere 5.1 Automatic latency SIOC&lt;/strong&gt; To help you avoid building up I/O in the host queue, vSphere 5.1 offers automatic threshold computation for SIOC. SIOC sets the latency to 90% of the throughput level of the device. To determine this, SIOC derives a latency setting after a series of tests, mapping maximum throughput to a latency value. During the tests SIOC detects where the throughput of I/O levels out, while the latency keeps on increasing. To be conservative, SIOC derives a latency value that allows the host to generate up to 90% of the throughput, leaving a burst space of 10%. This provides the best performance of the devices, avoiding unnecessary restrictions by building up latency in the queues. In my opinion, this feature alone warrants the upgrade to vSphere 5.1. &lt;strong&gt;How to set the two thresholds to work optimally together&lt;/strong&gt; SIOC in vSphere 5.1 allows the host to go up to 90% of the throughput before adjusting the queue length of each host, and generate queuing in the kernel instead of queuing on the storage array. As Storage DRS uses VMObservedLatency it monitors the complete stack. It observes the overall latency, disregarding the location of the latency in the stack and tries to move VMs to other datastores to level out the overall experienced latency in the datastore cluster. Therefore you do not need to worry about misaligning the SIOC latency and the Storage DRS I/O latency. If you are running vSphere 5.0 it’s recommended setting the SIOC threshold to a higher value than the Storage DRS I/O latency threshold. Please refer to your storage vendor to receive the accurate SIOC latency threshold. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: @frankdenneman&lt;/p&gt;</description></item><item><title>Storage DRS and alternative swap file locations</title><link>https://frankdenneman.ai/2012-10-18-storage-drs-and-alternative-swap-file-locations/</link><pubDate>Thu, 18 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-18-storage-drs-and-alternative-swap-file-locations/</guid><description>&lt;p&gt;By default a virtual machine swap file is stored in the working directory of the virtual machine. However, it is possible to configure the hosts in the DRS cluster to place the virtual machine swapfiles on an alternative datastore. A customer asked if he could create a datastore cluster exclusively used for swap files. Although you can use the datastores inside the datastore cluster to store the swap files, Storage DRS does not load balance the swap files inside the datastore cluster in this scenario. Here’s why: &lt;strong&gt;Alternative swap location&lt;/strong&gt; This alternative datastore can either be a local datastore or a shared datastore. Please note that placing the swapfile on a non-shared local datastore impacts the vMotion lead-time, as the vMotion process needs to copy the contents of the swap file to the swapfile location of the destination host. However a datastore that is shared by the host inside the DRS cluster can be used, a valid use case is a small pool of SSD drives, providing a platform that reduces the impact of swapping in case of memory contention. &lt;strong&gt;Storage DRS&lt;/strong&gt; What about Storage DRS and using alternative swap file locations? By default a swap file is placed in the working directory of a virtual machine. This working directory is “encapsulated” in a DRMdisk. A DRMdisk is the smallest entity Storage DRS can migrate. For example when placing a VM with 3 hard disks in a datastore cluster, Storage DRS creates 4 DRMdisks, one DRMdisk for the working directory and separate DRMdisks for each hard disk. &lt;img src="images/Storage-DRS-DRMdisks.png" alt="Storage DRS DRMdisk" title="Storage-DRS-DRMdisks"&gt; &lt;strong&gt;Extracting the swap file out of the working directory DRMdisk&lt;/strong&gt; When selecting an alternative location for swap files, vCenter will not place this swap file in the working directory of the virtual machine, in essence extracting it from – or placing it outside - the working directory DRMdisk entity. Therefore Storage DRS will not move the swap file during load balancing operations or maintenance mode operations as it can only move DRMdisks. &lt;strong&gt;Alternative Swap file location a datastore inside a datastore cluster?&lt;/strong&gt; Storage DRS does not encapsulate a swap file in its own DRMdisk and therefore it is not recommended to use a datastore that is part of a datastore cluster as a DRS cluster swap file location. As Storage DRS cannot move these files, it can impact load-balancing operations. The user interface actually reveals the incompatibility of a datastore cluster as a swapfile location because when you configure the alternate swap file location, the user interface only displays datastores and not a datastore cluster entity. &lt;strong&gt;DRS responsibility&lt;/strong&gt; Storage DRS can operate with swap files placed on datastores external to the datastore cluster. It will move the DRMdisks of the virtual machines and leave the swap file on its specified location. It is the task of DRS moving the swap file if it’s placed on a non-shared swap file datastore when migrating the compute state between two hosts. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>HA admission control is not a capacity management tool.</title><link>https://frankdenneman.ai/2012-10-17-ha-admission-control-is-not-a-capacity-management-tool/</link><pubDate>Wed, 17 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-17-ha-admission-control-is-not-a-capacity-management-tool/</guid><description>&lt;p&gt;I receive a lot of questions on why HA doesn’t work when virtual machines are not configured with VM-level reservations. If no VM-level reservations are used, the cluster will indicate a fail over capacity of 99%, ignoring the CPU and memory configuration of the virtual machines. Usually my reply is that HA admission control is not a capacity management tool and I noticed I have been using this statement more and more lately. As it doesn’t scale well explaining it on a per customer basis, it might be a good idea to write a blog article about it. &lt;strong&gt;The basics&lt;/strong&gt; Sometimes it’s better to review the basics again and understand where the perception of HA and the actual intended purpose of the product part ways. Let’s start of what HA admission control is designed for. In the availability guide the two following statement can be found: Quote 1:&lt;/p&gt;</description></item><item><title>Want to have a vSphere 5.1 clustering deepdive book for free?</title><link>https://frankdenneman.ai/2012-10-17-want-to-have-a-vsphere-5-1-clustering-deepdive-book-for-free/</link><pubDate>Wed, 17 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-17-want-to-have-a-vsphere-5-1-clustering-deepdive-book-for-free/</guid><description>&lt;p&gt;&lt;img src="images/cloudphysics-bookcover.png" alt="vSphere 5.1 clustering deepdive CloudPhysics cover" title="cloudphysics-bookcover"&gt; Want to have a vSphere 5.1 clustering deepdive book for free? CloudPhysics are giving away some vSphere 5.1 clustering deepdive books, do the following if you want to receive a copy: &lt;strong&gt;Action required&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Email &lt;a href="mailto:info@cloudphysics.com"&gt;info@cloudphysics.com&lt;/a&gt; with a subject of “Book”. No message is needed.&lt;/li&gt;
&lt;li&gt;Register at &lt;a href="http://www.cloudphysics.com/"&gt;http://www.cloudphysics.com/&lt;/a&gt; by clicking “SIGN UP”.&lt;/li&gt;
&lt;li&gt;Install the CloudPhysics Observer vApp to activate your dashboard.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Eligibility rules&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You are a new CloudPhysics user.&lt;/li&gt;
&lt;li&gt;You fully install the CloudPhysics ‘Observer’ vApp in your vSphere environment.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The first 150 users gets a free book, but what&amp;rsquo;s even better, the Cloudphysics service gives you great insights on your current environment. For more info read the following blogposts: &lt;a href="https://frankdenneman.ai/2012/08/cloudphysics-in-a-nutshell/" title="CloudPhysics in a nutshell"&gt;CloudPhysics in a nutshell&lt;/a&gt; and &lt;a href="https://frankdenneman.ai/2012/10/cloudphysics-vm-reservation-limits-card-a-closer-look/" title="CloudPhysicsVM reservations and limits card - a closer look"&gt;VM reservations and limits card - a closer look&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Partially connected datastore clusters - where can I find the warnings and how to solve it via the web client?</title><link>https://frankdenneman.ai/2012-10-15-partially-connected-datastore-clusters-where-can-i-find-the-warnings-and-how-to-solve-it-via-the-web-client/</link><pubDate>Mon, 15 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-15-partially-connected-datastore-clusters-where-can-i-find-the-warnings-and-how-to-solve-it-via-the-web-client/</guid><description>&lt;p&gt;During my Storage DRS presentation at VMworld I talked about datastore cluster architecture and covered the &lt;a href="https://frankdenneman.ai/2011/10/partially-connected-datastore-clusters/"&gt;impact of partially connected datastore clusters&lt;/a&gt;. In short – when a datastore in a datastore cluster is not connected to all hosts of the connected DRS cluster, the datastore cluster is considered partially connected. This situation can occur when not all hosts are configured identically, or when new ESXi hosts are added to the DRS cluster. &lt;strong&gt;The problem&lt;/strong&gt; I/O load balancing does not support partially connected datastores in a datastore cluster and Storage DRS disables the IO load balancing for the entire datastore cluster. Not only on that single partially connected datastore, but the entire cluster. Effectively degrading a complete feature set of your virtual infrastructure. Therefore having an homogenous configuration throughout the cluster is imperative. &lt;strong&gt;Warning messages&lt;/strong&gt; An entry is listed in the Storage DRS Faults window. In the web vSphere client: 1. Go to Storage 2. Select the datastore cluster 3. Select Monitor 4. Storage DRS 5. Faults. &lt;img src="images/00-Fault-details.png" alt="Storage DRS IO load balancing component was not run due to an unsupported configuration or insufficient information about datastores or virtual disks" title="00-Fault-details"&gt; The connectivity menu option shows the Datastore Connection Status, in the case of a partially connected datastore, the message Datastore Connection Missing is listed. &lt;img src="images/02-datastore-connection-missing.png" alt="Storage DRS datastore is missing" title="02-datastore-connection-missing"&gt; When clicking on the entry, the details are shown in the lower part of the view: &lt;img src="images/03-missing-connection.png" alt="Storage DRS missing datastore connection" title="03-missing connection"&gt; &lt;strong&gt;Returning to a fully connected state&lt;/strong&gt; To solve the problem, you must connect or mount the datastores to the newly added hosts. In the web client this is considered a host-operation, therefore select the datacenter view and select the hosts menu option. 1. Right-click on a newly added host 2. Select New Datastore 3. Provide the name of the existing datastore &lt;img src="images/04-add-new-datastore.png" alt="Storage DRS add new datastore" title="04-add-new-datastore"&gt; 4. Click on Yes when the warning “Duplicate NFS Datastore Name” is displayed. &lt;img src="images/05-duplicate-datastore.png" alt="vSphere 5.1 Duplicate NFS Datastore Name" title="05-duplicate-datastore"&gt; 5. As the UI is using existing information, select next until Finish. 6. Repeat steps for other new hosts. After connecting all the new hosts to the datastore, check the connectivity view in the monitor menu of the of the datastore cluster &lt;img src="images/06-add-datastores-connected.png" alt="Storage DRS all datastores connected" title="06-add-datastores-connected"&gt; Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>vSphere 5.1 DRS advanced option LimitVMsPerESXHost</title><link>https://frankdenneman.ai/2012-10-10-vsphere-5-1-drs-advanced-option-limitvmsperesxhost/</link><pubDate>Wed, 10 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-10-vsphere-5-1-drs-advanced-option-limitvmsperesxhost/</guid><description>&lt;p&gt;During the Resource Management Group Discussion here in VMworld Barcelona a customer asked me about limiting the number of VMs per Host. vSphere 5.1 contains an advanced option on DRS clusters to do this. If the advanced option: “LimitVMsPerESXHost” is set, DRS will not admit or migrate more VMs to the host than that number. For example, when setting the LimitVMsPerESXHost to 40, each host allows up to 40 virtual machines. &lt;strong&gt;No correction for existing violation&lt;/strong&gt; Please note that DRS will not correct any existing violation if the advanced feature is set while virtual machines are active in the cluster. This means that if you set LimitVMsPerESXHost to 40 and at the time 45 virtual machines are running on an ESX host, DRS will not migrate the virtual machines out of that host. However It does not allow any more virtual machines on the host. DRS will not allow any power-ons or migration to the host, both manual (by administrator) and automatic (by DRS). &lt;strong&gt;High Availability&lt;/strong&gt; As this is a DRS cluster setting, HA will not honor the setting during a host failover operation. This means that HA can power on as many virtual machines on a host it deems necessary. This is to avoid any denial of service by not allowing virtual machines to power-on if the “LimitVMsPerESXHost” is set too conservative. &lt;strong&gt;Impact on load balancing&lt;/strong&gt; Please be aware that this setting can impact VM happiness. This setting can restrict DRS in finding a balance with regards to CPU and Memory distribution. &lt;strong&gt;Use cases&lt;/strong&gt; This setting is primary intended to contain the failure domain. A popular analogy to describe this setting would be “Limiting the number of eggs in one basket”. As virtual infrastructures are generally dynamic, try to find a setting that restricts the impact of a host failure without restricting growth of the virtual machines. I’m really interested in feedback on this advanced setting, especially if you consider implementing it, the use case and if you want to see this setting to be further developed. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Changing your vCenter logging level using the webclient</title><link>https://frankdenneman.ai/2012-10-05-changing-your-vcenter-logging-level-using-the-webclient/</link><pubDate>Fri, 05 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-05-changing-your-vcenter-logging-level-using-the-webclient/</guid><description>&lt;p&gt;In order to monitor some load behavior I needed to increase the logging level of the vCenter server. The logging level still is included in the vCenter Server Settings, however it takes a few more clicks to get the Statistics option compared to the old vSphere client. 1. In the home screen click on vCenter. 2. click on the vCenter Servers link in the Inventory list. &lt;img src="images/00-inventory-list.png" alt="" title="00-inventory list"&gt; 3. Select the vCenter (probably Localhost). 4. Select the Manage tab in the right-pane. 5. Select Setting. 6. Click on the Edit button located on the far end right side of the screen. 7. Change the appropriate Statistic setting. &lt;img src="images/02-Statistics-680.png" alt="" title="02-Statistics-680"&gt; Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Cloudphysics VM Reservation &amp;#038; Limits card – a closer look</title><link>https://frankdenneman.ai/2012-10-05-cloudphysics-vm-reservation-limits-card-a-closer-look-2/</link><pubDate>Fri, 05 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-05-cloudphysics-vm-reservation-limits-card-a-closer-look-2/</guid><description>&lt;p&gt;The VM Reservation and Limits card was released yesterday. CloudPhysics decided to create this card based on the popularity of this topic in the contest. So what does this card do? Let’s have a closer look. &lt;img src="images/00-overview-680.png" alt="" title="00-overview-680"&gt; This card provides you an easy overview of all the virtual machines configured with any reservation or limits for CPU and memory. Reservations are a great tool to guarantee the virtual machine continuous access to physical resources. When running business critical applications reservations could provide a constant performance baseline that helps you meet your SLA. However reservations can impact your environment as the VM reservations impacts the resource availability of other virtual machines in your virtual infrastructure. It can lower your consolidation ratio: &lt;a href="https://frankdenneman.ai/2012/05/the-admission-control-family/"&gt;The Admission Control Family&lt;/a&gt; and it can even impact other vSphere features such as vSphere High Availability. The CloudPhysics HA Simulation card can help you understand the impact of reservations on HA. Besides reservations virtual machine limits are displayed. A limit restricts the use of physical access of the virtual machine. A limit could be helpful to test the application during various level of resource availability. However virtual machine limits are not visible to the Guest OS, therefor it cannot scale and size its own memory management (or even worse the application memory management) to reflect the availability of physical memory. For more information about memory limits, please read this post by Duncan: &lt;a href="http://www.yellow-bricks.com/2010-07-06-memory-limits/"&gt;Memory limits&lt;/a&gt;. As the VMkernel is forced to provide alternative memory resources limits can lead to the increased use of VM swap files. This can lead to performance problems of the application but can also impact other virtual machines and subsystems used in the virtual infrastructure. The following article zooms into one of the many problems when relying on swap files: &lt;a href="https://frankdenneman.ai/2010/02/impact-of-host-local-vm-swap-on-ha-and-drs/"&gt;Impact of host local VM swap on HA and DRS&lt;/a&gt;. &lt;strong&gt;Color indicators&lt;/strong&gt; &lt;img src="images/01-colored-indicators.png" alt="" title="01-colored-indicators"&gt; As virtual machine level limits can impact the performance of the entire virtual infrastructure, the CloudPhysics engineers decided to add an additional indicator to help you easily detect limits. When a virtual machine is configured with a memory limit still greater than 50% of its configured size an Amber dot is displayed next to the configured limit size. If the limit is smaller or equal to 50% of its configured size than a red dot is displayed next to the limit size. Similar for CPU limits, an amber dot is displayed when the limit of a virtual machine is set but is more than 500MHz, a red dot indicates that the virtual machine is configured with a CPU limit of 500MHz or less. For example: Virtual Machine Load06 is configured with 16GB of memory. A limit is set to 8GB (8192MB), this limit is equal to 50% of the configured size. Therefore the VM reservation and Limits card displays the configured limit in red and presents an additional red dot. &lt;img src="images/02-Load06-example-680.png" alt="" title="02-Load06-example-680"&gt; &lt;strong&gt;Flow of information&lt;/strong&gt; The indicators are also a natural divider between the memory resource controls and the CPU controls. As memory resource control impacts the virtual infrastructure more than the CPU resource controls, the card displays the memory resource controls at the left side of the screen. We are very interested in hearing feedback about this card, please leave a comment. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Cloudphysics VM Reservation &amp;amp; Limits card – a closer look</title><link>https://frankdenneman.ai/2012-10-05-cloudphysics-vm-reservation-limits-card-a-closer-look/</link><pubDate>Fri, 05 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-05-cloudphysics-vm-reservation-limits-card-a-closer-look/</guid><description>&lt;p&gt;The VM Reservation and Limits card was released yesterday. CloudPhysics decided to create this card based on the popularity of this topic in the contest. So what does this card do? Let’s have a closer look. &lt;img src="images/00-overview-680.png" alt="" title="00-overview-680"&gt; This card provides you an easy overview of all the virtual machines configured with any reservation or limits for CPU and memory. Reservations are a great tool to guarantee the virtual machine continuous access to physical resources. When running business critical applications reservations could provide a constant performance baseline that helps you meet your SLA. However reservations can impact your environment as the VM reservations impacts the resource availability of other virtual machines in your virtual infrastructure. It can lower your consolidation ratio: &lt;a href="https://frankdenneman.ai/2012/05/the-admission-control-family/"&gt;The Admission Control Family&lt;/a&gt; and it can even impact other vSphere features such as vSphere High Availability. The CloudPhysics HA Simulation card can help you understand the impact of reservations on HA. Besides reservations virtual machine limits are displayed. A limit restricts the use of physical access of the virtual machine. A limit could be helpful to test the application during various level of resource availability. However virtual machine limits are not visible to the Guest OS, therefor it cannot scale and size its own memory management (or even worse the application memory management) to reflect the availability of physical memory. For more information about memory limits, please read this post by Duncan: &lt;a href="http://www.yellow-bricks.com/2010-07-06-memory-limits/"&gt;Memory limits&lt;/a&gt;. As the VMkernel is forced to provide alternative memory resources limits can lead to the increased use of VM swap files. This can lead to performance problems of the application but can also impact other virtual machines and subsystems used in the virtual infrastructure. The following article zooms into one of the many problems when relying on swap files: &lt;a href="https://frankdenneman.ai/2010/02/impact-of-host-local-vm-swap-on-ha-and-drs/"&gt;Impact of host local VM swap on HA and DRS&lt;/a&gt;. &lt;strong&gt;Color indicators&lt;/strong&gt; &lt;img src="images/01-colored-indicators.png" alt="" title="01-colored-indicators"&gt; As virtual machine level limits can impact the performance of the entire virtual infrastructure, the CloudPhysics engineers decided to add an additional indicator to help you easily detect limits. When a virtual machine is configured with a memory limit still greater than 50% of its configured size an Amber dot is displayed next to the configured limit size. If the limit is smaller or equal to 50% of its configured size than a red dot is displayed next to the limit size. Similar for CPU limits, an amber dot is displayed when the limit of a virtual machine is set but is more than 500MHz, a red dot indicates that the virtual machine is configured with a CPU limit of 500MHz or less. For example: Virtual Machine Load06 is configured with 16GB of memory. A limit is set to 8GB (8192MB), this limit is equal to 50% of the configured size. Therefore the VM reservation and Limits card displays the configured limit in red and presents an additional red dot. &lt;img src="images/02-Load06-example-680.png" alt="" title="02-Load06-example-680"&gt; &lt;strong&gt;Flow of information&lt;/strong&gt; The indicators are also a natural divider between the memory resource controls and the CPU controls. As memory resource control impacts the virtual infrastructure more than the CPU resource controls, the card displays the memory resource controls at the left side of the screen. We are very interested in hearing feedback about this card, please leave a comment. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>From the archives - An old Isometric diagram</title><link>https://frankdenneman.ai/2012-10-05-from-the-archives-an-old-isometric-diagram/</link><pubDate>Fri, 05 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-05-from-the-archives-an-old-isometric-diagram/</guid><description>&lt;p&gt;While searching for a diagram I stumbled upon an old diagram I made in 2007. I think this diagram started my whole obsession with diagrams and to add “cleanness” to my diagrams. &lt;a href="http://farm9.staticflickr.com/8231/8468341762_df0e60f054_b_d.jpg"&gt;&lt;img src="images/8468341762_df0e60f054_b_d.jpg" alt="" title="VI-Eco-System"&gt;&lt;/a&gt; This diagram depicts a virtual infrastructure located in two datacenters with replication between them. This infrastructure is no longer in use, but to make absolutely sure, I changed the device names into generic text labels such as ESX host, array, SW switch, etc. Back then I really liked to draw Isometric style. Now I’m more focused onto block diagrams and trying to minimalize the number of components in a diagram. In essence I follow the words from Colin Chapman: Simplify, then add lightness. But then applied to diagrams :) The fact that this diagram is still stored on my system tells me that I’m still very proud of this diagram. So that made me wonder, which diagram did you design and are you proud of? Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Storage DRS automation level and initial placement behavior</title><link>https://frankdenneman.ai/2012-10-04-storage-drs-automation-level-and-initial-placement-behavior/</link><pubDate>Thu, 04 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-04-storage-drs-automation-level-and-initial-placement-behavior/</guid><description>&lt;p&gt;Recently I was asked why Storage DRS was missing a “Partially Automated mode”. Storage DRS has two automation levels, no automation (Manual Mode) and Fully Automated mode. When comparing this with DRS, we notice that Storage DRS is missing a “Partially Automated mode”. But in reality the modes of Storage DRS cannot be compared to DRS at all. This article explains the difference in behavior. &lt;strong&gt;DRS automation modes:&lt;/strong&gt; There are three cluster automation levels: &lt;em&gt;Manual automation level:&lt;/em&gt; When a virtual machine is configured with the manual automation level, DRS generate both initial placement and load balancing migration recommendations, however the user needs to manual approve these recommendations. &lt;em&gt;Partially automation level:&lt;/em&gt; DRS automatically places a virtual machine with a partially automation level, however it will generate a migration recommendation which requires manual approval. &lt;em&gt;Fully automated level:&lt;/em&gt; DRS automatically places a virtual machine on a host and vCenter automatically applies migration recommendation generated by DRS &lt;strong&gt;Storage DRS automation modes:&lt;/strong&gt; There are two datastore cluster automation levels: &lt;em&gt;No Automation (Manual mode):&lt;/em&gt; Storage DRS will make migration recommendations for virtual machine storage, but will not perform automatic migrations. &lt;em&gt;Fully Automated:&lt;/em&gt; Storage DRS will make migration recommendations for virtual machine storage, vCenter automatically confirms migration recommendations. &lt;strong&gt;No automatic Initial placement in Storage DRS&lt;/strong&gt; Storage DRS does not provide placement recommendations for vCenter to automatically apply. (Remember that DRS and Storage DRS only generate recommendations, it is vCenter that actually approves these recommendations if set to Automatic). The automation level only applies to migration recommendation of exisiting virtual machines inside the datastore cluster. However, Storage DRS does analyze the current state of the datastore cluster and generates initial placement recommendations based on space utilization and I/O load of the datastore and disk footprint and affinity rule set of the virtual machine. &lt;img src="images/00-input.png" alt="" title="00-input"&gt; When provisioning a virtual machine, the summary screen provided in the user interface displays a datastore recommendation. &lt;img src="images/00-Datastore-recommendations.png" alt="" title="00-Datastore-recommendations"&gt; When clicking on the “more recommendations” less optimal recommendations are displayed. &lt;img src="images/01-Storage-recommendations-680.png" alt="" title="01-Storage-recommendations-680"&gt; This screen provides information about the Space Utilization % before placement, the Space Utilization % after the virtual machine is placed and the measured I/O Latency before placement. Please note that even when I/O load balancing is disabled, Storage DRS uses overall vCenter I/O statistics to determine the best placement for the virtual machine. In this case the I/O Latency metric is a secondary metric, which means that Storage DRS applies weighing to the space utilization and overall I/O latency. It will satisfy space utilization first before selecting a datastore with an overall lower I/O latency. &lt;img src="images/03-stats.png" alt="" title="03-stats"&gt; &lt;strong&gt;Adding new hard-disks to a existing VM in a datastore cluster&lt;/strong&gt; As vCenter does not apply initial placement recommendations automatically, adding new disks to an existing virtual machine will also generate an initial placement recommendation. The placement of the disk is determined by the default affinity cluster rule. The datastore recommendation depicted below shows that the new hard disk is placed on datastore nfs-f-01, why? Because it needs to satisfy storage initial placement requests and in this case this means satisfying the datastore cluster default affinity rule. &lt;img src="images/04-new-disk-datastore-recommendation-680.png" alt="" title="04-new disk datastore recommendation-680"&gt; If the datastore cluster were configured with a VMDK anti-affinity rule, the datastore recommendation would show any other datastore except datastore nfs-f-01. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Storage DRS Device Modeling behavior</title><link>https://frankdenneman.ai/2012-10-03-storage-drs-device-modeling-behavior/</link><pubDate>Wed, 03 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-03-storage-drs-device-modeling-behavior/</guid><description>&lt;p&gt;During a recent meeting the behavior of Storage DRS device modeling was discussed. When I/O load balancing is enabled, Storage DRS leverages the SIOC injector to determine the device characteristics of the disks backing the datastore. Because the injector stops when there is activity detected on the datastore, the customer was afraid that Storage DRS wasn’t able to get a proper model of his array due to the high levels of activity seen on the array. Storage DRS was designed to cope with these environments, as the customer was reassured after explaining the behavior I thought it might be interesting enough for to share it with you too. &lt;strong&gt;The purpose of device modeling&lt;/strong&gt; Device modeling is used by Storage DRS to characterize the performance levels of the datastore. This information is used when Storage DRS needs to predict the benefit of a possible migration of a virtual machine. The workload model provides information about the I/O behavior of the VM, Storage DRS uses that as input and mixes this with the device model of the datastore in order to predict the increase of latency after the move. The device modeling of the datastore is done with the SIOC injector &lt;strong&gt;The workload&lt;/strong&gt; To get a proper model, the SIOC injector injects random read I/O to the disk. SIOC uses different amounts of outstanding IO to measure the latency. The duration of the complete cycle is 30 seconds and is trigger once a day per datastore. Although it’s a short-lived process, this workload does generate some overhead on the array and Storage DRS is designed to enable storage performance for your virtual machines, not to interfere with them. Therefor this workload will not run when activity is detected on the devices backing the datastore. &lt;strong&gt;Timer&lt;/strong&gt; As mentioned, the device modeling process runs for 30 seconds in order to characterize the device. If the IO injector starts and the datastore is active or becomes active, the IO injector will wait for 1 minute to start again. If the datastore is still busy, it will try again in 2 minutes, after that it idles for 4 minutes, after that 8 minutes, 16 minutes, 32 minutes, 1 hour and finally 2 hours. When the datastore is still busy after two hours after the initial start it will try to start the device modeling with an interval of 2 hours until the end of the day. &lt;img src="images/device-modeling-timer1.png" alt="" title="device modeling timer"&gt; If SIOC is not able to characterize the disk during that day, it will use the average value of all the other datastores in other not to influence the load balancing operations with false information and provide information that would favor this disk over other datastores that did provide actual data. The next day SIOC injector will try model the device again, but uses a skew back and forth of 2 hours from the previous period, this way during the year, Storage DRS will retrieve info across every period of the day. &lt;strong&gt;Key takeway&lt;/strong&gt; Overall we do not expect the array to be busy 24/7, there is always a window of 30 seconds where the datastore is idling. Having troubleshooting many storage related problems I know arrays are not stressed all day long, therefor I’m more than confident that Storage DRS will have accurate device models to use for its prediction models. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Apply User-defined Storage Capabilities to multiple datastore at once</title><link>https://frankdenneman.ai/2012-10-01-apply-user-defined-storage-capabilities-to-multiple-datastore-at-once/</link><pubDate>Mon, 01 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-01-apply-user-defined-storage-capabilities-to-multiple-datastore-at-once/</guid><description>&lt;p&gt;To get a datastore cluster to surface a (user-defined) storage capability, all datastores inside the datastore cluster must be configured with the same storage capability. &lt;img src="images/00-Datastore-Cluster-view.png" alt="" title="00-Datastore Cluster view"&gt; When creating Storage Capabilities, the UI does not contain a view where to associate a storage capability with multiple datastores. However that does not mean the web client does not provide you with the ability to do so. Just use the multi-select function of the webclient. Go to Storage, select the datastore cluster, select Related Objects and go to Datastores view. To select all datastores, click the first datastore, hold shift and select the last datastore. Right click and select assign storage capabilities. &lt;img src="images/01-perform-this-action.png" alt="" title="01-perform-this-action"&gt; Select the appropriate Storage capability and click on OK. &lt;img src="images/02-assign.png" alt="" title="02-assign"&gt; The Datastore Cluster summary tab now shows the user-defined Storage Capability. &lt;img src="images/03-surfaced-storage-capability.png" alt="" title="03-surfaced-storage-capability"&gt; Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Avoiding VMDK level over-commitment while using Thin disks and Storage DRS</title><link>https://frankdenneman.ai/2012-10-01-avoiding-vmdk-level-over-commitment-while-using-thin-disks-and-storage-drs/</link><pubDate>Mon, 01 Oct 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-10-01-avoiding-vmdk-level-over-commitment-while-using-thin-disks-and-storage-drs/</guid><description>&lt;p&gt;The behavior of thin provisioned disk VMDKs in a datastore cluster is quite interesting. Storage DRS supports the use of thin provisioned disks and is aware of both the configured size and the actual data usage of the virtual disk. When determining placement of a virtual machine, Storage DRS verifies the disk usage of the files stored on the datastore. To avoid getting caught out by instant data growth of the existing thin disk VMDKs, Storage DRS adds a buffer space to each thin disk. This buffer zone is determined by the advanced setting “PercentIdleMBinSpaceDemand&amp;quot;. This setting controls how conservative Storage DRS is with determining the available space on the datastore for load balancing and initial placement operations of virtual machines. &lt;strong&gt;IdleMB&lt;/strong&gt; The main element of the advanced option “PercentIdleMBinSpaceDemand” is the amount of IdleMB a thin-provisioned VMDK disk file contains. When a thin disk is configured, the user determines the maximum size of the disk. This configured size is referred to as “Provisioned Space”. When a thin disk is in use, it contains an x amount of data. The size of the actual data inside the thin disk is referred to as “allocated space”. The space between the allocated space and the provisioned space is called identified as the IdleMB. Let’s use this in an example. VM1 has a single VMDK on Datastore1. The total configured size of the VMDK is 6GB. VM1 written 2GB to the VMDK, this means the amount of IdleMB is 4GB. &lt;img src="images/01-IdleMB-datastore.png" alt="" title="01-IdleMB-datastore"&gt; &lt;strong&gt;PercentIdleMBinSpaceDemand&lt;/strong&gt; The PercentIdleMBinSpaceDemand setting defines percentage of IdleMB that is added to the allocated space of a VMDK during free space calculation of the datastore. The default value is set to 25%. When using the previous example, the PercentIdleMBinSpaceDemand is applied to the 4GB unallocated space, 25% of 4GB = 1 GB. &lt;strong&gt;Entitled Space Use&lt;/strong&gt; Storage DRS will add the result of the PercentIdleMBinSpaceDemand calculation to the consumed space to determine the “entitled space use”. In this example the entitled space use is: 2GB + 1GB = 3GB of entitled space use. &lt;img src="images/02-entitledspaceuse.png" alt="" title="02-entitledspaceuse"&gt; &lt;strong&gt;Calculation during placement&lt;/strong&gt; The size of Datastore1 is 10GB. VM1 entitled space use is 3GB, this means that Storage DRS determines that Datastore1 has 7GB of available free space. &lt;strong&gt;Changing the PercentIdleMBinSpaceDemand default setting&lt;/strong&gt; Any value from 0% to 100% is valid. This setting is applied on datastore cluster level. There can be multiple reasons to change the default percentage. By using 0%, Storage DRS will only use the allocated space, allowing high consolidation. This is might be useful in environments with static or extremely slow data increase. There are multiple use cases for setting the percentage to 100%, effectively disabling over-commitment on VMDK level. Setting the value to 100% forces Storage DRS to use the full size of the VMDK in its space usage calculations. Many customers are comfortable managing over-commitment of capacity only at storage array layer. This change allows the customer to use thin disks on thin provisioned datastores. &lt;strong&gt;Use case 1: NFS datastores&lt;/strong&gt; A use case is for example using NFS datastores. Default behavior of vSphere is to create thin disks when the virtual machine is placed on a NFS datastore. This forces the customer to accept a risk of over-commitment on VMDK level. By setting it to 100%, Storage DRS will use the provisioned space during free space calculations instead of the allocated space. &lt;strong&gt;Use case 2: Safeguard to protect against unintentional use of thin disks&lt;/strong&gt; This setting can also be used as safeguard for unintentional use of thin disks. Many customers have multiple teams for managing the virtual infrastructure, one team for managing the architecture, while another team is responsible for provisioning the virtual machines. The architecture team does not want over-commitment on VMDK level, but is dependent on the provisioning team to follow guidelines and only use thick disks. By setting “PercentIdleMBinSpaceDemand” to 100%, the architecture team is ensured that Storage DRS calculates datastore free space based on provisioned space, simulating “only-thick disks” behavior. &lt;strong&gt;Use-case 3: Reducing Storage vMotion overhead while avoiding over-commitment&lt;/strong&gt; By setting the percentage to 100%, no over-commitment will be allowed on the datastore, however the efficiency advantage of using thin disks remains. Storage DRS uses the allocated space to calculate the risk and the cost of a migration recommendation when a datastore avoids its I/O or space utilization threshold. This allows Storage DRS to select the VMDK that generates the lowest amount of overhead. vSphere only needs to move the used data blocks instead of all the zeroed out blocks, reducing CPU cycles. Overhead on the storage network is reduced, as only used blocks need to traverse the storage network. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Storage DRS demo available on VMware TV</title><link>https://frankdenneman.ai/2012-09-27-storage-drs-demo-available-on-vmware-tv/</link><pubDate>Thu, 27 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-27-storage-drs-demo-available-on-vmware-tv/</guid><description>&lt;p&gt;If you haven&amp;rsquo;t seen Storage DRS in action, check out the Storage DRS demo I&amp;rsquo;ve created for VMwareTV.&lt;/p&gt;
&lt;iframe width="640" height="360" src="http://www.youtube.com/embed/z77xmaxoNec" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/frankdenneman/"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>How to create VM to Host affinity rules using the webclient</title><link>https://frankdenneman.ai/2012-09-21-how-to-create-vm-to-host-affinity-rules-using-the-webclient/</link><pubDate>Fri, 21 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-21-how-to-create-vm-to-host-affinity-rules-using-the-webclient/</guid><description>&lt;p&gt;This article shows you how to create a VM to Host affinity rule using the new webclient. 1. Select host and clusters in the home screen. 2. Select the appropriate cluster. 3. Select the tab Manage and click on Settings. &lt;img src="images/02-Manage-Settings.png" alt="" title="02-Manage-Settings"&gt; 4. Click on the &amp;raquo; to expand the Cluster setting menu. &lt;img src="images/04-expanded-menu.png" alt="" title="04-expanded menu"&gt; 5. Select DRS Groups. 6. Click on Add to create a DRS Group. The dropdown box provides the ability to create a VM DRS group and a Host DRS group. The behavior of this window is a little tricky. When you create a group, you need to click on OK to actually create the group. If you create a VM DRS group first and then select the Host DRS group in the dropdown box before you click OK, the VM DRS group configuration is discarded. &lt;img src="images/03-Create-DRS-Group-name.png" alt="" title="03- Create DRS Group - name"&gt; 7. Create the VM DRS Group and provide the VM group a meaningful name. 8. Click on “Add” to select the virtual machines. 9. Click on OK to add the virtual machines to the group. &lt;img src="images/04-review-config.png" alt="" title="04-review config"&gt; 10. Review the configuration and click on OK to create the VM DRS Group. 11. Click on “Add” again to create the Host DRS Group. 12. Select Host DRS Group in the dropdown box and provide a name for the Host DRS Group. 13. Click on “Add” to select the hosts that participate in this group. 14. Click on OK to add the hosts to the group. &lt;img src="images/05-review-host-group.png" alt="" title="05- review host group"&gt; 15. Review the configuration and click on OK to create the Host DRS Group. 16. The DRS Groups view displays the different DRS groups in a single view. &lt;img src="images/06-overview-groups.png" alt="" title="06-overview groups"&gt; The groups are created, now it’s time to create the rules. 17. Select DRS Rules in the Cluster settings menu. &lt;img src="images/07-DRS-Rules.png" alt="" title="07-DRS Rules"&gt; 18. Click on “Add” to create the rule. &lt;img src="images/08-rules-config.png" alt="" title="08-rules-config"&gt; 19. Provide a name for this rule and check if the rule is enabled (default enabled) 20. Select the “Virtual Machines to Hosts” rule in the Type dropbox. 21. Select the appropriate VM Group and the corresponding Host Group. 22. Select the type affinity rule. For more information about the difference between should and must rule, read the article: “&lt;a href="https://frankdenneman.ai/2010/12/vm-host-affinity-rules-should-or-must/"&gt;Should or Must VM-Host affinity rules?&lt;/a&gt;”. In this example I’m selecting the should rule. 23. Click on Ok to create the rule. 24. Review your configuration in DRS rules screen. &lt;img src="images/09-Review-ruleset.png" alt="" title="09-Review ruleset"&gt; Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Technical paper: “VMware vCloud Director Resource Allocation Models” available for download</title><link>https://frankdenneman.ai/2012-09-20-technical-paper-vmware-vcloud-director-resource-allocation-models-available-for-download/</link><pubDate>Thu, 20 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-20-technical-paper-vmware-vcloud-director-resource-allocation-models-available-for-download/</guid><description>&lt;p&gt;Today the technical paper “&lt;a href="http://www.vmware.com/resources/techresources/10325"&gt;VMware vCloud Director Resource Allocation Models&lt;/a&gt;” has been made available for download on VMware.com. This whitepaper covers the allocation models used by vCloud Director 1.5 and how they interact with the vSphere layer. This paper helps you correlate the vCloud allocation model settings with the vSphere resource allocation settings. For example what happens on the vSphere layer when I set a guarantee on an Org VDC configured with the Allocation Pool Model. It provides insight on the distribution of resources on both the vCloud layer and vSphere layer and illustrates the impact of various allocation model settings on vSphere admission control. The paper contains a full chapter about allocation model in practice and demonstrates the effect of using various combinations of allocation models within a single provider vDC. Please note that this paper is based on vCloud Director 1.5 &lt;a href="http://www.vmware.com/resources/techresources/10325"&gt;http://www.vmware.com/resources/techresources/10325&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VM Storage Profiles and Storage DRS - Part 2 - Distributed VMs</title><link>https://frankdenneman.ai/2012-09-19-storage-drs-and-storage-profiles-part-2-distributed-vms/</link><pubDate>Wed, 19 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-19-storage-drs-and-storage-profiles-part-2-distributed-vms/</guid><description>&lt;p&gt;Mentioned in &lt;a href="https://frankdenneman.ai/2012/09/vm-storage-profiles-and-storage-drs-part-1/"&gt;part-1 of the Storage DRS and VM Storage Profiles&lt;/a&gt; series, Storage DRS expects “storage characteristics –alike” datastores inside a single datastore cluster. But what if you have multiple tiers of storage and you want to span the virtual machine across them? Storage profiles can assist in deploying the VMs across multiple datastore clusters safely and inline with your SLAs. &lt;strong&gt;Storage DRS Datastore architecture&lt;/strong&gt; When you have multiple tiers of storage, its recommended to create multiple datastore clusters and each datastore cluster contains disks from a single tier. Let’s assume you have three different kinds of disks in your array: SSD, FC 15K and SATA. &lt;img src="images/01-triple-sdc.png" alt="" title="01-triple sdc"&gt; Datastores backed by disk out a single pool are aggregated into a single datastore, resulting in three datastore clusters. Having multiple datastore clusters can increase the complexity of the provisioning process, using VM storage profiles ensures you that virtual machines or disk files are placed in the correct datastore cluster. &lt;strong&gt;Assign storage capabilities to datastores&lt;/strong&gt; All datastores within a single datastore cluster are associated with the same storage capability.&lt;/p&gt;</description></item><item><title>VM Storage Profiles and Storage DRS - Part 1</title><link>https://frankdenneman.ai/2012-09-18-vm-storage-profiles-and-storage-drs-part-1/</link><pubDate>Tue, 18 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-18-vm-storage-profiles-and-storage-drs-part-1/</guid><description>&lt;p&gt;In my previous article about &lt;a href="https://frankdenneman.ai/2012/09/how-to-attach-vm-storage-profiles-to-a-virtual-machine-using-the-web-client/"&gt;how to configure storage profiles using the web client&lt;/a&gt; I stated that different storage profiles could be assigned to a single virtual machine. Storage profiles can be used together with Storage DRS. Let’s take a closer look on how to use storage profiles with Storage DRS. &lt;strong&gt;Architectural view&lt;/strong&gt; VM storage profiles need to be connected to a storage capability to function. The storage capability itself needs to be associated to one or more datastores. A virtual machine in its whole can be associated with a storage profile, or you can use a more granular configuration and associate different storage profiles to the VM working directory and / or VMDK files. &lt;img src="images/00-storageprofiles.png" alt="" title="00-storageprofiles"&gt; &lt;strong&gt;Datastore cluster storage capabilities&lt;/strong&gt; You might have noticed that there isn’t a datastore cluster element depicted in the diagram. The storage capabilities of a datastore cluster are extracted from the associated storage capabilities of each datastore member. If all datastores are configured with the same storage capability, the datastore cluster surfaces this storage capability and becomes compliant with the connected VM storage profiles. For example, “Datastore cluster – Tier 1 VMs and VMDKs” contains 4 datastores. NFS-F-01, NFS-F-02, NFS-F-03 are associated with the storage capability “SSD low latency disk (Tier-1 VMs and VMDKs)” while datastore NFS-F-04 is associated with storage capability “FC 15K – High Speed disk (Tier 2 VMs and VMDKs)”. &lt;img src="images/01-different-sc.png" alt="" title="01-different sc"&gt; When reviewing the Storage Capabilities of the datastore cluster, no Storage Capability is displayed: &lt;img src="images/02-noSC.png" alt="" title="02-noSC"&gt; The VM Storage Profile “Tier 1 VMs and VMDK” is connected to the Storage Capability “SSD low latency disk (Tier-1 VMs and VMDKs)”. &lt;img src="images/03-vmsp.png" alt="" title="03-vmsp"&gt; When selecting storage during the deployment of a virtual machine, the datastore cluster is considered incompatible with the selected VM Storage Profile. &lt;img src="images/04-select-storage.png" alt="" title="04-select storage"&gt; &lt;strong&gt;Incompatible, but there are three datastores available with the correct Storage capabilities?&lt;/strong&gt; Although this is true, Storage DRS does not incorporate storage profiles compliancy in its balancing algorithms. Storage DRS is designed with the assumption that all disks backing the datastores are “storage characteristics-alike”. Manually selecting a datastore in the datastore cluster is only possible if the option “Disable Storage DRS for this virtual machine” is selected. Placing the VM on the specific datastore and then enabling Storage DRS later on that VM is futile. Storage DRS will load balance the VM if necessary, but it doesn’t take the VM storage profile compatibility into account when load balancing. So if you have, please remove this “workaround” in your operation manuals :) After removing the datastore with the dissimilar storage capability (NFS-F-04), the Datastore cluster surfaces “SSD – Low Latency disk (Tier-1 VMs and VMDKs)” and becomes compatible with virtual machines associated with the Tier-1 VM storage Profile. &lt;img src="images/05-SC-surfaced.png" alt="" title="05-SC-surfaced"&gt; Part 2 will cover &lt;a href="https://frankdenneman.ai/2012/09/storage-drs-and-storage-profiles-part-2-distributed-vms/"&gt;distributing virtual machine across multiple datastores using Storage Profiles&lt;/a&gt;. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VMworld Europe Sessions</title><link>https://frankdenneman.ai/2012-09-18-vmworld-europe-sessions/</link><pubDate>Tue, 18 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-18-vmworld-europe-sessions/</guid><description>&lt;p&gt;At VMworld Europe I will participate in Meet the Expert sessions, Group discussions and three breakout sessions. Here’s an overview of my public schedule. I hope to see you all in my sessions or participate in the group discussions. Or schedule a time slot in Meet the Expert if you have a question about Storage DRS or DRS that you want to ask me. &lt;strong&gt;Tuesday 9 October:&lt;/strong&gt; 11:00 – 12:00: Group Discussion 28 Resource Management 12:30 - 13:30: INF-VSP1168 Architecting a Cloud Infrastructure 14:00 – 15:00: INF-VSP1683 Resource Pool Best Practices &lt;strong&gt;Wednesday 10 October:&lt;/strong&gt; 11:00 – 12:00: Meet the Experts 05 12:30 – 13:30: Group Discussion 28 Resource Management 15:30 – 16:30: INF-STO1545 Architecting and designing (SDRS) Datastore Clusters &lt;strong&gt;Thursday 11 October:&lt;/strong&gt; 10:30 – 11:30: Meet the Experts 11&lt;/p&gt;</description></item><item><title>How to attach VM storage profiles to a virtual machine using the web client</title><link>https://frankdenneman.ai/2012-09-14-how-to-attach-vm-storage-profiles-to-a-virtual-machine-using-the-web-client/</link><pubDate>Fri, 14 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-14-how-to-attach-vm-storage-profiles-to-a-virtual-machine-using-the-web-client/</guid><description>&lt;p&gt;Virtual Machine Storage Profiles are used to identify the storage capabilities necessary in order to properly run the application within the virtual machine. VM Storage Profiles need to enabled first on the hosts and/or Cluster before you are able to assign them to a virtual machine. 1. Select VM Storage Profiles in the Home screen &lt;img src="images/00-home.png" alt="" title="00-home"&gt; 2. Select the Icon in the middle to enable VM Storage profiles &lt;img src="images/01-enable-VM-storage-profiles-650.png" alt="" title="01-enable VM storage profiles-650"&gt; 3. Select the cluster or host that you want to enable &lt;img src="images/02-enable-650.png" alt="" title="02-enable-650"&gt; Check if the host has the appropriate license 4. Create Storage Profiles &lt;img src="images/05-Configure-VM-Storage-Profile+650.png" alt="" title="05-Configure VM Storage Profile+650"&gt; A VM storage profile is attached to a Storage capability. In turn a Storage Capability profile is attached to a datastore. For more information about storage capabilities please read the article: &lt;a href="http://blogs.vmware.com/vsphere/2011/08/vsphere-50-storage-features-part-10-profile-driven-storage.html"&gt;vSphere 5.0 Storage Features Part 11 – Profile Driven Storage&lt;/a&gt; by Cormac Hogan. 5. Go back to home 6. Select VM and Templates 7. Select Datacenter in the left pane 8. Select the menu option &amp;ldquo;Related Objects&amp;rdquo; in the right pane 9. Select the menu option &amp;ldquo;Virtual Machines&amp;rdquo; &lt;img src="images/09-vm-view-650.png" alt="" title="09-vm view-650"&gt; 10. Right click on a virtual machine 11. Select All vCenter Actions 12. Select Storage Profiles 13. Select Manage Storage Profiles &lt;img src="images/07-Manage-Storage-Profiles-650.png" alt="" title="07-Manage Storage Profiles-650"&gt; 14. Apply the VM storage Profiles to the working directory and disk &lt;img src="images/08-apply-storage-profiles-650.png" alt="" title="08- apply storage profiles-650"&gt; Please note that you can assign different storage profiles to the virtual machine working directory and each single VMDK. The working directory is where the .vmx, .nvram, .log resides. This is listed in the UI as the Home VM location. Each VMDK can be assigned with a different storage profile to align it with your SLA’s.&lt;/p&gt;</description></item><item><title>How to create a datastore cluster using the new web client.</title><link>https://frankdenneman.ai/2012-09-12-how-to-create-a-datastore-cluster-using-the-new-web-client/</link><pubDate>Wed, 12 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-12-how-to-create-a-datastore-cluster-using-the-new-web-client/</guid><description>&lt;p&gt;vSphere 5.1 main user interface is provided by the web client, during beta testing I spend some time to get accustomed to the new user interface. In order to save you some time, I created this write-up on how to create a datastore cluster using the web client. I assume you already installed the new vCenter 5.1. If not, check out’s Duncan post on how to install the &lt;a href="http://www.yellow-bricks.com/2012-09-11-back-to-basics-deploying-the-vcenter-server-appliance/"&gt;new vCenter Server Appliance&lt;/a&gt;. Before showing the eight easy steps that need to be taken when creating a datastore cluster, I want to list some constraints and the recommendations for creating datastore clusters. &lt;strong&gt;Constraints:&lt;/strong&gt; • VMFS and NFS cannot be part of the same datastore cluster. • Similar disk types should be used inside a datastore cluster. • Maximum of 64 datastores per datastore cluster. • Maximum of 256 datastore clusters per vCenter Server. • Maximum of 9000 VMDKs per datastore cluster &lt;strong&gt;Recommendations:&lt;/strong&gt; • Group disks with similar characteristics (RAID-1 with RAID-1, Replicated with Replicated, etc.) • Leverage information provided by vSphere Storage APIs - Storage Awareness &lt;strong&gt;The Steps&lt;/strong&gt; &lt;strong&gt;1. Go to the Home screen and select Storage&lt;/strong&gt; &lt;img src="images/01-storage-650.png" alt="" title="01-storage-650"&gt; &lt;strong&gt;2. Select the Datastore Clusters icon in Related Objects view.&lt;/strong&gt; &lt;img src="images/02-datastore-cluster-6501.png" alt="" title="02-datastore cluster-650"&gt; &lt;strong&gt;3. Name and Location&lt;/strong&gt; The first steps are to enable Storage DRS, specify the datastore cluster name and check if the “Turn on Storage DRS” option is enabled. &lt;img src="images/03-new-datastore-cluster-650.png" alt="" title="03-new datastore cluster-650"&gt; When “Turn on Storage DRS” is activated, the following functions are enabled: • Initial placement for virtual disks based on space and I/O workload • Space load balancing among datastores within a datastore cluster • IO load balancing among datastores within a datastore cluster The “Turn on Storage DRS” check box enables or disables all of these components at once. If necessary, I/O balancing functions can be disabled independently.If Storage DRS is not enabled, a datastore cluster will be created which lists the datastores underneath, but Storage DRS won’t recommend any placement action for provisioning or migration operations on the datastore cluster. When you want to disable Storage DRS on an active datastore cluster, please note that all the Storage DRS settings, e.g. automation level, aggressiveness controls, thresholds, rules and Storage DRS schedules are saved so they may be restored to the same state at the moment Storage DRS was disabled. &lt;strong&gt;4. Storage DRS Automation&lt;/strong&gt; Storage DRS offers two automation levels: &lt;img src="images/04-Storage-DRS-automation-650.png" alt="" title="04-Storage DRS automation-650"&gt; &lt;strong&gt;No Automation (Manual Mode)&lt;/strong&gt; Manual mode is the default mode of operation. When the datastore cluster is operating in manual mode, placement and migration recommendations are presented to the user, but are not executed until they are manually approved. &lt;strong&gt;Fully Automated&lt;/strong&gt; Fully automated allows Storage DRS to apply space and I/O load-balance migration recommendations automatically. No user intervention is required. However, initial placement recommendations still require user approval. Storage DRS allows virtual machines to have individual automation level settings that override datastore cluster-level automation level settings. Similar to when DRS was introduced, I recommend to start using manual mode first and review the generated recommendations. If you are comfortable with the decision matrix of Storage DRS you can switch to fully automated. Please note that you can switch between modes on the fly and without incurring downtime. &lt;strong&gt;5. Storage DRS Runtime Settings&lt;/strong&gt; &lt;img src="images/05-Storage-DRS-runtime-settings-650.png" alt="" title="05-Storage DRS runtime settings-650"&gt; Keep the defaults for now. Future articles expand upon the Storage DRS thresholds and advanced options. &lt;strong&gt;6. Select Clusters and Hosts&lt;/strong&gt; The “Select Hosts and Clusters” view allows the user to select one or more (DRS) clusters to work with. Only clusters within the same vCenter datacenter can be selected, as the vCenter datacenter is the boundary for Storage DRS to operate in. &lt;img src="images/07-Select-Clusters-and-Hosts-650.png" alt="" title="07-Select Clusters and Hosts-650"&gt; &lt;strong&gt;7. Select Datastores&lt;/strong&gt; By default, only datastores connected to all hosts in the selected (DRS) cluster(s) are shown. The Show datastore dropdown menu provides the options to show partially connected datastores. The article &lt;a href="https://frankdenneman.ai/2011/10/partially-connected-datastore-clusters/"&gt;partially connected datastore cluster&lt;/a&gt; gives you insight of the impact of this design decision. &lt;img src="images/08-Select-datastores-650.png" alt="" title="08-Select datastores-650"&gt; &lt;strong&gt;8. Ready to Complete&lt;/strong&gt; The “Ready to Complete” screen provides an overview of all the settings configured by the user. &lt;img src="images/09-Ready-to-complete-650.png" alt="" title="09-Ready to complete-650"&gt; Review the configuration of your new datastore cluster and click on finish.&lt;/p&gt;</description></item><item><title>Where is my new vMotion functionality?</title><link>https://frankdenneman.ai/2012-09-11-where-is-my-new-vmotion-functionality/</link><pubDate>Tue, 11 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-11-where-is-my-new-vmotion-functionality/</guid><description>&lt;p&gt;Just a reminder as I received a lot of questions and comments about this: The new vMotion functionality - migrating virtual machines between host without shared storage - is only available via the web client. Please note that in the vSphere 5.1 release all new features are only visible via the web client and not in the old vSphere client. &lt;img src="images/7650029738_569a850602.jpg" alt="" title="7650029738_569a850602"&gt; For more information about the vMotion functionality: &lt;a href="https://frankdenneman.ai/2012/09/vsphere-5-1-vmotion-deepdive" title="vSphere 5.1 vMotion deepdive"&gt;vSphere 5.1 vMotion deepdive&lt;/a&gt; Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>vSphere 5.1 vMotion Deep Dive</title><link>https://frankdenneman.ai/2012-09-07-vsphere-5-1-vmotion-deepdive/</link><pubDate>Fri, 07 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-07-vsphere-5-1-vmotion-deepdive/</guid><description>&lt;p&gt;vSphere 5.1 vMotion enables a virtual machine to change its datastore and host simultaneously, even if the two hosts don&amp;rsquo;t have any shared storage in common. For me this is by far the coolest feature in the vSphere 5.1 release, as this technology opens up new possibilities and lays the foundation of true portability of virtual machines. As long as two hosts have (L2) network connection we can live migrate virtual machines. Think about the possibilities we have with this feature as some of the current limitations will eventually be solved, think inter-cloud migration, think follow the moon computing, think big! The new vMotion provides a new level of ease and flexibility for virtual machine migrations and the beauty of this is that it spans the complete range of customers. It lowers the barrier for vMotion use for small SMB shops, allowing them to leverage local disk and simpler setups, while big datacenter customers can now migrate virtual machines between clusters that may not have a common set of datastores between them. Let’s have a look at what the feature actually does. In essence, this technology combines vMotion and Storage vMotion. But instead of either copying the compute state to another host or the disks to another datastore, it is a unified migration where both the compute state and the disk are transferred to different host and datastore. All is done via the vMotion network (usually). The moment the new vMotion was announced at VMworld, I started to receive questions. Here are the most interesting ones that allows me to give you a little more insight of this new enhancement. &lt;strong&gt;Migration type&lt;/strong&gt; One of the questions I have received is, will the new vMotion always move the disk over the network? This depends on the vMotion type you have selected. When selecting the migration type; three options are available: &lt;img src="images/7650029738_569a850602.jpg" alt="" title="7650029738_569a850602"&gt; This may be obvious to most, but I just want to highlight it again. A Storage vMotion will never move the compute state of a VM to another host while migrating the data to another datastore. Therefore when you just want to move a VM to another host, select vMotion, when you only want to change datastores, select Storage vMotion. &lt;strong&gt;Which network will it use?&lt;/strong&gt; vMotion will use the designated vMotion network to copy the compute state and the disks to the destination host when copying disk data between non-shared disks. This means that you need to the extra load into account when the disk data is being transferred. Luckily the vMotion team improved the vMotion stack to reduce the overhead as much as possible. &lt;img src="images/01-local-datastore-data-copy.png" alt="" title="01-local datastore-data copy"&gt; &lt;strong&gt;Does the new vMotion support multi-NIC for disk migration?&lt;/strong&gt; The disk data is picked up by the vMotion code, this means vMotion transparently load balances the disk data traffic over all available vMotion vmknics. vSphere 5.1 vMotion leverages all the enhancements introduced in the vSphere 5.0 such as Multi-NIC support and SDPS. Duncan wrote a &lt;a href="http://www.yellow-bricks.com/2011-07-20-vsphere-50-vmotion-enhancements/"&gt;nice article&lt;/a&gt; on these two features. &lt;strong&gt;Is there any limitation to the new vMotion when the virtual machine is using shared vs. unshared swap ?&lt;/strong&gt; No, either will work, just as with the traditional vMotion. &lt;strong&gt;Will the new vMotion features be leveraged by DRS/DPM/Storage DRS ?&lt;/strong&gt; In vSphere 5.1 DRS, DPM and Storage DRS will not issue a vMotion that copies data between datastores. DRS and DPM remains to leverage traditional vMotion, while Storage DRS issues storage vMotions to move data between datastores in the datastore cluster. Maintenance mode, a part of the DRS stack, will not issue a data moving vMotion operation. Data moving vMotion operations are more expensive than traditional vMotion and the cost/risk benefit must be taken into account when making migration decisions. A major overhaul of the DRS algorithm code is necessary to include this into the framework, and this was not feasible during this release. &lt;strong&gt;How many concurrent vMotion operations that copies data between datastores can I run simultaneously?&lt;/strong&gt; A vMotion that copies data between datastores will count against the limitations of concurrent vMotion and Storage vMotion of a host. In vSphere 5.1 one cannot perform more than 2 concurrent Storage vMotions per host. As a result no more than 2 concurrent vMotions that copy data will be allowed. For more information about the costs of the vMotion process, I recommend to read the article: “&lt;a href="https://frankdenneman.ai/2012/06/limiting-the-number-of-storage-vmotions/"&gt;Limiting the number of Storage vMotions&lt;/a&gt;” &lt;strong&gt;How is disk data migration via vMotion different from a Storage vMotion?&lt;/strong&gt; The main difference between vMotion and Storage vMotion is that vMotion does not “touch” the storage subsystem for copy operations of non-shared datastores, but transfers the disk data via an Ethernet network. Due to the possibilities of longer distances and higher latency, disk data is transferred asynchronously. To cope with higher latencies, a lot of changes were made to the buffer structure of the vMotion process. However if vMotion detects that the Guest OS issues I/O faster than the network transfer rate, or that the destination datastore is not keeping up with the incoming changes, vMotion can switch to synchronous mirror mode to ensure the correctness of data. &lt;strong&gt;I understand that the vMotion module transmits the disk data to the destination, but how are changed blocks during migration time handled?&lt;/strong&gt; For disk data migration vMotion uses the same architecture as Storage vMotion to handle disk content. There are two major components in play – bulk copy and the mirror mode driver. vMotion kicks off a bulk copy and copies as much as content possible to the destination datastore via the vMotion network. During this bulk copy, blocks can be changed, some blocks are not yet copied, but some of them can already reside on the destination datastore. If the Guest OS changes blocks that are already copied by the bulk copy process, the mirror mode drive will write them to the source and destination datastore, keeping them both in lock-step. The mirror mode driver ignores all the blocks that are changed but not yet copied, as the ongoing bulk copy will pick them up. To keep the IO performance as high as possible, a buffer is available for the mirror mode driver. If high latencies are detected on the vMotion network, the mirror mode driver can write the changes to the buffer instead of delaying the I/O writes to both source and destination disk. If you want to know more about the mirror mode driver, &lt;a href="http://www.yellow-bricks.com/2011-07-14-vsphere-5-0-storage-vmotion-and-the-mirror-driver/"&gt;Yellow bricks&lt;/a&gt; contains a out-take of our book about the mirror mode driver. &lt;img src="images/02-mirror-mode.png" alt="" title="02 - mirror mode"&gt; &lt;strong&gt;What is copied first, disk data or the memory state?&lt;/strong&gt; If data is copied from non-shared datastores, vMotion must migrate the disk data and the memory across the vMotion network. It must also process additional changes that occur during the copy process. The challenge is to get to a point where the number of changed blocks and memory are so small that they can be copied over and switch over the virtual machine between the hosts before any new changes are made to either disk or memory. Usually the change rate of memory is much higher than the change rate of disk and therefore the vMotion process start of with the bulk copy of the disk data. After the bulk data process is completed and the mirror mode driver processes all ongoing changes, vMotion starts copying the memory state of the virtual machine. &lt;strong&gt;But what if I share datastores between hosts; can I still use this feature and leverage the storage network?&lt;/strong&gt; Yes and this is very cool piece of code, to avoid overhead as much as possible, the storage network will be leveraged if both the source and destination host have access to the destination datastore. For instance, if a virtual machine resides on a local datastore and needs to be copied to a datastore located on a SAN, vMotion will use the storage network to which the source host is connected. In essence a Storage vMotion is used to avoid vMotion network utilization and additional host CPU cycles. &lt;img src="images/03-shared-datastore-data-copy.png" alt="" title="03-shared datastore-data copy"&gt; &lt;strong&gt;Because you use Storage vMotion, will vMotion leverage VAAI hardware offloading?&lt;/strong&gt; If both the source and destination host are connected to the destination datastore and the datastore is located on an array that has VAAI enabled, Storage vMotion will offload the copy process to the array. &lt;strong&gt;Hold on, you are mentioning Storage vMotion, but I have Essential Plus license, do I need to upgrade to Standard?&lt;/strong&gt; To be honest I try to keep away from the licensing debate as far as I can, but this seems to be the most popular question. If you have an Essential Plus license you can leverage all these enhancements of vMotion in vSphere 5.1. You are not required to use a standard license if you are going to migrate to a shared storage destination datastore. &lt;strong&gt;For any other licensing question or remark, please contact your local VMware SE / account manager.&lt;/strong&gt; &lt;strong&gt;Update:&lt;/strong&gt; Essential plus customers, please update to vCenter 5.1.0A. For more details read the follow article: &lt;a href="https://frankdenneman.ai/vmware/vmotion-bug-fixed-in-vcenter-server-5-1-0a/" title="https://frankdenneman.ai/vmware/vmotion-bug-fixed-in-vcenter-server-5-1-0a/"&gt;&amp;ldquo;vMotion bug fixed in vCenter Server 5.1.0a&amp;rdquo;.&lt;/a&gt; Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Storage DRS datastore cluster default affinity rule</title><link>https://frankdenneman.ai/2012-09-05-storage-drs-datastore-cluster-default-affinity-rule/</link><pubDate>Wed, 05 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-05-storage-drs-datastore-cluster-default-affinity-rule/</guid><description>&lt;p&gt;In vSphere 5.1 you can configure the default (anti) affinity rule of the datastore cluster via the user interface. Please note that this feature is only available via the web client. The vSphere client does not contain this option. By default the Storage DRS applies an intra-VM vmdk affinity rule, forcing Storage DRS to place all the files and vmdk files of a virtual machine on a single datastore. By deselecting the option “Keep VMDKs together by default” the opposite becomes true and an Intra-VM anti-affinity rule is applied. This forces Storage DRS to place the VM files and each VDMK file on a separate datastore. &lt;img src="images/affinity-rule-UI.png" alt="" title="affinity rule UI"&gt; Please read the article: “&lt;a href="https://frankdenneman.ai/2012/02/impact-of-intra-vm-affinity-rules-on-storage-drs/"&gt;Impact of intra-vm affinity rules on storage DRS&lt;/a&gt;” to understand the impact of both types of rules on load balancing.&lt;/p&gt;</description></item><item><title>vSphere 5.1 storage vMotion parallel disk migrations</title><link>https://frankdenneman.ai/2012-09-04-vsphere-5-1-storage-vmotion-parallel-disk-migrations/</link><pubDate>Tue, 04 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-04-vsphere-5-1-storage-vmotion-parallel-disk-migrations/</guid><description>&lt;p&gt;Where previous versions of vSphere copied disks serially, vSphere 5.1 allows up to 4 parallel disk copies per Storage vMotion operation When you migrate a virtual machine with five VMDK files, Storage vMotion copies of the first four disks in parallel, then starts the next disk copy as soon as one of the first four finishes. &lt;img src="images/1-Parallel-Storage-vMotion-overview6.png" alt="" title="1 - Parallel Storage vMotion overview"&gt; To reduce performance impact on other virtual machines sharing the datastores, parallel disk copies only apply to disk copies between distinct datastores. This means that if a virtual machine has multiple VMDK files on Datastore1 and Datastore2, parallel disk copies will only happen if destination datastores are Datastore3 and Datastore4. &lt;img src="images/2-Parallel-migration-of-VMDKs-on-distinct-datastores2.png" alt="" title="2 - Parallel migration of VMDKs on distinct datastores"&gt; Let’s use an example to clarify the process. Virtual machine VM1 has four vmdk files. VMDK1 and VMDK2 are on Datastore1, VMDK3 and VMDK4 are on Datastore2. The VMDK files are moved from Datastore1 to Datastore4 and from Datastore2 to Datastore3. VMDK1 and VMDK3 are migrated in parallel, while VMDK2 and VMDK4 are queued. The migration process of VMDK2 is started the moment the migration of VMDK1 is complete, similar for VMDK4 as it will be started when the migration of VMDK3 is complete. &lt;img src="images/Fig-145-Multiple-migrations-to-select-distinct-datastores.png" alt="" title="Fig 145 - Multiple migrations to select distinct datastores"&gt; A fan out disk copy, in other words copying two VMDK files on datastore A to datastores B and C, will not have parallel disk copies. The common use case of parallel disk copies is the migration of a virtual machine configured with an anti-affinity rule inside a datastore cluster.&lt;/p&gt;</description></item><item><title>Storage DRS datastore correlation detector</title><link>https://frankdenneman.ai/2012-09-03-storage-drs-datastore-correlation-detector/</link><pubDate>Mon, 03 Sep 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-09-03-storage-drs-datastore-correlation-detector/</guid><description>&lt;p&gt;One of the cool new features of Storage DRS in vSphere 5.1 is the datastore correlation detector used by the SIOC injector. Storage arrays have many ways to configure datastores from among the available physical disk and controller resources in the array. Some arrays allow sharing of back-end disks and RAID groups across multiple datastores. When two datastores share backend resources, their performance characteristics are tied together: when one datastore experiences high latency, the other datastore will also experience similar high latency since IOs from both datastore are being serviced by the same disks. These datastores are considered “performance-related”. I/O load balancing operations in vSphere 5.1 avoid recommending migration of virtual machines between two performance-correlated datastores. &lt;strong&gt;I/O load balancing algorithm&lt;/strong&gt; Storage DRS collects several virtual machine metrics to analyze the workload generated by the virtual machines within the datastore cluster. These metrics are aggregated in a workload model. To effectively distribute the different load of the virtual machines across the datastores, Storage DRS needs to understand the performance (latency) of each datastore. When a datastore violates its I/O load threshold, Storage DRS moves virtual machines out of the datastore. By linking workload models to device models, Storage DRS is able to select a datastore with a low I/O load when placing a virtual machine with a high I/O load during load balance operations. &lt;strong&gt;Performance related datastores&lt;/strong&gt; However if data is moved between datastores that are backed by the same disks, the move may not decrease the latency experienced on the source datastore as the same set of disks, spindles or RAID-groups service the destination datastore as well. I/O load balancing recommendations should avoid using two performance-correlated datastores, since moving a virtual machine from the source datastore to the destination datastore has no effect on the datastore latency. How does Storage DRS discover performance related datastores? How does it work? The datastore correlation detector measures performance during isolation and when concurrent IOs are pushed to multiple datastores. The basic mechanism of correlation detector is rather straightforward: compare the overall latency when two datastores are being used alone in isolation and when there are concurrent IO streams on both of the datastores. If there is no performance correlation, the concurrent IO to the other datastore should have no effect. Contrariwise, if two datastores are performance correlated, then concurrent IO stream should amplify the average IO latency on both datastores. Please note that datastores will be checked for correlation on a regular basis. This allows Storage DRS to detect changes to the underlying storage configuration. &lt;strong&gt;Example scenario&lt;/strong&gt; In this scenario Datastore1 and Datastore2 are backed by disk devices grouped in Diskgroup1, while Datastore3 and Datastore4 are backed by disk devices grouped in Diskgroup2. All four datastores belong to a single datastore cluster. &lt;img src="images/1-architecture1.png" alt="" title="1-architecture"&gt; After SIOC has run the workload and device models on a datastore, SIOC picks a random datastore in the datastore cluster to check for correlations. If both datastores are idle, the datastore correlation detector uses the same workload to measure the average I/O latency in isolation and concurrent I/O mode. &lt;strong&gt;Isolation&lt;/strong&gt; The SIOC injector measures the average IO latency of Datastore1 in isolation. This means it measures the latency of the outstanding I/O of Datastore1 alone. Next, it measures the average IO latency of Datastore2 in isolation. &lt;img src="images/2-Isolation1.png" alt="" title="2-Isolation"&gt; &lt;strong&gt;Concurrent I/Os&lt;/strong&gt; The first two steps are used to establish the baseline for each datastore. In the third step the SIOC injector sends concurrent I/O to both datastores simultaneously. &lt;img src="images/3-concurrent-IO-streams1.png" alt="" title="3-concurrent IO streams"&gt; This results in the behavior that Storage DRS does not recommend any I/O load balancing operations between Datastore1 and 2 and Datastore3 and 4, but it can recommend for example to move virtual machines from Datastore1 to Datastore2 or from Datastore2 to Datastore3, etc. All moves are possible as long as the datastores are not correlated. &lt;img src="images/4-IO-migrations3.png" alt="" title="4 - IO migrations"&gt; &lt;strong&gt;Enable Storage DRS on performance-correlated datastores?&lt;/strong&gt; When two datastores are marked as performance-correlated, Storage DRS does not generate IO load balancing recommendations between those two datastores. However Storage DRS can be used for initial placement and still generate recommendations to move virtual machines between two correlated datastores to address out of space situations or to correct rule violations. Please keep in mind that some arrays use a subset of disk out of a larger diskpool to back a single datastore. With these configurations, it appears that all disks in a diskpool back all the datastores but in reality they don&amp;rsquo;t. Therefor I recommend to set Storage DRS automation mode to manual and review the migration recommendations to understand if all datastores within the diskpool are performance-correlated.&lt;/p&gt;</description></item><item><title>vSphere 5.1 Clustering Deepdive available</title><link>https://frankdenneman.ai/2012-08-28-vsphere-5-1-clustering-deepdive-available/</link><pubDate>Tue, 28 Aug 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-08-28-vsphere-5-1-clustering-deepdive-available/</guid><description>&lt;p&gt;&lt;img src="images/41e+A+MhUeL._SL500_AA300_.jpg" alt="" title="41e+A+MhUeL._SL500_AA300_"&gt; Duncan and I released the vSphere 5.1 Clustering deepdive book this week. The book contains the new features of the vSphere 5.1 suite. We rewrote the Storage DRS chapter and have added a complete new chapter focusing on Stretched Clusters. &lt;strong&gt;Font changes&lt;/strong&gt; The challenge for us was to include all the new content in the book without allowing the book to grow beyond its trademark dimensions. To achieve this we used a different font and decreased the font size, this resulted in a growth of 80 pages, making it 415 pages instead of the 505 pages if we used the previous font. Please note that although we decreased the font size, this did not decrease the legibility of the book. &lt;strong&gt;Special cover&lt;/strong&gt; The cover is designed in such a way that you can actually have multiple copies with all different shades of orange, dare I say 50 shades of Orange. ;) We hope you enjoy the new version of the vSphere clustering deepdive series. It’s available in Paperback and Kindle format. &lt;a href="http://www.amazon.com/gp/product/1478183411/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1478183411&amp;amp;linkCode=as2&amp;amp;tag=frankdenneman-20"&gt;Paper copy – $ 24.95&lt;/a&gt; &lt;a href="http://www.amazon.com/gp/product/B0092PX72C/ref=as_li_tf_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B0092PX72C&amp;amp;linkCode=as2&amp;amp;tag=frankdenneman-20"&gt;Kindle version – $ 7.49&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CloudPhysics in a nutshell</title><link>https://frankdenneman.ai/2012-08-22-cloudphysics-in-a-nutshell/</link><pubDate>Wed, 22 Aug 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-08-22-cloudphysics-in-a-nutshell/</guid><description>&lt;p&gt;Disclaimer: I’m a technical advisor for CloudPhysics. I’m very happy to see &lt;a href="http://www.cloudphysics.com/index.html"&gt;CloudPhysics&lt;/a&gt; coming out of stealth mode this week and making their beta product available to the public. In a nutshell CloudPhysics is bringing Big Data analytics to the IT environment and it will provide you with tools to analyze your datacenter. How does it acquire this dataset and what benefit do you get from it? &lt;strong&gt;The Observer Appliance&lt;/strong&gt; To gather all that data, an Observer Appliance needs to run in the virtual infrastructure. And in order to get a valuable dataset that is used for analytics and simulations the Observer needs to be active in as many as virtual infrastructures as possible. Running an appliance that sends operational data to a third party like CloudPhysics can be a security concern. Going into detail about how CloudPhysics designed the system to handle privacy, security and data sharing issues is outside the scope of this article. In short, data extracted from the virtual infrastructure are performance statistics and inventory and configuration settings. All environmental details are scrubbed and no log files or content of disk and memory is gathered. &lt;strong&gt;The User Interface&lt;/strong&gt; The data acquired by the Observer Appliance is accessible at &lt;a href="https://app.cloudphysics.com."&gt;https://app.cloudphysics.com.&lt;/a&gt; Logging in will give you access to your own data. The beta product provides a user interface that allows you to dive into specific focus areas. The UI provides so-called cards that displays key data points and is a launch point to a more detailed view. This view can contain information about the relationship with other features of the vSphere stack. An example of such a card would be Virtual Machine level reservations. Not only does this card provide you information about the present virtual machine level reservations in your environment in a clear and concise manner, it also displays the impact the reservation has on the High Availability slot size and therefor the consolidation ratio of your cluster. All this information combined in a single screen, no need to navigate through multiple screens and correlate particular metrics. &lt;img src="images/utility-cards-300x190.png" alt="" title="utility-cards"&gt; &lt;strong&gt;Correlation of metrics&lt;/strong&gt; Correlation of particular settings and understanding the impact each setting has on a complex environment, such as a virtual infrastructure, is time consuming and above all very difficult. This correlation of metrics allows you to save time, but it also helps you understand behavior of your environment. Now you might ask how do you know you can trust if these correlations are correct and this is one of the most interesting things about this product. It’s a combination of product expertise and community driven input. &lt;strong&gt;The two pillars of knowledge&lt;/strong&gt; The CloudPhysics team comprises of industry heavy hitters. Some of these persons invented core features of the vSphere stack while working for VMware, while others made their mark at other industry leading companies. The second pillar is the community involvement. In this beta program, registered users can suggest ideas for utility cards. Domain experts will verify the community provided cards on technical accuracy. &lt;strong&gt;Near-future developments&lt;/strong&gt; One thing I’m very exited about is the upcoming High Availability and DRS simulation tools. Both HA and DRS can be a challenge to configure as some settings impact the virtual infrastructure on multiple levels. The HA and DRS simulation analyzes current settings and provides you a platform where you can predict the effects of a change on your environment. &lt;strong&gt;VMworld Challenge 2012&lt;/strong&gt; Now back to the current status. CloudPhysics is running a &lt;a href="http://www.cloudphysics.com/challenge.html"&gt;VMworld Challenge 2012&lt;/a&gt;. The contest allows you to describe the problems you are facing, such as “I’m applying different disk shares in my environment but I cannot see the worst case scenario allocation”. The more card you produce, the more points you score. To increase your score, download the Observer Appliance and take your environment for a test drive. The more activity you generate, the more points you accumulate. How will you benefit from this contest, first of all, if you are located in the U.S. you can win some great prices. (Due to U.S legislation, non-U.S. residents are excluded from winning prizes), but by submitting cards you improve the system and the quality of the reporting tool and simulation tool. &lt;strong&gt;Resource Management as a Service&lt;/strong&gt; I started of with a disclaimer, I am a technical advisor to CloudPhysics and you can expect to see more articles about the development of CloudPhysics. As I’m able to work with the inventors of DRS and Storage DRS, a lot of my focus is on resource management. Together with the input of the community, the continuous analysis by domain experts you can expect that this might well turn out as Resource Management as a Service.&lt;/p&gt;</description></item><item><title>VM templates and Storage DRS</title><link>https://frankdenneman.ai/2012-08-22-vm-templates-and-storage-drs/</link><pubDate>Wed, 22 Aug 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-08-22-vm-templates-and-storage-drs/</guid><description>&lt;p&gt;Please note that Storage DRS cannot move VM templates via storage vMotion. This can impact load balancing operations or datastore maintenance mode operations. When initiating Datastore Maintenance mode, the following message is displayed: &lt;img src="images/Templates-and-D-MM-300x181.png" alt="" title="Templates and D-MM"&gt; As maintenance mode is commonly used for array migrations of datastore upgrade operations (VMFS-3 to VMFS-5), remember to convert the VM template to a virtual machine first before initiating maintenance mode.&lt;/p&gt;</description></item><item><title>My public VMworld schedule</title><link>https://frankdenneman.ai/2012-08-20-my-public-vmworld-schedule/</link><pubDate>Mon, 20 Aug 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-08-20-my-public-vmworld-schedule/</guid><description>&lt;p&gt;This year will be an action-packed VMWorld for me, presenting sessions, participating in two panel sessions, hosting a group discussion and available in two “Meet the expert” sessions. Presenting the following sessions: INF-STO1545 - Architecting Storage DRS Datastore Clusters INF-VSP1683 - VMware vSphere Cluster Resource Pools Best Practices Panel sessions: (TAM Day) - ASK THE EXPERTS INF-VSP1504 - Ask the Expert vBloggers Hosting the GD22 - Resource management (DRS/SDRS) group discussion. I invited Anne Holler (Lead engineer DRS) to host this session together with me. During Meet the Experts session 13 and session 17 I’m available for short meetings to answer your resource management (DRS\SDRS) questions. Here is the week schedule of the sessions/events/activities that I will be taking part of, be sure to sign up if you have not already: Sunday (TAM Day): 14:35 – 15:35 : ASK THE EXPERTS Monday: 14:30 – 15:30 : &lt;a href="https://vmworld2012.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1504"&gt;INF-VSP1504 - Ask the Expert vBloggers&lt;/a&gt; 16:00 – 17:00 : &lt;a href="https://vmworld2012.activeevents.com/connect/sessionDetail.ww?SESSION_ID=3488"&gt;GD22 – Resource Management&lt;/a&gt; Tuesday: 12:30 – 13:30 : &lt;a href="https://vmworld2012.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1545"&gt;INF-STO1545 - Architecting Storage DRS Datastore Clusters&lt;/a&gt; (Repeat session) 15:00 – 16:00 : &lt;a href="https://vmworld2012.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1683"&gt;INF-VSP1683 - vSphere Cluster Resource Pools Best Practices&lt;/a&gt; Wednesday: 08:30 – 09:30 : &lt;a href="https://vmworld2012.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1545"&gt;INF-STO1545 - Architecting Storage DRS Datastore Clusters&lt;/a&gt; 12:30 – 13:30 : &lt;a href="https://vmworld2012.activeevents.com/connect/sessionDetail.ww?SESSION_ID=3559"&gt;Expert 13&lt;/a&gt; Thursday: 12:00 – 12:00 : &lt;a href="https://vmworld2012.activeevents.com/connect/sessionDetail.ww?SESSION_ID=3563"&gt;Expert 17&lt;/a&gt;&lt;/p&gt;</description></item><item><title>DRS and memory balancing in non-overcomitted clusters</title><link>https://frankdenneman.ai/2012-08-10-drs-and-memory-balancing-in-non-overcomitted-clusters/</link><pubDate>Fri, 10 Aug 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-08-10-drs-and-memory-balancing-in-non-overcomitted-clusters/</guid><description>&lt;p&gt;First things first, I normally do not recommend changing advanced settings. Always try to tune system behavior by changing the settings provided by the user interface or try to understand system behavior and how it aligns with your design. &lt;strong&gt;The “problem”&lt;/strong&gt; DRS load balancing recommendations could be sub-optimal when no memory overcommitment is preferred. Some customers prefer not to use memory overcommitment. The clusters contain (just) enough memory capacity to ensure all running virtual machines have their memory backed by physical memory. Nowadays it is not uncommon seeing virtual machines with fairly highly allocated (consumed) memory and due to the use of large pages on hosts with recent CPU architectures, little to no memory is shared. Common scenario with this design is a usual host memory load of 80-85% consumed. In this situation, DRS recommendations may have a detrimental effect on performance as DRS does not consider consumed memory but active memory. &lt;strong&gt;DRS behavior&lt;/strong&gt; When analyzing the requirements of a virtual machine during load balancing operations, DRS calculates the memory demand of the virtual machine. The main memory metric used by DRS to determine the memory demand is memory active. The active memory represents the working set of the virtual machine, which signifies the number of active pages in RAM. By using the working-set estimation, the memory scheduler determines which of the allocated memory pages are actively used by the virtual machine and which allocated pages are idle. To accommodate a sudden rapid increase of the working set, 25% of idle consumed memory is allowed. Memory demand also includes the virtual machine’s memory overhead. Let’s use an 8 GB virtual machine as example on how DRS calculates the memory demand. The guest OS running in this virtual machine has touched 50% of its memory size since it was booted but only 20% of its memory size is active. This means that the virtual machine has consumed 4096 MB and 1639.2 MB is active. &lt;img src="images/idletax-11-300x130.png" alt="" title="idletax-1"&gt; As mentioned, DRS accommodate a percentage of the idle consumed memory to accommodate a sudden increase of memory use. To calculate the idle consumed memory, the active memory 1639.2 MB is subtracted from the consumed memory, 4096 MB, resulting in a total 2456.8 MB. By default DRS includes 25% of the idle consumed memory, i.e. 614.2 MB. &lt;img src="images/idletax-22-300x169.png" alt="" title="idletax-2"&gt; The virtual machine has a memory overhead of 90 MB. The memory demand DRS uses in it’s load balancing calculation is as follows: 1639.2 MB + 614.2 MB + 90 MB = 2343.4 MB. This means that DRS will select a host that has 2343.4 MB available for this machine and the move to this host improves the load balance of the cluster. &lt;strong&gt;DRS and corner stone of virtualization resource overcommitment&lt;/strong&gt; Resource sharing and overcommitment of resources are primary elements of the virtualization. When designing virtual infrastructure it is a challenge to build the environment in such a way that it can handle virtual machine workloads while improving server utilization. Because every workload is not equal, applying resource allocation settings such as shares, reservations and limits can make distinction in priority. DRS is designed with this corner stone in mind. And that’s makes DRS sometimes a hard act to follow. DRS is all about solving imbalance and providing enough resources to the virtual machines aligned to their demand. This means that DRS balances workload on demand and trust in its core value that overcommitment is allowed. It then relies on the host local scheduler to figure out the priority of the virtual machines. And this behavior is sometimes not in line with the perception of DRS. A common perception is that DRS is about optimizing performance. This is partially true. As mentioned before DRS looks at the demand of the VM, and will try to mix and match activity of the virtual machines with the available resources in the cluster. As it relies on resource allocation settings, it assumes that priority is defined for each virtual machine and that the host local schedulers can reclaim memory safely. For this reason the DRS memory imbalance metric is tuned to focus on VM active memory to allow efficient sharing of host memory resources. Allowing to run with less cluster memory than the sum of all running virtual machine memory sizes and reclaiming idle consumed memory from lower priority virtual machines for other virtual machines’ active workloads. Unfortunately DRS does not know when the environment is designed in such a way to avoid overcommitment. Based on the input it can place a virtual machine on a host with virtual machine that have lots of idle consumed memory laying around. Instigating memory reclamation. In most cases this reclamation is hardly noticeable due to the use of the balloon driver. However in the case where all hosts are highly utilized, ballooning might not be as responsive as required, forcing the kernel to compress memory and swap. This means that migrations for the sole purpose of balancing active memory are not useful in environments like these and, if the target host memory is highly consumed, can cause a performance impact on the migrating virtual machine as it waits to obtain memory and on the other virtual machines on the target host as they do processing to allow reclamation of their idle memory. &lt;strong&gt;The solution? You might want to change the 25% idle consumed memory setting&lt;/strong&gt; The solution I recommend to start with is to lower the migration threshold by moving the slider to the left. This allows the DRS cluster to have an higher imbalance and allows DRS to be more conservative when recommending migrations. If this is not satisfactory, then I would suggest changing the DRS advanced option called IdleTax. Please note that this DRS advanced option is not the same setting as the memory kernel setting. Mem.IdleTax. The DRS IdleTax advanced option (default 75) controls how much consumed idle memory should be added to active memory in estimating memory demand. The calculation is as follows: 100-IdleTax. Default caluculation = 100-75=25 This means that the smaller the value of IdleTax, more consumed idle memory is added to the active memory by DRS for load balancing. &lt;img src="images/idletax-32-300x153.png" alt="" title="idletax-3"&gt; Be aware that the value of IdleTax is a heuristic, tuned to facilitate memory overcommitment; tuning it to a lower value is appropriate for environments not using overcommitment. Note that the option is set per cluster, and would need to be changed for all DRS clusters as appropriate. &lt;strong&gt;Again, try to use a lower migration threshold setting and monitor if this setting provides satisfying results before setting this advanced feature.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Storage DRS enables SIOC on datastores only if I/O load balancing is enabled</title><link>https://frankdenneman.ai/2012-08-01-storage-drs-enables-sioc-on-datastores-only-if-io-load-balancing-is-enabled/</link><pubDate>Wed, 01 Aug 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-08-01-storage-drs-enables-sioc-on-datastores-only-if-io-load-balancing-is-enabled/</guid><description>&lt;p&gt;Lately, I&amp;rsquo;ve received some comments why I don&amp;rsquo;t include SIOC in my articles when talking about space load balancing. Well, Storage DRS only enables SIOC on each datastore inside the datastore cluster if I/O load balancing is enabled. When you don’t enable I/O load balancing during the initial setup of the datastore cluster, SIOC is left disabled. Keep in mind when I/O load balancing is enabled on the datastore cluster and you disable the I/O load balancing feature, SIOC remains enabled on all datastores within the cluster.&lt;/p&gt;</description></item><item><title>Considerations when modifying the individual VM automation level</title><link>https://frankdenneman.ai/2012-07-27-considerations-when-modifying-the-individual-vm-automation-level/</link><pubDate>Fri, 27 Jul 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-07-27-considerations-when-modifying-the-individual-vm-automation-level/</guid><description>&lt;p&gt;Recently I received some questions about the behavior of DRS when the automation level of an individual virtual machine is modified. DRS allows customization of the automation levels for individual virtual machines to override the DRS cluster automation level. The most common reason for modifying the automation level is to prevent DRS move a virtual machine automatically. Selecting an automation level mode other than the default cluster automation level or fully automated impacts (daily) operational procedures. It might impact cluster balance and/or resource availability if the operational procedures are not adjusted to align with the “new” behavior of DRS when dealing with non-default automation levels. Before continuing with the impact and caveats of a non-default automation level, let’s zoom into their behavior. &lt;strong&gt;Level of automation&lt;/strong&gt; There are five automation level modes: • Fully Automated • Partially Automated • Manual • Default • Disabled Each automation level behaves differently:&lt;/p&gt;</description></item><item><title>To which host-level latency statistic is the SIOC congestion threshold related?</title><link>https://frankdenneman.ai/2012-07-23-to-which-host-level-latency-statistic-is-the-sioc-congestion-threshold-related/</link><pubDate>Mon, 23 Jul 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-07-23-to-which-host-level-latency-statistic-is-the-sioc-congestion-threshold-related/</guid><description>&lt;p&gt;Today someone asked if the congestion threshold of SIOC is related to which host latency threshold? Is it the Device average (DAVG), Kernel Average (KAVG) or Guest Average (GAVG)? &lt;img src="images/Storage-stack3.png" alt="" title="Storage stack"&gt; Well actually it’s none of the above. DAVG, KAVG and GAVG are metrics in a host-local centralized scheduler that has complete control over all the requests to the storage system. SIOC main purpose is to manage shared storage resources across ESXi hosts, providing allocation of I/O resources independent of the placement of virtual machines accessing the shared datastore. And because it needs to regulate and prioritize access to shared storage that spans multiple ESXi hosts, the congestion threshold is not measured against a host-side latency metric. But to which metric is it compared? In essence the congestion threshold is compared with the weighted average of D/AVG per host, the weight is the number of IOPS on that host. Let’s expand on this a bit further. &lt;strong&gt;Average I/O latency&lt;/strong&gt; To have an indication of the load of the datastore on the array, SIOC uses the average I/O latency detected by each host connected to that datastore. Average latency across hosts is used to cope with the variety of workloads, the characteristic of the active workloads, such as read versus writes, I/O size and degree of sequential I/Os in addition to array behavior such as block location, caching policies and I/O scheduling. To calculate and normalize the average latency across hosts, each host writes its average device latency and number of I/Os for that datastore in a file called IORMSTATS.SF stored on the same datastore. &lt;img src="images/IORMSTATS.SF-access1.png" alt="" title="IORMSTATS.SF access"&gt; A common misconception about SIOC is that it’s compute cluster based. The process of determining the datastore-wide average latency really reveals the key denominator – &lt;em&gt;hosts connected to the datastore&lt;/em&gt; - . All hosts connected to the datastore write to the IORMSTATS.SF file, regardless of cluster membership. Other than enabling SIOC, vCenter is not necessary for normal operations. Each connected host reads the IORMSTATS.SF file each 4 seconds and locally computes the datastore-wide average to use for managing the I/O stream. Therefor cluster membership is irrelevant. &lt;strong&gt;Datastore wide normalized I/O latency&lt;/strong&gt; Back to the process of computing the datastore wide normalized I/O latency. The average device latencies of each host are normalized by SIOC based on the I/O request size. As mentioned before, not all storage related workloads are the same. Workloads issuing I/Os with a large request size result in longer device latencies due to way storage arrays process these workloads. For example, when using a larger I/O request size such as 256KB, the transfer might be broken up by the storage subsystem into multiple 64KB blocks. This operation can lead to a decline of transfer rate and throughput levels, increasing latency. This allows SIOC to differentiate high device latency from actual I/O congestion at the device itself. &lt;strong&gt;Number of I/O requests complete per second&lt;/strong&gt; At this point SIOC has normalized the average latency across hosts based on I/O size, next step is to determine the aggregate number of IOPS accessing the datastore. As each host reports the number of I/O requests complete per second, this metric is used to compare and prioritize the workloads. I hope this mini-deepdive into the congestion thresholds explains why the congestion threshold could never be solely related to a single host-side metric . Because the datastore-wide average latency is a normalized value, the latency observed of the datastore per individual host may be different than the latency SIOC reports per datastore. .&lt;/p&gt;</description></item><item><title>Removing the horizontal bar in the footer of a word doc</title><link>https://frankdenneman.ai/2012-07-20-removing-the-horizontal-bar-in-the-footer-of-a-word-doc/</link><pubDate>Fri, 20 Jul 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-07-20-removing-the-horizontal-bar-in-the-footer-of-a-word-doc/</guid><description>&lt;p&gt;Now for something completely different, a tip how to extend your life with about 5 years - or how to remove the horizontal bar in the footer of a word document. Unfortunately I have to deal with the mark-up of word documents quite frequently and am therefor exposed to the somewhat unique abilities of the headers and footers feature of MS-Word. During the edit process of the upcoming book, Word voluntarily added a horizontal bar to my footer. Example depicted below. &lt;img src="images/Screen-Shot-2012-07-20-at-10.36.10-AM-1024x196.png" alt="" title="Screen Shot 2012-07-20 at 10.36.10 AM"&gt; However word doesn&amp;rsquo;t allow you to highlight and select a horizontal bar and therefor cannot be easily removed by pressing the delete button. This means you have to explore the fantastic menu of word. To remove the bar: 1. Open the footers section, by clicking in that area in the document. 2. Go to menu option Format 3. Borders and Shading 4. The borders and shading menu shows the line that miraculous appeared in my footer, by selecting the option None at the right side of the window it removes the horizontal bar from the footer. &lt;img src="images/Screen-Shot-2012-07-20-at-10.46.22-AM.png" alt="" title="Screen Shot 2012-07-20 at 10.46.22 AM"&gt; 5. Click OK I hope this short tip helps you to keep the frustration to a minimum.&lt;/p&gt;</description></item><item><title>Disabling MinGoodness and CostBenefit</title><link>https://frankdenneman.ai/2012-07-09-disabling-mingoodness-and-costbenefit/</link><pubDate>Mon, 09 Jul 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-07-09-disabling-mingoodness-and-costbenefit/</guid><description>&lt;p&gt;Over the last couple of months I’ve seen recommendations popping up on changing the MinGoodNess and CostBenefit settings to zero on a DRS cluster (KB&lt;a href="http://kb.vmware.com/selfservice/search.do?cmd=displayKC&amp;amp;docType=kc&amp;amp;externalId=1017291&amp;amp;sliceId=1&amp;amp;docTypeID=DT_KB_1_1&amp;amp;dialogID=365350619&amp;amp;stateId=1%200%20365372155"&gt;1017291&lt;/a&gt;) . Usually after the maintenance window, when hosts where placed in maintenance mode, the hosts remain unevenly loaded and DRS won’t migrate virtual machines to the less loaded host. By disabling these adaptive algorithms, DRS to consider every move and the virtual machines will be distributed aggressively across the hosts. Although this sounds very appealing, MinGoodness and CostBenefit calculations are created for a reason. Let’s explore the DRS algorithm and see why this setting should only be used temporarily and not as a permanent setting. &lt;strong&gt;DRS load balance objectives&lt;/strong&gt; DRS primary objective is to provide virtual machines their required resources. If the virtual machine is getting the resources it request (dynamic entitlement), than there is no need to find a better spot. If the virtual machines do not get their resources specified in their dynamic entitlement, then DRS will consider moving the virtual machine depending on additional factors. This means that DRS allow certain situations where the administrator feels like the cluster is unbalanced, such as an uneven virtual machine count on hosts inside the cluster. I’ve seen situations where one host was running 80% of the load while the other hosts where running a couple of virtual machines. This particular cluster was comprised of big hosts, each containing 1TB memory while the entire virtual machine memory footprint was no more than 800GB. One host could easily run all virtual machines and provide the resources the virtual machines were requesting. This particular scenario describes the biggest misunderstanding of DRS, DRS is not primarily designed to equally distribute virtual machines across hosts in the cluster. It distributes the load as efficient as possible across the resources to provide the best performance of the virtual machines. And this is the key to understand why DRS does or does not generate migration recommendation. Efficiency! To move virtual machines around, it cost CPU cycles, memory resources and to a smaller extent datastore operation (stun/unstun) virtual machines. In the most extreme case possible, load balancing itself can be a danger to the performance of virtual machines by withholding resources from the virtual machines, by using it to move virtual machines. This is worst-case scenario, but the main point is that the load balancing process cost resources that could also be used by virtual machines providing their services, which is the primary reason the virtual infrastructure is created for. To manage and contain the resource consumption of load balancing operations, MinGoodness and CostBenefit calculations were created. &lt;strong&gt;CostBenefit&lt;/strong&gt; DRS calculates the Cost Benefit (and risk) of a move. Cost: How many resources does it take to move a virtual machine by vMotion? A virtual machine that is constantly updating its large memory footprint cost more CPU cycles and network traffic than a virtual machine with a medium memory footprint that is idling for a while. Benefit: how many resources will it free up on the source host and what will the impact be on the normalized entitlement on the destination host? The normalized entitlement is the sum of dynamic entitlement of all the virtual machines running on that host divided by the capacity of the host. Risk is predicted how the workload might change on both the source and destination host and if the outcome of the move of the candidate virtual machine is still positive when the workload changes. &lt;strong&gt;MinGoodness&lt;/strong&gt; To understand which host the virtual machine must move to, DRS uses the normalized entitlement of the host as the key metric and will only consider hosts that have a lower normalized entitlement than the source host. MinGoodness helps DRS understand what effect the move has on the overall cluster imbalance. DRS awards every move a CostBenefit and MinGoodness rating and these are linked together. DRS will only recommend a move with a negative CostBenefit rating if the move has a highly positive MinGoodness rating. Due to the metrics used, CostBenefit ratings are usually more conservative than the MinGoodness ratings. Overpowering the decision to move virtual machine to host with a lower normalized entitlement due to the cost involved or risk of that particular move. When MinGoodness and CostBenefit are set to zero, DRS calculates the cluster imbalance and recommend any move* that increases the balance of the normalized entitlement of each host within the cluster without considering the resource cost involved. In oversized environments, where resource supply is abundant, setting these options temporarily should not create a problem. In environments where resource demand rivals resource supply, setting these options can create resource starvation. *The number of recommendations are limited to the MaxMovesPerHost calculation. This &lt;a href="https://frankdenneman.ai/2010/08/drs-4-1-adaptive-maxmovesperhost/"&gt;article&lt;/a&gt; contains more information about MaxMovesPerHost. &lt;strong&gt;Recommendation&lt;/strong&gt; My recommendation is to use this advanced option sparingly, when host-load is extremely unbalanced and DRS does not provide any migration recommendation. Typically when the hosts in the cluster were placed in maintenance mode. Permanently activating this advanced option is similar to lobotomizing the DRS load balancing algorithm, this can do more harm in the long run as you might see virtual machines in an almost-constant state of vMotion.&lt;/p&gt;</description></item><item><title>Limiting the number of Storage vMotions</title><link>https://frankdenneman.ai/2012-06-28-limiting-the-number-of-storage-vmotions/</link><pubDate>Thu, 28 Jun 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-06-28-limiting-the-number-of-storage-vmotions/</guid><description>&lt;p&gt;When enabling datastore maintenance mode, Storage DRS will move virtual machines out of the datastore as fast as it can. The number of virtual machines that can be migrated in or out of a datastore is 8. This is related to the concurrent migration limits of hosts, network and datastores. To manage and limit the number of concurrent migrations, either by vMotion or Storage vMotion, a cost and limit factor is applied. Although the term limit is used, a better description of limit is maximum cost. In order for a migration operation to be able to start, the cost cannot exceed the max cost (limit). A vMotion and Storage vMotion are considered operations. The ESXi host, network and datastore are considered resources. A resource has both a max cost and an in-use cost. When an operation is started, the in-use cost and the new operation cost cannot exceed the max cost. &lt;img src="images/Storage-vMotion-Cost-Max-Cost1.png" alt="" title="Storage vMotion - Cost - Max Cost"&gt; The operation cost of a storage vMotion on a host is “4”, the max cost of a host is “8”. If one Storage vMotion operation is running, the in-use cost of the host resource is “4”, allowing one more Storage vMotion process to start without exceeding the host limit. As a storage vMotion operation also hits the storage resource cost, the max cost and in-use cost of the datastore needs to be factored in as well. The operation cost of a Storage vMotion for datastores is set to 16, the max cost of a datastore is 128. This means that 8 concurrent Storage vMotion operations can be executed on a datastore. These operations can be started on multiple hosts, not more than 2 storage vMotion from the same host due to the max cost of a Storage vMotion operation on the host level. [caption id=&amp;ldquo;attachment_2099&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;366&amp;rdquo; caption=&amp;ldquo;Storage vMotion in progress&amp;rdquo;]&lt;img src="images/Storage-vMotion-Cost-svmotion-in-process.png" alt="" title="Storage vMotion - Cost - svmotion in progress"&gt;[/caption] &lt;strong&gt;How to throttle the number of Storage vMotion operations?&lt;/strong&gt; To throttle the number of storage vMotion operations to reduce the IO hit on a datastore during maintenance mode, it preferable to reduce the max cost for provisioning operations to the datastore. Adjusting host costs is strongly discouraged. Host costs are defined as they are due to host resource limitation issues, adjusting host costs can impact other host functionality, unrelated to vMotion or Storage vMotion processes. Adjusting the max cost per datastore can be done by editing the vpxd.cfg or via the advanced settings of the vCenter Server Settings in the administration view. If done via the vpxd.cfg, the value vpxd.ResourceManager.MaxCostPerEsx41Ds is added as follows:&lt;/p&gt;</description></item><item><title>Fab-four: VMWorld 2012 sessions approved</title><link>https://frankdenneman.ai/2012-06-27-fab-four-vmworld-2012-sessions-approved/</link><pubDate>Wed, 27 Jun 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-06-27-fab-four-vmworld-2012-sessions-approved/</guid><description>&lt;p&gt;This morning I found out that my four sessions are accepted. I’m really pleased and I am looking forward to presenting at each one of them. Two sessions, Architecting Storage DRS Datastore Clusters and vSphere Cluster Resource Pool Best Practices are also scheduled for VMWorld Barcelona. Session ID: STO1545 Session Title: &lt;strong&gt;Architecting Storage DRS Datastore Clusters&lt;/strong&gt; Track: Infrastructure Presenting at: US and Barcelona Presenting with: Valentin Hamburger Session ID: VSP1504 Session Title: &lt;strong&gt;Ask the Expert vBloggers&lt;/strong&gt; Track: Infrastructure Presenting at: US Presenting with: Duncan Epping, Scott Lowe, Rick Scherer and Chad Sakac Session ID: VSP1683 Session Title: &lt;strong&gt;vSphere Cluster Resource Pools Best Practices&lt;/strong&gt; Track: Infrastructure Presenting at: US and Barcelona Presenting with Rawlinson Rivera Session ID: CSM1167 Session Title: &lt;strong&gt;Architecting for vCloud Allocation Models&lt;/strong&gt; Track: Operations Presenting at: US Presenting with Chris Colotti Can&amp;rsquo;t wait to attend VMworld 2012! See you there.&lt;/p&gt;</description></item><item><title>VMware vSphere Storage DRS Interoperability technical paper available</title><link>https://frankdenneman.ai/2012-06-05-vmware-vsphere-storage-drs-interoperability-technical-paper-available/</link><pubDate>Tue, 05 Jun 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-06-05-vmware-vsphere-storage-drs-interoperability-technical-paper-available/</guid><description>&lt;p&gt;Today my second white paper, &lt;a href="http://www.vmware.com/resources/techresources/10286"&gt;VMware vSphere Storage DRS Interoperability&lt;/a&gt;, is made available for download at the Technical Resource Center at VMware.com. This white paper presents an overview of best practices for customers considering the implementation of VMware vSphere Storage DRS in combination with advanced storage device features or other VMware products. This document zooms in on Storage DRS interoperability with array based features, such as Auto-Tiering, Thin provisioning, Depulication but also explains VMware products such as Snapshots. A small preview: VMware vSphere Snapshots Storage DRS supports virtual machine snapshots. By default, it collocates them with the virtual machine disk file to prevent fragmentation of the virtual machine. Also by default, Storage DRS applies a VMDK affinity rule to each new virtual machine. If it migrates the virtual machine to another datastore, all the files, including the snapshot files, move with it. If the virtual machine is configured with an inter-VMDK affinity setting, the snapshot is placed in the directory of its related disk and is moved to the same destination datastore as when migrated by a Storage vMotion operation. VMware supports the use of vSphere snapshots in combination with Storage DRS. &lt;img src="images/Screen-Shot-2012-06-05-at-11.16.53-AM.png" alt="" title="Screen Shot 2012-06-05 at 11.16.53 AM"&gt; Go and download it here: &lt;a href="http://www.vmware.com/resources/techresources/10286"&gt;http://www.vmware.com/resources/techresources/10286&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VMworld Session proposals</title><link>https://frankdenneman.ai/2012-05-30-vmworld-session-proposals/</link><pubDate>Wed, 30 May 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-05-30-vmworld-session-proposals/</guid><description>&lt;p&gt;Here is just a quick overview of the sessions I submitted for VMworld events in San Francisco and Barcelona. I&amp;rsquo;ve submitted three sessions in total, as my passion for resource management and Storage DRS is a public secret it should be no suprise that all sessions I participate in focus on either vSphere resource managagement or Storage DRS. :) I&amp;rsquo;ve split them up into two categories, vSphere centric and vCloud centric. The fourth session is the annual Ask the Expert vBloggers with the all-star crew Scott Lowe, Duncan Epping, Rick Scherer, and Chad Sakac. I hope to see you at VMworld! vSphere centric sessions Session &lt;strong&gt;1545&lt;/strong&gt; &lt;strong&gt;Architecting Storage DRS Datastore Clusters&lt;/strong&gt; &lt;strong&gt;Abstract&lt;/strong&gt;: In this session Frank Denneman and Valentin Hamburger will cover and explain in great detail what to consider when building a Storage DRS datastore cluster. Introducing the concept of datastore clusters can affect or shift the paradigm of storage management in virtual infrastructures. The goal is to demonstrate the relationship between the datastore cluster and existing objects in the virtual infrastructure and how the introduction of datastore clusters can effect various design decisions. This session is a must for anyone implementing Storage DRS that wants to maximize their cluster and vSphere resource designs. Session &lt;strong&gt;1683&lt;/strong&gt; &lt;strong&gt;vSphere Cluster Resource Pools Best Practices&lt;/strong&gt; &lt;strong&gt;Abstract:&lt;/strong&gt; In this session Frank Denneman and Rawlinson Rivera will cover and explain in great detail what to consider when using resource pool inside a vSphere cluster. Introducing the concept of resource pools can affect virtual machine performance and overall resource management in virtual infrastructures. Join Frank and Rawlinson and discover both common pitfalls and best practices of resource pool design. This session is a must for anyone implementing resource pools that wants to maximize their cluster and vSphere resource designs. vCloud Director centric sessions Session &lt;strong&gt;1167&lt;/strong&gt; &lt;strong&gt;vCloud tracks Architecting for vCloud Allocation Models&lt;/strong&gt; &lt;strong&gt;Abstract:&lt;/strong&gt; In this session Frank Denneman and Chris Colotti will break down the three vCloud Director Allocation models in depth. Each model&amp;rsquo;s settings will be shown in detail to explain the effect on vSphere resource scheduling. They will then show how Allocation models of the same type with different configurations, as well as different allocation models could live on the same Provider vDC. The goal is to demonstrate that by not only fully understanding the allocation models, but the vSphere resource allocation together you can design for multiple allocation models on a single Provider vDC. This session is a must for anyone implementing vCloud Director that wants to maximize their cluster and vCloud resource designs. Session &lt;strong&gt;504&lt;/strong&gt; &lt;strong&gt;Ask the Expert vBloggers - Scott Lowe, Duncan Epping, Rick Scherer, Frank Denneman, Chad Sakac&lt;/strong&gt; &lt;strong&gt;Abstract:&lt;/strong&gt; One of the highest rated sessions at VMworld is back for it’s fifth year! Come meet four VMware Certified Design Experts (VCDX) on stage answering your questions. We get the top Virtualization Bloggers in the industry and get them on stage answering your questions in a wide array of topics. Simon at Techhead.co.uk wrote a &lt;a href="http://www.techhead.co.uk/vmworld-2012-session-voting-now-open"&gt;nice article&lt;/a&gt; about how to vote for your favorite session at the &lt;a href="http://www.vmworld.com/cfp.jspa"&gt;VMworld.com&lt;/a&gt; portal&lt;/p&gt;</description></item><item><title>Blog post on blogs.vmware.com/vsphere/</title><link>https://frankdenneman.ai/2012-05-23-blog-post-on/</link><pubDate>Wed, 23 May 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-05-23-blog-post-on/</guid><description>&lt;p&gt;As part of the Technical Marketing team of VMware focusing on the vSphere platform I contribute to the vSphere blog on VMware.com. From this point forward I will post a link to new articles posted on the vSphere blog. &lt;a href="http://blogs.vmware.com/vsphere/2012/05/sdrs-maintenance-mode-impossible-because-the-virtual-machine-is-pinned-to-a-host.html"&gt;SDRS maintenance mode impossible because &amp;ldquo;The virtual machine is pinned to a host.&amp;rdquo;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VMware vSphere Metro Storage Cluster Case Study Technical Paper available</title><link>https://frankdenneman.ai/2012-05-22-vmware-vsphere-metro-storage-cluster-case-study-technical-paper-available/</link><pubDate>Tue, 22 May 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-05-22-vmware-vsphere-metro-storage-cluster-case-study-technical-paper-available/</guid><description>&lt;p&gt;As of today the VMware vSphere Metro Storage Cluster Case Study Technical Paper is available at &lt;a href="http://www.vmware.com/resources/techresources/10284"&gt;http://www.vmware.com/resources/techresources/10284&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;VMware vSphere Metro Storage Cluster (VMware vMSC) is a new configuration within the VMware Hardware Compatibility List. This type of configuration is commonly referred to as a stretched storage cluster or metro storage cluster. It is implemented in environments where disaster/downtime avoidance is a key requirement. This case study was developed to provide additional insight and information regarding operation of a VMware vMSC infrastructure in conjunction with VMware vSphere. This paper will explain how vSphere handles specific failure scenarios and will discuss various design considerations and operational procedures.&lt;/p&gt;</description></item><item><title>DRS clusters and allocating reserved memory</title><link>https://frankdenneman.ai/2012-05-21-drs-clusters-and-allocating-reserved-memory/</link><pubDate>Mon, 21 May 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-05-21-drs-clusters-and-allocating-reserved-memory/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="https://frankdenneman.ai/2012/05/the-admission-control-family/"&gt;admission control family&lt;/a&gt;, multiple features on multiple layers check to there is enough unused reserved memory available. This article is a part of a short series of articles on how memory is being claimed and provided as reserved memory; other articles will be posted throughout the week. &lt;strong&gt;Refresher&lt;/strong&gt; I’ve published two articles that describes memory reservation at the VM level and the resource pool level. These two sources are an excellent way to refresh your memory (no pun intended) on the reservation construct: • &lt;a href="https://frankdenneman.ai/2009/12/impact-of-memory-reservation/"&gt;Impact of memory reservation (VM-level)&lt;/a&gt; • &lt;a href="https://frankdenneman.ai/2010/05/resource-pools-memory-reservations/"&gt;Resource pool memory reservations&lt;/a&gt; &lt;strong&gt;“Unclaimed” reserved memory?&lt;/strong&gt; If a memory reservation is configured on a child object (virtual machine or resource pool) admission control checks if there is enough reserved memory available. Which memory can be claimed for reserved memory? And how about the host-level memory and cluster level memory? Let’s dissect the cluster tree of resource providers and resource consumers and start with a bottom-up approach. &lt;img src="images/DRS-cluster-resource-providers-and-consumers.png" alt="" title="DRS cluster- resource providers and consumers"&gt; &lt;strong&gt;Host-level to DRS cluster&lt;/strong&gt; Both the host and DRS cluster are resource providers to the resource consumers i.e. resource pools and virtual machines. When a host is made a member of a DRS cluster, all its available memory resources are placed at the DRS disposal. The available memory of a host is the memory that is left after the VMkernel claimed host memory. The DRS cluster, also called the root resource pool, reserves this remaining memory. &lt;img src="images/Aggregating-available-memory1.png" alt="" title="Aggregating available memory"&gt; As the DRS cluster reserves this memory per host, all the memory aggregated inside the root resource pool and is actually designated as reserved memory. However to prevent confusion, this reserved memory is labeled as unused reserved memory in the vSphere Client user interface and as such provided to the child resource pools and child virtual machines.At the Resource Allocation Tab of the cluster, the Total memory capacity of the cluster is listed as well as the reserved capacity. The Available capacity is the result of Total capacity – Reserved capacity. Note that if HA is configured the amount of resources reserved for failover is automatically added to the reserved capacity. &lt;img src="images/reserved-capacity.png" alt="" title="reserved capacity"&gt; &lt;strong&gt;Child resource pools&lt;/strong&gt; Resource pools allow for hierarchical partitioning of the cluster, but they always span the entire cluster. Resource pools draw resources from the root resource pool and do not pick and select resources from a specific hosts. The root resource pool functions as an abstraction layer. When configuring a reservation on resource pool level the specified amount of memory is claimed by that specific resource pool and cannot be allocated by other resource pools. &lt;img src="images/RP-reservation-.png" alt="" title="RP-reservation"&gt; Note that the claim of reserved resources by the resource pool is done immediately during the creation of the resource pool. It does not matter if there are running virtual machine inside the resource pools or not. The total configured memory is withdrawn from the root resource pool and thus unavailable for other resource pools. Please keep this in mind when sizing resources pools. The next article will expand on virtual machines inside a resource pool.&lt;/p&gt;</description></item><item><title>Admission control and vCloud Allocation Pool model</title><link>https://frankdenneman.ai/2012-05-16-admission-control-and-vcloud-allocation-pool-model/</link><pubDate>Wed, 16 May 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-05-16-admission-control-and-vcloud-allocation-pool-model/</guid><description>&lt;p&gt;The &lt;a href="https://frankdenneman.ai/2012/05/the-admission-control-family/"&gt;previous article&lt;/a&gt; outlines the multiple admission controls active in a virtual infrastructure. One that always interested me in particular is the admission control feature that verifies resource availability. With the introduction of vCloud director another level of resource construct were introduced. Along with Provider virtual datacenter (vDC) and Organization vDCs, allocation models were introduced. An allocation model defines how resources are allocated from the provider vDC. An organization vDC must be configured with one of the following three allocation models: “Pay As You Go”, “Allocation Pool” and “Reservation Pool”. It is out of the scope to describe all three models, please visit &lt;a href="http://www.chriscolotti.us/vmware/vsphere/vcloud-allocation-models/"&gt;Chris Colotti’s&lt;/a&gt; blog or &lt;a href="http://www.yellow-bricks.com/2010-09-22-vcd-allocation-models/"&gt;Yellow Bricks&lt;/a&gt; to read more about allocation models. As mentioned before the distinction between each of the allocation models is how resources are consumed. Depending on the chosen allocation model reservations and limits will be set on resource pool, virtual machine level, or both. One of the most interesting allocation model is the Allocation Pool model as it sets reservations on both resource pool level and virtual machine level simultaneously. During configuration of the allocation pool model, an amount of guaranteed resources can be specified. (Guaranteed is the vCloud term for vSphere reservation). The question I was given is &lt;strong&gt;will lowering the default value of 100% guaranteed memory result in an increase of more virtual machines inside the Organization vCD&lt;/strong&gt;? And the answer lies within the working of vSphere admission control. &lt;strong&gt;Allocation Pool model settings&lt;/strong&gt; By default the Allocation Pool model sets a 100% memory reservation on both resource pool level and virtual machine level. By lowering the default guarantee, it allows for opportunistic memory allocation on both resource pool level and virtual machine level. Creating this burstable space (resources available for opportunistic access) usually provides an higher consolidation ratio of virtual machines, however due to the simultaneous configuration of reservation on both resource pool and virtual machine level, this is not the case. &lt;strong&gt;Virtual machine level reservation&lt;/strong&gt; During power-on operation admission control checks if the resource pool can satisfy the virtual machine level reservation. Because expandable reservation is disabled in this model, the resource pool is not able to allocate any additional resources from the provider vDC. Therefor the virtual machine memory reservation can only be satisfied by the resource pool level reservation of the organization vDC itself. When a virtual machine is using memory protected by a virtual machine level reservation, this memory is withdrawn from the resource pool-level reservation. If the resource pool does not have enough available memory to guarantee the virtual machine reservation, the power-on operation fails. Let’s use a scenario to visualize the process a bit better. &lt;strong&gt;Scenario&lt;/strong&gt; An organization vCD is created with the Allocation Pool model and the memory allocation is set to 20GB; the memory guarantee is set to 50%. These settings result in a resource pool memory limit of 20GB and a memory reservation of 10GB. When powering up a 2GB virtual machine, 1GB of reserved resources will be allocated to that virtual machine and withdrawn from the available reserved memory pool. &lt;img src="images/01-Admission-control-sequence-Allocation-Model-phase-1.png" alt="" title="01 Admission control sequence Allocation Model phase 1"&gt; Admission control allows to power-on virtual machines until the reserved memory pool is reduced to zero. Following the previous example, virtual machine 2 is powered on. The resource pool providing resources to the organization vDC has 9 GB available in its pool of reserved memory. Admission control allows the power-on operation of the virtual machine as this pool can provide the reserved resources specified by the virtual machine level reservation.   &lt;img src="images/02-Admission-control-sequence-Allocation-Model-phase-2.png" alt="" title="02 Admission control sequence Allocation Model phase 2"&gt; During each power-on operation 1GB of reserved memory is withdrawn from the reserved memory pool available to the organization vDC. Resulting in admission control allowing to power on ten virtual machines. When attempting to deploy virtual machine 11, admission controls fails the power-on operation as the organization vDC has no available reserved memory to satisfy the virtual machine level reservation.   &lt;img src="images/03-Admission-control-sequence-Allocation-Model-failure.png" alt="" title="03 Admission control sequence Allocation Model failure"&gt; &lt;strong&gt;Note:&lt;/strong&gt; This scenario excludes the impact of memory overhead reservation of each virtual machine. Under normal circumstances, the number of virtual machines that could be powered on would be close to 8 instead of 10 as the reserved pool available to the organization vDC is used to satisfy the memory overhead reservation of each virtual machine as well. Because the guarantee setting of the Allocation Pool model configures resource pool and virtual machine memory reservation settings simultaneously, the supply and demand of reserved memory resources are always equal regardless of the configured percentage setting. Therefore offering opportunistic access to resources inside the organization vDC does not allow an increase of the number of virtual machines inside the organization vDC. The next question arises, why should you lower the percentage of guaranteed resources? Providing burstable space increases the number of Organization vCDs inside the Provider vDC. &lt;strong&gt;Resource pool memory reservation&lt;/strong&gt; Upon creation resource pools claim and withdraw the configured reserved resources from their parent instantaneously. This memory cannot be provided or distributed to other organization vDCs regardless of utilization of these resources. &lt;img src="images/04-Allocation-Pool-Model-Consolidation-ratio-.png" alt="" title="04 Allocation Pool Model Consolidation ratio"&gt; Although new resource constructs are introduced in a vCloud environment, consolidation ratios and resource management still leverage traditional vSphere resource management constructs and rules. Chris Colotti and I are currently working on a technical paper describing the allocation models in details and the way they interact with vSphere resource management. We hope to see this published soon.&lt;/p&gt;</description></item><item><title>The Admission Control Family</title><link>https://frankdenneman.ai/2012-05-10-the-admission-control-family/</link><pubDate>Thu, 10 May 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-05-10-the-admission-control-family/</guid><description>&lt;p&gt;It’s funny how sometimes something, in this case a vSphere feature, becomes a “trending topic” on any given day or week. Yesterday I was discussing admission control policies with Rawlinson Riviera (&lt;a href="https://twitter.com/#!/PunchingClouds"&gt;@punchingclouds&lt;/a&gt;) and we discussed how to properly calculate a percentage for the percentage based admission control with keeping consolidation ratios in mind. And today Gabe published an article about his &lt;a href="http://www.gabesvirtualworld.com/vmware-ha-admission-control-and-vm-reservations/"&gt;misconception of admission control&lt;/a&gt;, which triggered me to write an article of my own about admission control. When discussing admission control usually only HA admission control policies are mentioned. However, HA isn’t the only feature using some sort of admission control. Storage DRS as well as DRS and the ESX(i) host have each their own admission control. Let’s take a closer look what admission control actually is and see how each admission control fits in the process of a virtual machine power-on operation. &lt;strong&gt;What’s the function of admission control?&lt;/strong&gt; I like to call it our team of virtual bouncers. Admission control is there to ensure that sufficient resources are available for the virtual machine to function within it’s specified parameters / resource requirements. The last part about the parameters and requirements is the key to understand admission control. During a virtual machine power-on or a move operation, admission control checks if sufficient unreserved resources are available before allowing a virtual machine to power on or moved into the cluster. If a virtual machine is configured with reservation, this could be CPU, memory or even both, admission control needs to make sure that the datastore cluster, compute cluster, resource pool and host can provide these resources. If one of these constructs cannot allocate and provide these resources, then the datastore cluster, compute cluster, resource pool or host cannot provide an environment where the virtual machine can operate within its required parameters. In other words, the moment a virtual machine is configured to have an X amount of resources guaranteed, you want the environment to actually oblige to that wish and that’s why admission control is developed. As a vSphere environment can be configured in many different ways, each feature sports its own admission control, as you do not want to introduce dependencies for such a crucial component. Let’s take a closer look at each admission control feature and their checkpoints. &lt;img src="images/admission-control-check4-454x1024.png" alt="" title="admission control check"&gt; &lt;strong&gt;High Availability Admission control&lt;/strong&gt;: During a virtual machine power-on operation, HA checks if the virtual machine can be powered-on without violating the required capacity to cope with a host failure event. Depending on the HA admission control policy, HA checks if the cluster can provide enough unreserved resources to satisfy the virtual machine reservation. The internals of each type Admission control policies is outside the scope of this article, more information can be found in the clustering deep dive books or online at &lt;a href="http://www.yellow-bricks.com/vmware-high-availability-deepdiv/#HA-admission"&gt;Yellow-bricks&lt;/a&gt;. After HA admission control gives the green light, it’s up to &lt;strong&gt;Storage DRS admission control&lt;/strong&gt; if the virtual machine is placed in a Storage DRS datastore cluster. Storage DRS admission control checks datastore connectivity amongst the hosts in the datastore cluster and selects the hosts with the highest &lt;strong&gt;datastore connectivity&lt;/strong&gt; to ensure the highest portability of a virtual machine. If there are multiple hosts with the same number of datastore connected it selects the host with the lowest compute utilization. Up next is &lt;strong&gt;DRS admission control&lt;/strong&gt; to review the cluster state. DRS ensures that sufficient unreserved resources are available in the cluster before allowing the virtual machine to power on. If the virtual machine is placed inside a &lt;strong&gt;resource pool&lt;/strong&gt;, DRS checks if the resource pool can provide enough resources to satisfy the reservation. Depending on the setting “expandable reservation” the resource pool checks its own pool of unreserved resources or borrows resources from its parent. If a virtual machine is moved into the cluster and EVC is enabled in the DRS cluster, &lt;strong&gt;EVC admission control&lt;/strong&gt; verifies if the applied EVC mode to the virtual machine does not exceed the current EVC baseline of the cluster. DRS selects a host based on configured VM-VM and VM-Host affinity rules. Last step is &lt;strong&gt;Host admission control&lt;/strong&gt;. In the end it’s the host that actually needs to provide the compute environment to allow the virtual machine to operate in. A cluster can have enough unreserved resources available, but it can be in a fragmented stage, where there are not enough resources available per host to satisfy the virtual machine reservation. To solve this problem a DRS invocation is triggered to recommend virtual machine migrations to re-balance the cluster and free up space on a particular host for the new virtual machine. If DRS is not enabled, the Host rejects the virtual machine due to the inability to provide the required resources. Host admission control also verifies is the virtual machine configuration is compatible with the host. The VM networks and datastores must be available in order to accommodate the virtual machine. The virtual machine compatibility list also the suitable host if the virtual machine is placed inside a “must” VM-Host affinity rules, admission control checks if its listed in the compatibility list. The last check is if the host can create a VM-swap file on the designated VM swap location. So there you have it before a virtual machine is powered-on or moved into a cluster, all these admission controls will make sure the virtual machine can operate within its required parameters and no cluster feature requirement is being violated.&lt;/p&gt;</description></item><item><title>Mixing Resource Pools and Virtual Machines on the same hierarchical level</title><link>https://frankdenneman.ai/2012-05-09-mixing-resource-pools-and-virtual-machines-on-the-same-hierarchical-level/</link><pubDate>Wed, 09 May 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-05-09-mixing-resource-pools-and-virtual-machines-on-the-same-hierarchical-level/</guid><description>&lt;p&gt;One of most frequent questions I receive is about mixing resource pools and virtual machines at the same hierarchical level. In almost all of the cases we recommend to commit to one type of child objects. Either use resource pools and place virtual machines within the resource pools or place only virtual machines at that hierarchical level. The main reason for this is how resource shares work. &lt;strong&gt;Shares&lt;/strong&gt; determine the relative priority of the child-objects (virtual machines and resource pools) at the same hierarchical level and decide how excess of resources (total system resources - total Reservations) made available by other virtual machines and resource pools are divided. Shares are &lt;strong&gt;level-relative&lt;/strong&gt;, which means that the number of shares is compared between the child-objects of the same parent. Since, they signify relative priorities; the absolute values do not matter, comparing 2:1 or 20.000 to 10.000 will have the same result. Lets use an example to clarify. In this scenario the DRS cluster (root resource pool) has two child objects, resource pool 1 and a virtual machine 1. The DRS cluster issues shares amongst its children, &lt;strong&gt;4000&lt;/strong&gt; shares issued to the resource pool, &lt;strong&gt;2000&lt;/strong&gt; shares issued to the virtual machine. This results in &lt;strong&gt;6000&lt;/strong&gt; shares being active on that particular hierarchical level. &lt;img src="images/hierarchical-level1-300x85.png" alt="" title="hierarchical-level1"&gt; During contention the child-objects compete for resources as they are siblings and belong to the same parent. This means that the virtual machine with 2000 shares needs to compete with the resource pool that has 4000 shares. As 6000 shares are issued on that hierarchical level, the relative value of each child entity is (2000 of 6000 shares) = 33% for the virtual machine and (4000 shares of 6000=66%) for the resource pool. The problem with this configuration is that the resource pool is not only a resource consumer but also a resource provider. So that it must claim resources on behalf of its children. Expanding the first scenario, two virtual machines are placed inside the resource pool. &lt;img src="images/hierarchical-level2-300x176.png" alt="" title="hierarchical-level2"&gt; The Resource Pool issues shares amongst its children, &lt;strong&gt;1000&lt;/strong&gt; shares issued to virtual machine 2 (VM2) and &lt;strong&gt;2000&lt;/strong&gt; shares issued to virtual machine 3 (VM3). This results in &lt;strong&gt;3000&lt;/strong&gt; shares being active on that particular hierarchical level. During contention the child-objects compete for resources as they are siblings and belong to the same parent which is the resource pool. This means that VM2 owning 1000 shares needs to compete with VM3 that has 2000 shares. As 3000 shares are issued on that hierarchical level, the relative value of each child entity is (1000 of 3000 shares) = 33% for VM2 and (2000 shares of 3000=66%) for VM3. As the resource pool needs to compete for resources with the virtual machine on the same level, the resource pool can only obtain 66% of the cluster resources. These resources are divided between VM2 and VM3. That means that VM2 can obtain up to 22% of the cluster resources (1/3 of 66% of the total cluster resources is 22%). Forward to scenario 3, two additional virtual machines are created and are on the same level as Resource Pool 1 and virtual machine 1. The DRS cluster issues 1000 shares to VM4 and 1000 shares to VM5. &lt;img src="images/hierarchical-level3-300x180.png" alt="" title="hierarchical-level3"&gt; As the DRS cluster issued an additional 2000 shares, the total issued shares is increased to 8000 shares. Resulting in dilution of the relative share values of Resource Pool 1 and VM1. Resource pool 1 now owns 4000 shares of a total 8000 bringing the relative value down from 66% to 50%. VM1 owns 2000 shares of 8000, bringing its value down to 25%. Both VM4 and VM5 own each 12.5% of shares. As resource pool 1 provides resources to its child-object VM2 and VM3, fewer resources are divided between VM2 and VM3. That means that in this scenario VM2 can obtain up to 16% of the cluster resources (1/3 of 50% of the total cluster resources is 16%). Introducing more virtual machines to the same sibling level as the Resource Pool 1, will dilute the resources available to virtual machines inside Resource Pool 1. This is the reason why we recommend to commit to a single type of entity at a specific sibling level. If you create resource pools, stick with resource pools at that level and provision virtual machines inside the resource pool. Another fact is that a resource pool receives shares similar to a 4-vcpu 16GB virtual machine. Resulting in a default share value of 4000 shares of CPU and 163840 shares of memory when selecting Normal share value level. When you create a monster virtual machine and place it next to the resource pool, the resource pool will be dwarfed by this monster virtual machine resulting in resource starvation. &lt;strong&gt;Note:&lt;/strong&gt; Shares are not simply a weighting system for resources. All scenarios to demonstrate way shares work are based on a &lt;strong&gt;worst-case scenario situation&lt;/strong&gt;: every virtual machine claims 100% of their resources, the system is overcommitted and contention occurs. In real life, this situation (hopefully) does not occur very often. During normal operations, not every virtual machine is active and not every active virtual machine is 100% utilized. Activity and amount of contention are two elements determining resource entitlement of active virtual machines. For ease of presentation, we tried to avoid as many variable elements as possible and used a worst-case scenario situation in each example. So when can it be safe to mix and match virtual machines and resource pools at the same level? When all child-objects are configured with reservation equal to their configuration and limits, this result in an environment where shares are overruled by reservation and no opportunistic allocation of resources exist. But this designs introduces other constraints to consider.&lt;/p&gt;</description></item><item><title>Storage DRS load balance frequency</title><link>https://frankdenneman.ai/2012-05-07-storage-drs-load-balance-frequency/</link><pubDate>Mon, 07 May 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-05-07-storage-drs-load-balance-frequency/</guid><description>&lt;p&gt;Storage DRS load balancing frequency differs from DRS load balance frequency, where DRS runs every 5 minutes to balance CPU and memory resources, Storage DRS uses a far more complex load balancing scheme. Let’s take a closer look at Storage DRS load balancing. &lt;strong&gt;Default invocation period&lt;/strong&gt; The invocation period of Storage DRS is every 8 hours and uses what’s called past-day statistics. Storage DRS triggers a load balancing evaluation process if a datastore exceeds the space utilization threshold. Storage DRS load balances space utilization of the datastores and if I/O metric is enabled, load balances on I/O utilization as well. Space utilization and I/O load on a datastore are two different load patterns, therefore Storage DRS uses different methods to accumulate and analyze IO load patterns and space utilization of the datastores within the datastore cluster. &lt;strong&gt;Space load balancing statistic collection&lt;/strong&gt; Analyzing space utilization is rather straightforward; Storage DRS needs to understand the growth rate of each virtual machine and the utilization of each datastore. It collects information from the vCenter database to understand the disk usage and file structure of each virtual machine. Each ESXi host reports datastore utilization at a frequent interval and this is stored in the vCenter database as well. Storage DRS checks whether the datastore utilization is above the user-set threshold. When generating a load balance recommendation, Storage DRS knows where to move a virtual machine as it knows the current space growth of virtual machines on destination datastores, preventing a threshold violation direct after the placement. I/O load utilization is a different beast. I/O load may grow over time, however the datastore can experience a temporary increase of load. How does Storage DRS handle these spikes? Enter past-day statistics! &lt;strong&gt;I/O load balancing statistic collection&lt;/strong&gt; Storage DRS uses two main information sources for I/O load balancing statistic collection, vCenter and the SIOC injector. vCenter statistics is uses to understand the workload each virtual disk is generating, this is called workload modeling. SIOC injector is used to understand the device performance and this is called device modeling. See “&lt;a href="https://frankdenneman.ai/2012/01/impact-of-load-balancing-on-datastore-cluster-configuration/"&gt;Impact of load balancing on datastore cluster configuration&lt;/a&gt;” for more info about device and workload modeling. Data of workload and device modeling is aggregated in a performance snapshot and is used as input for generating migration recommendations. Migrating virtual machine disk files takes time and most of all it impacts the infrastructure, migrating based on peak value is the last thing you want to do when you are introducing long-term high impact workloads. Therefore Storage DRS starts to recommend I/O load-related recommendations once an imbalance persists for some period of time. To avoid being caught out by peak load moments, Storage DRS does not use real-time statistics. It aggregates all the data points collected over a period of time. By using 90th percentile values, Storage DRS filters out the extreme spikes while still maintaining a good view of the busiest period of that day as this value translate to the lowest edge of the busiest period. As workloads shift during the day enough information needs to be collected to make a good assessment of the workloads. Therefore Storage DRS needs at least 16 hours of data before recommendation are made. By using at least 16 hours worth of data Storage DRS has an enough data of the same timeslot so it can compare utilization of datastores for example: datastore 1 to datastore 2 on Monday morning at 11:00. As 16 hour is 2/3 of the day Storage DRS receives enough information to characterize the performance of datastore on that day. But how does this tie in with the 8 hour invocation period? &lt;strong&gt;8-hour invocation period and 16 hours worth of data&lt;/strong&gt; Storage DRS uses 16 hours of data, however this data must be captured in the current day otherwise the performance snapshot of the previous day is used. How is this combined with the 8-hour invocation periods? &lt;img src="images/IOlbtimeline1-300x142.png" alt="" title="IOlbtimeline"&gt; This means that technically, the I/O load balancing is done every 16 hours. Usually after midnight, after the day date, the stats are fixed and rolled up. This is called the rollover event. The first invocation period (08:00) after the rollover event uses the 24 hours statistics of the previous day. After 16 hours are passed of the current day, Storage DRS uses the new performance snapshot and may evaluate moves.&lt;/p&gt;</description></item><item><title>Whiteboard desk</title><link>https://frankdenneman.ai/2012-05-03-whiteboard-desk/</link><pubDate>Thu, 03 May 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-05-03-whiteboard-desk/</guid><description>&lt;p&gt;As I’m an avid fan of “post your desk topics \ workspace ” forum threads, I thought it might be nice to publish a blog article about my own workspace. I always love to see how other people design their work environment and how they customize furniture to suit their needs. Hopefully you can find some inspiration in mine. Last year I decided to refurbish my home office. To create a space that enables me to do my work in the most optimum way, and of course that is pleasing to the eye. The first thing that came to mind was a whiteboard and a really big one. So I needed to build a wall to hang the whiteboard, as the room didn&amp;rsquo;t had any wall that could hold a whiteboard big enough. After completion of the wall, a 6 x 3 feet wide whiteboard found its way to my office. &lt;img src="images/whiteboard.jpg" alt="whiteboard"&gt; Although its roughly 5 to 6 feet away from my desk, I realized I didn&amp;rsquo;t use it enough due to distance. Sitting behind the desk while on the phone or just using my computer, I found myself scribbling on pieces of paper instead of getting out of my chair and walk over to the whiteboard. Therefor I needed a small whiteboard I could grab and use at my desk. It seemed reasonable, however I like minimalistic designs where clutter is removed as much as possible. I needed to come up with something different; enter the whiteboard desk! &lt;img src="images/whiteboardesk00-1024x678.jpg" alt="whiteboardesk00"&gt; &lt;strong&gt;Whiteboard desk&lt;/strong&gt; Instead of buying a mini whiteboard that needs to be stored when not used, I decided to visit my local IKEA and see what’s available. Besides “show your desk” threads I hit &lt;a href="http://www.ikeahackers.net"&gt;ikeahackers.net&lt;/a&gt; on a daily basis. While looking at tables, I noticed that the IKEA kitchen department sells customized tabletops. Each dimension is possible in almost every shape. I decided to order a 7 feet by 3 feet high-gloss white tabletop with a stainless steel edge. The Ikea employee asked where to put the sink, she was surprised when I told her that the tabletop was going to function as a desk. &lt;img src="images/whiteboarddesk03-678x1024.jpg" alt="whiteboarddesk03"&gt; I chose to order the 2 inch thick tabletop as I need to have a desktop that is sturdy enough to hold the weight of a 27” I-mac and a 30” TFT screen. The stainless steel edge fits snug around the desk and covers each side; it doesn&amp;rsquo;t stick out and is not noticeable when typing. It looks fantastic! However the downside is the price, it was more expensive than the tabletop itself. The alternative is a laminate cover that looks like it will be worn out easily. While spending most of my time behind my desk I thought it was worth the investment of buying the real thing. The high-gloss finish acts as the whiteboard surface and works like a charm with any whiteboard markers. I left notes on my desk for multiple days and could be removed without leaving a trace. &lt;img src="images/whiteboarddesk04-2-262x396.jpg" alt="whiteboarddesk04-2"&gt; The tabletop rest on two IKEA Vika Moliden stands, due to the cast of the shadow its very difficult to notice that the color of the stands do not exactly match the color as the stainless steel edge. &lt;img src="images/whiteboarddesk05-185x300.jpg" alt="" title="whiteboarddesk05"&gt; The whiteboard desk is just an awesome piece of furniture. When on the phone I can take notes on my desk while immediately drawing diagrams next to it. It saves a lot of trees, saves a lot of time scrambling for a piece of paper, and a pen and decreases clutter on the desk. The only thing you need to do when building a whiteboard desk is to banish all permanent markers in your office. :) &lt;img src="images/endshot-1024x678.jpg" alt="endshot"&gt; It would be awesome to see what your workspace looks like. What do you love about your workspace and maybe show your own customizations? I would love to see blogs articles pop up describing the workspace of bloggers. Please post a link to your blog article in the comment section.&lt;/p&gt;</description></item><item><title>Aggregating datastores from multiple storage arrays into one Storage DRS datastore cluster.</title><link>https://frankdenneman.ai/2012-04-26-aggregating-datastores-from-multiple-storage-arrays-into-one-storage-drs-datastore-cluster/</link><pubDate>Thu, 26 Apr 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-04-26-aggregating-datastores-from-multiple-storage-arrays-into-one-storage-drs-datastore-cluster/</guid><description>&lt;p&gt;Combining datastores located on different storage arrays into a single datastore cluster is a supported configuration, such a configuration could be used during a storage array data migration project where virtual machines must move from one array to another array, using datastore maintenance mode can help speed up and automate this project. Recently I published an &lt;a href="http://blogs.vmware.com/vsphere/2012/04/using-datastore-maintenance-mode-for-migration-virtual-machines-to-datastore-clusters.html"&gt;article&lt;/a&gt; about this method on the VMware vSphere blog. But what if multiple arrays are available to the vSphere infrastructure and you want to aggregate storage of these arrays to provide a permanent configuration? What are the considerations of such a configurations and what are the caveats? Key areas to focus on are homogeneity of configurations of the arrays and datastores. &lt;img src="images/Multiple-arrays-single-datastore-cluster-300x128.png" alt="" title="Multiple arrays-single datastore cluster"&gt; When combining datastores from multiple arrays it’s highly recommended to use datastores that are hosted on &lt;strong&gt;similar types of arrays&lt;/strong&gt;. Using similar type of arrays, guarantees comparable performance and redundancy features. Although RAID levels are standardized by SNIA, implementation of RAID levels by different vendors may vary from the actual RAID specifications. An implementation used by a particular vendor may affect the read and write performance and the degree of data redundancy compared to the same RAID level implementation of another vendor. Would &lt;strong&gt;VASA&lt;/strong&gt; (vSphere Storage APIs - Storage Awareness) and Storage profiles be any help in this configuration? VASA enables vCenter to display the capabilities of the LUN/datastore. This information could be leveraged to create a datastore cluster by selecting the datastores that have similar Storage capabilities details, however the actual capabilities that are surfaced by VASA are being left to the individual array storage vendors. The detail and description could be similar however the performance or redundancy features of the datastores could differ. Would it be harmful or will Storage DRS stop working when aggregating datastores with different performance levels? Storage DRS will still work and will load balance virtual machine across the datastores in the datastore cluster. However, Storage DRS load balancing is focused on distributing the virtual machines in such a way that the configured thresholds are not violated and getting the best overall performance out of the datastore cluster. By mixing datastores that provide different performance levels, virtual machine performance could not be consistent if it would be migrated between datastores belonging to different arrays. The article “Impact of load balancing on datastore cluster configuration” explains how storage DRS picks and selects virtual machine to distribute across the available datastores in the cluster. Another caveat to consider is when virtual machines are migrated between datastores of different arrays; &lt;strong&gt;VAAI hardware offloading&lt;/strong&gt; is not possible. Storage vMotion will be managed by one of the datamovers in the vSphere stack. As storage DRS does not identify “locality” of datastores, it does not incorporate the overhead caused by migrating virtual machines between datastores of different arrays. When could datastores of multiple arrays be aggregated into a single datastore if designing an environment that provides a stable and continuous level of performance, redundancy and low overhead? Datastores and array should have the following configuration: • Identical Vendor. • Identical firmware/code. • Identical number of spindles backing diskgroup/aggregate. • Identical Raid Level. • Same Replication configuration. • All datastores connected to all host in compute cluster. • Equal-sized datastores. • Equal external workload (best non at all). Personally I would rather create a multiple datastore clusters and group datastores belonging to a single storage array into one datastore cluster. This will reduce complexity of the design (connectivity), no multiple storage level entities to manage (firmware levels, replication schedules) and will leverage VAAI which helps to reduce load on the storage subsystem. If you feel like I missed something, I would love to hear reasons or recommendations why you should aggregate datastores from multiple storage arrays. More articles in the architecting and designing datastore clusters series: Part1: &lt;a href="https://frankdenneman.ai/2011/09/architecture-and-design-of-datastore-clusters/"&gt;Architecture and design of datastore clusters.&lt;/a&gt; Part2: &lt;a href="https://frankdenneman.ai/2011/10/partially-connected-datastore-clusters/"&gt;Partially connected datastore clusters.&lt;/a&gt; Part3: &lt;a href="https://frankdenneman.ai/2012/01/impact-of-load-balancing-on-datastore-cluster-configuration/"&gt;Impact of load balancing on datastore cluster configuration.&lt;/a&gt; Part4: &lt;a href="https://frankdenneman.ai/2012/01/sdrs-and-multi-extents-datastores/"&gt;Storage DRS and Multi-extents datastores.&lt;/a&gt; Part5: &lt;a href="https://frankdenneman.ai/2012/04/connecting-multiple-drs-clusters-to-a-single-storage-drs-datastore-cluster/"&gt;Connecting multiple DRS clusters to a single Storage DRS datastore cluster.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Connecting multiple DRS clusters to a single Storage DRS datastore cluster.</title><link>https://frankdenneman.ai/2012-04-19-connecting-multiple-drs-clusters-to-a-single-storage-drs-datastore-cluster/</link><pubDate>Thu, 19 Apr 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-04-19-connecting-multiple-drs-clusters-to-a-single-storage-drs-datastore-cluster/</guid><description>&lt;p&gt;Recently I received the question if you can connect multiple compute (HA and DRS) clusters to a single Storage DRS datastore cluster and specifically how this setup might impact Storage IO Control functionality. Let’s cover sharing a datastore cluster by multiple compute clusters first before diving into details of the SIOC mechanism. &lt;strong&gt;Sharing datastore clusters&lt;/strong&gt; Sharing datastore clusters across multiple compute clusters is a supported configuration. During virtual machine placement the administrator selects which compute cluster the virtual machine will run in, Storage DRS selects the host that can provide the most resources to that virtual machine. A migration recommendation generated by Storage DRS does not move the virtual machine at host level, consequently a virtual machine cannot move from one compute cluster to another compute cluster by any operation initiated by Storage DRS. &lt;img src="images/multiple-compute-clusters-sharing-sdc-load-balancing-domain-300x179.png" alt="multiple compute clusters sharing sdc-load balancing domain" title="multiple compute clusters sharing sdc-load balancing domain"&gt; &lt;strong&gt;Maximums&lt;/strong&gt; Please remember that the maximum supported number of hosts connected to a datastore is 64. Keep this in mind when sizing the compute cluster or connecting multiple compute clusters to the datastore cluster. As the maximum number of datastores inside a datastore cluster is 32 I think that the number of host connected is the first limit you hit in such a design as the total supported number of paths is 1024 and a host can connect up to 255 LUNs. &lt;strong&gt;The VAAI-factor&lt;/strong&gt; If the datastores are formatted with the VMFS, it’s recommended to enable VAAI on the storage Array if supported. One of the important VAAI primitive is the Hardware assisted locking, also called Atomic Test and Set (ATS). ATS replaces the need for hosts to place a SCSI-2 disk lock on the LUN while updating the metadata or growing a file. A SCSI-2 disk lock command locks out other host from doing I/O to the entire LUN, while ATS modifies the metadata or any other sector on the disk without the use of a SCSI-2 disk lock. This locking was the focus of many best practices around the connectivity of datastores. To reduce the amount of locking, the best practice was to reduce the number of host attached. By using newly formatted VMFS5 volumes in combination with a VAAI-enabled storage array, scsi-2 disk lock commands are a thing of the past. Upgraded VMFS5 volumes or VMFS3 volumes will fall back to using SCSI-2 disk locks if the ATS command fails. For more information about VAAI and ATS please read the &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1021976"&gt;KB article 1021976&lt;/a&gt;. &lt;strong&gt;Note:&lt;/strong&gt; If your array doesn’t support VAAI, be aware that SCSI-2 disk lock commands can impact scaling of the architecture. &lt;strong&gt;Storage DRS IO Load balancing and Storage IO Control&lt;/strong&gt; When enabling the IO Metric on the datastore cluster, Storage DRS automatically enables Storage IO Control (SIOC) on all datastores in the cluster. Storage DRS uses the IO injector from SIOC to determine the capabilities of a datastore, however by enabling SIOC it also provides a method to fairly distribute I/O resources during times of contention. SIOC uses virtual disk shares in order to distribute storage resources fairly and are applied on a datastore wide level. The virtual disk shares of the virtual machine running on that datastore are relative to the virtual disk shares of other virtual machines using that same datastore. To be more specific, SIOC is a host-level module and aggregates the per-host views into a single datastore view in terms of observed latency. If the observed latency exceeds the SIOC level latency threshold, each host sets its own IO queue length based on the total virtual disks shares of the virtual machines in that host using the datastore. As SIOC and its shares are datastore focused cluster membership of the host has no impact on detecting the latency threshold violation and managing the I/O stream to the datastore. Previous articles in the SDRS short series Architecture and design of Datastore clusters: Part1: &lt;a href="https://frankdenneman.ai/2011/09/architecture-and-design-of-datastore-clusters/"&gt;Architecture and design of datastore clusters.&lt;/a&gt; Part2: &lt;a href="https://frankdenneman.ai/2011/10/partially-connected-datastore-clusters/"&gt;Partially connected datastore clusters.&lt;/a&gt; Part3: &lt;a href="https://frankdenneman.ai/2012/01/impact-of-load-balancing-on-datastore-cluster-configuration/"&gt;Impact of load balancing on datastore cluster configuration.&lt;/a&gt; Part4: &lt;a href="https://frankdenneman.ai/2012/01/sdrs-and-multi-extents-datastores/"&gt;Storage DRS and Multi-extents datastores.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>I/O Analyzer v1.1</title><link>https://frankdenneman.ai/2012-03-30-io-analyzer-v1-1/</link><pubDate>Fri, 30 Mar 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-03-30-io-analyzer-v1-1/</guid><description>&lt;p&gt;I/O Analyzer v1.1 is now live on the Flings site: &lt;a href="http://labs.vmware.com/flings/io-analyzer" title="http://labs.vmware.com/flings/io-analyzer"&gt;http://labs.vmware.com/flings/io-analyzer&lt;/a&gt; I/O Analyzer is a virtual appliance tool for measuring storage performance. This version of I/O Analyzer adds the ability to run trace replay – a function which allows a user to replay an I/O trace that was captured elsewhere (with vscsistats) on the target test system. This version also has cool data visualization charts, both for the characteristics of an imported trace, and performance results on the test system. This is really cool stuff, go check it out.&lt;/p&gt;</description></item><item><title>Impact of Intra VM affinity rules on Storage DRS</title><link>https://frankdenneman.ai/2012-02-21-impact-of-intra-vm-affinity-rules-on-storage-drs/</link><pubDate>Tue, 21 Feb 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-02-21-impact-of-intra-vm-affinity-rules-on-storage-drs/</guid><description>&lt;p&gt;By default Storage DRS applies an Intra-VM affinity rule to all new virtual machines in the datastore cluster. The Intra-VM affinity rule keeps the virtual machine files, such as VMX file, log files, vSwap and VMDK files together on one datastore. &lt;img src="images/affinity-rule-300x252.png" alt="" title="affinity rule"&gt; Keeping all files together on one datastore allows ease of troubleshooting. However Storage DRS load balance algorithms may benefit from distributing the virtual machine across datastores. Let’s zoom in how Storage DRS handles virtual machine with multiple disks when the Intra-VM affinity rule is removed from the virtual machine. &lt;strong&gt;DrmDisk&lt;/strong&gt; Storage DRS uses the construct “DrmDisk” as the smallest entity it can migrate. A DrmDisk represent a consumer of datastore resources. This means that Storage DRS creates a DrmDisk for each VMDK belonging to the virtual machine. The interesting part is the collection of system files and swap file belonging to virtual machines. Storage DRS creates a single Drmdisk for all the system files, if an alternate swapfile location is specified, the vSwap file is represented as a separate DrmDisk and Storage DRS will be disabled on the swap DrmDisk. More info about alternate swapfile locations can be found &lt;a href="http://blogs.vmware.com/vsphere/2012/02/storage-drs-affinity-rules-and-alternate-swapfile-location.html"&gt;here&lt;/a&gt;. For example a virtual machine with three VMDK’s and with no alternate swapfile locations configured, Storage DRS creates 4 DrmDisk: • A separate DrmDisk for each Virtual Machine Disk File • A DrmDisk for system files (VMX, Swap, logs, etc) &lt;img src="images/DRMdisk-300x121.png" alt="" title="DRMdisk"&gt; Initial placement recommendation will look similar to this screenshot when the Intra-VM affinity rule is disabled. Notice the separate recommendation for the &amp;ldquo;virtual machine configuration file&amp;rdquo;? This is the DrmDisk containing the system files. &lt;img src="images/affinity-rule-disabled-300x187.png" alt="" title="affinity-rule disabled"&gt; &lt;strong&gt;Initial placement Space load balancing&lt;/strong&gt; Initial placement and Space load balancing benefit from this increased granularity tremendously. Instead of searching a suitable datastore that can fit the virtual machine as a whole, Storage DRS is able to seek for appropriate datastores for each DrmDisk file separately. Recently I wrote an article about d&lt;a href="https://frankdenneman.ai/2012/01/storage-drs-initial-placement-and-datastore-cluster-defragmentation/"&gt;atastore cluster fragmentation and Storage DRS ability&lt;/a&gt; to issue prerequisite migrations. You can imagine due to the increased granularity, datastore cluster fragmentation is less likely to happen and if prerequisite migrations are required, the number of migrations is expected to be a lot less. &lt;img src="images/intravmaffinityrule-off-300x153.png" alt="" title="intravmaffinityrule-off"&gt; &lt;strong&gt;IO load balancing&lt;/strong&gt; Similar to initial placement and load balancing, I/O load balancing benefit from the deeper level of detail. It can find a better fit for each workload generated by the VMDK files. The system file DrmDisk will not be migrated quite often as it small in size and does not generate a lot of I/O often. Storage DRS analyzes the workload and generates a workload model for each DrmDisk, it then decides which datastore it needs to place the DrmDisk to keep the load balanced within the datastore cluster while offering enough performance for each DrmDisk. You can imagine this becomes a lot harder when Storage DRS is required to keep all the VMDK files together. Usually the datastore chosen is the datastore that provides the best performance for the most demanding workload AND is able to store all the virtual machine disk files and system files. Now let’s dig into this a little deeper, for example the virtual machine used in the previous example has two DrmDisk generating heavy workloads, while the DrmDisks containing the system files and VMDK2 are “cold”. &lt;img src="images/intravmaffinityrule-off-activity-300x245.png" alt="" title="intravmaffinityrule-off activity"&gt; If Intra-VM affinity rules are used, Space balancing is required to find a datastore that has 350+ GB free without exceeding the space utilization threshold. If I/O load balancing is enabled, this datastore also needs to provide enough performance to keep the latency below the I/O latency threshold (by default 15ms) after placing the 4 DrmDisks. You can imagine it’s a lot less complicated when space and I/O load balancing are allowed to place each DrmDisk on a datastore that suits their needs. &lt;strong&gt;How to change default datastore cluster behavior?&lt;/strong&gt; Mentioned before, datastore cluster defaults in applying an Intra-VM affinity rule to each new virtual machine. Recently Duncan published an article on how to change the &lt;a href="http://www.yellow-bricks.com/2012-02-07-setting-the-default-affinity-rule-for-storage-drs/"&gt;affinity rules on active virtual machines&lt;/a&gt;. Unfortunately there is not User-Interface option available that can disable this behavior, so I turned to my good friend and colleague &lt;a href="https://twitter.com/#!/alanrenouf"&gt;Alan Renouf&lt;/a&gt; and he created some nice PowerCLI code to solve this problem: As I’m not a powerCLI user at all, I’m relaying Alan’s instructions: &lt;em&gt;First you need to run the below code to put the function into memory:&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Storage DRS I/O load balancing and Array-based Auto-Tiering</title><link>https://frankdenneman.ai/2012-02-09-storage-drs-io-load-balancing-and-array-based-auto-tiering/</link><pubDate>Thu, 09 Feb 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-02-09-storage-drs-io-load-balancing-and-array-based-auto-tiering/</guid><description>&lt;p&gt;In its basic form Storage DRS can be used together with any array, however there are a few combinations of Storage array features and Storage DRS features that don’t mix easily. One of the most sought after question is can Storage DRS work with Array based Auto-tiering? And the answer is yes, yes you can use initial placement and out of space avoidance features that Storage DRS offers, however it is not recommended to enable the I/O metric feature. &lt;strong&gt;Modeling&lt;/strong&gt; The main goal of the I/O metric function, popular called I/O load balancing, is to resolve the imbalance of performance delivered from datastores in the datastore cluster. To avoid hotspots in the datastore cluster and decrease overall latency imbalance, Storage DRS I/O load balancing uses device modeling and virtual machine workload modeling. Device modeling helps Storage DRS to understand the performance characteristics of the devices backing the datastores, while virtual machine workload modeling analyzes virtual machine workload running inside the datastore cluster. Both device and workload modeling assists Storage DRS to asses the improvement of I/O latency that will be achieved after a virtual machine migration. &lt;strong&gt;Device modeling and the SIOC injector&lt;/strong&gt; To understand and learn the performance of the devices backing the datastore, Storage DRS uses the Storage IO Control (SIOC) workload injector. To characterize the datastore, SIOC injector opens and read random blocks of the datastore. As the SIOC injector does not open every block backing the datastore, we cannot ensure that the SIOC injector opens an identical number of blocks of each performance tier to characterize the disk. As multiple performance tiers of disk back the datastore there is a possibility that the SIOC injector might open blocks located on similar speed disks, either slow or fast, while the datastore is primarily backed by disk with a different performance level. Let’s use an example to clarify this further. &lt;img src="images/SIOC-injector-read-tier3-300x183.png" alt="" title="SIOC-injector read tier3"&gt; In the diagram pictured above, SIOC opens random blocks and perform its tests. Unfortunately it doesn’t open blocks on other disks. While most of the blocks backing the datastore are located on faster performing disks, Storage DRS device modeling will characterize this disk with performance similar to 7.2K SATA disks. This inaccurate characterization of datastore performance might lead to an incorrect performance assessment and can lead to Storage DRS withholding a migration recommendation while there is sufficient performance available. &lt;strong&gt;Segment migration triggered by auto-tiering algorithms&lt;/strong&gt; By using SIOC injector Storage DRS evaluate the performance of the disks, however Auto-tiering solutions migrate LUN segments (chunks) to different disk types based on the use pattern. Hot segments (frequently accessed) typically move to faster disks while cold segments move to slower disks. Depending on the array type and vendor there are different kind of policies and threshold for these migrations. By default Storage DRS is invoked every 8 hours and requires performance data over more than 16 hours to generate I/O load balancing decisions. Multiple storage vendors offer auto-tiering solutions, each using different time-cycles to collect and analyze workload before moving LUN segments. Some auto-tiering solutions move chunks based on real-time workload while other arrays move chunks after collecting performance data for 24 hours. This means that auto tiering solutions alter the landscape in which the SIOC injector performs its test. Let’s turn to another scenario for clarification. In this scenario, SIOC is primarily opening blocks located in the Tier-1 diskgroup belonging to the datastore. As the datastore isn’t using these segments that often (cold) the auto tiering solution decides to migrate these segments to a lower tier. In this case the segments are migrated to 15K disks instead of SSD devices. &lt;img src="images/SIOC-injector-read-tier1-300x222.png" alt="" title="SIOC-injector read tier1"&gt; Storage DRS expects that the behavior of the device remains the same for at least 16 hours; it will base its calculation on these facts. Auto tiering solutions might change the underlying structure of the datastore based on its algorithm and timescales, conflicting with Storage DRS its calculation. The misalignment of Storage DRS invocation and auto-tiering algorithms cycles makes it unpredictable when LUN segments may be moved, potentially colliding with the Storage DRS calculations and recommendations. Together with the transparency of auto tiering algorithms to Storage DRS and the non-existing communication between Storage DRS and Auto-tiering algorithms create the basis of the recommendation to disable I/O metric on datastore clusters backed by devices participating in an auto-tiering solution. Always verify these recommendations with your storage vendor. &lt;strong&gt;Additional information:&lt;/strong&gt; Duncan wrote an excellent article about the Storage IO Control workload injector, which can be found &lt;a href="http://www.yellow-bricks.com/2011-08-05-sdrs-and-auto-tiering-solutions-the-injector/"&gt;here&lt;/a&gt;. More info on device modeling and load balancing can be found in the article &lt;a href="https://frankdenneman.ai/2012/01/impact-of-load-balancing-on-datastore-cluster-configuration/"&gt;impact of load balancing on datastore cluster configuration&lt;/a&gt;. &lt;strong&gt;Note&lt;/strong&gt;: This article is describing Storage DRS behavior based on vSphere 5.&lt;/p&gt;</description></item><item><title>(Storage) DRS (anti-) affinity rule types and HA interoperability</title><link>https://frankdenneman.ai/2012-02-06-sdrs-anti-affinity-rule-types-and-ha-interoperability/</link><pubDate>Mon, 06 Feb 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-02-06-sdrs-anti-affinity-rule-types-and-ha-interoperability/</guid><description>&lt;p&gt;Lately I have received many questions about the interoperability between HA and affinity rules of DRS and Storage DRS. I’ve created a table listing the (anti-) affinity rules available in a vSphere 5.0 environment.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Technology&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Affinity&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Anti-Affinity&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Respected by VMware HA&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;DRS&lt;/td&gt;
&lt;td&gt;VM-VM&lt;/td&gt;
&lt;td&gt;Keep virtual machines together&lt;/td&gt;
&lt;td&gt;Separate virtual machines&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VM-Host&lt;/td&gt;
&lt;td&gt;Should run on hosts in group&lt;/td&gt;
&lt;td&gt;Should not run on hosts in group&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Must run on hosts in group&lt;/td&gt;
&lt;td&gt;Must not run on hosts in group&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SDRS&lt;/td&gt;
&lt;td&gt;Intra-VM&lt;/td&gt;
&lt;td&gt;VMDK affinity&lt;/td&gt;
&lt;td&gt;VMDK anti-affinity&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VM-VM&lt;/td&gt;
&lt;td&gt;Not available&lt;/td&gt;
&lt;td&gt;VM Anti-Affinity&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;As the table shows, HA will ignore most of the (anti-) affinity rules in its placement operations after a host failure except the “Virtual Machine to Host - Must rules”. Every type of rule is part of the DRS ecosystem and exists in the vCenter database only. A restart of a virtual machine performed by HA is a host-level operation and HA does not consult the vCenter database before powering-on a virtual machine. &lt;strong&gt;Virtual machine compatibility list&lt;/strong&gt; The reason why HA respect the &amp;ldquo;must-rules&amp;rdquo; is because of DRS&amp;rsquo;s interaction with the host-local “compatlist” file. This file contains a compatibility info matrix for every HA protected virtual machine and lists all the hosts with which the virtual machine is compatible. This means that HA will only restart a virtual machine on hosts listed in the compatlist file. &lt;strong&gt;DRS Virtual machine to host rule&lt;/strong&gt; A “virtual machine to hosts” rule requires the creation of a Host DRS Group, this cluster host group is usually a subset of hosts that are member of the HA and DRS cluster. Because of the intended use-case for must-rules, such as honoring ISV licensing models, the cluster host group associated with a must-rule is directly pushed down in the compatlist. &lt;strong&gt;Note&lt;/strong&gt; Please be aware that the compatibility list file is used by all types of power-on operations and load-balancing operations. When a virtual machine is powered-on, whether manual (admin) or by HA, the compatibility list is checked. When DRS performs a load-balancing operation or maintenance mode operation, it checks the compatibility list. This means that no type of operation can override must- type affinity rules. For more information about when to use must and should rules, please read this article: &lt;a href="https://frankdenneman.ai/2010/12/vm-host-affinity-rules-should-or-must/" title="Should or Must VM-Host affinity rules"&gt;Should or Must VM-Host affinity rules&lt;/a&gt;. &lt;strong&gt;Contraint violations&lt;/strong&gt; After HA powers-on a virtual machine, it might violate any VM-VM or VM-host should (anti-) affinity rule. DRS will correct this constraint violation in the first following invocation and restore “peace” to the cluster. &lt;strong&gt;Storage DRS (anti-) affinity rules&lt;/strong&gt; When HA restarts a virtual machine, it will not move the virtual machine files. Therefore creation of Storage DRS (anti-) affinity rules do not affect virtual machine placement after a host failure.&lt;/p&gt;</description></item><item><title>Retrospect of 2011 content due to Bloggers survey</title><link>https://frankdenneman.ai/2012-01-24-retrospect-of-2011-content-due-to-bloggers-survey/</link><pubDate>Tue, 24 Jan 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-01-24-retrospect-of-2011-content-due-to-bloggers-survey/</guid><description>&lt;p&gt;&lt;a href="http://http://vsphere-land.com/"&gt;vSphere-land.com&lt;/a&gt; is running it’s annual &lt;a href="http://vsphere-land.com/news/voting-now-open-for-the-top-vmware-virtualization-blogs.html"&gt;Top 25 virtualization blog&lt;/a&gt; survey again and I’m really interested to see who are picked this year. Like previous year, some great bloggers disappear while other new great ones emerge. One guy I want to mention by name is &lt;a href="http://www.chriscolotti.us/"&gt;Chris Colotti&lt;/a&gt;, his blog is a great source of information about vCloud Director. If you haven’t visited his blog yet, go do that right away!. Last year I’ve been pretty busy writing, shaping, designing, wrestling with publishers in order to get our (&lt;a href="http://www.twitter.rs/DuncanYB"&gt;@DuncanYB&lt;/a&gt;) book “vSphere 5 Clustering technical deepdive out to the public. This meant it cut down on research time, which resulted in a smaller number of blogs being released than previous years. So after seeing other people’s blog about their top 10, I was curious to see what I’ve done last year. The articles that are listed are the ones I’m proud of, spending a lot of time on researching them, but most of all, enjoyed the most writing them. &lt;a href="https://frankdenneman.ai/2012/01/storage-drs-initial-placement-and-datastore-cluster-defragmentation/"&gt;Storage DRS initial placement and datastore cluster defragmentation&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2012/01/impact-of-load-balancing-on-datastore-cluster-configuration/"&gt;Impact of Load Balancing on datastore cluster configuration&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2011/10/partially-connected-datastore-clusters/"&gt;Partially Connected datastore clusters&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2011/07/mem-minfreepct-sliding-scale-function/"&gt;Mem minfreepct sliding scale function&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2011/07/upgrading-vmfs-datastores-and-sdrs/"&gt;Upgrading vmfs datastores and Storage DRS&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2011/07/multi-nic-vmotion-support-in-vsphere-5-0/"&gt;Multi NIC vMotion support in vSphere 5.0&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2011/04/contention-on-lightly-utilized-hosts/"&gt;Contention on lightly Utilized Hosts&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2011/04/restart-vcenter-results-in-drs-load-balancing/"&gt;Restart vCenter results in DRS load balancing&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2011/02/ip-hash-versus-lbt/"&gt;IP-HASH versus Load Based Teaming&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2011/01/setting-correct-percentage-of-cluster-resources-reserved/"&gt;Setting correct percentage of cluster resources reserved&lt;/a&gt; &lt;a href="https://frankdenneman.ai/2011/01/amd-magny-cours-and-esx/"&gt;AMD Magny Cours and ESX&lt;/a&gt; Please take 5 minutes of your time and vote for your favorite blogger. I hope they will announce the winner like they did last year. 90 minutes of nerve wrecking but oh-so-enjoyable videoshow! Cast your &lt;a href="http://www.surveygizmo.com/s3/786135/Top-VMware-virtualization-blogs-2012"&gt;vote now&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>Storage DRS initial placement and datastore cluster defragmentation</title><link>https://frankdenneman.ai/2012-01-24-storage-drs-initial-placement-and-datastore-cluster-defragmentation/</link><pubDate>Tue, 24 Jan 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-01-24-storage-drs-initial-placement-and-datastore-cluster-defragmentation/</guid><description>&lt;p&gt;Recently an interesting question was raised about what happens if enough free space is available in the datastore cluster but not enough space is available per datastore during placement of a virtual machine. This scenario is often referred as a defragmented datastore cluster. &lt;img src="images/space-fragmentation-263x300.png" alt="" title="space fragmentation"&gt; The short answer is that if not enough space available on any given datastore, then Storage DRS starts to consider migrating existing virtual machines from the datastore to free up space. This article zooms in on the process of generating such an initial placement recommendation. &lt;strong&gt;Rules and boundaries within a datastore cluster&lt;/strong&gt; Storage DRS will not violate the configured space utilization and IO latency threshold of the datastore cluster. This means that Storage DRS will place virtual machines that consume space up to the configured space utilization threshold, for example setting the space utilization threshold to 80% on a 1000GB datastore will allow Storage DRS to place virtual machines that consume space up to 800 GB. Be aware of this when monitoring free space available on the datastores in the cluster. When creating or moving a virtual machine in the datastore, the first thing to consider is the affinity rules. By default virtual machine files are kept together in the working directory of the virtual machine. If the virtual machine needs to be migrated, all the files inside the virtual machines’ working directory are moved. This article features the use of the default affinity rule, however if the default affinity rule is disabled, Storage DRS will move the working directory and virtual disks separately allowing Storage DRS to distribute the virtual disk files on a more granular level. &lt;strong&gt;Prerequisite migrations&lt;/strong&gt; During initial placement, if no datastore with enough space is available in the datastore cluster, Storage DRS starts by searching alternative locations for the existing virtual machines in the datastores and attempts to place the virtual machines to other datastores one by one. As a result Storage DRS may generate sets of migration recommendations of existing virtual machines that allow placement of the new virtual machine. These migrations generated are called prerequisite migrations and combined with the placement operations is called a recommendation set. &lt;strong&gt;Depth of recursion&lt;/strong&gt; Storage DRS uses a recursive algorithm for searching alternative placements combinations. To keep Storage DRS from trying an extremely high number of combinations of virtual machine migrations, the “depth of recursion” is limited to 2 steps. What defines a steps and what counts towards a step? A step can be best defined as a set of migrations out of a datastore in preparation of (or to make room for) another migration into that same datastore. This step can contain one vmdk, but can also contain multiple virtual machines with multiple virtual disks attached. In some cases, room must be created on that target datastore first by moving a virtual machine out to another datastore, which results in an extra step. The following diagram visualizes the process. &lt;img src="images/recursive-steps-300x266.png" alt="" title="recursive steps"&gt; Storage DRS has calculated that a new virtual machine can be placed in Datastore 1 if VM2 and VM3 are migrated to Datastore 2, however, placing these two virtual machines on datastore 2 will violate the space utilization, therefore room must be created. VM4 is moved out of Datastore2 as part of a step of creating space. This results in Step 1, moving out to Datastore 3, followed by Step 2, moving VM2 and VM3 to Datastore 2 to finally placing the new virtual machine on Datastore 1. Storage DRS stops its search if there are no 2-step moves to satisfy the storage requirement of an initial placement. An advanced setting can be set to change the number of steps used by the search. As always, it is strongly discouraged to change the defaults, as many hours of testing has been invested in researching the setting that offers good performance while minimizing the impact of the operation. If you have a strong case of changing the number of steps, set the advanced configuration option “MaxRecursionDepth”. The default value is 1 the maximum value is 5. Because the algorithm starts counting at 0, default value of 1 allows 2 steps. &lt;strong&gt;Goodness value&lt;/strong&gt; Storage DRS will cycle through all the datastores in the datastore cluster and initiates a search for space on each datastore. A search generates a set of prerequisites migration if it can provide space that allows the virtual machine placement within the depth of recursion. Storage DRS evaluates the generated sets and award each set a goodness value. The set with the least amount of cost (i.e. migrations) is the preferred migration recommendation and shown at the top of the list. Let’s explore this a bit more by using a scenario with 3 datastores. &lt;strong&gt;Scenario&lt;/strong&gt; The datastore cluster contains 3 datastores; each datastore has a size of 1000GB and contains multiple virtual machines with various sizes. The space consumed on the datastores range from 550GB to 650GB, while the space utilization threshold is set to 80%. At this point the administrator creates a virtual machine that requests 350GB of space. Although the datastore cluster itself contains 1225GB of free space, Storage DRS will not go forward and place the virtual machine on any of the three datastores, because placing the virtual machine will violate the space utilization threshold of the datastores. &lt;strong&gt;Search process&lt;/strong&gt; As each ESXi host provide information about the overall datastore utilization and the vmdk statistics, Storage DRS has a clear overview of the most up to date situation and will use these statistics as input for its search. In the first step it will simulate all the necessary migrations to fit VM10 in Datastore 1. The prerequisite migration process with least number of migrations to fit the virtual machine on to Datastore 1 looks as follows: &lt;img src="images/IP-sim01-300x288.png" alt="" title="IP-sim01"&gt;&lt;/p&gt;</description></item><item><title>Storage DRS and Multi-extents datastores</title><link>https://frankdenneman.ai/2012-01-17-sdrs-and-multi-extents-datastores/</link><pubDate>Tue, 17 Jan 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-01-17-sdrs-and-multi-extents-datastores/</guid><description>&lt;p&gt;Somebody asked me if VMFS3 multi-extents datastores are supported by Storage DRS. Although they are supported and fully operational in Storage DRS, one must ask if this construct of large datastores should be used in a datastore cluster. &lt;strong&gt;Resource aggregation and flexibility&lt;/strong&gt; Storage DRS Datastore clusters offer flexibility in adding and removing datastores dynamically and allow the administrator to focus on macro management by reducing the number of entities to be managed. By using datastore cluster, micro management of single datastores is something from the past, such as the tedious task of virtual machine placement. The administrator no longer needs to find a datastore that provide adequate space, while still ensuring that placement of the virtual machine will not result in an I/O bottleneck. Let alone monitoring the current workload next to the ever-expanding workload; application lifecycles are changing drastically and virtual machine server sprawl is still one of the top concerns of the modern administrator. Keeping track and managing such an environment is very challenging. By allowing Storage DRS to manage (initial) placement of virtual machines, the administrator only needs to monitor overall available space and IO performance of the datastore cluster itself. If the cluster requires more space of more IO performance the administrator can dynamically add more datastores to the datastore cluster and allow Storage DRS to find an optimal distribution of the current workload. The option “Run Storage now” in the datastore cluster view allows the administrator to trigger a Storage DRS invocation immediately. Using Storage DRS and particularly space load-balancing can reduce the need of multi-extents as well. By allowing Storage DRS to monitor space utilization, the free space used as a safety buffer can be greatly reduced. Each ESXi host reports the virtual machine space utilization and the datastore utilization; Storage DRS will trigger an invocation if the configured space utilization is violated. A common practice is to assign a big chunk of space as safety buffer to avoid out of space situation of a datastore, which might lead to downtime of the active virtual machines. I’ve seen organization using requirements of 30% free space on datastores. By reducing slack space, a higher consolidation ratio can be achieved (if IO performance allows this), or a reduction in LUN sizes. Reducing LUN sizes can be used to provision additional datastores to the datastore cluster. More datastores benefits Storage DRS by offering more load balancing options, more datastores increase the number of queues, which benefits IO management at ESXi level and at SIOC at cluster level. Essentially this configuration is the complete opposite of VMFS extends. However if larger size datastores are necessary, vSphere 5 offers VMFS5. &lt;strong&gt;VMFS5&lt;/strong&gt; VMFS5 allows datastores up to 64 terabyte of contiguous space. ESXi 5.0 allows a VMDK size up to 2 terabyte of space, providing sufficient space for most virtual machines configurations. If the virtual machine requires more than 32 virtual machine disks of 2 terabyte it’s recommended to disable the default affinity rule (keep all disks together) and allow Storage DRS to distribute the virtual machine disk files across all datastores inside the datastore cluster. This granularity allows Storage DRS to find a suitable datastore for each virtual disk that aligns with the performance requirements of that specific virtual disk.&lt;/p&gt;</description></item><item><title>vSphere 4.1 HA and DRS book for only $19.95</title><link>https://frankdenneman.ai/2012-01-09-vsphere-4-1-ha-and-drs-book-for-only-19-95/</link><pubDate>Mon, 09 Jan 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-01-09-vsphere-4-1-ha-and-drs-book-for-only-19-95/</guid><description>&lt;p&gt;We lowered the price of the vSphere 4.1 HA and DRS technical Deepdive book permanently. As of this week you can obtain one of the coolest books in the virtualization section at Amazon for only &lt;strong&gt;$19.95&lt;/strong&gt;. &lt;a href="http://www.amazon.com/VMware-vSphere-4-1-Technical-deepdive/product-reviews/1456301446/ref=dp_top_cm_cr_acr_txt?ie=UTF8&amp;amp;showViewpoints=1"&gt;30 5-star reviews&lt;/a&gt; couldn’t be wrong. Here is just a random selection of two of those 5-star reviews:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;B. Riley&lt;/strong&gt;: The term &amp;ldquo;deepdive&amp;rdquo; is regularly abused in the technology world these days. There&amp;rsquo;s nothing more disheartening than walking into a one hour session at a conference entitled deepdive, and finding out that it&amp;rsquo;s neither deep, nor a dive. It ends up being more like sitting in a couple inches of warm water in a plastic kiddie pool. When these guys say deepdive, they mean it. This book is packed with helpful information from the first, to the last page. Somehow, they even manage to read minds. They know what you&amp;rsquo;re thinking as a VMware administrator, and they&amp;rsquo;ll tell you the why, and the best practice. Lots of books have good overviews of HA and DRS, but none goes as deep as this. It&amp;rsquo;s very well-written, and highly recommended for anyone who is running, or thinking about running an HA/DRS environment. This book is, as Jeremy Clarkson would say, &amp;ldquo;absolutely brilliant&amp;rdquo;!&lt;/p&gt;</description></item><item><title>Impact of load balancing on datastore cluster configuration</title><link>https://frankdenneman.ai/2012-01-02-impact-of-load-balancing-on-datastore-cluster-configuration/</link><pubDate>Mon, 02 Jan 2012 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2012-01-02-impact-of-load-balancing-on-datastore-cluster-configuration/</guid><description>&lt;p&gt;This article is a part of the series on architecture and design on datastore clusters. This article zooms in on why it’s recommended to use similar type disks in a datastore cluster. &lt;strong&gt;In-tier balancing solution&lt;/strong&gt; SDRS can be considered as an “in-tier” balancing solution, suggesting that a datastore cluster should be populated with datastores that provide similar performance, continuity, capacity or service level. Although it’s not a technical requirement to have similar configured datastores, using heterogeneous configurations in a datastore cluster can lead to unexpected results. Understanding the SDRS’ main goal and the load balancing process can assist you in architecting your datastore cluster. &lt;strong&gt;SDRS load balancing goal&lt;/strong&gt; The main focus of SDRS is to correct imbalance from both a space utilization and latency perspective on the datastore level. SDRS determines the imbalance level (space or latency) of the datastore cluster and migrates one or multiple virtual machine disk to solve the imbalance. In order to select an appropriate migration candidate (virtual machine) SDRS relies on device and workload modeling to understand the impact of a workload on the latency of the datastore, SDRS uses virtual machine statistics and datastore utilization to understand the impact of virtual machine placement on the space utilization of a datastore. &lt;strong&gt;Modeling&lt;/strong&gt; Let’s take a closer look at modeling. SDRS captures device performance to create a performance model; by using the SIOC injector and a reference workload it understands and learns the performance of each device. This way SDRS gets a clear picture of the datastores inside the datastore cluster. Workload modeling is used by SDRS to understand and learn the virtual machine workloads inside the datastore cluster. The workload modeling process creates a workload metric of each virtual disk and analyzes the impact of the data points on latency. SDRS combines and correlates the outcome of device and workload modeling and space utilization into a unified recommendation. This means that when SDRS decides to migrate a specific VMDK, it considers the workload metric of the virtual disk and analyzes the impact of that specific workload on the latency of the destination datastore. If both IO metric and space utilization functions are enabled on the datastore cluster, SDRS combines the outcome of device modeling, workload modeling and space utilization and weights them regarding to violated threshold. Interesting enough, even when you disable IO load balancing, SDRS attempts to take overall IO statistics into account when finding a suitable datastore. &lt;strong&gt;Impact of load balancing construct on datastore cluster configuration&lt;/strong&gt; Although SDRS analyzes devices and each virtual machines’ workload it’s is key to understand that SDRS’ main priority is to correct the threshold violation of datastore. Although it tries to find the best suitable datastore for a specific workload, modeling is still used as a metric to understand and achieve the goal of getting the best overall performance out of the datastore cluster. In other words, modeling is used for balancing the load on the datastores and not to respect specific wishes of a virtual machine disk. In one way you can argue that SDRS load balancing has somewhat of a socialistic nature. Benefit for the society (datastores inside a datastore cluster) outweighs the individual need (single virtual machine performance). Let’s look at an example to better understand this concept. &lt;strong&gt;Example scenario&lt;/strong&gt; VM1 is running on a datastore1. SDRS determined that the normalized load* is 5ms latency. VM2 and VM3 are running on a datastore2. SDRS considers datastore2 to have a normalized load of 20ms latency, violating the default threshold of 15ms. Normalized load: SDRS aggregates the device modeling and workload modeling into a metric called normalized load. &lt;img src="images/scenario1-pre-copy-300x186.png" alt="" title="scenario1-pre copy"&gt; SDRS moves VM3 to datastore1; at this point the overall latency of the datastore2 is reduced 13ms. However due to moving VM3 to datastore1, the latency is increased from 5ms to 12ms. At this point the increase in latency will impact the workload of VM1, however the “society” benefits from the move because after the move no datastore is violating the latency threshold of the SDRS cluster anymore. &lt;img src="images/scenario1-post-300x192.png" alt="" title="scenario1-post"&gt; In this scenario the overall IOPS will be higher, which aligns with the goal of SDRS utilizing overall capacity and performance. &lt;strong&gt;Note:&lt;/strong&gt; As this subject is complex enough, I used a very simple example. In this scenario the latency &amp;ldquo;moved&amp;rdquo; with the VM. In real life this is not necessarily the fact, when a virtual machine is moved the latency will go up with the same amount at which the latency went down on the source. &lt;strong&gt;Load Balancing in a Heterogeneous configuration&lt;/strong&gt; What if the datastore cluster contains a mix of datastores that are backed by different types of disks? For a moment, let’s focus on the performance impact of a heterogeneous configuration. As mentioned before, device and workload modeling helps SDRS to find the most suitable datastore for a specific workload, however when combining different types of disk, for example, SSD, FC and SATA, it is not uncommon to see the fastest datastore fill up first. If one of the smaller SSD’s run out of space, SDRS is required to solve the space utilization threshold violation and will migrate a workload from a faster datastore to a slower datastore, prioritizing space utilization over IO utilization. Although future invocations of the SDRS algorithm might solve the problem by moving VMDK’s around to find a more optimal balance, no priority or guarantees can be assigned to a specific virtual disk avoiding potential decrease in performance of a specific VMDK. Now at this point most of you wonder if VASA and storage profiles can be used in such a configuration to associate specific profiles to virtual machines and make these VMs compliant to specific datastores. SDRS does not incorporate storage profiles compliancy in the load balancing algorithms and unfortunately not every storage vendor offers VASA providers of their arrays. Some excellent articles about VASA and Profile driven storage can be found at [Yellow Bricks.com](http://Yellow Bricks.com) and &lt;a href="http://blogs.vmware.com/vSphere/storage" title="VMware Storage Blog"&gt;blogs.vmware.com/vSphere/storage&lt;/a&gt; VASA: &lt;a href="http://blogs.vmware.com/vsphere/2011/08/vsphere-50-storage-features-part-10-vasa-vsphere-storage-apis-storage-awareness.html" title="http://blogs.vmware.com/vsphere/2011/08/vsphere-50-storage-features-part-10-vasa-vsphere-storage-apis-storage-awareness.html"&gt;http://blogs.vmware.com/vsphere/2011/08/vsphere-50-storage-features-part-10-vasa-vsphere-storage-apis-storage-awareness.html&lt;/a&gt; Profile driven storage: [http://www.yellow-bricks.com/2011-07-13-vsphere-5-0-profile-driven-storage-what-is-it-good-for/](/ &lt;a href="http://www.yellow-bricks.com/2011-07-13-vsphere-5-0-profile-driven-storage-what-is-it-good-for/"&gt;http://www.yellow-bricks.com/2011-07-13-vsphere-5-0-profile-driven-storage-what-is-it-good-for/&lt;/a&gt; &amp;quot; &lt;a href="http://www.yellow-bricks.com/2011-07-13-vsphere-5-0-profile-driven-storage-what-is-it-good-for/%22"&gt;http://www.yellow-bricks.com/2011-07-13-vsphere-5-0-profile-driven-storage-what-is-it-good-for/&amp;quot;&lt;/a&gt;) To guarantee specific performance to virtual machines it is recommended to uses similar type disks to back the datastores of a datastore cluster. This configuration offers a stable and predictable service level to the virtual infrastructure. If multiple types of disks are available, it is recommended to split and create multiple datastore clusters each containing groups of identical types of disks. Previous articles in the SDRS short series Architecture and design of Datastore clusters: Part1: &lt;a href="https://frankdenneman.ai/2011/09/architecture-and-design-of-datastore-clusters/" title="Architecture and design of Datastore clusters"&gt;Architecture and design of datastore clusters&lt;/a&gt; Part2: &lt;a href="https://frankdenneman.ai/2011/10/partially-connected-datastore-clusters/" title="Partially connected datastore clusters"&gt;Partially connected datastore clusters&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Cyber Monday deal!</title><link>https://frankdenneman.ai/2011-11-26-cyber-monday-deal/</link><pubDate>Sat, 26 Nov 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-11-26-cyber-monday-deal/</guid><description>&lt;p&gt;We are long time fascinated by the whole Black Friday and Cyber Monday craze in the USA. Unfortunately we do not celebrate Thanksgiving in the Netherlands and none of the shops are participating in something similar as Black Friday. This year we thought it was a great idea to participate in some form and what better than to offer our vSphere 5 Clustering Technical Deepdive e-book for a price you cannot resist. We just changed the price of the vSphere 5 Clustering Technical Deepdive to $ 4.99 and 3.99 for our European friends. Yes that is correct…. Less than 5 dollars for over 350 pages of deepdive material. What better way than recover from the madness of Black Friday and just sit back and relax reading this amazing piece of work? This is most definitely the deal of the year for all virtualization fanatics! Keep in mind that this is a limited offer, Tuesday the 29th the price will be back to “normal” again. &lt;a href="http://www.amazon.com/gp/product/B005C1SARM/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;tag=frankdenneman-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B005C1SARM"&gt;US – ebook – $ 4.99&lt;/a&gt; &lt;a href="http://www.amazon.co.uk/vSphere-Clustering-Technical-Deepdive-ebook/dp/B005C1SARM/ref=cm_cr_pr_product_top"&gt;UK – ebook – £ 3.99&lt;/a&gt; &lt;a href="http://www.amazon.de/vSphere-Clustering-Technical-Deepdive-ebook/dp/B005C1SARM/ref=cm_cr_pr_product_top"&gt;DE – ebook – € 3.99&lt;/a&gt; &lt;a href="http://www.amazon.fr/vSphere-Clustering-Technical-Deepdive-ebook/dp/B005C1SARM/ref=cm_cr_pr_product_top"&gt;FR – ebook – € 3.99&lt;/a&gt; Pick it up, tell your friends / colleagues / family about it… Here are some snippets from Amazon reviews, but with 15 extremely positive reviews, all of them 5 out of 5, you know you can’t go wrong:&lt;/p&gt;</description></item><item><title>New job role</title><link>https://frankdenneman.ai/2011-11-21-new-job-role/</link><pubDate>Mon, 21 Nov 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-11-21-new-job-role/</guid><description>&lt;p&gt;The last two years I enjoyed working as an architect within the PSO organization of VMware, designing and reviewing the most interesting virtual infrastructures in Europe. However today I signed my new contract, accepting a position within the Technical Marketing team. Starting December I will focus on resource management and disaster avoidance technologies. My new role allows me to collaborate with the Product managers and the R&amp;amp;D organization on products such as DRS, Storage DRS, vMotion, Storage vMotion and FT. My main tasks will be developing best practices, white-papers, documentation and technical presentations, educating field organizations and of course the customers. Although I enjoyed working within the PSO organization, I can’t wait to get started. Thanks to all the people who made my move possible and offering me such an opportunity!&lt;/p&gt;</description></item><item><title>FDM in mixed ESX and vSphere clusters</title><link>https://frankdenneman.ai/2011-10-17-fdm-in-mixed-esx-and-vsphere-clusters/</link><pubDate>Mon, 17 Oct 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-10-17-fdm-in-mixed-esx-and-vsphere-clusters/</guid><description>&lt;p&gt;Last couple of weeks I’ve been receiving questions about vSphere HA FDM agent in a mixed cluster. When upgrading vCenter to 5.0, each HA cluster will be upgraded to the FDM agent. A new FDM agent will be pushed to each ESX server. The new HA version supports ESX(i) 3.5 through ESXi 5.0 hosts. Mixed clusters will be supported so not all hosts have to be upgraded immediately to take advantage of the new features of FDM. Although mixed environments are supported we do recommend keeping the time you run difference versions in a cluster to a minimum. The FDM agent will be pushed to each hosts, even if the cluster contains identically configured hosts, for example a cluster containing only vSphere 4.1 update 1 will still be upgraded to the new HA version. The only time vCenter will not push the new FDM agent to a host if the host in question is a 3.5 host without the required patch. When using clusters containing 3.5 hosts, it is recommended to upgrade the ESX host to ESX350-201012401-SG PATCH (ESX 3.5) or ESXe350-201012401-I-BG PATCH (ESXi) patch first before upgrading vCenter to vCenter 5.0. If you still get the following error message: &lt;em&gt;Host &amp;rsquo;&amp;rsquo; is of type ( ) with build , it does not support vSphere HA clustering features and cannot be part of vSphere HA clusters.&lt;/em&gt; Visit the VMware knowledgebase article: &lt;a href="http://kb.vmware.com/kb/2001833"&gt;2001833&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Partially connected datastore clusters</title><link>https://frankdenneman.ai/2011-10-07-partially-connected-datastore-clusters/</link><pubDate>Fri, 07 Oct 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-10-07-partially-connected-datastore-clusters/</guid><description>&lt;p&gt;The first article in the series about &lt;a href="https://frankdenneman.ai/2011/09/architecture-and-design-of-datastore-clusters/"&gt;architecture and design decisions&lt;/a&gt; series focuses on the connectivity of the datastores within the datastore cluster. Connectivity between ESXi hosts and datastores in the datastore cluster affects initial placement and load balancing decisions made by DRS and Storage DRS. Although connecting a datastore to all ESXi hosts inside a cluster is a common practice, we still come across partially connected datastores in virtual environments. What is the impact of a partially connected datastore, member of a datastore cluster, connected to a DRS cluster? What interoperability problems can you expect and what is the impact of this design on DRS load balancing operations and SDRS load balancing operations? Let’s start with the basic terminology.&lt;/p&gt;</description></item><item><title>Architecture and design of Datastore clusters</title><link>https://frankdenneman.ai/2011-09-16-architecture-and-design-of-datastore-clusters/</link><pubDate>Fri, 16 Sep 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-09-16-architecture-and-design-of-datastore-clusters/</guid><description>&lt;p&gt;Storage DRS extends the DRS feature set to the storage space. The primary element used by SDRS is a datastore cluster. Introducing the concept of datastore clusters can affect or shift the paradigm of storage management in virtual infrastructures. This article is the start of a short series of articles focusing on the design considerations of datastore clusters &lt;strong&gt;Datastore cluster concept&lt;/strong&gt; Let’s start with looking at the concept datastore cluster. Datastore clusters can be regarded as the equivalent of DRS clusters. A datastore cluster is the storage equivalent of an vCenter (DRS) cluster whereas a datastore is the equivalent of a ESXi host. As datastore clusters pool storage resources into one single logical pool it becomes a management object. This storage pooling allows the administrator to manage many individual datastores as one element, and depending on the enabled SDRS features, providing optimized usage of storage capacity and IO performance capability off all member datastores. SDRS settings are configured at datastore cluster level and are applied to each member datastore inside the datastore cluster. When SDRS is enabled the datastore cluster it becomes the storage load-balancing domain, requiring administrators and architects to treat the datastore cluster as a single entity for decision making instead of individual datastores. &lt;strong&gt;Datastore Clusters architecture and design&lt;/strong&gt; Although datastore clusters offers an abstraction layer, one must keep in mind the relationship between existing objects like hosts, clusters, virtual machine and virtual disks. This new abstraction layer might even disrupt existing (organizational) processes and policies. Introducing datastore clusters can have impact on various design decisions such as VMFS datastores sizing, configuration of the datastore clusters, the variety in datastore clusters and the number of datastore clusters in the virtual infrastructure. In this series I will address these considerations more in depth. Stay tuned for the first part; &lt;a href="https://frankdenneman.ai/2011/10/partially-connected-datastore-clusters/"&gt;the impact of connectivity of datastores in a datastore cluste&lt;/a&gt;r. More articles in the architecting and designing datastore clusters series: Part2: &lt;a href="https://frankdenneman.ai/2011/10/partially-connected-datastore-clusters/"&gt;Partially connected datastore clusters.&lt;/a&gt; Part3: &lt;a href="https://frankdenneman.ai/2012/01/impact-of-load-balancing-on-datastore-cluster-configuration/"&gt;Impact of load balancing on datastore cluster configuration.&lt;/a&gt; Part4: &lt;a href="https://frankdenneman.ai/2012/01/sdrs-and-multi-extents-datastores/"&gt;Storage DRS and Multi-extents datastores.&lt;/a&gt; Part5: &lt;a href="https://frankdenneman.ai/2012/04/connecting-multiple-drs-clusters-to-a-single-storage-drs-datastore-cluster/"&gt;Connecting multiple DRS clusters to a single Storage DRS datastore cluster.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SDRS out of space avoidance</title><link>https://frankdenneman.ai/2011-09-13-sdrs-out-of-space-avoidance/</link><pubDate>Tue, 13 Sep 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-09-13-sdrs-out-of-space-avoidance/</guid><description>&lt;p&gt;During VMworld I noticed a lot of focus of the attendees was on the IO load balancing features of Storage DRS (SDRS), however SDRS is more than only IO load balancing. Both space load balancing feature and initial placement are just as incredible, powerful and as useful as IO load balancing. Actually the term space load balancing isn’t really doing the algorithm any justice as it sounds it makes “unnecessary” moves around space usage, whereas “out of space avoidance” suits more the nature of this SDRS algorithm, because it will make crucial recommendations that in my opinion bring a lot of value. Initial placement and IO load balancing will be featured in future articles, but in this post I would like to focus on the out of space avoidance feature of SDRS. When SDRS is enabled, it will automatically make recommendations based on space utilization and IO load. IO load balancing can be activated or deactivated when enabling or disabling the option “Enable I/O metric for SDRS recommendations”. SDRS does not offer the option to enable or disable out of space avoidance; out of space avoidance is enabled by default and can only be disabled by disabling SDRS in its entirety. &lt;strong&gt;Thresholds&lt;/strong&gt; By default, SDRS monitors the datastore space utilization and generates migration recommendations if the datastore utilization is exceeding the “&lt;em&gt;space utilization ratio threshold&lt;/em&gt;”. The utilized space threshold determines the maximum acceptable space load of the VMFS datastore. And this is a part of the SDRS settings of the datastore cluster. This threshold is set by default to 80% and can be set to any value between 50 and 100 percent. [caption id=&amp;ldquo;attachment_1715&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;619&amp;rdquo; caption=&amp;ldquo;Space utilization ratio threshold&amp;rdquo;]&lt;img src="images/SDRS-1.png" alt="" title="SDRS-1"&gt;[/caption] Be aware that this threshold applies to each datastore that is a member of the datastore cluster; if you want to have similar absolute space headroom, it is recommended to add similar sized datastores to the datastore cluster. If the threshold is reached, SDRS will not migrate a random virtual machine to a random datastore, it needs to adhere to certain rules. Besides running a cost-benefit analysis on the registered virtual machines in the datastore, it also takes the “&lt;em&gt;space utilization ratio difference threshold&lt;/em&gt;” into account. [caption id=&amp;ldquo;attachment_1718&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;619&amp;rdquo; caption=&amp;ldquo;Space utilization ratio difference threshold&amp;rdquo;]&lt;img src="images/SDRS-2.png" alt="" title="SDRS-2"&gt;[/caption] The utilization difference setting allows SDRS to determine which datastores should be considered as destination for virtual machines migrations. The space utilization ratio difference threshold indicates the required difference of utilization ratio between the destination and source datastores. The difference threshold is an advanced option of the SDRS runtime rules and is set to a default value of 5%. Consequently SDRS will not move any virtual machine disk from an 83% utilized datastore to a 78% utilized datastore. The reason why SDRS uses this setting is to avoid recommending migrations of marginal value. SDRS also uses space growth rate to avoid risky migrations. A migration is considered risky if it has to be undone in the near future. SDRS defines near future as a time window that is longer than the lead-time of a storage vMotion and defaults to 30 hours. This option cannot be changed in any supported way. Hence, SDRS will avoid moving any virtual machine disk to a datastore that is expected, based on growth rate, to exceed the utilization threshold within the next 30 hours. &lt;strong&gt;Space Utilization&lt;/strong&gt; How does SDRS determine if VMFS datastore has exceeded the threshold? It does this by comparing the “&lt;em&gt;Space utilization&lt;/em&gt;” against the utilized space threshold. Space utilization is determined by dividing the total consumed space on the datastore by the datastore capacity.&lt;/p&gt;</description></item><item><title>Mem.MinFreePct sliding scale function</title><link>https://frankdenneman.ai/2011-07-26-mem-minfreepct-sliding-scale-function/</link><pubDate>Tue, 26 Jul 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-07-26-mem-minfreepct-sliding-scale-function/</guid><description>&lt;p&gt;One of the cool “under the hood” improvements vSphere 5 offers is the sliding scale function of the Mem.MinFreePct. Before diving into the sliding scale function, let’s take a look at the Mem.MinFreePct function itself. MinFreePct determines the amount of memory the VMkernel should keep free. This threshold is subdivided in various memory thresholds, i.e. High, Soft, Hard and Low and is introduced to prevent performance and correctness issues. The threshold for the low state is required for correctness. In other words, it protects the VMkernel layer from PSOD’s resulting from memory starvation. The soft and hard thresholds are about virtual machine performance and memory starvation prevention. The VMkernel will trigger more drastic memory reclamation techniques when it approaches the Low state. If the amount of free memory is just a bit less than the Min.FreePct threshold, the VMkernel applies ballooning to reclaim memory. The ballooning memory reclamation technique introduces the least amount of performance impact on the virtual machine by working together with the Guest operating system inside the virtual machine, however there is some latency involved with ballooning. Memory compressing helps to avoid hitting the low state without impacting virtual machine performance, but if memory demand is higher than the VMkernels’ ability to reclaim, drastic measures are taken to avoid memory exhaustion and that is swapping. However swapping will introduce VM performance degradations and for this reason this reclamation technique is used when desperate moments require drastic measurements. For more information about reclamation techniques I recommend reading the “&lt;a href="https://frankdenneman.ai/2010/11/disable-ballooning/"&gt;disable ballooning&lt;/a&gt;” article. vSphere 4.1 allowed the user to change the default MinFreePct value of 6% to a different value and introduced a dynamic threshold of the Soft, Hard and Low state to set appropriate thresholds and prevent virtual machine performance issues while protecting VMkernel correctness. By default vSphere 4.1 thresholds was set to the following values:&lt;/p&gt;</description></item><item><title>Upgrading VMFS datastores and SDRS</title><link>https://frankdenneman.ai/2011-07-22-upgrading-vmfs-datastores-and-sdrs/</link><pubDate>Fri, 22 Jul 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-07-22-upgrading-vmfs-datastores-and-sdrs/</guid><description>&lt;p&gt;Among many new cool features introduced by vSphere 5 is the new VMFS file system for block storage. Although vSphere 5 can use VMFS-3, VMFS-5 is the native VMFS level of vSphere 5 and it is recommended to migrate to the new VMFS level as soon as possible. &lt;a href="http://www.boche.net/blog/index.php/2011-07-21-vmfs-5-vmfs-3-whats-the-deal/"&gt;Jason Boche&lt;/a&gt; wrote about the difference between VMFS-3 and VMFS-5. vSphere 5 offers a pain free upgrade path from VMFS-3 to VMFS-5. The upgrade is an online and non-disruptive operation which allows the resident virtual machines to continue to run on the datastore. But upgraded VMFS datastores may have impact on SDRS operations, specifically virtual machine migrations. When upgrading a VMFS datastore from VMFS-3 to VMFS-5, the current VMFS-3 block size will be maintained and this block size may be larger than the VMFS-5 block size as VMFS-5 uses unified 1MB block size. For more information about the difference between native VMFS-5 datatstores and upgraded VMFS-5 datastore please read: &lt;a href="http://blogs.vmware.com/vsphere/2011/07/new-vsphere-50-storage-features-part-1-vmfs-5.html"&gt;Cormac&amp;rsquo;s article about the new storage features&lt;/a&gt; Although the upgraded VMFS file system leaves the block size unmodified, it removes the maximum file size related to a specific block size, so why exactly would you care about having a non-unified block size in your SDRS datastore cluster? In essence, mixing different block sizes in a datastore cluster may lead to a loss in efficiency and an increase in the lead time of a storage vMotion process. As you may remember, Duncan wrote an &lt;a href="http://www.yellow-bricks.com/2011-02-18-blocksize-impact/"&gt;excellent post&lt;/a&gt; about the impact of different block sizes and the selection of datamovers. To make an excerpt, vSphere 5 offers three datamovers: • fsdm • fs3dm • fs3dm – hardware offload The following diagram depicts the datamover placement in the stack. Basically, the longer path the IO has to travel to be handled by a datamover, the slower the process. &lt;img src="images/datamovers.png" alt="" title="datamovers"&gt; In the most optimal scenario, you want to leverage the VAAI capabilities of your storage array. vSphere 5 is able to leverage the capabilities of the array allowing hardware offload of the IO copy. Most IOs will remain within the storage controller and do not travel up the fabric to the ESXi host. But unfortunately not every array is VAAI capable. If the attached array is not VAAI capable or enabled, vSphere will leverage the FS3DM datamover. FS3DM was introduced in vSphere 4.1 and contained some substantial optimizations so that data does not travel through all stacks. However if a different block size is used, ESXi reverts to FSDM, commonly known as the legacy datamover. To illustrate the difference in Storage vMotion lead time, read the following article (once again) by Duncan: &lt;a href="http://www.yellow-bricks.com/2011-02-24-storage-vmotion-performance-difference/"&gt;Storage vMotion performance difference&lt;/a&gt;. This article contains the result of a test in which a virtual machine was migrated between two different types of disks configured with deviating block sizes and at a different stage a similar block size. To emphasize; the results illustrates the lead time of the FS3DM datamover and the FSDM datamover. The results below are copied from the Yellow-Bricks.com article:&lt;/p&gt;</description></item><item><title>Multi-NIC vMotion support in vSphere 5.0</title><link>https://frankdenneman.ai/2011-07-18-multi-nic-vmotion-support-in-vsphere-5-0/</link><pubDate>Mon, 18 Jul 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-07-18-multi-nic-vmotion-support-in-vsphere-5-0/</guid><description>&lt;p&gt;There are some fundamental changes to vMotion scalability and performance in vSphere 5.0 one is the multi-nic support. One of the most visible changes is multi-NIC vMotion capabilities. In vSphere 5.0 vMotion is now capable of using multiple NICs concurrently to decrease lead time of a vMotion operation. With multi-NIC support even a single vMotion can leverage all of the configured vMotion NICs, contrary to previous ESX releases where only a single NIC was used. Allocating more bandwidth to the vMotion process will result in faster migration times, which in turn affects the DRS decision model. DRS evaluates the cluster and recommends migrations based on demand and cluster balance state. This process is repeated each invocation period. To minimize CPU and memory overhead, DRS limits the number of migration recommendations per DRS invocation period. Ultimately, there is no advantage recommending more migrations that can be completed within a single invocation period. On top of that, the demand could change after an invocation period that would render the previous recommendations obsolete. vCenter calculates the limit per host based on the average time per migration, the number of simultaneous vMotions and the length of the DRS invocation period (PollPeriodSec). &lt;strong&gt;PollPeriodSec&lt;/strong&gt;: By default, PollPeriodSec – the length of a DRS invocation period – is 300 seconds, but can be set to any value between 60 and 3600 seconds. Shortening the interval will likely increase the overhead on vCenter due to additional cluster balance computations. This also reduces the number of allowed vMotions due to a smaller time window, resulting in longer periods of cluster imbalance. Increasing the PollPeriodSec value decreases the frequency of cluster balance computations on vCenter and allows more vMotion operations per cycle. Unfortunately, this may also leave the cluster in a longer state of cluster imbalance due to the prolonged evaluation cycle. &lt;strong&gt;Estimated total migration time&lt;/strong&gt;: DRS considers the average migration time observed from previous migrations. The average migration time depends on many variables, such as source and destination host load, active memory in the virtual machine, link speed, available bandwidth and latency of the physical network used by the vMotion process. &lt;strong&gt;Simultaneous vMotions&lt;/strong&gt;: Similar to vSphere 4.1, vSphere 5 allows you to perform 8 concurrent vMotions on a single host with 10GbE capabilities. For 1GbE, the limit is 4 concurrent vMotions. &lt;strong&gt;Design considerations&lt;/strong&gt; When designing a virtual infrastructure leveraging converged networking or Quality of Service to impose bandwidth limits, please remember that vCenter determine the vMotion limits based on the vMotion uplink physical NIC reported link speed. In other words, if the physical NIC reports at least 10GbE, link speed, vCenter allows 8 vMotions, but if the physical NIC reports less than 10GBe, but at least 1 GbE, vCenter allows a maximum of 4 concurrent vMotions on that host. For example; HP Flex technology sets a hard limit on the flexnics, resulting in the reported link speed equal or less to the configured bandwidth on Flex virtual connect level. I’ve come across many Flex environments configured with more than 1GB bandwidth, ranging between 2GB to 8GB. Although they will offer more bandwidth per vMotion process, it will not offer an increase in the amount of concurrent vMotions. Therefore, when designing a DRS cluster, take the possibilities of vMotion into account and how vCenter determines the concurrent number of vMotion operations. By providing enough bandwidth, the cluster can reach a balanced state more quickly, resulting in better resource allocation (performance) for the virtual machines. **disclaimer: this article contains out-takes of our book: &lt;a href="http://www.amazon.com/gp/product/1463658133/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=frankdenneman-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=1463658133"&gt;vSphere 5 Clustering Technical Deepdive&lt;/a&gt;**&lt;/p&gt;</description></item><item><title>Black and white edition Clustering deepdive available</title><link>https://frankdenneman.ai/2011-07-16-black-and-white-edition-clustering-deepdive-available/</link><pubDate>Sat, 16 Jul 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-07-16-black-and-white-edition-clustering-deepdive-available/</guid><description>&lt;p&gt;It looks like Amazon is getting its game together. As of now the Black and White paperback edition is available at Amazon.com. Get it here: &lt;a href="http://www.amazon.com/VMware-vSphere-Clustering-Technical-Deepdive/dp/1463658133/ref=tmm_pap_title_0?ie=UTF8&amp;amp;qid=1310812152&amp;amp;sr=8-2"&gt;VMware vSphere Clustering Technical Deepdive&lt;/a&gt; We are still waiting for the Full color edition to become available, but hey it&amp;rsquo;s a start :)&lt;/p&gt;</description></item><item><title>VMware vSphere 5 Clustering Technical Deepdive</title><link>https://frankdenneman.ai/2011-07-16-vmware-vsphere-5-clustering-technical-deepdive/</link><pubDate>Sat, 16 Jul 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-07-16-vmware-vsphere-5-clustering-technical-deepdive/</guid><description>&lt;p&gt;&lt;img src="images/DSC_1055-198x300.png" alt="" title="DSC_1055"&gt;As of today the paperback versions of the VMware vSphere 5 Clustering Technical Deepdive is available at Amazon. We took the feedback into account when creating this book and are offering a Full Color version and a Black and White edition. Initially we planned to release an Ebook and a Full Color version only, but due to the high production cost associated with Full color publishing, we decided to add a Black and White edition to the line-up as well. At this stage we do not have plans to produce any other formats. As this is self-publishing release we developed, edited and created everything from scratch. Writing and publishing a book based on new technology has serious impact on one’s life, reducing every social contact to a minimum even family life. As of this, our focus is not on releasing additional formats such as ibooks or Nook at this moment. Maybe at a later stage but VMworld is already knocking on our doors, so little time is left to spend some time with our families. When producing the book, the page count rapidly exceeded 400 pages using the 4.1 HA and DRS layout. As many readers told us they loved the compactness of the book therefor our goal was to keep the page count increase to a minimum. Adjusting the inner margins of the book was the way to increase the amount of space available for the content. A tip for all who want to start publishing, start with getting accustomed to publisher jargon early in the game, this will save you many failed proof prints! We believe we got the right balance between white-space and content in the book, reducing the amount of pages while still offering the best reading experience. Nevertheless the number of pages grew from 219 to 348. While writing the book, we received a lot of help and although Duncan listed all the people in his initial blog, I want to use take a moment to thank them again. First of all I want to thank my co-author Duncan for his hard work creating content, but also spending countless hours on communication with engineering and management. Anne Holler - DRS and SDRS engineer – Anne really went out of her way to help us understand the products. I frequently received long and elaborate replies regardless of time and day. Thanks Anne! Next up is Doug – its number Frank not amounts! – Baer. I think most of the time Doug’s comments equaled the amount of content inside the documents. Your commitment to improve the book impressed us very much. Gabriel Tarasuk-Levin for helping me understand the intricacies of vMotion. A special thanks goes out to our technical reviewers and editors: Keith Farkas and Elisha Ziskind (HA Engineering), Irfan Ahmad and Rajesekar Shanmugam (DRS and SDRS Engineering), Puneet Zaroo (VMkernel scheduling), Ali Mashtizadeh and Doug Fawley and Divya Ranganathan (EVC Engineering). Thanks for keeping us honest and contributing to this book. I want to thank VMware management team for supporting us on this project. Doug “VEEAM” Hazelman thanks for writing the foreword! &lt;strong&gt;Availability&lt;/strong&gt; This weekend Amazon made both the black and white edition and the full color edition available. Amazon list the black and white edition as: VMware vSphere 5 Clustering Technical Deepdive (Volume 2) [Paperback], whereas the full color edition is listed with Full Color in its subtitle. Or select the following links to go the desired product page: &lt;a href="http://www.amazon.com/gp/product/1463658133/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=frankdenneman-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=1463658133"&gt;Black and white paperback&lt;/a&gt; $29.95 &lt;a href="http://www.amazon.com/gp/product/1461040329/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;tag=frankdenneman-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=1461040329"&gt;Full Color paperback&lt;/a&gt; $49.95 For people interested in the ebook: &lt;a href="http://www.amazon.com/gp/product/B005C1SARM/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;tag=frankdenneman-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B005C1SARM"&gt;VMware vSphere 5 Clustering Technical Deepdive&lt;/a&gt; (price might vary based on location) If you prefer a European distributor, ComputerCollectief has both books available: Black and White edition: &lt;a href="http://www.comcol.nl/detail/74615.htm"&gt;http://www.comcol.nl/detail/74615.htm&lt;/a&gt; Full Color edition: &lt;a href="http://www.comcol.nl/detail/74616.htm"&gt;http://www.comcol.nl/detail/74616.htm&lt;/a&gt; Pick it up, leave a comment and of course feel free to make those great mugshots again and ping them over via Facebook or our Twitter accounts! For those looking to buy in bulk (&amp;gt; 20) contact &lt;a href="mailto:clusteringdeepdive@gmail.com"&gt;clusteringdeepdive@gmail.com&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Amazon indexing problems</title><link>https://frankdenneman.ai/2011-07-15-amazon-indexing-problems/</link><pubDate>Fri, 15 Jul 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-07-15-amazon-indexing-problems/</guid><description>&lt;p&gt;The entire week Amazon hasn’t been able to index both vSphere 5 Clustering technical deepdive editions properly. We are working with Createspace to fix these problems. In the meantime, both full color and black and white editions can be ordered at Createspace: Black and White: &lt;a href="https://www.createspace.com/3641804"&gt;https://www.createspace.com/3641804&lt;/a&gt; $29.95 Full Color: &lt;a href="https://www.createspace.com/3586911"&gt;https://www.createspace.com/3586911&lt;/a&gt; $49.95 An update follows as soon as Amazon list the paperbacks.&lt;/p&gt;</description></item><item><title>A look inside the upcoming vSphere clustering book</title><link>https://frankdenneman.ai/2011-06-10-a-look-inside-the-upcoming-vsphere-clustering-book/</link><pubDate>Fri, 10 Jun 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-06-10-a-look-inside-the-upcoming-vsphere-clustering-book/</guid><description>&lt;p&gt;I just received the second proof copy of the new book and I&amp;rsquo;m really (really) stoked about the book. The full color print is awesome and truly adds that special feeling to the book. I&amp;rsquo;m so excited how the diagrams turned out, that I must share some pictures of the inside of the book. &lt;img src="images/DSC_0299-300x198.jpg" alt="" title="DSC_0299"&gt; &lt;img src="images/DSC_0295-300x198.jpg" alt="" title="DSC_0295"&gt; &lt;img src="images/DSC_02941-300x198.jpg" alt="" title="DSC_0294"&gt; &lt;img src="images/DSC_0296-300x198.jpg" alt="" title="DSC_0296"&gt; (For the CSI-fan&amp;rsquo;s, yes I have blurred some text fields as they contain NDA material) Besides the diagrams, the whole interior is redesigned. The spread is reviewed, inner and outer margins are adjusted and we even taken the gutter space into account, providing a better and nicer reading experience. We decided that we are going to offer the book in Full color format and a (full-color) ebook. After seeing the full-color version, we believe publishing a black and white version will not do the content any justice.And due to time constraints we cannot invest time in offering a black and white version of the book. We are still finalizing the book but we hope to provide the possibility of pre-ordering near the publish date. Stay tuned for more information!&lt;/p&gt;</description></item><item><title>Keep alive ping - some updates</title><link>https://frankdenneman.ai/2011-06-08-keep-alive-ping-some-updates/</link><pubDate>Wed, 08 Jun 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-06-08-keep-alive-ping-some-updates/</guid><description>&lt;p&gt;Lately the amount of content of frankdenneman.nl is getting a bit stale, so a small update from my side to show what I’ve been up to and that this blog is still alive. &lt;strong&gt;vSphere x Clustering Deepdive&lt;/strong&gt; &lt;img src="images/vsphere-5-tease2.png" alt="" title="vsphere 5 tease"&gt;Duncan and I are working (feverishly) on a new book for a while. Calling it an update of the 4.1 HA and DRS technical deepdive won’t do the book any justice as the old chapters are complete rewritten. The HA section will cover the new HA stack of the upcoming vSphere version, while the focus of the DRS section leans more towards resource management. In addition this book covers Storage DRS and introduces a cool new feature called “supporting deep dives” These additional deep dives expand on supporting technologies of the main cluster feature set, it will contain in-depth information of technologies such as vMotion, Storage vMotion, EVC and certain new technologies introduced in the upcoming version of vSphere. I bet you guys will love this stuff. &lt;strong&gt;Speaking at VMworld 2011&lt;/strong&gt; Last Friday I received very good news. In my previous post I asked everyone to consider voting on the sessions I participate in and the good news is that both sessions were accepted. Session VSP1682 - vSphere 5 clustering Q&amp;amp;A, co-presenting with Duncan is accepted for both VMworld Las Vegas as well as VMworld Europe in Copenhagen. The second session, VSP1425 - Ask the Experts vBloggers, I&amp;rsquo;m proud to join the incredible line-up of Chad Sackac, Duncan Epping, Rick Scherer and Scott Lowe to help answer questions on virtualization design. After 5 years of visit VMworld as an attendee, I finally get to experience what it’s like to be at the other side of the room.&lt;/p&gt;</description></item><item><title>VMworld Public Voting</title><link>https://frankdenneman.ai/2011-05-16-vmworld-public-voting/</link><pubDate>Mon, 16 May 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-05-16-vmworld-public-voting/</guid><description>&lt;p&gt;VMworld 2011 session voting opened a week ago and there a still a few days left to cast your vote. About 300 in-depth sessions will be presented at VMworld this year and this year two sessions are submitted in which I participate. Both sessions are not the typical PowerPoint slide sessions, but are based on interaction with the attending audience.   &lt;strong&gt;TA 1682&lt;/strong&gt; – vSphere Clustering Q&amp;amp;A Du&lt;img src="images/vote-on.png" alt="" title="vote-on"&gt;ncan Epping and Frank Denneman will answer any question with regards to vSphere Clustering in this session. You as the audience will have the chance to validate your own environment and design decisions with the Subject Matter Experts on HA, DRS and Storage DRS. Topics could include for instance misunderstandings around Admission Control Policies, the impact of limits and reservations on your environment, the benefits of using Resource Pools, Anti-Affinity Rules Gotchas, DPM and of course anything regarding Storage DRS. This is your chance to ask what you’ve always wanted to know! Duncan and I conducted this very successful session at the Dutch VMUG. Audience participation led to a very informative session where both general principles and in-depth details were explained and misconceptions where addressed. &lt;strong&gt;TA1425&lt;/strong&gt; - Ask the Expert vBloggers &lt;img src="images/vote-on.png" alt="" title="vote-on"&gt;Four VMware Certified Design Experts (VCDX) On Stage! Are you running a virtual environment and experiencing some problems? Are you planning your companies’ Private Cloud strategy? Looking to deploy VDI and have some last minute questions? Do you have a virtual infrastructure design and want it  blessed by the experts? Come join us for a one hour panel session where your questions are the topic of discussion! Join the Virtualization Experts, Frank Denneman (VCDX), Duncan Epping (VCDX), Scott Lowe (VCDX) and Chad Sakac, VP-VMware Alliance within EMC, as they answer your questions on virtualization design. Moderated by VCDX #21, Rick Scherer from VMwareTips.com   Many friends of the business have submitted great sessions and there are really too many to list them all, but there is one I would want to ask you to vote on and that is the ESXi Quiz Show.   &lt;strong&gt;A 1956 –&lt;/strong&gt; The ESXi Quiz Show &lt;img src="images/vote-on.png" alt="" title="vote-on"&gt;Join us for our very first ESXi Quiz Show where teams of vExperts and VMware engineers will match expertise on technical facts, trivia related to all VMware ESXi and related products. You as the audience will get 40% of the vote. We will cover topics around ESXi migration, storage, networking security, and VMware products. As an attendee of this session you will get to see the experts battle each other. For the very first time at VMworld you get to decide who leaves the stage as a winner and who does not. This can become the most awesome thing that ever hit VMworld. Can you think about the gossip, the hype and the sensation will introduce during VMworld? As Top vExperts, bloggers, VMware engineers and the just the lone sys admin (no not you Bob Plankers ;) ) compete with each other. Will the usual suspect win or will there be upsets? Who will dethrone who? Really I think this will become the hit of VMworld 2011 and will be the talk of the day at every party during the VMworld week.   Session Voting is open until May 18, the competition is very fierce and it’s very difficult to choose between the excellent submitted sessions, however I would like to ask your help and I hope you guys are willing to vote on these three sessions. &lt;a href="http://www.vmworld.com/cfp.jspa"&gt;http://www.vmworld.com/cfp.jspa&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Contention on lightly utilized hosts</title><link>https://frankdenneman.ai/2011-04-27-contention-on-lightly-utilized-hosts/</link><pubDate>Wed, 27 Apr 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-04-27-contention-on-lightly-utilized-hosts/</guid><description>&lt;p&gt;Often I receive the question why a virtual machine is not receiving resources while the ESXi host is lightly utilized and is accumulating idle time. This behavior is observed while reviewing the DRS distribution chart or the Host summary tab in the vSphere Client. A common misconception is that low utilization (Low MHz) equals schedule opportunities. Before focusing on the complexities of scheduling and workload behavior, let’s begin by reviewing the CPU distribution chart. The chart displays the sum of all the active virtual machines and their utilization per host. This means that in order to have 100% CPU utilization of the host, every active vCPU on the host needs to consume 100% of their assigned physical CPU (pCPU). For example, an ESXi host equipped with two Quad core CPUs need to simultaneously run eight vCPUs and each vCPU must consume 100% of “their” physical CPU. Generally this is a very rare condition and is only seen during boot storms or incorrect configured scheduled anti-virus scanning. &lt;img src="images/drs-rdc-cpu1.png" alt="DRS Resource Distribution CPU chart vCenter 4.0" title="drs-rdc-cpu1"&gt; But what causes latency (ready time) during low host utilization? Lets take a closer look at some common factors that affect or prohibit the delivery of the entitled resources:&lt;/p&gt;</description></item><item><title>Restart vCenter results in DRS load balancing</title><link>https://frankdenneman.ai/2011-04-08-restart-vcenter-results-in-drs-load-balancing/</link><pubDate>Fri, 08 Apr 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-04-08-restart-vcenter-results-in-drs-load-balancing/</guid><description>&lt;p&gt;Recently I had to troubleshoot an environment which appeared to have a DRS load-balancing problem. Every time when a host was brought out of maintenance mode, DRS didn’t migrate virtual machines to the empty host. Eventually virtual machines were migrated to the empty host but this happened after a couple of hours had passed. But after a restart of vCenter, DRS immediately started migrating virtual machines to the empty host. Restarting vCenter removes the cached historical information of the vMotion impact. vMotion impact information is a part of the Cost-Benefit Risk analysis. DRS uses this Cost-Benefit Metric to determine the return on investment of a migration. By comparing the cost, benefit and risks of each migration, DRS tries to avoid migrations with insufficient improvement on the load balance of the cluster. When removing the historical information a big part of the cost segment is lost, leading to a more positive ROI calculation, which in turn results in a more “aggressive” load-balance operation.&lt;/p&gt;</description></item><item><title>Kindle version of HA&amp;#038;DRS book and info on Amazon&amp;#039;s regional price scheme</title><link>https://frankdenneman.ai/2011-04-06-kindle-version-of-hadrs-book-and-info-on-amazons-regional-price-scheme-2/</link><pubDate>Wed, 06 Apr 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-04-06-kindle-version-of-hadrs-book-and-info-on-amazons-regional-price-scheme-2/</guid><description>&lt;p&gt;Maybe you already seen the tweets flying by, seen the posts on Facebook or just heard it at the water cooler but we finally published the eBook (Kindle) version of the HA and DRS deepdive book. Duncan has the low down on how the eBook came to life: &lt;a href="http://www.yellow-bricks.com/2011/04/05/what-an-ebook-is-this-a-late-april-fools-joke/"&gt;http://www.yellow-bricks.com/2011-04-05-what-an-ebook-is-this-a-late-april-fools-joke/&lt;/a&gt;. We know that many who wanted the eBook bought the paper version instead so we decided to make it cheap and are offering the book for only $7.50. Please be aware that Amazon is using a regional price scheme, so orders outside the US pay a bit more. However, Marcel van den Berg (&lt;a href="http://twitter.com/Marcelvandenber"&gt;@marcelvandenber&lt;/a&gt;) posted a workaround how to save some money. Disclaimer: we do guarantee this works and won&amp;rsquo;t support this in any form. So without further ado we present: &lt;a href="http://www.amazon.com/gp/product/B004V49JGW/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;tag=frankdenneman-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B004V49JGW"&gt;vSphere 4.1 HA and DRS technical deepdive&lt;/a&gt;,. Pick it up. Duncan &amp;amp; Frank PS: it is also available in the &lt;a href="http://www.amazon.co.uk/VMware-vSphere-4-1-technical-deepdive/dp/B004V49JGW/ref=sr_1_2?ie=UTF8&amp;amp;s=digital-text&amp;amp;qid=1301996151&amp;amp;sr=8-2"&gt;UK Kindle Store&lt;/a&gt; for £5.36.&lt;/p&gt;</description></item><item><title>Kindle version of HA&amp;amp;DRS book and info on Amazon&amp;#039;s regional price scheme</title><link>https://frankdenneman.ai/2011-04-06-kindle-version-of-hadrs-book-and-info-on-amazons-regional-price-scheme/</link><pubDate>Wed, 06 Apr 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-04-06-kindle-version-of-hadrs-book-and-info-on-amazons-regional-price-scheme/</guid><description>&lt;p&gt;Maybe you already seen the tweets flying by, seen the posts on Facebook or just heard it at the water cooler but we finally published the eBook (Kindle) version of the HA and DRS deepdive book. Duncan has the low down on how the eBook came to life: &lt;a href="http://www.yellow-bricks.com/2011/04/05/what-an-ebook-is-this-a-late-april-fools-joke/"&gt;http://www.yellow-bricks.com/2011-04-05-what-an-ebook-is-this-a-late-april-fools-joke/&lt;/a&gt;. We know that many who wanted the eBook bought the paper version instead so we decided to make it cheap and are offering the book for only $7.50. Please be aware that Amazon is using a regional price scheme, so orders outside the US pay a bit more. However, Marcel van den Berg (&lt;a href="http://twitter.com/Marcelvandenber"&gt;@marcelvandenber&lt;/a&gt;) posted a workaround how to save some money. Disclaimer: we do guarantee this works and won&amp;rsquo;t support this in any form. So without further ado we present: &lt;a href="http://www.amazon.com/gp/product/B004V49JGW/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;tag=frankdenneman-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B004V49JGW"&gt;vSphere 4.1 HA and DRS technical deepdive&lt;/a&gt;,. Pick it up. Duncan &amp;amp; Frank PS: it is also available in the &lt;a href="http://www.amazon.co.uk/VMware-vSphere-4-1-technical-deepdive/dp/B004V49JGW/ref=sr_1_2?ie=UTF8&amp;amp;s=digital-text&amp;amp;qid=1301996151&amp;amp;sr=8-2"&gt;UK Kindle Store&lt;/a&gt; for £5.36.&lt;/p&gt;</description></item><item><title>Full color version of the new book?</title><link>https://frankdenneman.ai/2011-03-24-full-color-version-of-the-new-book/</link><pubDate>Thu, 24 Mar 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-03-24-full-color-version-of-the-new-book/</guid><description>&lt;p&gt;If you are following us on twitter you may have seen some recent tweets regarding our forthcoming book. Duncan (&lt;a href="http://www.twitter.com/duncanyb"&gt;@duncanyb&lt;/a&gt;) and I have already started work on a new version of the HA and DRS Technical Deepdive. The new book will cover HA and DRS topics for the upcoming vSphere release. We are also aiming to include information about SIOC and Storage DRS in this version. We received a lot of feedback about the vSphere 4.1 book, one of the main themes was the lack of color in the diagrams. We plan to use a more suitable grayscale color combination in the next version, but we wondered if our readers would be interested in a full color copy of the upcoming book. Obviously printing costs increase with full color printing and in addition, low volume cost of color printing can be quite high. We expect the price of the full color version to cost around $50 USD – $55 USD. [poll id=&amp;ldquo;1&amp;rdquo;]&lt;/p&gt;</description></item><item><title>IP-Hash versus LBT</title><link>https://frankdenneman.ai/2011-02-24-ip-hash-versus-lbt/</link><pubDate>Thu, 24 Feb 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-02-24-ip-hash-versus-lbt/</guid><description>&lt;p&gt;vSwitch configuration and load-balancing policy selection are major parts of a virtual infrastructure design. Selecting a load-balancing policy can have impact on the performance of the virtual machine and can introduce additional requirements at the physical network layer. Not only do I spend lots of time discussing the various options during design sessions, it is also an often discussed topic during the VCDX defense panels. More and more companies seem to use IP-hash as there load balancing policy. The main argument seems to be increased bandwidth and better redundancy. Even when the distributed vSwitch is used, most organizations still choose IP-hash over the new load balancing policy “Route based on physical NIC load”. This article compares both load-balancing policies and lists the characteristics, requirements and constraints of both load-balancing policies. &lt;strong&gt;IP-Hash&lt;/strong&gt; The main reason for selecting IP-Hash seems to be increased bandwidth as you aggregate multiple uplinks, unfortunately adding more uplinks does not proportionally increase the available bandwidth for the virtual machines. &lt;strong&gt;How IP-Hash works&lt;/strong&gt; Based on the source and destination IP address together the VMkernel distributes the load across the available NICs in the vSwitch. The calculation of outbound NIC selection is described in &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1007371"&gt;KB article 1007371&lt;/a&gt;. To calculate the IP-hash yourself convert both the source and destination IP-addresses to a Hex value and compute the modulo over the number of available uplinks in the team. For example Virtual Machine 1 opens two connections, one connection to a backup server and one connection server to an application server.&lt;/p&gt;</description></item><item><title>Dutch vBeers</title><link>https://frankdenneman.ai/2011-01-31-dutch-vbeers-2/</link><pubDate>Mon, 31 Jan 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-01-31-dutch-vbeers-2/</guid><description>&lt;p&gt;Simon Long of &lt;a href="http://www.simonlong.co.uk"&gt;The SLOG&lt;/a&gt; is introducing vBeers to Holland. I&amp;rsquo;ve copied the text from his &lt;a href="http://www.simonlong.co.uk/blog/vbeers/"&gt;vBeers blog article&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img src="images/vbeers.jpg" alt="" title="vbeers"&gt;Every month Simon Seagrave and I try organise a social get together of like-minded Virtualization enthusiasts held in a pub in central London (and Amsterdam). We like to call it vBeers. Before I go on, I would just like to state, although it&amp;rsquo;s called vBeers, you do NOT have to drink beer or any other alcohol for that matter. This isn&amp;rsquo;t just an excuse to get blind drunk. We came up with idea whilst on the Gestalt IT Tech Field Day back in April. We were chatting and we both recognised that we don&amp;rsquo;t get together enough to catch-up, mostly do to busy work schedules and private lives. We felt that if we had a set date each month, the likely hood of us actually making that date would be higher than previous attempts. So the idea of vBeers was born.&lt;/p&gt;</description></item><item><title>Re: impact of large pages on consolidation ratios</title><link>https://frankdenneman.ai/2011-01-25-re-impact-of-large-pages-on-consolidation-ratios/</link><pubDate>Tue, 25 Jan 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-01-25-re-impact-of-large-pages-on-consolidation-ratios/</guid><description>&lt;p&gt;Gabe wrote an article about the &lt;a href="http://www.gabesvirtualworld.com/large-pages-transparent-page-sharing-and-how-they-influence-the-consolidation-ratio/?utm_source=twitterfeed&amp;amp;utm_medium=twitter"&gt;impact of large pages on the consolidation ratio&lt;/a&gt;, I want to make something clear before the wrong conclusions are being made. Large pages will be broken down if memory pressure occurs in the system. If no memory pressure is detected on the host, i.e the demand is lower than the memory available, the ESX host will try to leverage large pages to have the best performance. Just calculate how big the Translation lookaside Buffer (TLB)is when a 2GB virtual machine use small pages (2048MB/4KB=512.000) or when using large pages 2048MB/2.048MB =1000. The VMkernel need to traverse the TLB through all these pages. And this is only for one virtual machine, imagine if there are 50 VMs running on the host. Like ballooning and compressing, if there is no need to over-manage memory than ESX will not do it as it generates unnecessary load. Using Large pages shows a different memory usage level, but there is nothing to worry about. If memory demand exceeds the availability of memory, the VMkernel will resort to share-before-swap and compress-before-swap. Resulting in collapsed pages and reducing the memory pressure.&lt;/p&gt;</description></item><item><title>Setting Correct Percentage of Cluster Resources Reserved</title><link>https://frankdenneman.ai/2011-01-20-setting-correct-percentage-of-cluster-resources-reserved/</link><pubDate>Thu, 20 Jan 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-01-20-setting-correct-percentage-of-cluster-resources-reserved/</guid><description>&lt;p&gt;vSphere introduced the HA admission control policy “Percentage of Cluster Resources Reserved”. This policy allows the user to specify a percentage of the total amount of available resources that will stay reserved to accommodate host failures. When using vSphere 4.1 this policy is the de facto recommended admission control policy as it avoids the conservative slots calculation method. &lt;strong&gt;Reserved failover capacity&lt;/strong&gt; The &lt;a href="http://www.yellow-bricks.com/vmware-high-availability-deepdiv/"&gt;HA Deepdive&lt;/a&gt; page explains in detail how the “percentage resources reserved” policy works, but to summarize; the CPU or memory capacity of the cluster is calculated as followed;The available capacity is the sum of all ESX hosts inside the cluster minus the virtualization overhead, multiplied by (1-percentage value). For instance; a cluster exists out of 8 ESX hosts, each containing 70GB of available RAM. The percentage of cluster resources reserved is set to 20%. This leads to a cluster memory capacity of 448GB (70GB+70GB+70GB+70GB+70GB+70GB+70GB+70GB) * (1 – 20%). 112GB is reserved as failover capacity. Although the example zooms in on memory, the percentage set applies both CPU and memory resources. Once a percentage is specified, that percentage of resources will be unavailable for active virtual machines, therefore it makes sense to set the percentage as low as possible. There are multiple approaches for defining a percentage suitable for your needs. One approach, the host-level-approach is to use a percentage that corresponds with the contribution of one or host or a multiplier of that. Another approach is the aggressive approach which sets a percentage that equals less than the contribution of one host. Which approach should be used? &lt;strong&gt;Host-level&lt;/strong&gt; In the previous example 20% was used to be reserved for resources in an 8-host cluster. This configuration reserves more resources than a single host contributes to the cluster. High Availability&amp;rsquo;s main objective is to provide automatic recovery for virtual machines after a physical server failure. For this reason, it is recommended to reserve resource equal to a single host or a multiplier of that. When using the per-host level of granularity in an 8-host cluster (homogeneous configured hosts), the resource contribution per host to the cluster is 12.5%. However, the percentage used must be an integer (whole number). Using a conservative approach it is better to round up to guarantee that the full capacity of one host is protected, in this example, the conservative approach would lead to a percentage of 13%. &lt;img src="images/percentagebased01.png" alt="" title="percentagebased01"&gt; &lt;strong&gt;Aggressive approach&lt;/strong&gt; I have seen recommendations about setting the percentage to a value that is less than the contribution of one host to the cluster. This approach reduces the amount of resources reserved for accommodating host failures and results in higher consolidation ratios. One might argue that this approach can work as most hosts are not fully loaded, however it eliminates the guarantee that after a failure all impacted virtual machines will be recovered. As datacenters are dynamic, operational procedures must be in place to -avoid or reduce- the impact of a self-inflicted denial of service. Virtual machine restart priorities must be monitored closely to guarantee that mission critical virtual machines will be restarted before virtual machine with a lower operational priority. If reservations are set at virtual machine level, it is necessary to recalculate the failover capacity percentage when virtual machines are added or removed to allow the virtual machine to power on and still preserve the aggressive setting. &lt;strong&gt;Expanding the cluster&lt;/strong&gt; Although the percentage is dynamic and calculates capacity at a cluster-level, when expanding the cluster the contribution per host will decrease. If you decide to continue using the percentage setting after adding hosts to the cluster, the amount of reserved resources for a fail-over might not correspond with the contribution per host and as a result valuable resources are wasted. For example, when adding four hosts to an 8-host cluster while continue using the previously configured admission control policy value of 13% will result in a failover capacity that is equivalent to 1.5 hosts. The following diagram depicts a scenario where an 8 host cluster is expanded to 12 hosts; each with 8 2GHz cores and 70GB memory. The cluster was originally configured with admission control set to 13% which equals to 109.2 GB and 24.96 GHz. If the requirement is to be able to recover from 1 host failure 7,68Ghz and 33.6GB is “wasted”. &lt;img src="images/percentagebased02.png" alt="" title="percentagebased02"&gt; &lt;strong&gt;Maximum percentage&lt;/strong&gt; High availability relies on one primary node to function as the failover coordinator to restart virtual machines after a host failure. If all five primary nodes of an HA cluster fail, automatic recovery of virtual machines is impossible. Although it is possible to set a failover spare capacity percentage of 100%, using a percentage that exceeds the contribution of four hosts is impractical as there is a chance that all primary nodes fail. &lt;img src="images/percentagebased03.png" alt="" title="percentagebased03"&gt; Although configuration of primary agents and configuration of the failover capacity percentage are non-related, they do impact each other. As cluster design focus on host placement and rely on host-level hardware redundancy to reduce this risk of failing all five primary nodes, admission control can play a crucial part by not allowing more virtual machines to be powered on while recovering from a maximum of four host node failure. This means that maximum allowed percentage needs to be calculated by summing the contribution per host x 4. For example the recommended maximum allowed configured failover capacity of a 12-host cluster is 34%, this will allow the cluster to reserve enough resources during a 4 host failure without over allocating resources that could be used for virtual machines.&lt;/p&gt;</description></item><item><title>&amp;#039;Draft&amp;#039; of the vSphere 4.1 Hardening guide released</title><link>https://frankdenneman.ai/2011-01-19-draft-of-the-vsphere-4-1-hardening-guide-released/</link><pubDate>Wed, 19 Jan 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-01-19-draft-of-the-vsphere-4-1-hardening-guide-released/</guid><description>&lt;p&gt;The &amp;lsquo;Draft&amp;rsquo; of the vSphere 4.1 Hardening guide has been released. This draft will remain posted for comments until approximately the end of February 2011.The official document will be released shortly after the draft period. Please see the following: &lt;a href="http://communities.vmware.com/docs/DOC-14548"&gt;http://communities.vmware.com/docs/DOC-14548&lt;/a&gt;&lt;/p&gt;</description></item><item><title>HA and DRS book in action</title><link>https://frankdenneman.ai/2011-01-13-ha-and-drs-book-in-action/</link><pubDate>Thu, 13 Jan 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-01-13-ha-and-drs-book-in-action/</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/45638698@N07/5351245105/#/photos/45638698@N07/5351245105/lightbox/"&gt;&lt;img src="images/HAandDRSinaction.jpg" alt="" title="HAandDRSinaction"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Beating a dead horse - using CPU affinity</title><link>https://frankdenneman.ai/2011-01-11-beating-a-dead-horse-using-cpu-affinity/</link><pubDate>Tue, 11 Jan 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-01-11-beating-a-dead-horse-using-cpu-affinity/</guid><description>&lt;p&gt;Lately the question about setting CPU affinity is rearing its ugly head again. Will it offer performance advantages for the virtual machine? Yes it can, but only in very specific cases. Additional settings and changes to the virtual infrastructure are required to obtain a performance increase over the default scheduling techniques. Setting CPU affinity by itself will not result in any performance gain, but usually a performance decrease.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What does CPU affinity do?&lt;/strong&gt; By setting a CPU affinity on the virtual machine you are &lt;strong&gt;limiting&lt;/strong&gt; the available CPUs on which the virtual machine can run. It does not dedicate that CPU to that virtual machine and therefore does not restrict the CPU scheduler from using that CPU for other virtual machines.&lt;/p&gt;</description></item><item><title>AMD Magny-Cours and ESX</title><link>https://frankdenneman.ai/2011-01-05-amd-magny-cours-and-esx/</link><pubDate>Wed, 05 Jan 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-01-05-amd-magny-cours-and-esx/</guid><description>&lt;p&gt;AMD’s current flagship model is the 12-core &lt;a href="http://www.amd.com/uk/products/server/processors/6000-series-platform/Pages/6000-series-platform.aspx"&gt;6100&lt;/a&gt; Opteron code name Magny-Cours. Its architecture is quite interesting to say at least. Instead of developing one CPU with 12 cores, the Magny Cours is actually two 6 core “&lt;a href="http://en.wikipedia.org/wiki/Bulldozer_%28processor%29"&gt;Bulldozer&lt;/a&gt;” CPUs combined in to one package. This means that an AMD 6100 processor is actually seen by ESX as this:&lt;/p&gt;
&lt;p&gt;&lt;img src="images/Magny-cours-1.png" alt="AMD Magny Cours seen by ESX" title="Magny-cours-1"&gt; As mentioned before, each 6100 Opteron package contains 2 dies. Each CPU (die) within the package contains 6 cores and has its own local memory controllers. Even though many server architectures group DIMM modules per socket, due to the use of the local memory controllers each CPU will connect to a separate memory area, therefore creating different memory latencies within the package.&lt;/p&gt;</description></item><item><title>Funny: HA and DRS technical deepdive audiobook</title><link>https://frankdenneman.ai/2011-01-03-funny-ha-and-drs-technical-deepdive-audiobook/</link><pubDate>Mon, 03 Jan 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-01-03-funny-ha-and-drs-technical-deepdive-audiobook/</guid><description>&lt;p&gt;During a conversation the idea of an audiobook of the HA and DRS book spawned. Within a couple of minutes, I found the following in my inbox…. Once a tiny little vm found himself in a big bad cluster filled with big vm&amp;rsquo;s&amp;hellip;&amp;hellip; Rapunzel, Rapunzel, set down your high shares! Then the admin installed the LittleBoyBlue patch on the Dike server, and plugged the memory leak. Odysseus set a CPU limit on the Cyclops-VM so low that Cyclops couldn&amp;rsquo;t even see. &amp;ldquo;Who are you?&amp;rdquo; yelled the Cyclops. Odysseus replied, &amp;ldquo;My name is No One!&amp;rdquo; When the Cyclops complained to the Scheduler, it asked, &amp;ldquo;Who has limited you so badly?&amp;rdquo; &amp;ldquo;No One has!&amp;rdquo; replied the Cyclops&amp;hellip;. (BTW who makes a creature with one eye? What a horrible single point of failure to bake into your design!) But the third little VM had his very own Resource Pool, and he huffed and he puffed and he outcompeted the much bigger VMs who were all sharing their Resource Pool shares&amp;hellip; Just let’s focus on publishing an ebook first…..&lt;/p&gt;</description></item><item><title>Impact of oversized virtual machines part 3</title><link>https://frankdenneman.ai/2011-01-03-impact-of-oversized-virtual-machines-part-3/</link><pubDate>Mon, 03 Jan 2011 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2011-01-03-impact-of-oversized-virtual-machines-part-3/</guid><description>&lt;p&gt;In &lt;a href="https://frankdenneman.ai/2010/12/impact-of-oversized-virtual-machines-part-1/"&gt;part 1&lt;/a&gt; of the series of post on the impact of oversized virtual machines NUMA architecture, memory overhead reservation and share levels are reviewed, &lt;a href="https://frankdenneman.ai/2010/12/impact-of-oversized-virtual-machines-part-2/"&gt;part 2&lt;/a&gt; zooms in on the impact of memory overhead reservation and share levels on HA and DRS. This part looks at CPU scheduling, memory management and what impact oversized virtual machines have on the environment when a bootstorm occurs. &lt;strong&gt;Multiprocessor virtual machine&lt;/strong&gt; In most cases, adding more CPUs to a virtual machine does not automatically guarantee increase throughput of the application, because some workloads cannot always take advantage of all the available CPUs. Sharing resources and scheduling these processes will introduce additional overhead. For example, a four-way virtual machine is not four times as productive as a single-CPU system. If the application is unable to scale than the application will not benefit from these additional available resource.&lt;/p&gt;</description></item><item><title>Node Interleaving: Enable or Disable?</title><link>https://frankdenneman.ai/2010-12-28-node-interleaving-enable-or-disable/</link><pubDate>Tue, 28 Dec 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-12-28-node-interleaving-enable-or-disable/</guid><description>&lt;p&gt;There seems to be a lot of confusion about this BIOS setting, I receive lots of questions on whether to enable or disable Node interleaving. I guess the term “&lt;em&gt;enable&lt;/em&gt;” make people think it some sort of performance enhancement. Unfortunately the opposite is true and it is strongly recommended to keep the default setting and leave Node Interleaving disabled.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Node interleaving option only on NUMA architectures&lt;/strong&gt; The node interleaving option exists on servers with a non-uniform memory access (NUMA) system architecture. The Intel Nehalem and AMD Opteron are both NUMA architectures. In a NUMA architecture multiple nodes exists. Each node contains a CPU and memory and is connected via a NUMA interconnect. A pCPU will use its onboard memory controller to access its own “local” memory and connects to the remaining “remote” memory via an interconnect. As a result of the different locations memory can exists, this system experiences “non-uniform” memory access time.&lt;/p&gt;</description></item><item><title>Impact of oversized virtual machines part 2</title><link>https://frankdenneman.ai/2010-12-17-impact-of-oversized-virtual-machines-part-2/</link><pubDate>Fri, 17 Dec 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-12-17-impact-of-oversized-virtual-machines-part-2/</guid><description>&lt;p&gt;In &lt;a href="https://frankdenneman.ai/2010/12/impact-of-oversized-virtual-machines-part-1/"&gt;part 1&lt;/a&gt; of the series of post on the impact of oversized virtual machines NUMA architecture, memory overhead reservation and share levels are reviewed, part 2 zooms in of the impact of memory overhead reservation and share levels on HA and DRS. &lt;strong&gt;Impact of memory overhead reservation on HA Slot size&lt;/strong&gt; The VMware High Availability admission control policy “Host failures cluster tolerates” calculates a slot size to determine the maximum amount of virtual machines active in the cluster without violating failover capacity. This admission control policy determines the HA cluster slot size by calculating the largest CPU reservation, largest memory reservation plus it’s memory overhead reservation. If the virtual machine with the largest reservation (which could be an appropriate sized reservation) is oversized, its memory overhead reservation still can substantial impact the slot size. The HA admission control policy “&lt;em&gt;Percentage of Cluster Resources Reserved&lt;/em&gt;” calculate the memory component of its mechanism by summing the reservation plus the memory overhead of each virtual machine. Therefore allowing the memory overhead reservation to even have a bigger impact on admission control than the calculation done by the “&lt;em&gt;Host Failures cluster tolerates&lt;/em&gt;” policy. &lt;strong&gt;DRS initial placement&lt;/strong&gt; DRS will use a worst-case scenario during initial placement. Because DRS cannot determine resource demand of the virtual machine that is not running, DRS assumes that both the memory demand and CPU demand is equal to its configured size. By oversizing virtual machines it will decrease the options in finding a suitable host for the virtual machine. If DRS cannot guarantee the full 100% of the resources provisioned for this virtual machine can be used it will vMotion virtual machines away so that it can power on this single virtual machine. In case there are not enough resources available DRS will not allow the virtual machine to be powered on. &lt;strong&gt;Shares and resource pools&lt;/strong&gt; When placing a virtual machine inside a resource pool, its shares will be relative to the other virtual machines (and resource pools) inside the pool. Shares are relative to all the other components sharing the same parent; easier way to put it is to call it sibling share level. Therefore the numeric share values are not directly comparable across pools because they are children of different parents. &lt;img src="images/RP-fs-01.png" alt="" title="RP-fs-01"&gt; By default a resource pool is configured with the same share amount equal to a 4 vCPU, 16GB virtual machine. As mentioned in part 1, shares are relative to the configured size of the virtual machine. Implicitly stating that size equals priority. Now lets take a look again at the image above. The 3 virtual machines are reparented to the cluster root, next to resource pools 1 and 2. Suppose they are all 4 vCPU 16GB machines, their share values are interpreted in the context of the root pool and they will receive the same priority as resource pool 1 and resource pool2. This is not only wrong, but also dangerous in a denial-of-service sense &amp;ndash; a virtual machine running on the same level as resource pools can suddenly find itself entitled to nearly all cluster resources. Because of default share distribution process we always recommend to avoid placing virtual machines on the same level of resource pools. Unfortunately it might happen that a virtual machine is reparented to cluster root level when manually migrating a virtual machine using the GUI. The current workflow defaults to cluster root level instead of using its current resource pool. Because of this it’s recommended to increase the number of shares of the resource pool to reflect its priority level. More info about shares on resource pools can be found in &lt;a href="http://www.yellow-bricks.com/2010-12-14-shares-set-on-resource-pools/"&gt;Duncan’s post&lt;/a&gt; on yellow-bricks.com. Go to Part 3: &lt;a href="https://frankdenneman.ai/2011/01/impact-of-oversized-virtual-machines-part-3/"&gt;Impact of oversized virtual machine.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Impact of oversized virtual machines part 1</title><link>https://frankdenneman.ai/2010-12-16-impact-of-oversized-virtual-machines-part-1/</link><pubDate>Thu, 16 Dec 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-12-16-impact-of-oversized-virtual-machines-part-1/</guid><description>&lt;p&gt;Recently we had an internal discussion about the overhead an oversized virtual machine generates on the virtual infrastructure. An oversized virtual machine is a virtual machine that consistently uses less capacity than its configured capacity. Many organizations follow vendor recommendations and/or provision virtual machine sized according to the wishes of the customer i.e. more resources equals better performance. By oversizing the virtual machine you can introduce the following overhead or even worse decrease the performance of the virtual machine or other virtual machines inside the cluster. &lt;strong&gt;Note&lt;/strong&gt;: This article does not focus on large virtual machines that are correctly configured for their workloads. &lt;strong&gt;Memory overhead&lt;/strong&gt; Every virtual machine running on an ESX host consumes some memory overhead additional to the current usage of its configured memory. This extra space is needed by ESX for the internal VMkernel data structures like virtual machine frame buffer and mapping table for memory translation, i.e. mapping physical virtual machine memory to machine memory. The VMkernel will calculate a static overhead of the virtual machine based on the amount of vCPUs and the amount of configured memory. Static overhead is the minimum overhead that is required for the virtual machine startup. DRS and the VMkernel uses this metric for Admission Control and vMotion calculations. If the ESX host is unable to provide the unreserved resources for the memory overhead, the VM will not be powered on, in case of vMotion, if the destination ESX host must be able to back the virtual machine reservation and the static overhead otherwise the vMotion will fail. The following table displays a list of common static memory overhead encountered in vSphere 4.1. For example, a 4vCPU, 8GB virtual machine will be assigned a memory overhead reservation of 413.91 MB regardless if it will use its configured resources or not.&lt;/p&gt;</description></item><item><title>Enhanced vMotion Compatibility</title><link>https://frankdenneman.ai/2010-12-14-enhanced-vmotion-compatibility/</link><pubDate>Tue, 14 Dec 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-12-14-enhanced-vmotion-compatibility/</guid><description>&lt;p&gt;Enhanced vMotion Compatibility (EVC) is available for a while now, but it seems to be slowly adopted. Recently VMguru.nl featured an article “&lt;a href="http://www.vmguru.nl/wordpress/2009/06/vmware-evc-cluster-what-is-that/"&gt;Challenge: vCenter, EVC and dvSwitches&lt;/a&gt;” which illustrates another case where the customer did not enable EVC when creating the cluster. There seem to be a lot of misunderstanding about EVC and the impact it has on the cluster when enabled. &lt;strong&gt;What is EVC?&lt;/strong&gt; VMware Enhanced VMotion Compatibility (EVC) facilitates VMotion between different CPU generations through use of Intel Flex Migration and AMD-V Extended Migration technologies. When enabled for a cluster, EVC ensures that all CPUs within the cluster are VMotion compatible. &lt;strong&gt;What is the benefit of EVC?&lt;/strong&gt; Because EVC allows you to migrate virtual machines between different generations of CPUs, with EVC you can mix older and newer server generations in the same cluster and be able to migrate virtual machines with VMotion between these hosts. This makes adding new hardware into your existing infrastructure easier and helps extend the value of your existing hosts.&lt;/p&gt;</description></item><item><title>European distributor for HA and DRS book</title><link>https://frankdenneman.ai/2010-12-09-european-distributor-for-ha-and-drs-book/</link><pubDate>Thu, 09 Dec 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-12-09-european-distributor-for-ha-and-drs-book/</guid><description>&lt;p&gt;As of today, our book “&lt;a href="https://frankdenneman.ai/2010/12/ha-and-drs-technical-deepdive-available/"&gt;vSphere 4.1 HA and DRS Technical Deepdive&lt;/a&gt;” can be ordered via &lt;a href="http://www.comcol.nl/"&gt;ComputerCollectief&lt;/a&gt;. Computercollectief is a dutch computer book and software reseller and ships to most European countries. Using Computercollectief, we hope to evade the long shipping times and accompanying costs. Go check it out. &lt;a href="http://www.comcol.nl/detail/73133.htm"&gt;http://www.comcol.nl/detail/73133.htm&lt;/a&gt; Comcol expect to be able to deliver at the end of this month.&lt;/p&gt;</description></item><item><title>Dutch vBeers</title><link>https://frankdenneman.ai/2010-12-06-dutch-vbeers/</link><pubDate>Mon, 06 Dec 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-12-06-dutch-vbeers/</guid><description>&lt;p&gt;Simon Long of &lt;a href="http://www.simonlong.co.uk"&gt;The SLOG&lt;/a&gt; is introducing vBeers to Holland. I&amp;rsquo;ve copied the text from his &lt;a href="http://www.simonlong.co.uk/blog/vbeers/"&gt;vBeers blog article&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img src="images/vbeers.jpg" alt="" title="vbeers"&gt;Every month Simon Seagrave and I try organise a social get together of like-minded Virtualization enthusiasts held in a pub in central London (and Amsterdam). We like to call it vBeers. Before I go on, I would just like to state, although it&amp;rsquo;s called vBeers, you do NOT have to drink beer or any other alcohol for that matter. This isn&amp;rsquo;t just an excuse to get blind drunk. We came up with idea whilst on the Gestalt IT Tech Field Day back in April. We were chatting and we both recognised that we don&amp;rsquo;t get together enough to catch-up, mostly do to busy work schedules and private lives. We felt that if we had a set date each month, the likely hood of us actually making that date would be higher than previous attempts. So the idea of vBeers was born.&lt;/p&gt;</description></item><item><title>HA and DRS Technical deepdive available</title><link>https://frankdenneman.ai/2010-12-06-ha-and-drs-technical-deepdive-available/</link><pubDate>Mon, 06 Dec 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-12-06-ha-and-drs-technical-deepdive-available/</guid><description>&lt;p&gt;After spending almost a year on writing, drawing and editing, the moment Duncan and I waited for finally arrived… Our new book, the &lt;strong&gt;vSphere 4.1 HA and DRS technical deepdive&lt;/strong&gt; is available on &lt;a href="https://www.createspace.com/3494065"&gt;CreateSpace&lt;/a&gt; and &lt;a href="http://www.amazon.com/gp/product/1456301446?ie=UTF8&amp;amp;tag=frankdenneman-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1456301446"&gt;Amazon.com&lt;/a&gt;. Early this year Duncan approached me and asked me if I was interested in writing a book together on HA and DRS, without hesitation I accepted the honor. Before discussing the contents of the book I would like take the opportunity to thank our technical reviewers for their time, their wisdom and their input: Anne Holler (VMware DRS Engineering), Craig Risinger (VMware PSO), &lt;a href="http://twitter.com/#!/msevigny"&gt;Marc Sevigny&lt;/a&gt; (VMware HA Engineering) and &lt;a href="http://twitter.com/#!/boukeg"&gt;Bouke Groenescheij&lt;/a&gt; (&lt;a href="http://jume.nl/"&gt;Jume.nl&lt;/a&gt;). And a very special thanks to &lt;a href="http://twitter.com/#!/vmguru"&gt;Scott Herold&lt;/a&gt; for writing the foreword! But most of all I would like to thank Duncan for giving me this opportunity to work together with him on creating this book. The in-depth discussions we had are without a doubt the most difficult I have ever experienced and were very interesting, both most of all fun! Thanks! Now let’s take a look at the book.Please note that we are still working on an electronic version of the book and we expect to finish this early 2011. This is the description of the book that is up on CreateSpace: &lt;strong&gt;About the authors:&lt;/strong&gt; &lt;strong&gt;Duncan Epping (VCDX 007)&lt;/strong&gt; is a Consulting Architect working for VMware as part of the Cloud Practice. Duncan works primarily with Service Providers and large Enterprise customers. He is focused on designing Public Cloud Infrastructures and specializes in bc-dr, vCloud Director and VMware HA. &lt;a href="http://twitter.com/#!/DuncanYB"&gt;Duncan&lt;/a&gt; is the owner of &lt;a href="http://www.yellow-bricks.com/"&gt;Yellow-Bricks.com&lt;/a&gt;, the leading VMware blog. &lt;strong&gt;Frank Denneman (VCDX 029)&lt;/strong&gt; is a Consulting Architect working for VMware as part of the Professional Services Organization. Frank works primarily with large Enterprise customers and Service Providers. He specializes in Resource Management, DRS and storage. Frank is the owner of frankdenneman.ai which has recently been voted number 6 worldwide on &lt;a href="http://vsphere-land.com/"&gt;vsphere-land.com&lt;/a&gt; VMware vSphere 4.1 HA and DRS Technical Deepdive zooms in on two key components of every VMware based infrastructure and is by no means a “how to” guide. It covers the basic steps needed to create a VMware HA and DRS cluster, but even more important explains the concepts and mechanisms behind HA and DRS which will enable you to make well educated decisions. This book will take you in to the trenches of HA and DRS and will give you the tools to understand and implement e.g. HA admission control policies, DRS resource pools and host affinity rules. On top of that each section contains basic design principles that can be used for designing, implementing or improving VMware infrastructures. Coverage includes: • HA node types • HA isolation detection and response • HA admission control • VM Monitoring • HA and DRS integration • DRS imbalance algorithm • Resource Pools • Impact of reservations and limits • CPU Resource Scheduling • Memory Scheduler • DPM &lt;img src="images/coverlarge.jpg" alt="vSphere 4.1 HA and DRS Technical deepdive cover" title="vSphere_4.1_HA_and_DRS_Technical_deepdive_cover"&gt; We hope you will enjoy reading it as much as we did writing it. Thanks, Eric Sloof received a proof copy of the book and shot a &lt;a href="http://www.ntpro.nl/blog/archives/1654-New-Book-VMware-vSphere-4.1-HA-and-DRS-Technical-Deepdive.html"&gt;video&lt;/a&gt; about it.&lt;/p&gt;</description></item><item><title>Should or Must VM-Host affinity rules?</title><link>https://frankdenneman.ai/2010-12-01-vm-host-affinity-rules-should-or-must/</link><pubDate>Wed, 01 Dec 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-12-01-vm-host-affinity-rules-should-or-must/</guid><description>&lt;p&gt;VMware vSphere 4.1 introduces a new affinity rule, called “Virtual Machines to Hosts” (VM-Host), which I described in the article “&lt;a href="https://frankdenneman.ai/2010/07/vm-to-hosts-affinity-rule/"&gt;VM to Host affinity rule&lt;/a&gt;”. A short recap: VM-Host affinity rules are available in two flavors:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Must run rules (Mandatory)&lt;/li&gt;
&lt;li&gt;Should run rules (Preferential)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;By providing these two options a new problem arises for the administrator\architect, when will the need occur for using the mandatory rule and when is it desired to use preferential rules? I think it all depends on the risk and limitations introduced by each rule. Let’s review difference between the rules, the behavior of each rule and the impact they have on cluster services and maintenance mode. &lt;strong&gt;What is the difference between a mandatory and a preferential rule?&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Disallowing multiple vm console sessions</title><link>https://frankdenneman.ai/2010-11-30-disallowing-multiple-vm-console-sessions/</link><pubDate>Tue, 30 Nov 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-11-30-disallowing-multiple-vm-console-sessions/</guid><description>&lt;p&gt;Currently I’m involved in a high-secure virtual infrastructure design and we are required to reduce the number of entry points to the virtual infrastructure. One of the requirements is to allow only a single session to the virtual machine console. Due to the increasing awareness \ demand of security in virtual infrastructure more organizations might want to apply this security setting. 1. Turn of the virtual machine. 2. Open Configuration parameters of the VM to edit the advanced configuration settings 3. Add Remote.Display.maxConnections with a value of 1 4. Power on virtual machine &lt;strong&gt;Update&lt;/strong&gt;: Arne Fokkema created a Power-CLI function to automate configuring this setting throughout your virtual infrastructure. You can find the power-cli function on &lt;a href="http://ict-freak.nl/2010-11-30-powercli-re-disallowing-multiple-vm-console-sessions/"&gt;ICT-freak.nl&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Disable ballooning?</title><link>https://frankdenneman.ai/2010-11-29-disable-ballooning/</link><pubDate>Mon, 29 Nov 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-11-29-disable-ballooning/</guid><description>&lt;p&gt;Recently, Paul Meehan submitted this question via a comment on the &amp;ldquo;&lt;a href="https://frankdenneman.ai/2010/06/memory-reclaimation-when-and-how/"&gt;Memory reclamation, when and how&lt;/a&gt;&amp;rdquo; article:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hi, we are currently considering virtualising some pretty significant SQL workloads. While the VMware best practices documents for SQL server inside VMware recommend turning on ballooning, a colleague who attended a deep dive with a SQL Microsoft MVP came back and the SQL guy strongly suggested that ballooning should always be turned off for SQL workloads. We have 165 SQL instances, some of which will need 5-10000 IOPS so performance and memory management is critical. Do you guys have a view on this from experience? Thx, Paul&lt;/p&gt;</description></item><item><title>The impact of QoS network traffic on VM performance</title><link>https://frankdenneman.ai/2010-11-18-the-impact-of-qos-network-traffic-on-vm-performance/</link><pubDate>Thu, 18 Nov 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-11-18-the-impact-of-qos-network-traffic-on-vm-performance/</guid><description>&lt;p&gt;A lot of interesting material is written about configuring Quality of Service (QoS) on 10GB (converged) networks in Virtual Infrastructures. With the release of vSphere 4.1, VMware introduced a network QoS mechanism called Network I/O Control (&lt;a href="http://www.vmware.com/files/pdf/techpaper/VMW_Netioc_BestPractices.pdf"&gt;NetIOC&lt;/a&gt;). The two most popular Blade systems; HP with Flex10 technology and Cisco UCS both offer traffic shaping mechanisms at hardware level. Both NetIOC and Cisco UCS approach network Quality of Service with a sharing perspective, guaranteeing a minimum amount of bandwidth opposed to the HP Flex-10 technology, which isolates the available bandwidth and dedicate an X amount of bandwidth to a specified NIC. When allocating bandwidths to the various network traffic streams most admins try to stay on the safe side and over-allocate bandwidth to virtual machine traffic. Obviously it is essential to guarantee enough bandwidth to virtual machines but bandwidth is finite, resulting in less bandwidth available to other types of traffic such as vMotion. Unfortunately by reducing the available bandwidth used for vMotion traffic can ultimately have negative effect on the performance of the virtual machines. &lt;strong&gt;MaxMovesPerHost&lt;/strong&gt; In vSphere 4.1 DRS uses an adaptive technique called MaxMovesPerHost. This technique allows DRS to decide the optimum concurrent vMotions per ESX host for Load-Balancing operations. DRS will adapt the maximum concurrent vMotions per host (8) based upon the average migration time observed from previous migrations. Decreasing bandwidth available for vMotion traffic can result in a lower number of allowed concurrent vMotions.In turn the amount of allowed concurrent vMotions affects the number of migration recommendations generated by DRS. DRS will only calculate and generate the amount of migration recommendation is believes it can complete before the next DRS invocation. It limits the amount of generated migration recommendations, as there is no advantage in generating recommending migrations that cannot be complement before the next DRS invocation. During the next re-evaluation cycle, virtual machine resource demand can have changed rendering the previous recommendations obsolete By limiting the amount of bandwidth available to vMotion, it can decrease the maximum amount of concurrent vMotions per host and could risk leaving the cluster imbalanced for a longer period of time. Both NetIOC and Cisco UCS Class of Service (COS) Quality of Service can be used to guarantee a minimum amount of bandwidth available to vMotion during contention. Both techniques allow vMotion traffic to use all the available bandwidth if no contention occurs. HP uses a different approach, isolating and dedicating a specific amount of bandwidth to an adapter and thereby possible restricting specific workloads. Bred Hedlund wrote an article explaining the fundamental differences in how bandwidth is handled between HP Flex-10 and Cisco UCS. &lt;a href="http://bradhedlund.com/2010-08-16-cisco-ucs-qos-vs-hp-virtual-connect-rate-limiting/"&gt;Cisco UCS intelligent QoS vs. HP Virtual Connect rate limiting&lt;/a&gt; &lt;strong&gt;Recommendations for Flex-10&lt;/strong&gt; Due to the restrictive behavior of Flex-10, it is recommended to specifically take the adaptive nature of DRS into account and not restricting vMotion traffic too much when shaping network bandwidth for the configured FlexNics. It is recommended to monitor the bandwidth requirements of the virtual machines and adjust the rate limit for virtual machine traffic and vMotion traffic accordingly, reducing the possibility of delaying DRS to reach a steady state when a significant load imbalance in the cluster exits. &lt;strong&gt;Recommendations for NetIOC and UCS QoS&lt;/strong&gt; Fortunately the sharing nature of NetIOC and UCS allow other network streams allocate bandwidth during periods without bandwidth contention. Despite this “plays well with other” nature, it is recommended to assign a minimum guarantee amount of bandwidth for vMotion traffic (NetIOC) or a custom Class of Service to the vMotion vNICs (UCS). Chances are that if virtual machines saturate the network, virtual machines are experiencing a high workload and DRS will try to provide the resources the virtual machines are entitled to.&lt;/p&gt;</description></item><item><title>vSwitch Failback and High Availability</title><link>https://frankdenneman.ai/2010-10-22-vswitch-failover-and-high-availability/</link><pubDate>Fri, 22 Oct 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-10-22-vswitch-failover-and-high-availability/</guid><description>&lt;p&gt;One setting most admins get caught off-guard is vSwitch Failback setting in combination with HA. If the management network vSwitch is configured with Active/Standby NICs and the HA isolation response is set to “Shutdown” VM or “Power-off” VM it is advised to set the vSwitch Failback mode to No. If left at default (Yes), all the ESX hosts in the cluster or entire virtual infrastructure might issue an Isolation response if one of the management network physical switches is rebooted. Here’s why: Just a quick rehash: &lt;strong&gt;Active\Standby&lt;/strong&gt; One NIC (vmnic0) is assigned as active to the management\service console portgroup, the second NIC (vmnic1) is configured as standby. The vMotion portgroup is configured with the first NIC (vmnic0) in standby mode and the second NIC as Active (vmnic1). [caption id=&amp;ldquo;attachment_1344&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;316&amp;rdquo; caption=&amp;ldquo;Active Standby setup management network vSwitch0&amp;rdquo;]&lt;img src="images/Active-standby-vSwitch0.png" alt="Active Standby setup management network vSwitch0" title="Active-standby-vSwitch0"&gt;[/caption] &lt;strong&gt;Failback&lt;/strong&gt; The Failback setting determines if the VMkernel will return the uplink (NIC) to active duty after recovery of a downed link or failed NIC. If the Failback setting is set to Yes the NIC will return to active duty, when Failback is set to No the failed NIC is assigned the Standby role and the administrator must manually reconfigure the NIC to the active state. &lt;strong&gt;Effect of Failback yes setting on environment&lt;/strong&gt; When using the default setting of Failback unexpected behavior can occur during maintenance of a physical switch. Most switches, like those from Cisco, initiate the port after boot, so called Lights on. The port is active but is still unable to receive or transmitting data. The process from Lights-on to forwarding mode can take up to 50 seconds; unfortunately ESX is not able to distinguish between Lights-on status and forwarding mode, there for treating the link as usable and will return the NIC to active status again. High Availability will proceed to transmit heartbeats and expect to receive heartbeats, after missing 13 seconds of heartbeats HA will try to ping its Isolation Address, due to the specified Isolation respond it will shut down or power-off the virtual machines two seconds later to allow other ESX hosts to power-up the virtual machines. But because it is common – recommended even – to configure each host in the cluster in an identical manner, each active NIC used by the management network of every ESX host connect to the same physical switch. Due to this design, once the switch is booted, a cluster wide Isolation response occurs resulting in a cluster wide outage. To allow switch maintenance, it’s better to set the vSwitch failback mode to No. Selecting this setting introduces an increase of manual operations after failure or certain maintenance operations, but will reduce the change of “false positives” and cluster-wide isolation responses.&lt;/p&gt;</description></item><item><title>Best practices</title><link>https://frankdenneman.ai/2010-10-21-best-practices/</link><pubDate>Thu, 21 Oct 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-10-21-best-practices/</guid><description>&lt;p&gt;Last week at VMworld and the VCDX defense panels I heard the term “Best Practices” a lot. The term best practice makes me feel happy, shudder and laugh at the same time. Now when it comes to applying best practice I always use the analogy of crossing the road: &lt;img src="images/Look-right-50-web-150x150.jpg" alt="" title="Look-right-50-web"&gt; I am born and raised in the Netherlands and best practice is to look left first, then to the right and finally check left again before crossing the road. This best practice served me well and it helped me avoid being hit by a car/truck/crazy people on bikes and even trams and trolleys. But I ask you does this best practice still apply when I try to cross the street in London? Don’t get me wrong, best practice are useful and very valuable, but to apply a best practice blindly won’t be as lethal as my analogy but it can get you into a lot of trouble.&lt;/p&gt;</description></item><item><title>VMworld vCloud Director Labs</title><link>https://frankdenneman.ai/2010-10-12-vmworld-vcloud-director-labs/</link><pubDate>Tue, 12 Oct 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-10-12-vmworld-vcloud-director-labs/</guid><description>&lt;p&gt;Yesterday the VMworld Labs opened up to the public and if you want to take vCloud Director for a spin I’m recommending doing the following labs: &lt;strong&gt;Private cloud – Management:&lt;/strong&gt; Lab 13 VMware vCloud Director Install and Config Lab 18 VMware vCloud Director Networking &lt;strong&gt;Private Cloud - Security:&lt;/strong&gt; Lab20 VMware vShield Its best to complete Lab 18 vCloud Director Networking before doing VMware vShield Lab (Lab 20) because the terms and knowledge gained in Lab 18 will prepare you for Lab 20. Today the VMworld 2010 speaker sessions started and I strongly recommend Duncan’s session “&lt;a href="http://www.vmworld.com/docs/DOC-4825"&gt;BC7803 - Planning and Designing an HA Cluster that Maximizes VM Uptime&lt;/a&gt;” and Kit Colbert’s “ &lt;a href="http://www.vmworld.com/docs/DOC-4643"&gt;TA7750 - Understanding Virtualization Memory Management Concepts&lt;/a&gt;”. Go check it out.&lt;/p&gt;</description></item><item><title>NUMA, Hyperthreading and NUMA.PreferHT</title><link>https://frankdenneman.ai/2010-10-07-numa-hyperthreading-and-numa-preferht/</link><pubDate>Thu, 07 Oct 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-10-07-numa-hyperthreading-and-numa-preferht/</guid><description>&lt;p&gt;I received a lot of questions about Hyperthreading and NUMA in ESX 4.1 after writing the &lt;a href="https://frankdenneman.ai/2010/09/esx-4-1-numa-scheduling/"&gt;ESX 4.1 NUMA scheduling article&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A common misconception is that Hyperthreading is ignored and therefore not used on a NUMA system. This is not entirely true and due to the improved Hyperthreading code on Nehalems, the CPU scheduler is programmed to use the HT feature more aggressively than the previous releases of ESX. The main reason why I think this misconception exists is the way the NUMA load balancer handles vCPU placement of vSMP virtual machine. Before continuing, let’s get our CPU elements nomenclature aligned, I’ve created a diagram showing all the elements:&lt;/p&gt;</description></item><item><title>VM settings: Prefer Partially Automated over Disabled</title><link>https://frankdenneman.ai/2010-10-01-vm-settings-prefer-partially-automated-over-disabled/</link><pubDate>Fri, 01 Oct 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-10-01-vm-settings-prefer-partially-automated-over-disabled/</guid><description>&lt;p&gt;Due to requirements or constraints it might be necessary to exclude a virtual machine from automatic migration and stop it from moving around by DRS. Use the “Partially automated” setting instead of “Disabled” at the individual virtual machine automation level. Partially automated blocks automated migration by DRS, but keep the initial placement function. During startup, DRS is still able to select the most optimal host for the virtual machine. By selecting the “Disabled” function, the virtual machine is started on the ESX server it is registered and chances of getting an optimal placement are low(er). An exception for this recommendation might be a virtualized vCenter server, most admins like to keep track of the vCenter server in case a disaster happens. After a disaster occurs, for example a datacenter-wide power-outage, they only need to power-up the ESX host on which the vCenter VM is registered and manually power-up the vCenter VM. An alternative to this method is to keep track of the datastore vCenter is placed on and register and power-on the VM on a (random) ESX host after a disaster. Slightly more work than disabling DRS for vCenter, but offers probably better performance of the vCenter Virtual Machine during normal operations. Due to expanding virtual infrastructures and new additional features, vCenter is becoming more and more important for day-to-day operational management today. Assuring good performance outweighs any additional effort necessary after a (hopefully) rare occasion, but both methods have merits.&lt;/p&gt;</description></item><item><title>Voted number 6 of top 25 VMware blogs, WOW!</title><link>https://frankdenneman.ai/2010-10-01-voted-number-6-of-top-25-vmware-blogs-wow/</link><pubDate>Fri, 01 Oct 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-10-01-voted-number-6-of-top-25-vmware-blogs-wow/</guid><description>&lt;p&gt;&lt;a href="http://twitter.com/ericsiebert"&gt;Eric Siebert&lt;/a&gt; of &lt;a href="http://vsphere-land.com/"&gt;vSphere-land&lt;/a&gt;, together with &lt;a href="http://twitter.com/davidmdavis"&gt;David Davis&lt;/a&gt;, &lt;a href="http://twitter.com/Kiwi_Si"&gt;Simon Seagrave&lt;/a&gt; and &lt;a href="http://twitter.com/jtroyer"&gt;John Troyer&lt;/a&gt; announced the results of the Top 25 blogs election this week. Using vChat is in my opinion a very cool format and I had the feeling that I was watching the academy awards for Bloggers. Gentlemen, thank you for taking the time and effort to create this entertaining show. Next time I will be viewing this from my TV instead of my 13&amp;quot; laptop screen and making sure I&amp;rsquo;ll have the popcorn ready. But most of all I want to thank everyone who voted for me. According to you my blog belongs in the top 10 and I’m very proud and honored to be ranked up that high. Thank you very much!&lt;/p&gt;</description></item><item><title>Provider vDC: cluster or resource pool?</title><link>https://frankdenneman.ai/2010-09-24-provider-vdc-cluster-or-resource-pool/</link><pubDate>Fri, 24 Sep 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-09-24-provider-vdc-cluster-or-resource-pool/</guid><description>&lt;p&gt;Duncan’s article on &lt;a href="http://www.yellow-bricks.com/2010-09-22-vcd-allocation-models/"&gt;vCloud Allocation models&lt;/a&gt; states that:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;a provider vDC can be a VMware vSphere Cluster or a Resource Pool …&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Although vCloud Director offers the ability to map Provider vDCs to Clusters or Resource Pool, it might be better to choose for the less complex solution. This article zooms in on the compute resource management constructs and particularly on making the choice between assigning a VMware Cluster or a Resource Pool to a Provider vDC and placement of Organization vDCs. I strongly suggest visiting Yellow Bricks to read all &lt;a href="http://www.yellow-bricks.com/?s=vCD&amp;amp;x=0&amp;amp;y=0"&gt;vCloud Director posts&lt;/a&gt;, these posts explain the new environment / cloud model used by VMware very thoroughly.&lt;/p&gt;</description></item><item><title>Resource pools and simultaneous vMotions</title><link>https://frankdenneman.ai/2010-09-20-resource-pools-and-simultaneous-vmotions/</link><pubDate>Mon, 20 Sep 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-09-20-resource-pools-and-simultaneous-vmotions/</guid><description>&lt;p&gt;Many organizations have the bad habit to use resource pools to create a folder structure in the host and cluster view of vCenter. Virtual machines are being placed inside a resource pool to show some kind of relation or sorting order like operating system or types of application. This is not reason why VMware invented resource pools. Resource pools are meant to prioritize virtual machine workloads, guarantee and/or limit the amount of resources available to a group of virtual machines. During design workshops I always try to convince the customer why resource pools should not to be used to create a folder structure. The main object I have for this is the sibling share level of resource pools and virtual machines. &lt;img src="images/RP-fs-01.png" alt="VMware VM and Resource Pool Sibling Share Level" title="VMware VM and Resource Pool Sibling Share Level"&gt; Shares specify the priority for the virtual machine or resource pool relative to other resource pools and/or virtual machines with the same parent in the resource hierarchy. The key point is that shares values can be compared directly only among siblings: the ratios of shares of VM6:VM7 tells which VM is higher priority, but the shares of VM4:VM6 does not tell which VM has higher priority. Many articles have been written about this, such as: “&lt;a href="http://www.yellow-bricks.com/2010-02-22-the-resource-pool-priority-pie-paradox/"&gt;The resource pool priority-pie paradox&lt;/a&gt;”, (Craig Risinger) “&lt;a href="http://www.yellow-bricks.com/2009-11-13-resource-pools-and-shares/"&gt;Resource pools and shares&lt;/a&gt;” (Duncan Epping), “&lt;a href="http://www.ntpro.nl/blog/archives/1512-Dont-add-resource-pools-for-fun,-theyre-dangerous.html"&gt;Don’t add resource pools for fun&lt;/a&gt;” (Eric Sloof) and “&lt;a href="http://www.jume.nl/articles/vmware/154-resource-pools-caveats"&gt;Resource pools caveats&lt;/a&gt;” (Bouke Groenescheij). But another reason not to use resource pools as a folder structure is the limitation resource pools inflict on vMotion operations. Depending on the network speed, vSphere 4.1 allows 8 simultaneous vMotion operations, however simultaneous migrations with vMotion can only occur if the virtual machine is moving between hosts in the same cluster and is not changing its resource pool. This is recently confirmed in Knowledge Base article [1026102](&lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&amp;amp;docType=kc&amp;amp;externalId=1026102&amp;amp;sliceId=1&amp;amp;docTypeID=DT_KB_1_1&amp;amp;dialogID=111208416&amp;amp;stateId=0"&gt;http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&amp;amp;docType=kc&amp;amp;externalId=1026102&amp;amp;sliceId=1&amp;amp;docTypeID=DT_KB_1_1&amp;amp;dialogID=111208416&amp;amp;stateId=0&lt;/a&gt; 0 116148556). Fortunately simultaneous cross-resource-pool vMotions can occur if the virtual machines are migrating to different resource pools, but still one vMotion operation per target resource pool. Because clusters are actually implicit resource pools (the root resource pool), migrations between clusters are also limited to a single concurrent vMotion operation. &lt;img src="images/RP-fs-025.png" alt="Resource Pool migrations" title="Resource Pool migrations"&gt; Using resource pools to create a folder structure can not only impact the availability of resources for the virtual machines, but can also hinder your daily (maintenance) operations if batches of virtual machines are being migrated to other resource pools.&lt;/p&gt;</description></item><item><title>2 days left to vote</title><link>https://frankdenneman.ai/2010-09-19-5-days-to-vote/</link><pubDate>Sun, 19 Sep 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-09-19-5-days-to-vote/</guid><description>&lt;p&gt;Eric Siebert owner of &lt;a href="http://vsphere-land.com/"&gt;vSphere-land.com&lt;/a&gt; started the second round of the bi-annual top 25 VMware virtualization blogs voting. The last voting was back in January and this is your chance to vote for your favorite virtualization bloggers and help determining the top 25 blogs of 2010. This year my blog got nominated for the first time and entered the top 25 (no. 14) and I hope to stay in the top 25 after this voting round. My articles tend to focus primarily on resource management and cover topics such as DRS, CPU and memory scheduler to help you make an informed decision when designing or managing a virtual infrastructure. As noble as this may sound I know that these kinds of topics are not mainstream and I can understand that not everybody is interested to read about these topics week in week out. Fortunately I’ve managed to get a blog post listed in the Top 5 Planet V12n blog post list at least once every month and referred on a regular basis by sites like &lt;a href="http://www.yellow-bricks.com/"&gt;Yellow-bricks.com&lt;/a&gt; (Duncan Epping), &lt;a href="http://blog.scottlowe.org/"&gt;Scott Lowe&lt;/a&gt;, &lt;a href="http://www.ntpro.nl/blog/"&gt;NTpro.nl&lt;/a&gt; (Eric Sloof) and &lt;a href="http://virtualgeek.typepad.com/"&gt;Chad Sakac&lt;/a&gt; and of course many others. So it seems I’m doing something right. This is my list of top 10 articles I’ve created this year:&lt;/p&gt;</description></item><item><title>ESX 4.1 NUMA Scheduling</title><link>https://frankdenneman.ai/2010-09-13-esx-4-1-numa-scheduling/</link><pubDate>Mon, 13 Sep 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-09-13-esx-4-1-numa-scheduling/</guid><description>&lt;p&gt;VMware has made some changes to the CPU scheduler in ESX 4.1; one of the changes is the support for Wide virtual machines. A wide virtual machine contains more vCPUs than the total amount of available cores in one NUMA node. Wide VM’s will be discussed after a quick rehash of NUMA.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NUMA&lt;/strong&gt; NUMA stands for Non-Uniform Memory Access, which translates into a variance of memory access latencies. Both AMD Opteron and Intel Nehalem are NUMA architectures. A processor and memory form a NUMA node. Access to memory within the same NUMA node is considered local access, access to the memory belonging to the other NUMA node is considered remote access.&lt;/p&gt;</description></item><item><title>vCloud Director Architecture</title><link>https://frankdenneman.ai/2010-09-08-vcloud-director-architecture/</link><pubDate>Wed, 08 Sep 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-09-08-vcloud-director-architecture/</guid><description>&lt;p&gt;A vCloud infrastructure consists of several components. Many of you have deployed, managed, installed or designed vSphere environments. The vCloud Director architecture introduces a new and additional layer on top of the vSphere environment. &lt;img src="images/vCD-diagram1-300x209.png" alt="vCloud Director Architecture diagram" title="vCloud Director Architecture diagram"&gt; I have created a diagram which depicts architecture mainly to be used by service providers. Service providers are likely to use an internal cloud for their own application and IT department operations and an external cloud environment for their service delivery. The purpose of this diagram is to create a clear overview of the new environment and showing a relational overview of all the components. In essence, which component connects with which other components? The environment consists of a management cluster, an internal resource group and an external resource group. Building blocks (VMware vSphere, SAN and networking) within a vCD environment are often referred to as “resource groups”. To run a VMware vCloud environment, the minimum components to run are: • VMware vCloud Director (vCD) • VMware vShield Manager • VMware Chargeback • VMware vCenter (supporting the Resource groups) • vSphere infrastructure • Supporting infrastructure elements (Networking, SAN) The management cluster contains all the vCD components, such as the vCenters and Update managers managing the resource groups, the vCD cells and Chargeback clusters. Due to the Oracle Database requirement, a physical Oracle cluster is recommended, as RAC clustering is not supported on VMware vSphere. No vCD is used to manage the management cluster, management is done by a dedicated vCenter. Within a resource pod a separate cluster is created for each pVCD to enable the service provider to deliver the different service levels. Duncan wrote a great introduction to VCD recently. &lt;a href="http://www.yellow-bricks.com/2010/08/31/vmware-vcloud-director-vcd/"&gt;http://www.yellow-bricks.com/2010-08-31-vmware-vcloud-director-vcd/&lt;/a&gt;. This diagram shows two additional vCenters, one for the internal resource pod and one for the external resource pod. It is advised to isolate internal IT resources from customer IT resources. Managing and deploying internal IT services and external IT services such as customers VM from one vCD can become obscure and complex. A single vCenter is used for both pVCDs as it expected that customer will deploy virtual machines in different service level offerings. By using one vCenter a single Distributed Virtual Switch can be used, spanning both clusters\service offerings. To rehash, this is a abstract high level diagram intended to show the involved elements of a vCloud environment and to show the relation or connections all the components.&lt;/p&gt;</description></item><item><title>DRS 4.1 Adaptive MaxMovesPerHost</title><link>https://frankdenneman.ai/2010-08-27-drs-4-1-adaptive-maxmovesperhost/</link><pubDate>Fri, 27 Aug 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-08-27-drs-4-1-adaptive-maxmovesperhost/</guid><description>&lt;p&gt;Another reason to upgrade to vSphere 4.1 is the DRS adaptive MaxMovesPerHost parameter. The MaxMovesPerHost setting determines the maximum amount of migrations per host for DRS load balancing. DRS evaluates a cluster and recommends migrations. By default this evaluation happens every 5 minutes. There are limits to how many migrations DRS will recommend per interval per ESX host because there&amp;rsquo;s no advantage to recommending so many migrations that they won&amp;rsquo;t all be completed by the next re-evaluation, by which time demand could have changed anyway. Be aware that there is no limit on max moves per host for a host entering maintenance or standby mode, but there&amp;rsquo;s a limit on max moves per host for load balancing. This can (&lt;strong&gt;but usually shouldn&amp;rsquo;t&lt;/strong&gt;) be changed by setting the DRS Advanced Option &amp;ldquo;MaxMovesPerHost&amp;rdquo;. The default value is 8 and is set at the Cluster level. Remember, the MaxMovesPerHost is a cluster setting but configures the maximum migrations from a single host on each DRS invocation. This means you can still see 30 or 40 vMotion operations in the cluster during a DRS invocation. In ESX/ESXi 4.1, the limit on moves per host will be dynamic, based on how many moves DRS thinks can be completed in one DRS evaluation interval. DRS adapts to the frequency it is invoked (pollPeriodSec, default 300 seconds) and the average migration time observed from previous migrations. In addition DRS follows the new maximum number of concurrent vMotion operations per host over depending on the Network Speed (1GB – 4 vMotions, 10GB – 8 vMotions). Due to the adaptive nature the algorithm, the name of the setting is quite misleading as it&amp;rsquo;s no longer a maximum. The &amp;ldquo;MaxMovesPerHost&amp;rdquo; parameter will still exist, but its value might be exceeded by DRS. By leveraging the increased amount of concurrent vMotion operations per host and the evaluation of previous migration times DRS is able to rebalance the cluster in a fewer amount of passes. By using fewer amounts of passes, the virtual machines will receive their entitled resources much quicker which should positively affect virtual machine performance.&lt;/p&gt;</description></item><item><title>vSphere 4.1 – HA and DRS deepdive book</title><link>https://frankdenneman.ai/2010-08-25-vsphere-4-1-ha-and-drs-deepdive-book/</link><pubDate>Wed, 25 Aug 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-08-25-vsphere-4-1-ha-and-drs-deepdive-book/</guid><description>&lt;p&gt;This is a complete repost of the article written by Duncan, as all publications about this book must be checked by VMware Legal, he wrote one article and speaks for the both of us. URL: &lt;a href="http://www.yellow-bricks.com/2010/08/25/soon-in-a-book-store-near-you-ha-and-drs-deepdive/"&gt;http://www.yellow-bricks.com/2010-08-24-soon-in-a-bookstore-near-you-ha-and-drs-deepdive&lt;/a&gt; Over the last couple of months Frank Denneman and I have been working really hard on a secret project. Although we have spoken about it a couple of times on twitter the topic was never revealed. Months ago I was thinking about what a good topic would be for my next book. As I already wrote a lot of articles on HA it made sense to combine these and do a deepdive on HA. However a VMware Cluster is not just HA. When you configure a cluster there is something else that usually is enabled and that is DRS. As Frank is the Subject Matter Expert on Resource Management / DRS it made sense to ask Frank if he was up for it or not&amp;hellip; Needless to say that Frank was excited about this opportunity and that was when our new project was born: VMware vSphere 4.1 - HA and DRS deepdive. As both Frank and I are VMware employees we contacted our management to see what the options were for releasing this information to market. We are very excited that we have been given the opportunity to be the first official publication as part of a brand new VMware initiative, codenamed Rome. The idea behind Rome along with pertinent details will be announced later this year. Our book is currently going through the final review/editing stages. For those wondering what to expect, a sample chapter can be &lt;a href="http://www.pearsonitcertification.com/articles/article.aspx?p=1625102"&gt;found here&lt;/a&gt;. The primary audience for the book is anyone interested in high availability and clustering. There is no prerequisite knowledge needed to read the book however, the book will consist of roughly 220 pages with all the detail you want on HA and DRS. It will not be a &amp;ldquo;how to&amp;rdquo; guide, instead it will explain the concepts and mechanisms behind HA and DRS like Primary Nodes, Admission Control Policies, Host Affinity Rules and Resource Pools. On top of that, we will include basic design principles to support the decisions that will need to be made when configuring HA and DRS. I guess it is unnecessary to say that both Frank and I are very excited about the book. We hope that you will enjoy reading it as much as we did writing it. Stay tuned for more info, the official book title and url to order the book. Frank and Duncan&lt;/p&gt;</description></item><item><title>VCDX tip: The application form</title><link>https://frankdenneman.ai/2010-08-23-vcdx-tip-the-application-form/</link><pubDate>Mon, 23 Aug 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-08-23-vcdx-tip-the-application-form/</guid><description>&lt;p&gt;Last week I reviewed some recently submitted designs and it appears that the requirements stated in the application form are too ambiguous. During this year I’ve seen many application forms and the same error are made by many candidates. Let’s go over the sections which contain the most errors and try to remove any doubts for future candidates. The &lt;em&gt;VMware VCDX Handbook and application&lt;/em&gt; form is subject to change. So this article is based on version 1.0.5. The application form is available for candidates enrolled in the VCDX program. &lt;strong&gt;Section 4 Project References&lt;/strong&gt; &lt;em&gt;What deliverables were provided? (This should represent a comprehensive design package and include, at a minimum, the design, blueprints, test plan, assembly and configuration guide, and operations guide.)&lt;/em&gt; Ok so this requirement is not understood clearly by some. To meet this requirement you MUST submit &lt;strong&gt;at least&lt;/strong&gt;: 1. the VMware VI 3.5 or vSphere design document. 2. blueprints (Visio drawings of physical and logical layout) 3. a documented test plan 4. a assembly and configuration guide 5. and a operation guide. This means you are required to submit those five listed documents otherwise your application is rejected (bad) or returned for rework (Still bad, but it doesn’t cost you 300 bucks and you might have a chance to defend during the upcoming defense panels). &lt;strong&gt;Section 5 Design Development Activities&lt;/strong&gt; This section requires you to submit five requirements, assumptions and constrains that had to be followed within this design. This means you must submit &lt;strong&gt;at least&lt;/strong&gt; five requirements, five assumptions and five constrains you encountered when working on the design. I’ve seen some application forms with requirements such as enough power, enough floor space and enough cables. Which are all genuine requirements if you are a project manager. We are requesting a list of requirements, assumptions and constraints which you as a virtual infrastructure architect had to deal with. The submitted design needs to align and deal with requirements and constraints listed in the application form. &lt;strong&gt;Design Deliverable Documentation:&lt;/strong&gt; A small error made by many, no big deal if you miss this but it makes our live much easier if you do it correctly. This sections requires you to list the page numbers where the diagrams can be found not how many pages the document has. &lt;strong&gt;Design Decisions&lt;/strong&gt; In this section you must provide four decision criteria for each of the decision areas, this means if you leave one field empty the application will be rejected. It’s just really simple; your application form is &lt;strong&gt;NOT&lt;/strong&gt; completed when a field is empty. Not completed forms get rejected. &lt;strong&gt;Application form does not equal design document&lt;/strong&gt; The application form is not a substitute for the design document. It is a part of the VCDX certification program and not a part of the VMware virtual infrastructure design. The two are not complimentary to each other. Everything stated in the application form must be included in the design document or any of the other documents. Just remember you are submitting a defense you have delivered to a real or imaginary customer! Ask yourself have you ever submitted a VCDX application form during a design project to your customer?&lt;/p&gt;</description></item><item><title>Disable DRS and VM-Host rules</title><link>https://frankdenneman.ai/2010-07-22-disable-drs-and-vm-host-rules/</link><pubDate>Thu, 22 Jul 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-07-22-disable-drs-and-vm-host-rules/</guid><description>&lt;p&gt;vSphere 4.1 introduces &lt;a href="https://frankdenneman.ai/2010/07/vm-to-hosts-affinity-rule/"&gt;DRS VM-Host Affinity rules&lt;/a&gt; and offer two types of rules, mandatory (must run on /must not run on) and preferential (should run on /should nor run on). When creating mandatory rules, all ESX hosts not contained in the specified ESX Host DRS Group are marked as “incompatible” hosts and DRS\VMotion tasks will be rejected if an incompatible ESX Host is selected. A colleague of mine ran into the problem that mandatory VM-Host affinity rules remain active after disabling DRS; the product team explained the reason why: By design, mandatory rules are considered very important and it’s believed that the intended user case which is licensing compliance is so important, that VMware decided to apply these restrictions to non-DRS operations in the cluster as well. If DRS is disabled while mandatory VM-Host rules still exist, mandatory rules are still in effect and the cluster continues to track, report and alert mandatory rules. If a VMotion would violate the mandatory VM-Host affinity rule even after DRS is disabled, the cluster still rejects the VMotion. Mandatory rules can only be disabled if the administrator explicitly does so. If it the administrator intent to disable DRS, remove mandatory rules first before disabling DRS.&lt;/p&gt;</description></item><item><title>DRS-FT integration</title><link>https://frankdenneman.ai/2010-07-22-drs-ft-integration/</link><pubDate>Thu, 22 Jul 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-07-22-drs-ft-integration/</guid><description>&lt;p&gt;Another new feature of vSphere 4.1 is the DRS-Fault Tolerance integration. vSphere 4.1 allows DRS not only to perform initial placement of the Fault Tolerance (FT) virtual machines, but also migrate the primary and secondary virtual machine during DRS load balancing operations. In vSphere 4.0 DRS is disabled on the FT primary and secondary virtual machines. When FT is enabled on a virtual machine in 4.0, the existing virtual machine becomes the primary virtual machine and is powered-on onto its registered host, the newly spawned virtual machine, called the secondary virtual machine is automatically placed on another host. DRS will refrain from generating load balancing recommendations for both virtual machines. The new DRS integration removes both the initial placement- and the load-balancing limitation. DRS is able to select the best suitable host for initial placement and generate migration recommendations for the FT virtual machines based on the current workload inside the cluster. This will result in a more load-balanced cluster which likely has positive effect on the performance of the FT virtual machines. In vSphere 4.0 an anti-affinity rule prohibited both the FT primary- and secondary virtual machine to run on the same ESX hosts based on an anti-affinity rule, vSphere 4.1 offers the possibility to create a VM-host affinity rule ensuring that the FT primary and secondary virtual machine do not run on ESX hosts in the same blade chassis if the design requires this. For more information about VM-Host affinity rules please visit &lt;a href="https://frankdenneman.ai/2010/07/vm-to-hosts-affinity-rule/"&gt;this&lt;/a&gt; article. Not only has the DRS-FT integration a positive impact on the performance of the FT enabled virtual machines and arguably all other VMs in the cluster but it will also reduce the impact of FT-enabled virtual machines on the virtual infrastructure. For example, DPM is now able to move the FT virtual machine to other hosts if DPM decides to place the current ESX host in standby mode, in vSphere 4.0, DPM needs to be disabled on at least two ESX host because of the DRS disable limitation which I mentioned in &lt;a href="https://frankdenneman.ai/2010/06/vmware-fault-tolerance-and-dpm/"&gt;this&lt;/a&gt; article. Because DRS is able to migrate the FT-enabled virtual machines, DRS can evacuate all the virtual machines automatically if the ESX host is placed into maintenance mode. The administrator does not need to manually select an appropriate ESX host and migrate the virtual machines to it, DRS will automatically select a suitable host to run the FT-enabled virtual machines. This reduces the need of both manual operations and creating very &amp;ldquo;exiting&amp;rdquo; operational procedures on how to deal with FT-enabled virtual machines during the maintenance window. DRS FT integration requires having EVC enabled on the cluster. Many companies do not enable EVC on their ESX clusters based on either FUD on performance loss or arguements that they do not intend to expand their clusters with new types of hardware and creating homogenous clusters. The advantages and improvement DRS-FT integration offers on both performance and reduction of complexity in cluster design and operational procedures shed some new light on the discussion to enable EVC in a homogeneous cluster. If EVC is not enabled, vCenter will revert back to vSphere 4.0 behavior and enables the DRS disable setting on the FT virtual machines.&lt;/p&gt;</description></item><item><title>Load Based Teaming</title><link>https://frankdenneman.ai/2010-07-21-load-based-teaming/</link><pubDate>Wed, 21 Jul 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-07-21-load-based-teaming/</guid><description>&lt;p&gt;In vSphere 4.1 a new network Load Based Teaming (LBT) algorithm is available on the distributed virtual switch dvPort groups. The option “&lt;em&gt;Route based on physical NIC load&lt;/em&gt;” takes the virtual machine network I/O load into account and tries to avoid congestion by dynamically reassigning and balancing the virtual switch port to physical NIC mappings. The three existing load-balancing policies, Port-ID, Mac-Based and IP-hash use a static mapping between virtual switch ports and the connected uplinks. The VMkernel assigns a virtual switch port during the power-on of a virtual machine, this virtual switch port gets assigned to a physical NIC based on either a round-robin- or hashing algorithm, but all algorithms do not take overall utilization of the pNIC into account. This can lead to a scenario where several virtual machines mapped to the same physical adapter saturate the physical NIC and fight for bandwidth while the other adapters are underutilized. LBT solves this by remapping the virtual switch ports to a physical NIC when congestion is detected. After the initial virtual switch port to physical port assignment is completed, Load Based teaming checks the load on the dvUplinks at a 30 second interval and dynamically reassigns port bindings based on the current network load and the level of saturation of the dvUplinks. The VMkernel indicates the network I/O load as congested if transmit (Tx) or receive (Rx) network traffic is exceeding a 75% mean over a 30 second period. (The mean is the sum of the observations divided by the number of observations). An interval period of 30 seconds is used to avoid MAC address flapping issues with the physical switches. Although an interval of 30 seconds is used, it is recommended to enable port fast (trunk fast) on the physical switches, all switches must be a part of the same layer 2 domain.&lt;/p&gt;</description></item><item><title>DPM scheduled tasks</title><link>https://frankdenneman.ai/2010-07-20-dpm-scheduled-task/</link><pubDate>Tue, 20 Jul 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-07-20-dpm-scheduled-task/</guid><description>&lt;p&gt;vSphere 4.1 introduces a lot of new features and enhancements of the existing features, one of the hidden gems I believe is the DPM enable and disable scheduled tasks. The DPM “Change cluster power settings” schedule task allows the administrator to enable or disable DPM via an automated task. If the admin selects the option DPM off, vCenter will disable all DPM features on the selected cluster and all hosts in standby mode will be powered on automatically when the scheduled task runs. This option removes one of the biggest obstacles of implementing DPM. One of the main concerns administrators have, is the incurred (periodic) latency when enabling DPM. If DPM place an ESX host in standby mode, it can take up to five minutes before DPM decides to power up the ESX host again. During this (short) period of time, the environment experiences latency or performance loss, usually this latency occurs in the morning. It’s common for DPM to place ESX hosts in standby mode during the night due to the decreased workloads, when the employees arrive in the morning the workload increases and DPM needs to power on additional ESX hosts. The period between 7:30 and 10:00 is recognized as one of the busiest periods of the day and during that period the IT department wants their computing power lock, stock and ready to go. This scheduled task will give the administrators the ability to disable DPM before the workforce arrive. Because the ESX hosts remain powered-on until the administrator or a DPM scheduled task enables DPM again, another schedule can be created to enable DPM after the periods of high workload demand ends. To create a scheduled task to disable DPM, open vCenter, go to Home&amp;gt;Management&amp;gt;Scheduled Tasks (CTRL-Shift-T) and select the task “Change cluster power settings”. &lt;img src="images/scheduled-task-300x107.png" alt="DPM Scheduled Task" title="DPM Scheduled Task"&gt; Select the default power management for the cluster , &lt;em&gt;On&lt;/em&gt; or &lt;em&gt;Off&lt;/em&gt; and configure the task. &lt;img src="images/schedule-300x270.png" alt="Configure DPM scheduled task" title="Configure DPM scheduled task"&gt; For example, by scheduling a DPM disable task on every weekday at 7:00, the administrator is ensured that all ESX hosts are powered on before 8 o’clock every weekday in advance of the morning peak, rather than have to wait for DPM to react to the workload increase. By scheduling the DPM disable task more than one hour in advance of the morning peak, DRS will have the time to rebalance the virtual machine across all active hosts inside the cluster and Transparent Page Sharing process can collapse the memory pages shared by the virtual machines on the ESX hosts. By powering up all ESX hosts early, the ESX cluster will be ready to accommodate load increases.&lt;/p&gt;</description></item><item><title>VM to Hosts affinity rule</title><link>https://frankdenneman.ai/2010-07-16-vm-to-hosts-affinity-rule/</link><pubDate>Fri, 16 Jul 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-07-16-vm-to-hosts-affinity-rule/</guid><description>&lt;p&gt;VMware vSphere 4.1 introduces a new affinity rule, called &amp;ldquo;Virtual Machines to Hosts&amp;rdquo; (VM-Host). This new rule is available in vSphere 4.1 DRS clusters in addition to the existing (anti) affinity rule, which is now called VM-VM affinity rule. The new VM-Host affinity rule provides the ability of placing a group of virtual machines on a subset of hosts inside the cluster. The new rule can very useful in blade system environments and for honoring ISV license requirements. Rules can be created to ensure that virtual machines run on ESX hosts in different blade chassis for availability reasons, or the complete opposite and limit the virtual machines to ESX hosts inside a blade chassis to optimize network speeds by keeping network traffic inside the blade chassis. VM-host are also very useful to fulfill the requirements of special ISV license models as well, for example restricting Oracle database virtual machines to run only on ESX hosts which are licensed by Oracle. &lt;strong&gt;Difference between VM-Host affinity rules and VM-VM rules&lt;/strong&gt; The VM-host affinity rule differ from the VM-VM rule, A VM-Host (anti) affinity rule specify the (anti) affinity between a group of virtual machines and a group of ESX hosts inside the cluster, whether a VM-VM (anti) affinity rule only specify the (anti) affinity between individual virtual machines. Components. A virtual machine to host affinity rule exists out of three components: • Virtual machine DRS group • ESX host DRS group • Designation – “Must” affinity\anti-affinity or “Should” affinity\anti-affinity Virtual machine DRS groups and ESX host DRS Group are quite self-explanatory so let’s dive into the designations component straight away. &lt;strong&gt;Designations&lt;/strong&gt; Two different types of VM-Host rules are available, a VM-Host affinity rule can either be a “must” rule or a “should” rule. The must-rule is a mandatory rule for HA, DRS and DPM, it confines or prevent the virtual machines to run on the ESX hosts specified in the ESX host DRS Group. The “should” rule is a preferential rule for DRS and DPM and expresses a preference. DRS and DPM use their best effort to try to confine or prevent the virtual machines from running on the ESX host they are affined to, but DRS and DPM can violate “should” rules if it compromises certain key operations, HA is not aware of preferential rules because DRS will not communicate these rules to HA. HA, DRS and DPM must take the mandatory rules into account when generating or executing operations. HA, DRS and DPM will never take any action that result in the violation of mandatory affinity rules. Because of this, mandatory rules place more constraints on VM mobility, making it more difficult for DRS to balance load and enforce resource allocation policies, HA and DPM operations are constrained as well, for example, mandatory rules will; • Limit DRS in selecting hosts to load-balance the cluster • Limit HA in selecting hosts to power up the virtual machines • Limit DPM in selecting hosts to power down Due its limiting behavior, it is recommended to use mandatory rules sparingly and only for specific cases, such as licensing requirements. Preferential rules can be used to meet availability requirements such as separating virtual machines between blade centers. &lt;strong&gt;DRS and mandatory rules&lt;/strong&gt; DRS takes mandatory rules into account when generating load-balance recommendations. If a rule is created and the current virtual machine placement is in violation with the rule, DRS will create a priority one recommendation (five stars) and executes the recommendation if DRS is set to fully automatic. DRS will not generate recommendation that will violate the rule, it will not migrate virtual machines to or from an ESX server, even if places the source ESX host into maintenance mode. VMotion will reject the operation as well if it detects that the operation is in violation of the mandatory rule If a reservation is set on the virtual machine, DRS takes both reservation and mandatory affinity rule into account. Both requirements must be satisfied during placement or power on. If DRS is unable to honor either one of the requirements the virtual machine is not powered on or migrated to the proposed destination host. For example if a new rule is created and the current virtual machine placement is in violation of the rule, it can only migrate to a new host if the virtual machine memory reservation can be satisfied on the new host, if this is not possible, DRS will not generate the recommendation. If a rule is created that conflict with another active, the older rule overrules the newer rule and DRS will disable the new rule. As you can imagine that mandatory affinity rules can complicate troubleshooting in certain scenarios for example, why a virtual machine is not migrated from a highly utilized host to an alternative lightly utilized host in the cluster. &lt;strong&gt;DPM&lt;/strong&gt; DPM does not place an ESX host into standby mode if it will violate the mandatory rule and will power-on ESX hosts if these are needed to meet the requirements of the mandatory riles. &lt;strong&gt;High Availability&lt;/strong&gt; Due to the DRS-HA integration in vSphere 4.1, HA respects mandatory (must) rules. During an ESX host failure event, HA ask DRS to supply the list of hosts and places the virtual machines only on the compatible host, i.e. the host that are allowed by the mandatory rules. HA is unaware of the preferential (should) rules, so HA might unknowingly violate the rule during placement of virtual machines after an ESX failure, but the violation will be corrected by the next DRS invocation. Let’s take a look at a configuration which I think is going to be widely implemented soon, the Oracle Must affinity rule. 1. Place all Oracle virtual machines in a Cluster VM DRS group. (vm01, vm03, vm11, vm20) 2. Place all Oracle licensed ESX host in a Cluster Host DRS Group (ESX07, ESX08, ESX15, ESX16) 3. Select “Must run on Host in Group” &lt;img src="images/vm-host1.png" alt="Virtual Machines to Hosts - VM-Host - affinity rule" title="Virtual Machines to Hosts - VM-Host - affinity rule"&gt; In this scenario, DRS never places, migrates, or recommend placement of a host-affined virtual machine on a host to which is not listed in the Cluster Host DRS Group (ESX01 - ESX06 &amp;amp; ESX09-ESX14). This means that DRS will never ever place the virtual machine on an unlicensed host, not for maintenance mode, not for DPM power saving and not after an ESX host failure event. This virtual machine to host affinity rule make it possible to run oracle inside big clusters without having to license all the ESX host. I have been involved in a few projects where Oracle license was a constraint. Normally separate smaller clusters were deployed for Oracle database virtual machines, increasing both OPEX and CAPEX of the environment. These rules allows the Oracle virtual machines to run inside the cluster with other virtual machines without having to license all the ESX host inside the cluster. Hereby making the lives easier of both the architect and the administrator. vSphere 4.1, you gotta love it! Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VMware Fault Tolerance and DPM</title><link>https://frankdenneman.ai/2010-06-20-vmware-fault-tolerance-and-dpm/</link><pubDate>Sun, 20 Jun 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-06-20-vmware-fault-tolerance-and-dpm/</guid><description>&lt;p&gt;Some requirements of the design I am working on is to be as “green” as possible and to offer the highest level of redundancy for business continuity. Enter VMware Fault Tolerance (FT) and Distributed Power Management (DPM)! When mixing multiple features, the requirements of one feature can have impact on- or even worse becomes a constraint of the other feature. DPM works together with DRS to VMotion virtual machines onto fewer ESX host servers when the resource demand drops below a specific threshold. In the current release of vSphere, DRS does not consider the FT-enabled virtual machines during load balancing operations and DRS will not migrate FT-enabled virtual machine automatically, because of this DPM cannot power down these hosts until the administrator will manually VMotion the primary or secondary virtual machines to another ESX host server. Fortunately when enabling DPM on the cluster, you can disable DPM at ESX host level. Due to the current limitations of DRS with VMware Fault Tolerance, it is recommended to disable DPM on at least two ESX server host to act as host for FT-enabled virtual machines.&lt;/p&gt;</description></item><item><title>Memory reclamation, when and how?</title><link>https://frankdenneman.ai/2010-06-11-memory-reclaimation-when-and-how/</link><pubDate>Fri, 11 Jun 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-06-11-memory-reclaimation-when-and-how/</guid><description>&lt;p&gt;After discussing with Duncan the performance problem presented by @heiner_hardt , we discussed the exact moment the VMkernel decides which reclamation technique it will use and specific behaviors of the reclamation techniques. This article supplements Duncan&amp;rsquo;s &lt;a href="http://www.yellow-bricks.com/2010-06-10-is-this-vm-actively-swapping-helping-heiner_hardt/"&gt;article&lt;/a&gt; on Yellow-bricks.com. Now let&amp;rsquo;s begin with when the kernel decides to reclaim memory and see how the kernel reclaims memory. So host physical memory is reclaimed based on four &amp;ldquo;free memory states&amp;rdquo;, each with a corresponding threshold. Based on the Threshold, the VMkernel chooses which reclamation technique it will use to reclaim memory from virtual machines.&lt;/p&gt;</description></item><item><title>Reservations and CPU scheduling</title><link>https://frankdenneman.ai/2010-06-08-reservations-and-cpu-scheduling/</link><pubDate>Tue, 08 Jun 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-06-08-reservations-and-cpu-scheduling/</guid><description>&lt;p&gt;Most of my resource management articles focus more on the behavior of memory management than on CPU management. Mainly because the Memory scheduler within ESX is such an interesting complex system which comprises of memory allocation, swapping and reclamation with algorithms such as Idle Memory Tax and mechanisms like ballooning and swapping. But lately it seems that CPU scheduling seems to attract more and more my attention. The discussion Duncan and I had prior to posting his &lt;a href="http://www.yellow-bricks.com/2010-05-18-limiting-your-vcpu/"&gt;article&lt;/a&gt; about how CPU limits actually sparked the interest how CPU scheduling works when setting reservations, so additional to Duncan excellent article, I want to take a closer look how the ESX CPU scheduler handles CPU reservations and shares and show why CPU scheduling is more fair that memory management. Similar to memory, the resource allocation settings, reservations, shares and limits can be set on CPU level. Limits and shares have similar behavior on CPU as well as Memory. Reservation act differently, let&amp;rsquo;s take a quick look at the resource allocation settings:&lt;/p&gt;</description></item><item><title>Virtual Machine memory overhead</title><link>https://frankdenneman.ai/2010-05-31-virtual-machine-memory-overhead/</link><pubDate>Mon, 31 May 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-05-31-virtual-machine-memory-overhead/</guid><description>&lt;p&gt;Every virtual machine running on an ESX host consumes some memory overhead additional to the current usage of its configured memory. This extra space is needed by ESX for the internal VMkernel datastructures like virtual machine frame buffer and mapping table for memory translation (mapping physical virtual machine memory to machine memory). Two kinds of virtual machine overhead exists: &lt;strong&gt;Static overhead&lt;/strong&gt; Static overhead is the minimum overhead that is required for the virtual machine startup. DRS and the VMkernel uses this metric for admission control and VMotion calculations. The destination host must be able to back the virtual machine reservation and the static overhead otherwise the VMotion will fail. &lt;strong&gt;Dynamic overhead&lt;/strong&gt; Once the virtual machine has started up, the virtual machine monitor (VMM) can request additional memory space. The VMM will request the space, but the VMkernel is not required to supply it. If the VMM does not obtain the extra memory space, the virtual machine will continue to function but this can lead to performance degradation. The VMkernel treats virtual machine overhead reservation the same as &lt;a href="https://frankdenneman.ai/2009/12/impact-of-memory-reservation/"&gt;VM-level memory reservation&lt;/a&gt; and it will not reclaim this memory once it used. &lt;strong&gt;Overhead memory used in admission control&lt;/strong&gt; As mentioned before, DRS and the VMkernel will not allow the virtual machine to be powered up if reservations cannot be guaranteed, this means that the effective memory reservation for a virtual machine is the user configured memory reservation (VM-level reservation) plus the overhead reservation. &lt;strong&gt;Resource pool memory reservations&lt;/strong&gt; This means that during the design phase of a resource pool, the memory overhead of a virtual machine must be included in the calculation of the memory reservation specified on the resource pool. The behavior of dynamic overhead must also be taken into account. Table 3.2 of the vSphere resource management guide list the overhead memory on virtual machines. &lt;a href="http://pubs.vmware.com/vsp40_i/wwhelp/wwhimpl/common/html/wwhelp.htm#href=resmgmt/r_overhead_memory_on_virtual_machines.html#1_7_9_9_10_1&amp;amp;single=true"&gt;VMware vSphere Online Library - Table 3.2 overhead memory&lt;/a&gt; Please be aware of the fact that memory overheads are growing with each new release of ESX, so keep this in mind when upgrading to a new version. Verify the documentation of the virtual machine memory overhead and check the specified memory reservation on the resource pool.&lt;/p&gt;</description></item><item><title>Re: Swapping</title><link>https://frankdenneman.ai/2010-05-26-re-swapping/</link><pubDate>Wed, 26 May 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-05-26-re-swapping/</guid><description>&lt;p&gt;Recently we had a discussion about swapping, as Duncan mentioned in his article &amp;ldquo;&lt;a href="http://www.yellow-bricks.com/2010-05-26-swapping/"&gt;Swapping&lt;/a&gt;&amp;rdquo; Swapped memory might not have impact on the performance of the virtual machine. There are scenarios when pages can be swapped out without experiencing performance problems. One common scenario is a bootstorm, i.e startup of many virtual machines at once. Bootstorms can happen when a host failure occurs and High Availability powers on the virtual machines on other host, but are also frequently encountered in windows shops after Patch Tuesday, when the operations team need to obey a limited maintenance window timeslot. When a virtual machine guest OS starts, there will be a period of time before the VMware tools is loaded and the vmmemctl (balloon driver) is operational. During this timeslot the operating system can access a large portion of its configured memory. Windows systems are notorious for this as they tend to touch every page until it reaches the end of their configured memory. Unfortunately page sharing due to Transparent Page Sharing (TPS) is also at a minimum. Redundant memory pages are not collapsed immediately when a virtual machine is started. TPS is a VMkernel background process and uses a cycle of 60 minutes (Mem.ShareScanTime) to scan a virtual machine for page sharing opportunities. During these bootstorms many virtual machines are powered on at the same time, all claiming lots of memory or even their maximum configured memory (windows). This behavior leads to a spike in memory usage and without the help of the balloon driver and TPS, the ESX host needs to resort to swapping out memory. When referring to windows startup, windows will touch every page and this forces ESX to back all in machine memory (physical memory). These pages are filled with useless information and chances are that this might never be accessed by the virtual machine again. Now ESX will not proactively swap memory back in to physical memory when the memory pressure disappears. These pages will remain swapped until it is accessed by the virtual machine, at that point ESX will swap it into memory. Swapping during the bootstorm will delay the boot process, but these swapped out pages will not cause any performance problems during normal operation. As mentioned in Duncan&amp;rsquo;s &amp;ldquo;&lt;a href="http://www.yellow-bricks.com/2010-05-26-swapping/"&gt;Swapping article&lt;/a&gt;&amp;rdquo;, there are a few metrics that indicates that a virtual machine is swapping or has swapped before. When encountering swapped memory, check the metrics SWCUR (Swap current) and SWTGT (Swap target). If a bootstorm occurred it is likely to have a higher value at SWCUR than at the SWTGT. The SWTGT indicates the desired amount of memory to be swapped out, this is determined by ESX by the resource entitlement calculation of the virtual machine. If there is no memory pressure, the swaptarget will be equal to 0, but because pages remain in the swap file until accessed, the SWCUR will indicate the remaining swapped out pages. If memory contention does occur, ESX will attempt to make the SWCUR equal to the SWTGT (swap target).&lt;/p&gt;</description></item><item><title>Resource pools memory reservations</title><link>https://frankdenneman.ai/2010-05-18-resource-pools-memory-reservations/</link><pubDate>Tue, 18 May 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-05-18-resource-pools-memory-reservations/</guid><description>&lt;p&gt;After publishing the article &amp;ldquo;&lt;a href="https://frankdenneman.ai/2009/12/impact-of-memory-reservation/"&gt;impact of memory reservations&lt;/a&gt;&amp;rdquo; I received a lot of questions about setting memory reservation at resource pool level. It seems there are several common facts about resource pools and memory reservations that are often misunderstood. Because reservations are used by the VMkernel\DRS resource schedulers and (HA) admission control, the behavior of reservation can be very confusing. Before memory reservation on resource pool is addressed, let look at which mechanisms uses reservations and when reservations are used. &lt;strong&gt;When are reservations actually used besides admission control?&lt;/strong&gt; If a cluster is under-committed the VM resource entitlement will be the same as its demand, in other words, the VM will be allocated whatever it wants to consume within its configured limit. When a cluster is overcommitted, the cluster experiences more resource demand than its current capacity, at this point DRS and the VMkernel will allocate resources based on the resource entitlement of the virtual machine. Resource entitlement is covered later in the article. &lt;strong&gt;Is there any difference between resource pool level and virtual machine level memory reservation?&lt;/strong&gt; To keep it short, VM level reservation can be rather evil, it will hoard memory if it has been used by the virtual machine once. Even if the virtual machine becomes idle, the VMkernel will not reclaim this memory and return it to the free memory set. This means that ESX can start swapping and ballooning if no free memory is available for other virtual machines while the owning VM&amp;rsquo;s aren&amp;rsquo;t using their claimed reserved memory. It also has influence on the slot size of High availability, for more information about HA slot sizes, please visit the &lt;a href="http://www.yellow-bricks.com/vmware-high-availability-deepdiv/"&gt;HA deep dive&lt;/a&gt; page at yellow-bricks.com. For more information about virtual machine level memory reservation, please read the article &amp;ldquo;&lt;a href="https://frankdenneman.ai/2009/12/impact-of-memory-reservation/"&gt;impact of memory management&lt;/a&gt;&amp;rdquo;. &lt;strong&gt;Behavior of resource pool memory reservation&lt;/strong&gt; Now setting a memory reservation on a resource pool level has its own weaknesses, but it is much fairer and more along the whole idea of consolidation and sharing than virtual machine memory reservations. RP level reservations are immediately active, but are not claimed. This means it will only subtract the specified amount of memory from the unreserved capacity of the cluster. RP reservations are used when children of the resource pool uses memory and the system is under contention. Reservations are not wasted and the resources can be used by other virtual machines. Be aware, using and reserving are two distinct concepts! Virtual machines can use the resource, but they cannot reserve this as well if it is already reserved by another item. It appears that resource pool memory reservations work almost similar to CPU reservations, they won&amp;rsquo;t let any resource go to waste. And to top it off, resource pool reservations don&amp;rsquo;t flow to virtual machines, they will not influence HA slot sizes. Which unfortunately can lead to (temporary) performance loss if a host failover occurs. When a virtual machine is restarted by HA they are not restarted in the correct resource pool but in the root resource pool, which can lead to starvation. Until DRS is invoked, the virtual machine need to do it without any memory reservations. &lt;strong&gt;How to use resource pool memory reservation?&lt;/strong&gt; Ok so two popular strategies exist when it comes to setting memory reservation on resource pool levels: &lt;strong&gt;1.&lt;/strong&gt; CPU and Memory reservations within the resource pool is never overcommitted i.e configured memory all VM&amp;rsquo;s (40Gb) equals reservation (40GB) &lt;strong&gt;2.&lt;/strong&gt; Percentage of Cluster resources reserved i.e. memory reservation resource pool (20GB) less than configured memory virtual machines inside RP (40GB) The process of divvying is rather straightforward if the memory reservation equals the configured memory of the virtual machines inside the resource pool. All pages by the virtual machines are backed by machine pages, the resource entitlement is at least as large as its memory reservation. What I find more interesting is what happens if the resource pool is configured with a memory reservation that is less than all virtual machine configured memory? DRS will divvy memory reservations based on the virtual machine resource entitlement. &lt;strong&gt;So how is resource entitlement calculated&lt;/strong&gt;? A virtual machines resource entitlement is based on various statistics and some estimation techniques. DRS computes a resource entitlement for each virtual machine, based on virtual machine and resource pool configured shares, reservations, and limits settings, as well as the current demands of the virtual machines and resource pools, the memory size, its working set and the degree of current resource contention. Now by setting a reservation on the resource pool level, the virtual machines who are actively using memory profits the most of this mechanism. Basically if no reservation is set on the VM level, the &amp;ldquo;RP&amp;rdquo; reservation is granted to all virtual machines inside the resource pool who are actively using memory. DRS and the VMkernel calculates the resource pool and the virtual machine share levels. Please read the article &amp;ldquo;&lt;a href="http://www.yellow-bricks.com/2010-02-22-the-resource-pool-priority-pie-paradox/"&gt;the resource pool priority-pie paradox&lt;/a&gt;&amp;rdquo; to get more information about share levels. and use this to specify the virtual machines priority. Besides the share level the active utilization (working set) and the configured memory size are both accounted when calculating the resource entitlement. Virtual machines who are idling aren&amp;rsquo;t competing for resources, so they won&amp;rsquo;t get any new resources. If the memory is also idle the allocation get adjusted by the idle memory tax. Idle memory tax uses a progressive tax rate, the more idle memory a VM has, the more tax it will generate, this is why the configured memory size is also taken into account. (nice ammo if your customer wants to configure the DHCP server with 64GB memory!) When we create a &amp;ldquo;Diva&amp;rdquo; VM (coined by Craig Risinger), that is setting VM level reservations, this allocation setting is passed to the VMkernel. It will subtract the specified amount of the reservation pool of the RP and it will not share it with others, i.e. the Diva VM is a special creature. As stated above, RP memory reservations flow more than VM-level reservation, it will not claim\hoard memory. So basically when setting a resource pool reservation, reservations are just a part of the computation of the virtual machines resource entitlement. When the host is overcommitted, the memory usage of the virtual machine is either above or below the resource entitlement. If the memory usage exceeds its resource entitlement, the memory is ballooned or swapped from the virtual machine until it is at or below its entitlement. &lt;strong&gt;Disclosure&lt;/strong&gt; Now before you think I fabricated this article all by myself I am happily to admit that I&amp;rsquo;m in the lucky position to work for VMware and to call some of the world brightest minds my colleagues. Kit Colbert, Carl Waldspurger and Chirag Bhatt took the time and explain this theory very thoroughly to me. Luckily my colleagues and good friends Duncan Epping and Craig Risinger helped me decipher some out-of-this-world emails from the crew above and participated in some excellent discussions.&lt;/p&gt;</description></item><item><title>VMware tools disk timeout value Linux GOS</title><link>https://frankdenneman.ai/2010-04-28-vmware-tools-disk-timeout-value-linux-gos/</link><pubDate>Wed, 28 Apr 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-04-28-vmware-tools-disk-timeout-value-linux-gos/</guid><description>&lt;p&gt;After I posted the &lt;a href="https://frankdenneman.ai/2010/03/vcdx-tip-vmtools-increases-timeoutvalue/"&gt;&amp;ldquo;VMtools increases TimeOutValue article&amp;rdquo;&lt;/a&gt; I received a lot of questions if the VMware Tools automatically adjust the timeout value for Linux machines as well. Well, VMware Tools of versions ESX 3.5 Update 5 and ESX 4.0 install a udev rule file on Linux operating systems with kernel version equal or greater then 2.6.13. This rule file changes the default timeout value of VMware virtual disks to 180 seconds. This helps the guest operating system to better survive a SAN failure and keep the linux system disk from becoming read only. Because of the requirement of updates related to udev featured in the 2.6.13 kernel, the SCSI timeout value in other Linux kernels is not touched by the installation of VMware tools and the default value remains active. The two major Linux Kernel version each have a different timeout value: Linux 2.4 - 60 seconds Linux 2.6 - 30 seconds You can set the timeout value manually listed in /sys/block/&lt;em&gt;disk&lt;/em&gt;/device/timeout. The problem is the distinction VMtools make between certain Linux Kernels, if you do not know this caveat you might end up with an Linux environment which is not configured exactly the same. This can lead to different behaviour during a SAN outage. Standardization is key when managing virtual infrastructure environments and a uniform environment eases troubleshooting A while ago Jason wrote an &lt;a href="http://www.boche.net/blog/index.php/2009-10-29-vmware-esx-guest-os-io-timeout-settings-for-netapp-storage-systems/"&gt;excellent article&lt;/a&gt; about the values and benefit of increasing the guest os timeout&lt;/p&gt;</description></item><item><title>ESX4 ALUA, TPGS and HP CA</title><link>https://frankdenneman.ai/2010-03-25-esx4-alua-and-hp-continuous-access/</link><pubDate>Thu, 25 Mar 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-03-25-esx4-alua-and-hp-continuous-access/</guid><description>&lt;p&gt;In my blog post: &amp;ldquo;&lt;a href="https://frankdenneman.ai/2009/02/hp-continuous-access-and-the-use-of-lun-balancing-scripts/"&gt;HP CA and the use of LUN balancing scripts&lt;/a&gt;&amp;rdquo; I tried to cover the possible impact of using HP continuous Access EVA on the LUN path load balancing scheme in ESX 3.x. I received a lot of questions about this and wanted to address some issues again and try to clarify them. Let&amp;rsquo;s begin with a recap of the HP CA article; The impact of CA on the load-balancing scheme is due to the fact that an EVA is an asymmetric Active-Active array that uses the Asymmetric Logical Unit Access protocol (ALUA). ESX3 is not ALUA aware and does not recognize the different specific access characteristics of the array&amp;rsquo;s target ports. VMware addressed this shortcoming and added ALUA support in the new storage stack of ESX4. The ALUA support is a great feature of the new storage architecture, it reduces a lot of extra manual steps of creating a proper load-balanced environment. But how exactly does ALUA identifies which path is optimized and will HP Continuous Access still have an impact on ESX4 environments as well?&lt;/p&gt;</description></item><item><title>Identify storage performance issues</title><link>https://frankdenneman.ai/2010-03-25-identify-storage-performance-issues/</link><pubDate>Thu, 25 Mar 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-03-25-identify-storage-performance-issues/</guid><description>&lt;p&gt;VMware has recently updated the kb article &amp;quot; &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1008205"&gt;Using esxtop to identify storage performance issues Details&lt;/a&gt;&amp;quot; (KB1008205). The KB article provides information about how to use esxtop to determine the latency statistics across various devices. The article contain easy to follow, step-by-step instructions on how to setup ESXtop to monitor storage performance per HBA, LUN and virtual machine. It also list generic acceptable values to put your measured values in perspective. It&amp;rsquo;s a great article, bookmark it for future reference. If you want to learn about threshold of certain metrics in ESXtop, please check out the &lt;a href="http://www.yellow-bricks.com/esxtop/"&gt;ESXtop metric bible&lt;/a&gt; featured on Yellow-bricks.com. ESXtop is a great tool to view and measure certain criteria in real time, but sometimes you want to collect metrics for later reference. If this is the case, the tool vscsiStats might be helpful. vscsiStats is a tool to profile your storage environment and collects info such as outstanding IO, seekdistance and many many more. Check out Duncan&amp;rsquo;s &lt;a href="http://www.yellow-bricks.com/2009-12-17-vscsistats/"&gt;excellent article&lt;/a&gt; on how to use vscsiStats. Because vscsiStats will collect data in a .csv file you can create diagrams, Gabe written an &lt;a href="http://www.gabesvirtualworld.com/?p=1022"&gt;article&lt;/a&gt; how to convert the vscsiStats data into excel charts.&lt;/p&gt;</description></item><item><title>VCDX tip: VMtools increases TimeOutValue</title><link>https://frankdenneman.ai/2010-03-16-vcdx-tip-vmtools-increases-timeoutvalue/</link><pubDate>Tue, 16 Mar 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-03-16-vcdx-tip-vmtools-increases-timeoutvalue/</guid><description>&lt;p&gt;This is just a small heads-up post for all the VCDX candidates. Almost every VCDX application I read mentions the fact that they needed to increase the Disk TimeOutValue (HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Disk) by to 60 seconds on Windows machines. The truth is that the VMware Tools installation (ESX version 3.0.2 and up) will change this registry value automatically. You might want to check your operational procedures documentation and update this! &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1014"&gt;VMware KB 1014&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Removing orphaned Nexus DVS</title><link>https://frankdenneman.ai/2010-03-11-removing-orphaned-nexus-dvs/</link><pubDate>Thu, 11 Mar 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-03-11-removing-orphaned-nexus-dvs/</guid><description>&lt;p&gt;During the test of the Cisco Nexus 1000V the customer deleted the VSM first without removing the DVS using commands from within the VSM, ending up with an orphaned DVS. One can directly delete the DVS from the DB, but there are bunch of rows in multiple tables that need to be deleted. This is risky and may render DB in some inconsistent state if an error is made while deleting any rows. Luckily there is a more elegant way to remove an orphaned DVS without hacking and possibly breaking the vCenter DB. &lt;strong&gt;A little background first:&lt;/strong&gt; When installing the Cisco Nexus 1000V VSM, the VSM uses an extension-key for identification. During the configuration process the VSM spawns a DVS and will configure it with the same extension-key. Due to the matching extension keys (extension session) the VSM owns the DVS essentially. And only the VSM with the same extension-key as the DVS can delete the DVS. So to be able to delete a DVS, a VSM must exist registered with the same extension key. If you deleted the VSM and are stuck with an orphaned DVS, the first thing to do is to install and configure a new VSM. Use a different switch name than the first (deleted) VSM. The new VSM will spawn a new DVS matching the switch name configured within the VSM. The first step is to remove the new spawned DVS and do this the proper way using commands from within the VSM virtual machine.&lt;/p&gt;</description></item><item><title>DRS Resource Distribution Chart</title><link>https://frankdenneman.ai/2010-03-08-drs-resource-distribution-chart/</link><pubDate>Mon, 08 Mar 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-03-08-drs-resource-distribution-chart/</guid><description>&lt;p&gt;A customer of mine wanted more information about the new DRS Resource Distribution Chart in vCenter 4.0, so I thought after writing the text for the customer, why not share this? The DRS Resource Distribution Chart was overhauled in vCenter 4.0 and is quite an improvement over the resource distribution chart featured in vCenter 2.5. Not only does it use a better format, the new charts produce more in-depth information.&lt;/p&gt;</description></item><item><title>Resource pools and avoiding HA slot sizing</title><link>https://frankdenneman.ai/2010-02-24-resource-pools-and-avoiding-ha-slot-sizing/</link><pubDate>Wed, 24 Feb 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-02-24-resource-pools-and-avoiding-ha-slot-sizing/</guid><description>&lt;p&gt;Virtual machines configured with large amounts of memory (16GB+) are not uncommon these days. Most of the time these “heavy hitters” run mission critical applications so it’s not unusual setting memory reservations to guarantee the availability of memory resources. If such a virtual machine is placed in a HA cluster, these significant memory reservations can lead to a very conservative consolidation ratio, due to the impact on HA slot size calculation. (For more information about slot size calculation, please review the &lt;a href="http://www.yellow-bricks.com/vmware-high-availability-deepdiv/"&gt;HA deep dive&lt;/a&gt; page on yellow-bricks.com.) There are options to avoid creation of large slot sizes. Such as not setting reservations, disabling strict admission control, using vSphere new admission control policy “percentage of cluster resources reserved” or creating a custom slot size by altering the advanced settings das.vmMemoryMinMB. But what if you are still using ESX 3.5, must guarantee memory resources for that specific VM, do not want to disable strict admission control or don’t like tinkering with the custom slot size setting? Maybe using the resource pool workaround can be an option. &lt;strong&gt;Resource pool workaround&lt;/strong&gt; During a conversation with my colleague Craig Risinger, author of the very interesting article “&lt;a href="http://www.yellow-bricks.com/2010-02-22-the-resource-pool-priority-pie-paradox/"&gt;The resource pool priority pie paradox&lt;/a&gt;”, we discussed the lack of relation between resource pools reservation settings and High Availability. As Craig so eloquently put it:&lt;/p&gt;</description></item><item><title>Impact of host local VM swap on HA and DRS</title><link>https://frankdenneman.ai/2010-02-15-impact-of-host-local-vm-swap-on-ha-and-drs/</link><pubDate>Mon, 15 Feb 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-02-15-impact-of-host-local-vm-swap-on-ha-and-drs/</guid><description>&lt;p&gt;On a regular basis I come across NFS based environments where the decision is made to store the virtual machine swap files on local VMFS datastores. Using host-local swap can affect DRS load balancing and HA failover in certain situations. So when designing an environment using host-local swap, some areas must be focused on to guarantee HA and DRS functionality. &lt;strong&gt;VM swap file&lt;/strong&gt; Lets start with some basics, by default a VM swap file is created when a virtual machine starts, the formula to calculate the swap file size is: configured memory – memory reservation = swap file. For example a virtual machine configured with 2GB and a 1GB memory reservation will have a 1GB swap file. &lt;img src="images/swap-300x149.png" alt="VM swap file" title="VM swap file"&gt; Reservations will guarantee that the specified amount of virtual machine memory is (always) backed by ESX machine memory. Swap space must be reserved on the ESX host for the virtual machine memory that is not guaranteed to be backed by ESX machine memory. For more information on memory management of the ESX host, please the article on the &lt;a href="https://frankdenneman.ai/2009/12/impact-of-memory-reservation/"&gt;impact of memory reservation&lt;/a&gt;. During start up of the virtual machine, the VMkernel will pre-allocate the swap file blocks to ensure that all pages can be swapped out safely. A VM swap file is a static file and will not grow or shrink not matter how much memory is paged. If there is not enough disk space to create the swap file, the host admission control will not allow the VM to be powered up. &lt;strong&gt;Note:&lt;/strong&gt; If the local VMFS does not have enough space, the VMkernel tries to store the VM swap file in the working directory of the virtual machine. You need to ensure enough free space is available in the working directory otherwise the VM is still not allowed to be powered up. Let alone ignoring the fact that you initially didn&amp;rsquo;t want the VM swap stored on the shared storage in the first place. This rule also applies when migrating a VM configured with a host-local VM swap file as the swap file needs to be created on the local VMFS volume of the destination host. Besides creating a new swap file, the swapped out pages must be copied out to the destination host. It’s not uncommon that a VM has pages swapped out, even if there is not memory pressure at that moment. ESX does not proactively return swapped pages back into machine memory. Swapped pages always stays swapped, the VM needs to actively access the page in the swap file to be transferred back to machine memory but this only occurs if the ESX host is not under memory pressure (more than 6% free physical memory). Copying host-swap local pages between source- and destination host is a disk-to-disk copy process, this is one of the reasons why VMotion takes longer when host-local swap is used. &lt;strong&gt;Real-life scenario&lt;/strong&gt; A customer of mine was not aware of this behavior and had discarded the multiple warnings of full local VMFS datastores on some of their ESX hosts. All the virtual machines were up and running and all seemed well. Certain ESX servers seemed to be low on resource utilization and had a few active VMs, while other hosts were highly utilized. DRS was active on all the clusters, fully automated and a default (3 stars) migration threshold. It looked like we had a major DRS problem. &lt;strong&gt;DRS&lt;/strong&gt; If DRS decide to rebalance the cluster, it will migrate virtual machines to low utilized hosts. VMkernel tries to create a new swap file on the destination host during the VMotion process. In my scenario the host did not contain any free space in the VMFS datastore and DRS could not VMotion any virtual machine to that host because the lack of free space. But the host CPU active and host memory active metrics were still monitored by DRS to calculate the load standard deviation used for its recommendations to balance the cluster. (More info about the DRS algorithm can be found on the &lt;a href="http://www.yellow-bricks.com/drs-deepdive/"&gt;DRS deepdive&lt;/a&gt; page). The lack of disk space on the local VMFS datastores influenced the effectiveness of DRS and limited the options for DRS to balance the cluster. &lt;strong&gt;High availability failover&lt;/strong&gt; The same applies when a HA isolation response occurs, when not enough space is available to create the virtual machine swap files, no virtual machines are started on the host. If a host fails, the virtual machines will only power-up on host containing enough free space on their local VMFS datastores. It might be possible that virtual machines will not power-up at-all if not enough free disk space is available. &lt;strong&gt;Failover capacity planning&lt;/strong&gt; When using host local swap setting to store the VM swap files, the following factors must be considered. • Amount of ESX hosts inside cluster. • HA configured host failover capacity. • Amount of active virtual machines inside cluster. • Consolidation ratio (VM per host). • Average swap file size. • Free disk space local VMFS datastores.&lt;/p&gt;</description></item><item><title>VCDX number 029</title><link>https://frankdenneman.ai/2010-02-12-vcdx-number-29/</link><pubDate>Fri, 12 Feb 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-02-12-vcdx-number-29/</guid><description>&lt;p&gt;Monday 8th of February I was scheduled to participate in the defend session of the VCDX panel at Las Vegas. For people not familiar with the VCDX program, the defend panel is the final part of the extensive VCDX program. My defend session was the first session of the week, so my panel members where fresh and eager to get started. Besides the three panel members, an observer and a facilitator where also present in the room. The session consisted out of three parts; • Design defend session (75 minutes) • Design session (30 minutes) • Troubleshooting session (15 minutes) During the design defend session you are required to present your design, I used a twelve deck slide presentation and included all blueprints\Visio drawings as appendix. This helped me a lot, as I am not a native English speaker using diagrams helped me to explain the layout. There is no time limit on the duration of the presentation, but it is wise to keep it as brief as possible. During the session, the panel will try to address a number of sections and if they cannot address these sections this can impact your score. The design and troubleshooting session you need to show you are able to think on your feet. One of the goals is to understand your though process. Thinking out loud and using the whiteboard will help you a lot. So how was my experience? After meeting my panel members I started to get really nervous as one of the storage guru’s within VMware was on my panel. The other two panel members have an extreme good track record inside the company as well, so basically I was being judged by an all-star panel. I thought my presentation went well, but word of advice; read your submitted documentation on a regular basis before entering the defend panel as the smallest details can be asked. After completing the design defend pane, I was asked to step outside. After the short break the design session and troubleshooting scenarios were next. I did not solve the design and troubleshooting scenarios, but that is really not the goal of those sections. Thinking out loud in English can be challenging for non-native English speakers, so my advice is to try to practice this as much as possible. I did a test presentation for a couple of friends and discovered some areas to focus on before doing the defend part of the program. After completing my defend panel, I was scheduled to participate as an observer on the remaining defend panel sessions the rest of the week. After multiple sessions as an observer and receiving the news that I passed the VCDX defend panel, I participated as a panel member on a defend session. Hopefully I will be on a lot more panels in the upcoming year, because sitting on the other side of the table is so much better than standing in front of it sweating like a pig. :)&lt;/p&gt;</description></item><item><title>Sizing VMs and NUMA nodes</title><link>https://frankdenneman.ai/2010-02-03-sizing-vms-and-numa-nodes/</link><pubDate>Wed, 03 Feb 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-02-03-sizing-vms-and-numa-nodes/</guid><description>&lt;p&gt;&lt;strong&gt;Note: This article describes NUMA scheduling on ESX 3.5 and ESX 4.0 platform, vSphere 4.1 introduced wide NUMA nodes, information about this can be found in my new article: &lt;a href="https://frankdenneman.ai/2010/09/esx-4-1-numa-scheduling/"&gt;ESX4.1 NUMA scheduling&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With the introduction of vSphere, VM configurations with 8 CPUs and 255 GB of memory are possible. While I haven’t seen that much VM’s with more than 32GB, I receive a lot of questions about 8-way virtual machines. With today’s CPU architecture, VMs with more than 4 vCPUs can experience a decrease in memory performance when used on NUMA enabled systems. While the actually % of performance decrease depends on the workload, avoiding performance decrease must always be on the agenda of any administrator.&lt;/p&gt;</description></item><item><title>Top 25 Virtualization Bloggers</title><link>https://frankdenneman.ai/2010-01-21-top-25-virtualization-bloggers/</link><pubDate>Thu, 21 Jan 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-01-21-top-25-virtualization-bloggers/</guid><description>&lt;p&gt;This week Eric Siebert processed all the votes and published this year’s Top 25 VMware/Virtualization Blogger list. Over 700 people voted, each casting 10 votes. I can only imagine the work involved that is put in to producing this list, so a big thank you goes out to Eric for voluntary organizing this! Awesome! This year a lot of new names entered the top 25 including my blog. I never ever expected to see my name published in the top 25. I’m truly honored to make it to the list, let alone be voted number #14 so I would like to thank everyone for voting for me! I really appreciate it! Congratulations to all other people mentioned in the list and I would like to congratulate Duncan Epping specifically for taking the number 1 place again this year. The top 25 as published by Eric Siebert on vSphere-land:&lt;/p&gt;</description></item><item><title>Voting closes at Friday!</title><link>https://frankdenneman.ai/2010-01-11-get-your-votes-in-while-it-can-voting-closes-at-friday/</link><pubDate>Mon, 11 Jan 2010 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2010-01-11-get-your-votes-in-while-it-can-voting-closes-at-friday/</guid><description>&lt;p&gt;Eric Siebert of &lt;a href="http://vsphere-land.com"&gt;vsphere-land.com&lt;/a&gt; started a new election of the best 20 bloggers in the VMware and Virtualization scene. Because even more top blogs got started in 2009, Eric decided to expand the top 20 to the top 25. To my suprise, Eric decided to nominate my blog as well. I’m really honored to be a nominee amongst the best virtualization bloggers out there. Unfortunately the list Eric is longer that the 10 votes one can cast, so good luck picking the ones who stand out above the excellent crowd. This is my top 10 blogs; Duncan Epping Chad Sakac Kenneth van Ditmarsch Alan Renouf Scott Lowe Scott Drummonds Hypervizor (Hany Michael) Arnim van Lieshout Arne Fokkema Gabe Virtual world. Go vote now before it&amp;rsquo;s too late! &lt;a href="http://vsphere-land.com/news/time-to-vote-for-your-favorite-bloggers.html"&gt;http://vsphere-land.com/news/time-to-vote-for-your-favorite-bloggers.html&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Joining VMware</title><link>https://frankdenneman.ai/2009-12-30-joining-vmware/</link><pubDate>Wed, 30 Dec 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-12-30-joining-vmware/</guid><description>&lt;p&gt;The year 2009 has been an interesting year. After leaving a long-term position, I participated in some really awesome projects, got to fiddle around with the cutting edge technology and got to work with some really excellent and inspiring people. Begin August I got an e-mail from Duncan Epping If I would like to do some contractors work for VMware. As you can imagine, it didn’t take me long to respond with a Font size 72 YES. (Do you know you can make text blink in word?) After completing a few project VMware offered me a permanent job, being a contractor for 9 years made the decision a bit tougher, but getting such a job offer is something you can hardly refuse. Working with the best of the business, being able to access internal information and getting exposed to all the new stuff VMware is creating is just plain awesome. So on the 4th of January I will be joining VMware as the new Senior PSO Consultant.&lt;/p&gt;</description></item><item><title>Wrap-up 2009</title><link>https://frankdenneman.ai/2009-12-30-wrap-up-2009/</link><pubDate>Wed, 30 Dec 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-12-30-wrap-up-2009/</guid><description>&lt;p&gt;&lt;a href="http://vmlover.blogspot.com/2009/12/goodbye-2009hello-2010.html"&gt;Daniel Easons&lt;/a&gt; blog post inspired me to write a wrap-up of 2009 myself. Beside the career move described in the previous post, 2009 was a year of finding two new addictions. Blogging and twitter(@frankdenneman). Beginning of February I started blogging and the first article was received pretty well. The article got mentioned on &lt;a href="http://www.yellow-bricks.com/2009-03-09-increasing-the-queue-depth/"&gt;Yellow Bricks&lt;/a&gt; the same day. Now 10 months later, more than 37.000 people visited the site. It cannot hold a candle to the great blogs out there, but it’s nice start. Some of my articles appeared in a few &lt;a href="http://blogs.vmware.com/vmtn/"&gt;Top 5 Planetv12n&lt;/a&gt; lists, got mentioned on &lt;a href="http://www.yellow-bricks.com"&gt;Yellow Bricks&lt;/a&gt; and were featured in &lt;a href="http://blog.scottlowe.org/2009-12-22-virtualization-short-take-32/"&gt;Scott Lowe’s virtualization short takes&lt;/a&gt;. Trying to create in-depth articles is an excellent way to learn stuff. Most of the time describing a certain subject somehow challenged my current knowledge of that topic and ended up spending ridiculous amounts of time researching that particular subject. More often than not coming across very interesting material not really related to the subject but similarly interesting, consuming even more time. Some articles are more popular than others; these are the top five visited articles this year; 1. &lt;a href="https://frankdenneman.ai/?p=101"&gt;Increasing the queue depth&lt;/a&gt; 2. &lt;a href="https://frankdenneman.ai/?p=280"&gt;Lefthand SAN – Lessons learned&lt;/a&gt; 3. &lt;a href="https://frankdenneman.ai/?p=133"&gt;HP Continuous Access and the use of LUN balancing scripts&lt;/a&gt; 4. &lt;a href="https://frankdenneman.ai/?p=344"&gt;Impact of memory reservations&lt;/a&gt; 5. &lt;a href="https://frankdenneman.ai/?p=324"&gt;NFS and IP-HASH Load-Balancing&lt;/a&gt; Lately I’m running into a few limitations of the free wordpress blog themes, that’s why I’ve decided to move to another site, stay tuned for the URL. I’m aiming to release the new site at the beginning of next year.&lt;/p&gt;</description></item><item><title>vSphere 4.0 Quick Start Guide review</title><link>https://frankdenneman.ai/2009-12-24-vsphere-4-0-quick-start-guide-review/</link><pubDate>Thu, 24 Dec 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-12-24-vsphere-4-0-quick-start-guide-review/</guid><description>&lt;blockquote&gt;
&lt;p&gt;un•put•down•a•ble &lt;em&gt;Pronunciation: (un&amp;quot;poot-dou&amp;rsquo;nu-bul), [key] —adj. Informal.&lt;/em&gt; Adjective meaning consistently and irresistibly interesting. Typically refers to a book that is so well written and entertaining as to be difficult to (literally) put down and pause away from.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Normally a term used to describe novels, but the vSphere Quick Start Guide certainly fits the definition. Last month I was finishing three major projects and needed to write my VCDX application in one week, but somehow it kept ending up in my hands. So what’s so special about this book and how does it distinguish itself from the competition? The book central theme is providing tips and ‘how to’s’ and it does this rather well. The book handles the traditional subjects, such like vCenter, Host, Virtual Machines, Networking and Storage. Besides the concise, easy to follow and non-ambiguous way the tips are written, I really like the minimal use of screenshots. This allowed using the (limited) space to contain as much content as possible. Besides describing how to change settings via the Service Console CLI and the GUI, most tips also list PowerCLI and RemoteCLI example scripts. Incorporating PowerCLI scripts allows this book to be of value to the more experienced administrator who is using PowerCLI or RemoteCLI to manage its environment. The examples certainly increased my interest of picking up PowerCLI. But what really makes this book shine is the short in-depth text accompanying most of the tips and how to’s. The text contains valuable information on how certain mechanism works, what impact changing a setting can have and field experience of using certain settings. Added bonus is addressing the possibility of using third-party tools such as Dell expart, EMC powerpath VE, vwire and many others, confirming that this book is written by authors with true field experience. I really recommend this book to anyone who is using VMware ESX. It doesn’t matter if you are a novice administrator or a seasoned consulting architect, you WILL learn something new by reading this book. During the ESX 2.5 era, anyone who was serious about his job owned the Advanced Technical Design Guide, in the current vSphere era it’s clear that this book must be on your desk.&lt;/p&gt;</description></item><item><title>VMware updates Timekeeping best practices</title><link>https://frankdenneman.ai/2009-12-22-vmware-updates-timekeeping-best-practices-for-windows-vms/</link><pubDate>Tue, 22 Dec 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-12-22-vmware-updates-timekeeping-best-practices-for-windows-vms/</guid><description>&lt;p&gt;A couple of weeks ago I &lt;a href="http://frankdenneman.wordpress.com/2009-09-18-timekeeping-best-practices-for-linux/"&gt;discovered&lt;/a&gt; that VMware updated its timekeeping best practices for Linux virtual machines. December 7th VMware published a new best practice of timekeeping in Windows VMs. &lt;a href="http://kb.vmware.com/kb/1318"&gt;(KB1318)&lt;/a&gt; VMware now recommends to use either W32Time or NTP for all virtual machines. This a welcome statement from VMware ending the age old question while designing a Virtual Infrastructure; Do we use VMware tools time sync or do we use W32time? If we use VMware tools, how do we configure the Active Directory controller VMs? VMware Tools can still be used and still function well enough for most non time sensitive application. VMware tools time sync is excellent in accelerating and catching up time if the time that is visible to virtual machines (called apparent time) is going slowly, but W32time and NTP can do one thing that VMware tools time sync can’t, that’s slowing down time. Page 15 of the (older) white paper: Timekeeping in VMware Virtual Machines &lt;a href="http://www.vmware.com/pdf/vmware_timekeeping.pdf"&gt;http://www.vmware.com/pdf/vmware_timekeeping.pdf&lt;/a&gt; explains the issue.&lt;/p&gt;</description></item><item><title>ESX 4i support Jumbo Frames</title><link>https://frankdenneman.ai/2009-12-19-esx-4i-support-jumbo-frames/</link><pubDate>Sat, 19 Dec 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-12-19-esx-4i-support-jumbo-frames/</guid><description>&lt;p&gt;Last week I blogged about jumbo frames being unsupported in ESX 4i. Yesterday Charu Chaubal, Sr. Technical Marketing Architect at VMware blogged the following;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I am happy to say that this is merely an error in the documentation. In fact, ESXi 4.0 DOES support Jumbo Frames on VMkernel networking interfaces. The correction will hopefully appear in a new release of the documentation, but in the meantime, go ahead and configure Jumbo frames for your ESXi 4.0 hosts.&lt;/p&gt;</description></item><item><title>Timesavers for VCDX application</title><link>https://frankdenneman.ai/2009-12-16-timesavers-for-vcdx-application/</link><pubDate>Wed, 16 Dec 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-12-16-timesavers-for-vcdx-application/</guid><description>&lt;p&gt;Last week VMware send out the invitations for the VCDX defend session at the Partner Exchange Las Vegas 2010. Like many others I’m trying to finish my application on time. So any help, shortcut and timesavers will help realize the goal. At this moment these tools and shortcuts save me lots of time: &lt;strong&gt;Puretext&lt;/strong&gt; Steve miller created a simple but awesome tool. Puretext will strip any formatting while pasting text. This IS the lifesaver for me at the moment, because I’m copying text from older documents with different Fonttype and size. Run the small exe file and start loving the windows key + v command. &lt;a href="http://www.stevemiller.net/puretext/"&gt;http://www.stevemiller.net/puretext/&lt;/a&gt; &lt;strong&gt;Visio shapes&lt;/strong&gt; Besides using graphics from the official VMware Branding Team, I also use visio shapes from the Xtravirt Presentation Pack 2.1. (needs registration) &lt;a href="http://viops.vmware.com/home/servlet/JiveServlet/download/1514-2-5957/VMware-Stencil1-vSphere.zip"&gt;http://viops.vmware.com/home/servlet/JiveServlet/download/1514-2-5957/VMware-Stencil1-vSphere.zip&lt;/a&gt; &lt;a href="http://viops.vmware.com/home/servlet/JiveServlet/download/1514-2-5966/VMware-Stencil2-vSphere.zip"&gt;http://viops.vmware.com/home/servlet/JiveServlet/download/1514-2-5966/VMware-Stencil2-vSphere.zip&lt;/a&gt;h &lt;a href="http://xtravirt.com/presentation-pack"&gt;http://xtravirt.com/presentation-pack&lt;/a&gt; Visiocafe will offer some really sweet vendor shapes, this will make your presentation look even more impressive :) &lt;a href="http://www.visiocafe.com/vsdfx.htm"&gt;http://www.visiocafe.com/vsdfx.htm&lt;/a&gt; &lt;strong&gt;Visio shortcuts:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Impact of mismatch Guest OS type</title><link>https://frankdenneman.ai/2009-12-15-impact-of-mismatch-guest-os-type/</link><pubDate>Tue, 15 Dec 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-12-15-impact-of-mismatch-guest-os-type/</guid><description>&lt;p&gt;During Healthchecks I frequently encounter virtual machines configured with the incorrect Guest OS type specified. Incorrect configuration of Guest OS of the virtual machine can lead to; • Reduction of performance • Different default type for the SCSI device * • Different defaults of devices • Wrong VMware Tools presented to the Guest OS resulting in failure to install • Inability to select virtual hardware such as enhanced vmxnet, vmxnet3 or number of vCPUs. • Inability to activate features such as CPU and Memory Hot Add. • Inability to activate Fault Tolerance. • VM burning up 100% of CPU when idling (rare occasions) Buslogic SCSI Device * Due to mismatch of Guest OS Type, windows 2000 and Windows 2003 can be configured with a Buslogic SCSI device. Using the Buslogic virtual adapter with Windows 2000 and 2003 will limit the effective IO queue depth of one. This limits disk throughput severely and lead to serious performance degradation. For more information visit KB article [1614](&lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&amp;amp;docType=kc&amp;amp;externalId=1614&amp;amp;sliceId=1&amp;amp;docTypeID=DT_KB_1_1&amp;amp;dialogID=53698934&amp;amp;stateId=0"&gt;http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&amp;amp;docType=kc&amp;amp;externalId=1614&amp;amp;sliceId=1&amp;amp;docTypeID=DT_KB_1_1&amp;amp;dialogID=53698934&amp;amp;stateId=0&lt;/a&gt; 0 53706353) Virtual Machine Monitor and execution mode Selecting the wrong Guest OS type can be of influence of the selected execution mode. When a virtual machine is powering on, the VMM inspects the physical CPU’s features and the guest operating system type to determine the set of possible execution modes. This can have a slight impact on performance and in some extreme cases application crashes or BSODs. VMware published a Must-Read whitepaper about the VMM and execution modes &lt;a href="http://www.vmware.com/files/pdf/software_hardware_tech_x86_virt.pdf"&gt;http://www.vmware.com/files/pdf/software_hardware_tech_x86_virt.pdf&lt;/a&gt; How to solve the mismatch? vCenter only displays the configured Guest OS of the Virtual Machine, it will not check the installed operating system inside the virtual machine. Powercli offers the solution to this problem, today more and more people start to discover the beauty of Powercli and incorporate this in their day-to-day activities. So I’ve asked PowerCLI guru &lt;a href="http://www.virtu-al.net/"&gt;Alan Renouf&lt;/a&gt; if he could write a PowerCLI script which can detect the Guest OS mismatch.&lt;/p&gt;</description></item><item><title>Impact of memory reservation</title><link>https://frankdenneman.ai/2009-12-08-impact-of-memory-reservation/</link><pubDate>Tue, 08 Dec 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-12-08-impact-of-memory-reservation/</guid><description>&lt;p&gt;I have a customer who wants to set memory reservation on a large scale. Instead of using resource pools they were thinking of setting reservations on VM level to get a guaranteed performance level for every VM. Due to memory management on different levels, using such a setting will not get the expected results. Setting aside the question if it’s smart to use memory reservation on ALL VM’s, it raises the question what kind of impact setting memory reservation has on the virtual infrastructure, how ESX memory management handles memory reservation and even more important; how a proper memory reservation can be set. &lt;strong&gt;Key elements of the memory system&lt;/strong&gt; Before looking at reservations, let’s take a look what elements are involved. There are three memory layers in the virtual infrastructure: • Guest OS virtual memory - Virtual Page Number (VPN) • Guest OS physical memory - Physical Page Number (PPN) • ESX machine memory - Machine Page Number (MPN) The OS inside the guest maps virtual memory ( VPN) to physical memory(PPN). The Virtual Machine Monitor (VMM) maps the PPN to machine memory (MPN). The focus of this article is on mapping physical page numbers (PPN) to Machine Page Number (MPN). &lt;img src="images/memoryaddressspace.png" alt="" title="memoryaddressspace"&gt; &lt;strong&gt;Impact of memory management on the VM&lt;/strong&gt; Memory reservations guarantee that physical memory pages are backed by machine memory pages all the time, whether the ESX server is under memory pressure or not. Opposite of memory reservations are limits. When a limit is configured, the memory between the limit and the configured memory will never be backed by machine memory; it could either be reclaimed by the balloon driver or swapped even if enough free memory is available in the ESX sever. Next to reservations and limits, shares play an important factor in memory management of the VM. Unlike memory reservation, shares are only of interest when contention occurs. &lt;img src="images/memory.png" alt="" title="memory"&gt; The availability of memory between memory reservation and configured memory depends on the entitled shares compared to the total shares allocated to all the VMs on the ESX server. This means that the virtual machine with the most shares can have its memory backed by physical pages. For the sake of simplicity, the vast subject of resource allocation based on the proportional share system will not be addressed in this article. One might choose to set the memory reservation equal to the configured memory, this will guarantee the VM the best performance all of the time. But using this “policy” will have its impact on the environment. &lt;strong&gt;Admission Control&lt;/strong&gt; Configuring memory reservation has impact on admission control . There are three levels of admission control; • Host • High Availability • Distributed Resource Scheduler &lt;strong&gt;Host level&lt;/strong&gt; When a VM is powered on, admission control checks the amount of available unreserved CPU and memory resources. If ESX cannot guarantee the memory reservation and the memory overhead of the VM, the VM is not powered on. VM memory overhead is based on Guest OS, amount of CPUs and configured memory, for more information about memory overhead review the Resource management guide. &lt;strong&gt;HA and DRS&lt;/strong&gt; Admission control also exist at HA and DRS level. HA admission control uses the configured memory reservation as a part of the calculation of the cluster slot size.The amount of slots available equals the amount of VM’s that can run inside the cluster. To find out more about slot sizes, read the &lt;a href="http://www.yellow-bricks.com/vmware-high-availability-deepdiv/"&gt;HA deepdive&lt;/a&gt; article of Duncan Epping. DRS admission control ignores memory reservation, but uses the configured memory of the VM for its calculations. To learn more about DRS and its algorithms read the &lt;a href="http://www.yellow-bricks.com/drs-deepdive/"&gt;DRS deepdive&lt;/a&gt; article at yellow-bricks.com &lt;strong&gt;Virtual Machine Swapfile&lt;/strong&gt; Configuring memory reservation will have impact on the size of the VM swapfile; the swapfile is (usually) stored in the home directory of the VM. The virtual machine swapfile is created when the VM starts. The size of the swapfile is calculated as follows:&lt;/p&gt;</description></item><item><title>NFS and IP-HASH loadbalancing</title><link>https://frankdenneman.ai/2009-11-13-nfs-and-ip-hash-loadbalancing/</link><pubDate>Fri, 13 Nov 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-11-13-nfs-and-ip-hash-loadbalancing/</guid><description>&lt;p&gt;My background is Fibre Channel and beginning 2009 I implemented a large iSCSI environment. The “other” storage protocol supported by VMware, NFS, is rather unknown to me. And to be honest I really tried to keep away from it as much as possible, thinking it was not a proper enterprise worthy solution. That changed this month as I was asked to perform a design review of an environment which relies completely of NFS storage. This customer decided to use IP-Hash as load-balancing policy for their NFS vSwitch, but what Impact does this have on the NFS environment?&lt;/p&gt;</description></item><item><title>Upgrading to SRM 4 and SSL certificates</title><link>https://frankdenneman.ai/2009-11-08-impact-on-ssl-certificates-when-upgrading-srm-1-to-srm-4/</link><pubDate>Sun, 08 Nov 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-11-08-impact-on-ssl-certificates-when-upgrading-srm-1-to-srm-4/</guid><description>&lt;p&gt;Recently I started to work on a project implementing SRM 4. One of the project requirements is to use SSL certificates issued by a trusted CA.  When upgrading to SRM 4, we ran into a small problem. Because of a change in the vCenter authentication protocol, a new certificate that complies with the new certificate content rules must be obtained. The requirements changed of the “Subject Alternative Name”, the SSL certificate issued for SRM 1 environments use the FQDN of the vCenter server host. In SRM 4 environments, the Subject Alternative Name field must contain the FQDN of the SRM server. This value will be different for each member of the SRM server pair. We installed the SRM server on a separate server, but If you have installed SRM on the vCenter server, then you do not need to acquire a new certificate.&lt;/p&gt;</description></item><item><title>Lefthand SAN – Lessons learned</title><link>https://frankdenneman.ai/2009-10-11-lefthand-san-lessons-learned/</link><pubDate>Sun, 11 Oct 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-10-11-lefthand-san-lessons-learned/</guid><description>&lt;p&gt;&lt;strong&gt;Disclaimer: This article contains references to the words master and slave. I recognize these as exclusionary words. The words are used in this article for consistency because it&amp;rsquo;s currently the words that appear in the software, in the UI, and in the log files. When the software is updated to remove the words, this article will be updated to be in alignment.&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;Please note that this article has been written in 2009. I do not know if Lefthand changed their solution. Please check with your HP representative for updates!&lt;/p&gt;
&lt;p&gt;I recently had the opportunity to deliver a virtual infrastructure that uses HP Lefthand SAN solution.  Setting up a Lefthand SAN is not that difficult, but there are some factors to take into consideration when planning and designing a Lefthand SAN properly. These are my lessons learned.&lt;/p&gt;</description></item><item><title>Timekeeping best practices for Linux</title><link>https://frankdenneman.ai/2009-09-18-timekeeping-best-practices-for-linux/</link><pubDate>Fri, 18 Sep 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-09-18-timekeeping-best-practices-for-linux/</guid><description>&lt;p&gt;VMware KB article 1006427 presents best practices for Linux timekeeping. These recommendations include specifics on the particular kernel command line options to use for the Linux operating system of interest. There is also a description of the recommended settings and usage for NTP time sync, configuration of VMware Tools time synchronization, and Virtual Hardware Clock configuration, to achieve best timekeeping results. What surprised me is the recommendation done by VMware; “&lt;em&gt;Note: In all cases use NTP instead of VMware Tools periodic time synchronization&lt;/em&gt;” &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1006427"&gt;http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1006427&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Deploying Volumes with Lefthand (CLIQ)</title><link>https://frankdenneman.ai/2009-08-25-deploying-volumes-with-command-line-interface-lefthand-cliq/</link><pubDate>Tue, 25 Aug 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-08-25-deploying-volumes-with-command-line-interface-lefthand-cliq/</guid><description>&lt;p&gt;Due to my extreme busy schedule I haven’t blogged for a while. Besides studying for VCDX and preparing for VMworld I’m also involved in a couple of projects. One project is designing and implementing a vSphere 4 virtual infrastructure. The VI will host an Exchange 2010 environment. Due to the size of my client’s environment, 192 TB is used for hosting mailboxes. These datastores will be available thru RDM, which means creating 192 1-TB volumes and assigning them to every ESX host in the cluster. I’ve tried to use the Centralized Management Console, but it’s tedious and error prone work. Mind numbing repetitive exercises makes me ask really dumb questions on twitter such as where did SCSI id 7 go? &lt;homer&gt;D’oh!&lt;/homer&gt;. So to protect myself from further bashing and being ridiculed I started to search for the Lefthand CLI to be able to automate the creation and assignment of volumes on a Lefthand SAN.&lt;/p&gt;</description></item><item><title>Deploying Volumes with Lefthand CLIQ</title><link>https://frankdenneman.ai/2009-08-25-deploying-volumes-with-command-line-interface-lefthand-cliq-2/</link><pubDate>Tue, 25 Aug 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-08-25-deploying-volumes-with-command-line-interface-lefthand-cliq-2/</guid><description>&lt;p&gt;Due to my extreme busy schedule I haven’t blogged for a while. Besides studying for VCDX and preparing for VMworld I’m also involved in a couple of projects. One project is designing and implementing a vSphere 4 virtual infrastructure. The VI will host an Exchange 2010 environment. Due to the size of my client’s environment, 192 TB is used for hosting mailboxes. These datastores will be available thru RDM, which means creating 192 1-TB volumes and assigning them to every ESX host in the cluster. I’ve tried to use the Centralized Management Console, but it’s tedious and error prone work. Mind numbing repetitive exercises makes me ask really dumb questions on twitter such as where did SCSI id 7 go? &lt;homer&gt;D’oh!&lt;/homer&gt;. So to protect myself from further bashing and being ridiculed I started to search for the Lefthand CLI to be able to automate the creation and assignment of volumes on a Lefthand SAN.&lt;/p&gt;</description></item><item><title>VMworld 2009 sessions</title><link>https://frankdenneman.ai/2009-07-25-vmworld-2009-sessions/</link><pubDate>Sat, 25 Jul 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-07-25-vmworld-2009-sessions/</guid><description>&lt;p&gt;After skipping both VMworld events in 2008 I&amp;rsquo;m attending the VMworld event in San Francisco. This is the first event after VMware released vSphere and I hope to see much in-depth information about the OS and it&amp;rsquo;s new features.  &lt;a href="//www.yellow-bricks.com/2009-07-19-vmworld-just-be-there/"&gt;Duncan Epping&lt;/a&gt;  and &lt;a href="http://www.ntpro.nl/blog/archives/1205-VMware-will-discontinue-the-classic-Service-Console.html"&gt;Eric Sloof&lt;/a&gt;  posted info about interesting sessions, so I started browsing the &lt;a href="https://vmworld2009.wingateweb.com/scheduler/catalog/catalog.jsp"&gt;session catalog&lt;/a&gt; as well. The following sessions seems to be very interesting;&lt;/p&gt;</description></item><item><title>Flex10 update</title><link>https://frankdenneman.ai/2009-07-08-flex10-update/</link><pubDate>Wed, 08 Jul 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-07-08-flex10-update/</guid><description>&lt;p&gt;In my first post I had a question about the path data travels when sent to a “standby” virtual connect module. To quote my own question :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“What will happen if the VMkernel decides to use that nic to send IO? Is the Flexnic aware of the standby status of it “native” uplink? Will it send data to the uplink of the VC module it’s connected to or will it send data to the active uplink? How is this done? Will it send the IO through the midplane or CX-4 cable to the VC module with the active uplink? And if this occurs what will be the added latency of this behavior? HP describes the standby status as blocked, what does this mean? Will virtual connect discard IO send to the standby IO, will it not accept IO and how will it indicate this?”&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Windows 2008 disk alignment</title><link>https://frankdenneman.ai/2009-05-20-windows-2008-disk-alignment/</link><pubDate>Wed, 20 May 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-05-20-windows-2008-disk-alignment/</guid><description>&lt;p&gt;Due to many performance studies about disk performance it is well known that disk alignment for both VMFS partitions and NTFS file systems improve IO performance such as reduced latency and increased throughput. Alignment of VMFS partitions are done when configuring storage via the VI client but aligning NTFS partitions in Windows system prior to Windows 2008 is a manual task. Windows Server 2008 use a partition starting offset of 1,048,576 bytes (1,024 KB) for disk larger than 4GB. This provides a well enough alignment for most disks. According to the official documentation, windows 2008 uses a different partition starting offset for disks smaller than 4GB. Or as MS states in the document &lt;a href="http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Perf-tun-srv.docx"&gt;Performance Tuning Guidelines for Windows Server 2008&lt;/a&gt; &lt;em&gt;“Note that Windows Server 2008 defaults to a smaller power-of-two offset for small drives.”&lt;/em&gt; But which starting offset does W2K8 exactly use for smaller disks?&lt;/p&gt;</description></item><item><title>Flex-10 lessons learned</title><link>https://frankdenneman.ai/2009-04-26-flex-10-lessons-learned/</link><pubDate>Sun, 26 Apr 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-04-26-flex-10-lessons-learned/</guid><description>&lt;p&gt;One of my clients bought a couple of HP blade c7000 enclosures recently. Including the new dual port Flex-10 mezzanine cards (nc532m) and Flex-10 Virtual Connect modules. Due to the fact that this technology is quite new, not much inside-info is found on the web. I’ve had lots of discussions with Ken Cline and Scott Lowe, which will publish an Flex-10 article by it’s own pretty soon. This write-up is a quick overview of lessons learned by me but even more a call for answers.&lt;/p&gt;</description></item><item><title>VMFS Volume Management document</title><link>https://frankdenneman.ai/2009-03-27-vmfs-volume-management-document/</link><pubDate>Fri, 27 Mar 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-03-27-vmfs-volume-management-document/</guid><description>&lt;p&gt;VMware published an excellent document about VMFS volume management a few days ago. &lt;a href="http://www.vmware.com/files/pdf/vmfs_resig.pdf"&gt;VMware® VMFS Volume Management information guide&lt;/a&gt; The guide explains the VMFS volume header metadata mechanism and describes the new 3.5 setting SCSI.CompareLUNNumber. A must read if you use third-party storage snapshot and replication technology.&lt;/p&gt;</description></item><item><title>My first lefthand ISCSI VI architecture</title><link>https://frankdenneman.ai/2009-03-23-my-first-lefthand-iscsi-vi-architecture/</link><pubDate>Mon, 23 Mar 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-03-23-my-first-lefthand-iscsi-vi-architecture/</guid><description>&lt;p&gt;I’m currently reviewing a design of a new virtual infrastructure. The VI uses multiple 10GB links to connect to a very large HP Lefthand san. I’m more a Fibre Channel guy, but I believe that this solution will smoke most mid-range FC-sans. I cannot wait to deploy the VI on the SAN. But I need to get used to some differences between ISCSI and fibre channel configurations.&lt;/p&gt;</description></item><item><title>Increasing the queue depth?</title><link>https://frankdenneman.ai/2009-03-04-increasing-the-queue-depth/</link><pubDate>Wed, 04 Mar 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-03-04-increasing-the-queue-depth/</guid><description>&lt;p&gt;When it comes to IO performance in the virtual infrastructure one of the most recommended “tweaks” is changing the Queue Depth &lt;em&gt;(QD)&lt;/em&gt;. But most forget that the QD parameter is just a small part of the IO path. The IO path exists of layers of hardware and software components, each of these components can have a huge impact on the IO performance. The best results are achieved when the whole system is analysed and not just the ESX host alone.   To be honest I believe that most environments will profit more from a balanced storage design than adjusting the default values. But if the workload is balanced between the storage controllers and IO queuing still occurs, adjusting some parameters might increase IO performance. Merely increasing the parameters can cause high latency up to the point of major slowdowns. Some factors need to be taking in consideration.   &lt;strong&gt;LUN queue depth&lt;/strong&gt; The LUN queue depth determines how many commands the HBA is willing to accept and process &lt;strong&gt;per LUN&lt;/strong&gt;, if a single virtual machine is issuing IO, the QD setting applies but when multiple VM’s are simultaneously issuing IO’s to the LUN, the &lt;em&gt;Disk.SchedNumReqOutstanding&lt;/em&gt; (DSNRO) value becomes the leading parameter.   Increasing the QD value without changing the Disk.SchedNumReqOutstanding setting will only be beneficial when one VM is issuing commands. It is considered best practise to use the same value for the QD and DSNRO parameters! Read Duncan&amp;rsquo;s excellent &lt;a href="http://www.yellow-bricks.com/2008-07-21-queuedepth-and-whats-next/"&gt;article&lt;/a&gt; about the DSNRO setting.   &lt;strong&gt;Qlogic Execution Throttle&lt;/strong&gt; Qlogic has a firmware setting called „Execution Throttle&amp;quot; which specifies the maximum number of simultaneous commands the adapter will send. The default value is 16, increasing the value above 64 has little to no effect, because the maximum parallel execution of SCSI operations is 64. (Page 170 of &lt;a href="http://www.vmware.com/pdf/vi3_san_design_deploy.pdf"&gt;ESX 3.5 VMware SAN System Design and Deployment Guide&lt;/a&gt;)   If the QD is increased, execution throttle and the DSNRO must be set with similar values, but to calculate the proper QD the fan-in ratio of the storage port needs to be calculated.   &lt;strong&gt;Target Port Queue Depth&lt;/strong&gt; A queue exist on the storage array controller port as well, this is called the &amp;ldquo;&lt;em&gt;Target Port Queue Depth&lt;/em&gt;&amp;rdquo;. Modern midrange storage arrays, like most EMC- and HP arrays can handle around 2048 outstanding IO’s. 2048 IO’s sounds a lot, but most of the time multiple servers communicate with the storage controller at the same time. Because a port can only service one request at a time, additional requests are placed in queue and when the storage controller port receives more than 2048 IO requests, the queue gets flooded. When the queue depth is reached, this status is called &lt;em&gt;(QFULL)&lt;/em&gt;, the storage controller issues an IO throttling command to the host to suspend further requests until space in the queue becomes available. The ESX host accepts the IO throttling command and decreases the LUN queue depth to the minimum value, which is 1!   The VMkernel will check every 2 seconds to check if the QFULL condition is resolved. If it is resolved, the VMkernel will slowly increase the LUN queue depth to its normal value, usually this can take up to 60 seconds.   &lt;strong&gt;Calculating the queue depth\Execution Throttle value&lt;/strong&gt; To prevent flooding the target port queue depth, the result of the combination of number of host paths + execution throttle value + number of presented LUNs through the host port must be less than the target port queue depth. In short &lt;em&gt;T =&amp;gt; P * q * L&lt;/em&gt; &lt;em&gt;T = Target Port Queue Depth P = Paths connected to the target port Q = Queue depth L = number of LUN presented to the host through this port&lt;/em&gt; &lt;img src="images/Calc-QD-1-235x300.png" alt="Location of TPQL" title="Calc QD-1"&gt; Despite having four paths to the LUN, ESX can only utilize one (active) path for sending IO. As a result, when calculating the appropriate queue depth, you use only the active path for &lt;em&gt;&amp;ldquo;Paths connected to the target port (P)&amp;rdquo;&lt;/em&gt; in the calculation, i.e. &lt;em&gt;P=1&lt;/em&gt;. But in a virtual infrastructure environment, multiple ESX hosts communicate with the storage port, therefore the QD should be calculated by the following formula:   &lt;em&gt;T =&amp;gt; ESX Host 1 (P * Q * L) + ESX Host 2 (P * Q * L) &amp;hellip;.. + ESX Host n (P * Q * L)&lt;/em&gt;   For example an 8 ESX host cluster connects to 15 LUNS (L) presented by an EVA8000 (4 target ports)* An ESX server issues IO through one active path (P), so P=1 and L=15.   The execution throttle\queue depth can be set to 136,5=&amp;gt; T=2048 (1 * Q * 15) = 136,5 But using this setting one ESX host can fill the entire target port queue depth by itself, but the environment exists of 8 ESX hosts. 136,5/ 8 = 17,06   In this situation all the ESX Host communicate to all the LUNs through one port. Which does not happen in many situations if a proper load-balancing design is applied. Most arrays have two controllers and every controller has at least two ports. In the case of a controller failure, at least two ports are available to accept IO requests.   It is possible to calculate the queue depth conservatively to ensure a minimum decrease of performance when losing a controller during a failure, but this will lead to underutilizing the storage array during normal operation, which will hopefully be 99,999% of the time. It is better to calculate a value which utlilize the array properly without flooding the target port queue.   If you assume that multiple ports are available and that all LUNs are balanced across the available ports on the controllers, it will effectively quadruple the target port queue depth and therefore increase the values of the execution throttle in the example above to 68. Besides the fact that you cannot increase this value above 64, it is wise to decrease the value to a number below max value, it will create a buffer for safety  &lt;strong&gt;What’s the Best Setting for Queue Depth?&lt;/strong&gt; The examples mentioned are pure worst case scenario stuff, most of the time it is highly unlikely that all hosts perform at their maximum level at any one time. Changing the defaults can improve throughput, but most of the time it is just a shot in the dark. Although you are configuring your ESX hosts with the same values, not every load on the ESX server is the same. Every environment is different and so the optimal queue depths would differ. One needs to test and analyse its environment. Please do not increase the QD without analysing the environment; this can be more harmful than useful. Get notification of these blogs postings and more DRS and Storage DRS information by following me on Twitter: &lt;a href="https://twitter.com/FrankDenneman"&gt;@frankdenneman&lt;/a&gt;&lt;/p&gt;</description></item><item><title>HP CA and the use of LUN balancing scripts</title><link>https://frankdenneman.ai/2009-02-09-hp-continuous-access-and-the-use-of-lun-balancing-scripts/</link><pubDate>Mon, 09 Feb 2009 00:00:00 +0000</pubDate><guid>https://frankdenneman.ai/2009-02-09-hp-continuous-access-and-the-use-of-lun-balancing-scripts/</guid><description>&lt;p&gt;Some of my customers use HP Continuous Access to replicate VM data between storage arrays. Lately a couple of LUN balancing powershell- and Perl scripts were introduced in the VMware community. First of all, there is nothing wrong with those scripts. For example, Justin Emerson wrote an excellent script that balances the active paths to an active/active SAN. But using an auto balance scripts when Continuous Access is used in the Virtual Infrastructure can result in added IO latency and unnecessary storage processor load. Here’s why:&lt;/p&gt;</description></item></channel></rss>