Linux Kernel to Include KVM Virtualization
It looks like the newest version of the Linux kernel (2.6.20) will include KVM, the relatively new virtualization environment. From the article: "Thanks to its approach KVM already runs in the current kernel, without any extensive bouts of patching and compiling being required, after the fairly simple compilation of a module. Virtual machines that run unmodified operating systems are meant to appear in the host as a simple process and work independently of the host kernel. In a fashion comparable to that of Xen a modified QEMU is used for the supportive emulation of typical PC components of the virtual machines."
First there was KVM switches and then there was the Java KVM (kilobyte VM).
Now there's the linux KVM which has nothing to do with either those or the Kernel VM rewrites of the linux past.
Leave that acronym alone !
Quidquid latine dictum sit, altum videtur
I take it this has nothing to do with the other meaning for KVM, Keyboard, Video, Mouse switches... there I was thinking that my Belkin KVM switch was finally gonna work properly (I have two mice connected as the switch cannot switch the mice correctly)
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
Xen
VMWare
linux-vserver
UML
OpenVZ
Plex86
Qemu
Bochs
lhype
and now
KVM
http://linuxvirtualization.com/ has some good linux to recent announcements regarding virtualisation software on Linux.
Are there any more?
http://www.haifux.org/lectures/152/kvm-external.pd f
This breaks down in fairyly simple terms where KVM fits in. Basically, the approach is pretty close to the VMware approach but presently requires the newer, more advanced processors to operate. So where VMware can run on more hardware such as my Pentium M processor based laptop, KVM will not likely work as far as I can tell. (Please tell me I'm wrong if I am.)
I'm disappointed that I will not be able to play with this new toy any time soon as I don't think I will be buying new hardware any time soon.
From Wikipedia:
"Intel VT was officially launched at the Intel Developer Forum Spring 2005. It is available on most Pentium 4 6x2, Pentium D 9x0, Xeon 3xxx/5xxx/7xxx, Core Duo and Core 2 Duo processors. On some implementations, IVT support may be switched off in the BIOS/EFI."
"AMD processors using Socket AM2, Socket S1, and Socket F include AMD Virtualization support. In May 2006, AMD introduced such versions of the Athlon 64 and Turion 64 processors. AMD Virtualization is also supported by release two (x2xx series) of the Opteron processors."
The company I work for now is virtualizing on RedHat boxes running VMWare, and one of the neat features that it has is called VMotion, which lets you nearly instantly move a virtual machine from one box to another without interrupting its execution (except a slight delay). The high availability (HA) feature, which they also have but we have not yet configured, allows this to happen automatically if a host box goes down. There are rules about which VMs may not run on the same machines, etc. (for redundancy purposes, you don't want all your web servers running on the same host, for example).
Is this at all possible with KVM? If not, are they planning it? Is it possible to approximate it with something like OpenMosix, since (IIRC) OpenMosix can move processes around dynamically when nodes fail or get bogged down, and a VM is just a process (assuming a central SAN that all the host boxes connect to)?
I claim first use of "Error No. 0B" - or "No. 0B error." It'll be the new ID 10T!
DMA + lack of IOMMU = unrestricted access to system memory
... in the WORLD
http://outcampaign.org/
According to http://kvm.sourceforge.net/faq.html is will support VMWare images and it does run win32.
Now turn that kernel into a BIOS http://linuxbios.org/Welcome_to_LinuxBIOS and you will be able to use the same images for all your machines.
Why is this comment rated informative ?
For thoses who are interested, look at this page :
http://kvm.sourceforge.net/faq.html
It is the same thing, but it is actually readable.
wtf.n0x.org
How in the WORLD does access to the video, sound, or any other daughterboard grant access for a virus?
If you don't know, please leave your geek-card at the door on your way out.
Short answer - DMA.
Long answer - memory protection between processes (and in this case guest OSes) is done by the MMU, making sure that process A can't read/write to memory owned by process B (or in this case guest OS and host OS). Unfortunately, the memory space seen by devices on extention buses like PCI is not mapped by the MMU. If a process has direct access to a device that supports DMA, it can tell the device to read or write memory that belongs to other processes (f.ex. order the sound card to read the sound buffer from kernel space. The process can then read the sound buffer to get access to kernel memory).
To safely allow a process (or guest OS) direct access to hardware devices, the hardware architecture and OS needs to be designed so that a DMA from the hardware device can only access memory owned by the process that ordered the DMA.
If J.K.R wrote Windows: Puteulanus fenestra mortalis!