VCP related studies - Memory in VMWARE reservations, limits and memory overcommit.
--------------- VCP Rant -------------------------------
I might have to rename this blog to VCPRants soon enough :) I am busy chasing my VCP or VMWare certified Professional,
Cisco Guys, let me tell you that your highly likely to run into Vmware sooner than you think. The new UC on UCS stratergy from cisco means that all unified communications products will soon be running under VMWare.
With this in mind, I wanted to make sure I understood VMWare very well, so I can do the best possible job with the next generation UC.
This blog article will be the first in a series on VMWare, these blog posts do assume you at least have some rudimental knowledge on what virtual machines are and a reasonable understanding of what ESX is
----------------------------- End Rant -----------------
Now onto business, this blog article is going to talk about Memory in VMWare.
ESX/ESXi is the only commercially available hypervisor that I am aware of (please leave a comment if you know otherwise!) that supports memory overcommit, or the act of provisioning more memory for virtual machines than a host actually has.
Lets take a quick example, I have an ESX Host, HostMachine, this HostMachine has 4 gig of ram, if i want to create four virtual machines, each assigned 1 gig of ram, without memory overcommit, i could only provision 4 virtual machines (in reality, it would be slightly less than 4 gig of ram available to my virtual machines because of ESX overheads but lets ignore that for a minute.)
With memory overcommit, vmware allows you to overcommit memory, so in our example above , we could create 8 hosts, each with 1 gig of memory assigned and run all 8 of them at the same time. ESX looks after memory usage using three key technologies:
1. Idle Page Reclamation
this technology reclaims any idle pages in memory and allows other virtual machines to use them
2. Transparent Page sharing
if two virtual machines have the exact same memory contents in a particular memory page, this single page will be shared amongst both the virtual machines (lets say for example, two virtual machines running the exact same version of windows, probably quite a few bits of memory that are going to contain exactly the same information)
3. Ballooning
This feature relies on vmware tools being installed on the guest OS, but allows Vmware to tell the vmware tools driver on the guest OS to start grabbing memory, it can then return that memory to the ESX host and the ESX host can then allocate it to other virtual machines in a process called "inflation", memory can be returned when not needed using a process called, you guessed it: deflation.
My favorite tech of the above is definitely ballooning, what a brilliant idea.
Ok, so now you know how VMWare can share and overcommit memory, what about controlling access to memory, after all, memory is a finite resource. Plus what happens when there is simply no other memory available?
Well VMware uses swap file memory, much like windows, in the event that no physical memory is actually available. This .vswp extension file sits by default in the same directory as all the other files for the vmware machine. Its size is the same size as the memory allocated to the virtual machine, so in our example above the machines would have 1 gig swap files. This file is used as a last resort should there litreally be no other memory available to be used even with the three technologies mentioned above.
But Disk is slow! Incredibly slow compared to ram, up to 800,000 times slower. So how can you ensure your important mission critical virtual machines can be allocated REAL physical RAM rather than being paged onto this swap file? The answer in VMWARE is reservations and limits.
Go to Edit Settings under your virtual machine then to resources, then memory. You will see you can set reservations and limits, by default the settings are
reservations: 0 MB
Limit: Unlimited
Reservations control how much physical RAM _must_ be available to the Virtual machine before it will even be allowed to turn on. This ensures that the machine has an acceptable amount of memory available before it will boot. it also ensures that no other virtual machines can en-roach upon this memory. So for our example, lets say of our four virtual machines one of them is our ARC Attendant Console server, its mission critical so we want to ensure it gets at least 512 MB of physical RAM, we set the reservation to 512.
Limit controls how much of the memory assigned to the virtual machine can actually be physical memory. So for example, if on our ARC server we decided that the machine needed no more than 768 MB of memory, but might occasionally burst to 1 gig, we could set the limit to 768. THis means that once the virtual machine is using 768 meg of physical memory, any additional memory it needs over and above this to its configured memory limit (1 gig) will be stored on the swap file.
So Reservation guarantees that the virtual machine will be allocated at LEAST that amount of physical memory, the limit sets a limit to how much physical ram the virtual machine can have before it has to start using swap file and the configured memory is how much memory the OS can actually use.
I hope this helps a studying VCP out there!
Important new section of Unity Connection 8.5 readme
Synchronizing Connection and Exchange Mailboxes (Single Inbox)
You can configure Connection to synchronize voice messages between Connection mailboxes and the corresponding Exchange mailboxes. When single inbox is enabled for a user, all voice messages, including those sent from Cisco ViewMail for Microsoft Outlook, are first stored in Connection and are immediately replicated to the Exchange mailbox for the recipient. Voice messages appear in the Outlook inbox for the user, alongside email and faxes, and also appear in the Connection mailbox for the user.
For Connection 8.5(1), single inbox will support only Exchange 2010. Support will be added for Exchange 2003 in the first quarter of calendar year 2011, and support for Exchange 2007 will be added in the second quarter of calendar year 2011. When support for a version of Exchange is added, the "Unified Messaging Requirements: Synchronizing Connection and Exchange Mailboxes (Single Inbox) (Connection 8.5 and Later Only)" section in the System Requirements for Cisco Unity Connection Release 8.x will be updated with that information.
Disallow subscription is the new white
It is also a pain when your working with the new presence server 8.0 and CUCM 8.0 and presence is not showing correctly.
Here is the relevant parameter, notice the default parameter on the side.
Clusterwide Parameters(System - Presence)
| | ||
| Disallow Subscription |
Bulk Admin Tool and Extension Mobility
I am currently doing a CUCM 8.0 deployment for a customer. A few cool new little things in 8.0 that I really like that I thought I would mention
1. Just like in CCME, you can now update your personal directory/fast dials etc. etc. from the phone itself.
2. You can reset your PIN from the extension mobility login page.
Just a quick thing around Extension Mobility though: You can't actually perform bulk updates to user device profiles.. This is a bit frustrating and I hope Cisco resolve this ASAP.
Other than that 8.0 is great. There are lot's of good enhancements you can use in your life, the major one being of course the SSL VPN on your phone. How cool is that!
Cisco WAAS Express
Cisco WAAS express,
Cisco WAAS is Cisco's WAN acceleration technology, I personally believe in it quite strongly. I have done a few deployments of it and it's always worked very well especially when the software is up to date.
With cisco WAAS you need a device that actually performs the acceleration of the traffic, normally this is in the form of an appliance (a dedicated peice of hardware) or an SRE that slots into the router, however with WAAS express you can now perform the WAAS functionality in software. It's very simple to enable and works quite well. You even have the ability to trial it.
here are the caveats around it.
Only supported on ISR G2
Only supported if you have a central manager (cisco WAAS appliance that manages all the devices)
Popular old posts.
-
Hi Guys Having spent a lot of time with customers working on vPC deployments, I have found quite a few of the gotcha's for vPC that I w...
-
Hi Guys! This blog post is attempting to be the DEFINITIVE guide on Jumbo MTU, It's a topic that DOES MY HEAD IN! There are SO many ...
-
So some of the readers of this blog might already know this little trick, and what's more some of you might be surprised I didn't kn...