It’s been a while in the making, but I finally started consolidating all my Linux VM tuning notes into a single document for all to read: Linux Virtual Machine Tuning Guide.
Please take a look at it, and if there are corrections or additions to be made let me know. I know there is a lot to be done with network stack tuning, which will be added to a future revision when I get my notes sorted out.
Comments on this entry are closed.
Fantastic work collecting all this in one place.
I add a note about RedHat/CentOS 5.x: there is a bug on vmware tools installation that create an (unharmful) error on boot. Just edit /etc/udev/rules.d/99-vmware-scsi-udev.rules and comment out the lines for Debian and Suse systems.
Bob, much appreciated. Thanks.
Re: VMWare Tools.
First, yes I agree, make your guest paravirtualized aware so it can take better advantage of things. Duh.
However, I’ve found that the official vmware-tools package often lags behind more recent kernels, so I’m curious if you’ve found any recommendations one way or the other with respect to the open-vm-tools package.
Also, any comment on VMI?
Seems like DUH, doesn’t it, but I know a few places that leave everything at E1000 because it’s easier on install.
The official VMware Tools package is generally terrible, in my opinion, with software errors and problems that go unresolved for years. I pick a version that works better than others and stick with it until my next patch cycle (every six months). Newer RHEL kernels seem to work fine due to the kABI compatibility, though it may need to compile the new module. All my machines have the compilers on them so it isn’t a big deal.
I added some commentary on VMI in the article — basically: don’t use it since A) most kernels don’t support the VMI interface, B) there are a lot of caveats to using it, and C) newer hardware has MMUs that do well with out it on.
I’m curious how you align the partitions on which the OS is installed. I’m not a kickstart expert, but, I haven’t been able to find an elegant way to align partitions using normal kickstart commands. Instead, I use a %pre script to echo commands into fdisk:
echo | fdisk /dev/sda << EOF
(I've found that the "sleep 5" is necessary to give the disk time to actually sync)