Virtual Machines on Linux and Max. Available Memory
This may be a common question but I could not find a post on it.
I am in charge of some development servers at work. These physical servers are currently running Windows 2003 Server R2 Standard Edition (32 bit) but the server can support 64 bit. My understanding is this 32 bit OS will only recognize up to 4GB of memory? So here is my problem... these servers need to host 8 Virtual Machines running Windows 2003 Server R2 Standard Edition (32 bit) that require 2GB of memory each. From what I have heard you can run VM's on Linux so what I would like to do if posssible is move these physical server's OS's to a Linux distro of some sort that could see more than just 4GB of memory (ie. 8x2=16GB). That way these VM's can all run together on the same machine saving the company having to buy more servers. Here are a couple of questions I have that I hope someone can answer: Q. Is it possible to run Windows based VM's on Linux? Q. If so what Linux distro would best meet our needs? Q. What is the max memory that would be recognized with a typical Linux install? Q. Would it be possible to run 32 bit Windows based VM's on a 64 bit Linux distro? Thanks for your help, Rick. |
A virtual machine for 80x86 processors creates a real computer so that you can run any 80x86 OS in the virtual machine. There is a performance issue even though virtual machines work in the low-level environment to handle some communications with devices.
A 32-bit OS can handle 4 GB of RAM but not all the memory can be used because of PAE. Some motherboard manufactures include an option to turn off PAE if possible and others are fixed in the on position. A 64-bit OS can handle over a terabyte of RAM, but it is limit by the maximum memory address that the processor can handle. VMware ESX with VMware Virtual SMP could be used to handle 8 virtual machines on a multi-processor system. You need to pick a motherboard that can handle greater than 16 GB. An 8 processor or 16 processor with 32 GB of RAM server will cost the same as 8 computers with dual processors and 2 GB of RAM. The distribution that I suggest that provides minimal fuss to get VMware to work is Gentoo. Another is CentOS if you want to use Redhat Enterprise like tools. For Debian based distributions, Ubuntu (server edition). I suggest convert some of the Windows servers to Linux to save money. Yes, there are comparative Linux software that is equal and/or better than Windows. |
Electro, thanks for the reply. I have downloaded the Centos iso's. Is it possible to recompile the kernel to allow for more memory?
|
I run VMWare Workstation on a Mandriva installation with no issues at all. Workstation went in without trouble when first installed, and has worked without trouble ever since, through multiple upgrades of Mandriva. All I have to do is recompile the distro-dependent stuff whenever I change kernel.
Workstation is a more complicated product than Server, which follows since workstations tend to do a lot more than servers do. If Workstation is trouble free, I certainly would expect Server to be trouble free as well. |
Quote:
For Centos, merely use yum to install kernel-PAE. Check their fora, it's where I found it. The free VMWare server (GSX ???) was limited to 2 CPUs per guest when I tried it under Centos. Things may be different now. And of course the Linux options are to be considered as well. |
Thanks to all you guys for this valuable information.
I'm going to repeat myself just so I am clear on what your all saying.... I have 8 Windows based VM's and I need to give 2GB of ram to each of them, lets say even 4GB since that is the max that these Windows VM's will be able to access. In order for me to acheive this if I install the 32 bit i386 Centos 5 OS (with Kernel-PAE) on a system with a board that supports PAE and stick 8x4=32GB of ram in it all of the Windows based VM's will be able to utilize their own maximum of 4GB each? And 1 more question that I'm hoping you can answer. The server I have supports 64 bit applications so would it be possible to run 32 bit Windows based VM's on a 64 bit Linux distro? |
Quote:
You can give them 4 Gig, and given the amount of RAM you plan on having, it is likely it won't page, but you can't guarantee it. Quote:
Quote:
I think you have enough to keep you occupied. I haven't tried it though, so feel free to pioneer, and let us know how it goes ... :p |
Quote:
Quote:
Thanks. |
Quote:
The page table requirements for the kernel to track 32 Gigs of RAM will be severe; I'm not sure how much the system itself will need for this, but you can bet it will be a lot. I am not sure, but I think you'll be breaking ground on this - at least, insofar as allocating that much memory per server. |
Linux is virtual memory and multi-tasking operating system. Running a 64-bit kernel that will handle 8 virtual machines running a 32-bit OS should not have any problems. Just make sure the host has a few gigabytes for itself or else it will crawl. For each virtual machine keep the RAM capacity lower than 3 GB, so you do not waste memory allocating 4 GB. I suggest giving 2 GB for each virtual machine.
Quote:
64-bit OS can handle several exabytes (1024^6) of real memory. PAE will then effect this OS when the capacity is equal or exceeded which is a shame. PAE is weird magic to allocate memory for an 80x86 processor that can not handle memory as real memory. |
Quote:
I only have old PIII Xeons to play with, so I had no experience with this. I believe the Xen people used to warn against mixing modes, but I'm happy to be wrong. |
Again thanks for all the input. Here is what I am going to try:
1. Install Centos5 64bit 2. Load 20gb of ram 3. Dedicate 2gb for each of the 8 VM's and leave 4gb for Centos BTW should I still intall the kernel-PAE through yum, do I still need it with this setup? Also does anyone know of a good free VM server application for Linux, and would I be able to migrate my existing VMWare VM's into it or do I need to re-create them with the server app I install in Centos? |
Quote:
|
Quote:
Quote:
|
VMware is the best and the easiest to use under Linux. It is very reliable. All the information about VMware Server is on VMware's site. Though I suggest use VMware ESX with Virtual SMP and other add-ons to help you manage your setup.
|
I am finally tackling this... I am running the installer for VMWare Server and have hit a wall. Seems like it can't find some C Headers and gives the error way below.
BTW I had to create a symbolic link to another directory since the /usr/src/linux/include did not exist. ln -s /usr/lib/syslinux/com32/include /usr/src/linux/include I also installed the latest kernel: Installed: kernel.i686 0:2.6.18-53.1.4.el5 Complete! Also I am running CentOS 5 The path "/usr/src/linux/include" is a kernel header file directory, but it does not contain the file "linux/version.h" as expected. This can happen if the kernel has never been built, or if you have invoked the "make mrproper" command in your kernel directory. In any case, you may want to rebuild your kernel. What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include] |
You need to have the matching kernel-devel and kernel-headers rpm packages installed for your running kernel.
uname -a rpm -qa 'kernel*' yum install kernel-devel kernel-headers All three packages must match by version number exactly. One must also specify the location for VMWare to find these files, use the directory: /usr/src/kernels/<kernel version #>/include |
Quote:
The directory of kernel headers (version 2.6.18-53.1.4.el5) does not match your running kernel (version 2.6.18-8.1.10.el5). Even if the module were to compile successfully, it would not load into the running kernel. On boot when I select the kernel to boot into I selected version 2.6.18-8.1.10.el5 because when I select version 2.6.18-53.1.4.el5 (the one with matching headers and devel) it won't show me my desktop it just shows me the black login screen and I tried saying startx but it says it's already running. I think I messed something up cause it doesn't like the latest kernel I installed :( Thanks for you help! |
I recommend use Gentoo because last year, I have helped provide a work-around fix for VMware modules and it works just fine. Also it is now dependable, so when VMware modules are first installed it will not give you problems before. Of course the vmmon and vmnet have to be compiled on the upgraded kernel. I an not sure if other maintainers for each distribution spies on Gentoo bug reports to add my fix to their package.
I can not help you configure your kernel because I do not know your setup and what kernel options you selected before compiling time. You probably have a framebuffer from the kernel conflicting with some Xorg driver. Check your logs. |
Quote:
You can try installing the kernel-headers and kernel-devel packages for this 2.6.18-8.1.10.el5 kernel; yum remove kernel-devel-2.6.18-53.1.4.el5 kernel-headers-2.6.18-53.1.4.el5 yum install kernel-devel-2.6.18-8.1.10.el5 kernel-headers-2.6.18-8.1.10.el5 yum install kernel-devel-2.6.18-53.1.4.el5 kernel-headers-2.6.18-53.1.4.el5 Quote:
|
Thanks for the info guys...
She finally started working with the latest kernel. I don't think I did anything other than booting into the old kernel, then shutting down, then restarted and booted into the new kernel. She hung there for a moment thinking about it and then the GNome Desktop appeared! Then I ran the VMware installer and everything installed just fine as well, I only needed to upgrade my gcc to the version the kernel was compiled for and the installer knew of the new location for those C Headers. I also installed kernel-PAE (which has the same version as the new kernel) so if I understand correctly I will need to boot into that kernel so that when I start up all the vm images they can access there alotted 2GB of virtual memory each. |
Forgot to ask you guys... I thought there was a free version of VMWare Server? The version I installed asks for the serial key, which is not a problem because we have a license for VMWare Server at work which I think should work with this version.
There was VMware Server GSX, ESX, etc., etc., are there major differences between some of these versions? |
Quote:
One can request a free license key for VMWare Server from VMWare, no reason to use your work site's key; http://www.mydigitallife.info/2006/0...tion-software/ http://register.vmware.com/content/registration.html . |
Thanks Lenard... I got a new key.
VMware server is up and running! Thanks to everyone who helped me out on this. |
Please help me
i have linux(kernel 2.6.9) 32 bit with 4GB of RAM install on my machine and want check whether PAE is enable on my linux or not. If not enable then how to enable it |
From the virtual console or xterm session type:
uname -a rpm -qa 'kernel*' The kernel is an installation choice. yum enabled system: yum install kernel-PAE up2date system: up2date -d install kernel-PAE from the media: rpm -ivh kernel-PAE*.rpm Be sure to select or set the PAE kernel as the default choice when booting. |
All times are GMT -5. The time now is 07:34 AM. |