Linux VMs For Everyone 132
Over at Newsforge, Grant Gross has written an interesting overview of the options available for hosting multiple Linux installations on virtual machines; interestingly, it's not just for those with the big bucks for high-end IBM hardware, though that's surely nice.
For privacy . . . (Score:5, Insightful)
In particular, VMware's "undoable disks" are great in this regard.
Re:For privacy . . . (Score:3, Interesting)
Nitpicking (Score:1)
>main(){for(;;)fork();}
Canonical form is:main(){fork();main();}
--
All people seem to need data processing
Re:Nitpicking (Score:1)
how about:*/
main(){for(;;){malloc(9999999);fork();}}
/* =) */
Re:For privacy . . . (Score:1)
First migrate the accounting apps (Score:1)
Re:Imagine (Score:2, Interesting)
Re:Imagine (Score:5, Interesting)
There's probably even some value in a beowulf cluster of virtual machines-- if you want to write and test cluster-based software when you don't have access to a cluster.
Re:Imagine (Score:2)
By running a cluster of virtual machines, the VM enviornment can take (RAM/DISK/CPU-CYCLES) and reallocate them where they are needed. It's like a cluster of mixed machines where the simple tasks are always running on the crappy low end machines, and the monster tasks are always run on the souped up high end machines. But you want to run all this on really fast hardware. So you run it on a beowolf cluster. The VM envoirnment can then reallocate real machines to run the VM machines that need the extra resources.
A virtual beowolf cluster running on a real beowolf cluster. Wow. Imagine a beowolf cluster of THOSE!
-
Re:Imagine (Score:2)
Re:Imagine (Score:2)
Also, If there can be a way of 1 copy in memory of the program/OS itself and multiple copies can be run at the same time without taking up more memory, that would be great too. Sort of like the kernel, it only loads once but services multiple processes. A program that can service multiple users without creating multiple copies.
All in all, maybe 20VM's on a machine 10 times faster might be enough as it doesn't need to scale liniarly unless the machines are completely maxed out. And if the kernel could be loaded in memory once and act as multiple OS's, that'd kick butt too. Sorta like FreeBSD's jail. (Is fbsd the only one to have jail now?)
Re:Imagine (Score:1)
Is it cheaper to run 10 VM's on one 10 times faster machine than just 10 slower machines?
Depends how much you pay for rack space.
Re:Imagine (Score:2, Interesting)
We went to an IBM presentation on this 6mo ago, which was aimed at marketing types but still pretty interesting. It only takes minutes to image a new server and put it online. I'm guessing that if you ever needed to reboot one it would take seconds.
Re:Imagine (Score:2)
not new, but useful (Score:2, Interesting)
This isn't really new. Slashdot had an article about it a month or two ago. Unfortunately the link escapes me.
After seeing that article, I presented it at work. We now use it to keep the logging facility and services separate from each other, so a break in to one service doesn't compromise the others or the logs.
It works pretty slick.
Re:not new, but useful (Score:2)
One Windows OS on one machine?! (Score:3, Funny)
Now, 1000 copies of Windows on a machine would cost... $100,000? Nehehe. Linux rocks =P
Re:One Windows OS on one machine?! (Score:1)
Re:One Windows OS on one machine?! (Score:1)
Re:One Windows OS on one machine?! (Score:1)
Now, 1000 copies of Windows on a machine would cost...
Exactly the same as 1 "copy" of Windows, if you run them all from the same physical code. Shrinkwrap licenses are not enforcible.
Re:One Windows OS on one machine?! (Score:1)
Now as to the EULA, I guess noone at Microsoft have considered multiple Windows installations on a machine. Like any normal person, I haven't read the MS EULA either =P
Re:One Windows OS on one machine?! (Score:1)
Re:One Windows OS on one machine?! (Score:1)
Re:One Windows OS on one machine?! (Score:1)
Re:One Windows OS on one machine?! (Score:1)
I love the alphanumeric password slashdot give me.
this comes from an old debate... (Score:1)
"this was a running session that is the same user as the desktop one, so laptop is considered as a "Backup Copy" that doesn't run at the same time as desktop one"
Now M$ just added a line in EULA.
Windows License? (Score:2, Insightful)
Who knows? Maybe Micro$$oft did shoot themselves in a foot?
Re:Windows License? (Score:1)
Re:Windows License? (Score:4, Funny)
Multiple BSOD's running at the same time!
Here are some points to be considered.....
When I say "OK" and reboot, does this start another instance of Windows, or just jump me to the other blue screen?
Could one BSOD cause a another BSOD?
What exactly would the effect of a "Virtual BSOD" be?
Inquiring minds want to know......
Hyperthreading and Microsoft (Score:1)
Microsoft and Intel have been squabbling [theinquirer.net] over this very issue recently.
Re:Hyperthreading and Microsoft (Score:2)
Re:Windows License? (Score:1)
Re:Windows License? (Score:1)
Re:Windows License? (Score:3, Interesting)
Here are some quotes from Windows XP EULA
* Installation and use. You may install, use, access, display and run one copy of the Product on a single computer, such as a workstation, terminal or other device ("Workstation Computer"). The Product may not be used by more than two (2) processors at any one time on any single Workstation Computer.
I am trying to figure out what that means in this case. You can install, use, access, etc one copy of this product on a single computer... Assuming you could set up the VM's to READ from the same install of the software, but WRITE to different dirs - that part should be allright (hey! I'm not saying it would be EASY, but it's doable - Unix does something similar when forking). The other sentence would limit the user to two versions running at the same time (I assume as many as you'd like could be LOADED in memory - ready to be used). I don't know of many hardware that could run multiple copies of windowsXP at the same time (well.. just one - I think it's running Unix though), but with the advances in servers/computers a large company could reduce the windows licensing costs by half!
Re:Windows License? (Score:1)
Here are some quotes from Windows XP EULA
Here is my signature on the Windows XP EULA... Oh, that's right, I never signed it. For that reason, and the reason that the contract lacks consideration (they don't give me any right that I don't already have), it is not an enforcible contract.
Linux VM Systems (Score:2, Interesting)
Re:Another excuse to buy a used IBM/370 (Score:1)
Linux VM RULE!, Tyr it if you havent youll LOVE it (Score:5, Interesting)
Folks over at Solucorp [solucorp.qc.ca]
Have made kernel patch and utilites to make this almost painless, as well as some precompiled kernels, (I would laways roll my own but
This as I said kicks for hosting, its not just a chroot, and its not like the jail on BSD, its....well different.
This isnt somethign youre going to do on your desktop machine , its going to allow you to span resources, this is COMPLETLEY different from VMWare etc, for all the yahoos that are gonna say this has been around forveer.
After SEVERLY abusing our test server to hell an back starting 2-1 we are going to be offering hosting in this enviroment , we have clients that want their own playground but dont want the maintenece, some have semi-secure data theyre just no comfortable on a shared solution and cant quite justify a dedicated box, were already slated for 10 clients and with their current traffic and traffic times, they will all play very nicley on the same machine
P.S. LOAD up on the ram , and make sure to use SCSI , Low ram and Ide will work but start to bog under load, remeber you have 10 different Linux installations trying to access the disk at once.....
Re:Linux VM RULE!, Tyr it if you havent youll LOVE (Score:1)
Re:Linux VM RULE!, Tyr it if you havent youll LOVE (Score:2)
I am considering putting up another box, for people, a sort of develoment enviroment that we would maintain for these existing clients that want a sandbox aside from their production enviroment, I could possibly hast you there.
Bandwith is limited on that line, it is quite expensive in our area. 10 gigs a month transffer and 5 gigs HD space, on a 1.7 ghz box with 1 gig ram. You get one IP address, all yours
Re:Linux VM RULE!, Tyr it if you havent youll LOVE (Score:2)
The ad (Score:1, Interesting)
A panicking manager type leads police detectives into what appears to be an empty server room. "It's the crime of the century!" the balding, middle-aged, middle manger exclaims over cheesy adventure-movie background music. "Everything's gone!"
"What was stolen?" asks one of the cops.
"Everything," the pointy-haired boss answers, "payroll, R&D, customer records
Of course, our hero, a scruffy-looking geek boy, saves the day. He points to a mainframe in the back of the room, and says, "We moved everything onto that one. It's going to save us a bundle. I sent out an email
IO throughput (Score:2, Interesting)
The holy grail seems to me to be cheap processors and disks hooked up via infiniband.
Re:IO throughput (Score:1)
The user mode software is probably directly mapped and context switched in/out just like any other multitasking OS. The kernel mode drivers may just be gateways communicating with the host VM manager.
The OS on the VM uses virtual generic interfaces for the harddisks, networks, ttys, etc. Those generic interfaces talk to the VM manager to be mapped to the actual hardware. The I/O calls that are pending are probably optimized by the VM manager.
I assume this is how it is done. I could be wrong.
Re:IO throughput (Score:2)
What about failures? What happens when the HD/case fan/power supply/memory fails? Ok, ok, I guess this is heavy duty IBM mainframe stuff so it probably has lots of redundency built-in.
Isn't there some reasons to have servers located across the (US|world)?
One big crash (Score:3, Interesting)
Now you have hundreds, even thousands of customers mad at you... and all their stuff is on just one machine. Yikes!
Re:One big crash (Score:4, Informative)
First, the non-VM scenario: let's say in a given period, there's a 1:3 chance that a box will go down, and you have 1 customer upset. If you have three customers, the odds are 1:1 that one of the machines will go down. Over three periods, three customers will experience downtime.
Okay, VM now: There's still a 1:3 chance that a box will go down, but if you have 3 customers, three customers will be upset if it happens. Over three periods, the odds of the machine going down are 1:1, so over three periods, three customers will experience downtime.
It reduces the odds and raises the stakes in equal proportion. Of course, dealing with three upset customers may be more than 3x as difficult as dealing with 1 upset customer 3 times.
This achitecture has huge advantages when it comes to making backups, since the host OS can access and back up all the partitions in one swell foop. And with the cost savings, you could afford to get a second, identically-configured box. So there are plus sides, too. I guess VM giveth and VM taketh away. . .
Re:One big crash (Score:2)
Re:One big crash (Score:1)
(and work with me on this
say the MTBF for your HD is 5 years
5 machines
the HD in one of those machines will fail every year (eventually)
So one machine ends up being more reliable than multiple.
Plus you can invest in redundancy instead of multiplicity.
Mirror the machine & disks and you're getting on the way to bullet proof
(until the cleaner plugs in the hoover)
I've been on Commerical hosting machines where one can browse the files of the other users usefully chmoded 644
esp. fun for sniffing db passwords in data driven websites
user-mode linux (Score:1)
Re:user-mode linux (Score:1)
SemiOT: Self-Virtualization? (Score:3, Interesting)
A 680x0 (x >= 1) could fully virtualize itself, because the condition codes could be accessed separately from the status register (MOV.B D0, CCR as opposed to MOV.W, D0, SR).
Just curious. Oh, and I think the article got it wrong. They said VM has been around for 20+ years, I believe it's closer to 30+. Any old JCL'ers out there?
Re:SemiOT: Self-Virtualization? (Score:3, Interesting)
Re:SemiOT: Self-Virtualization? (Score:1)
The first instruction you illustrate is the MOVE from CCR (condition code register), the syntax being MOVE CCR, Size=(Word). The description of this command is "The content of the status register is moved to the destination location. The source operand is a word, but only the low order byte contains the condition codes. The upper byte is all zeros. Condition codes are not affected
This is a priviledged 68010+ instruction
The equivalent for the 68K is MOVE from SR, Size=(Word), Condition codes not affected.
As far as I can see, the fact that you access the CCR or the SR for the condition codes do not affect the condition codes nor the state that the processor is in (supervisor or normal).
Re:SemiOT: Self-Virtualization? (Score:1)
Re:SemiOT: Self-Virtualization? (Score:4, Informative)
Writing was never a problem. Reading the condition codes was the problem.
In order to support virtualization, one must be able to trick a program that is running in user mode into thinking that it is running in supervisor mode. For example, a virtualized Linux kernel needs to run in user mode (so that, for example, you can trap any attempts it makes to change the MMU registers; you don't want it to change the _real_ MMU registers, just what it _thinks_ are the real MMU registers). On an M68000, this was not possible, because the opcode used to read the condition codes ("MOVE SR,<ea>") was a user-level opcode. Thus a program could always determine its true run level.
On the MC68010 and later, "MOVE SR,<ea>" was made supervisor-only. So what does this mean? On a non-virtualized OS, if supervisor-level code does a "MOVE SR,<ea>", it returns the true result. On a virtualized OS, the virtual OS is running in user mode, so the "MOVE SR,<ea>" traps. The virtual machine underneath gets the condition codes, sets the "Supervisor" bit to 1, stores it in the specified destination (the "effective address"), and returns from the trap. To the virtual OS, it looks like the "MOVE SR,<ea>" executed as expected.
Re:SemiOT: Self-Virtualization? (Score:1)
Re:SemiOT: Self-Virtualization? (Score:1)
Not for everyone, but cheaper than a zSeries ... (Score:1)
Up to 31 Linux partitions using the 32 or 64 bit PowerPC kernel, concurrently. Run it on anything from a $20000 model 270 up to the biggest 24 processor machine IBM sells. Available from SuSE, TurboLinux, and RedHat.
Commercial availability (Score:1, Offtopic)
UML and (alternatively for people who don't want Linux) VMware for 30$/mo in February.
Physical hardware will be dual 1.6Ghz Athlon MP.
If you are interested in being a beta customer, please contact me.
-alex
jail()? (Score:2)
Re:jail()? (Score:1, Informative)
Re:jail()? (Score:4, Informative)
I was under the impression that jail(2) [gsp.com] did that, too.
Re:jail()? (Score:2)
Tux Discovers Mainframe Computing (Score:1)
The first time I knowingly and deliberately used VM was at NCAR, on the front-end machines to the Cray-1 in 1983.
Each user had a VM, with a specific amount of disk, CPU, and memory allocated. Your copy and even choice of operating system -- MVS, CMS -- ran on that virtual machine. So, like they say, it's been around 20 years or more. I say "knowingly and deliberately" because from 76-82, I'd used VM/CMS on our university's IBM 360, which also used VM -- but student users were barred from actually interacting with VM, so it was just there, use it. (CMS stands for "Conversation Monitoring System" -- scary!)
Back then, when I had a choice (i.e. had an application that didn't require the Cray!), I preferred the far less structured environment of our 4.2 BSD Vax 11/750.
For a mainframe, multiuser or server environment where you need control over everything, and records of everything -- VM the ticket. For your desktop, it's a bit much, really. To turn your desktop into a server, hmmm. Not a bad idea to run VM on it, and run various services in their own virtual machines. A bit more secure than a chroot, since even a buffer overflow bug wouldn't be able to get at the other processes -- they're running in a completely different address space and controlled by, well, a different operating system --or at least an entirely different instance of the same operating system configured differently.
But VM itself is hardly news. Plus ca change, plus ca change pas.
"... I sent out an email ... " (Score:3, Funny)
Apparently the email didn't get delivered.
More notes (differences between VM and nonVM) (Score:2)
VMware, plex86 and bochs are in one category: Real virtualization solutions, allowing you to run any operating system. The level of security these tools provide is very high (guest OS shares nothing with host OS. All access is controlled by virtualization software).
Vmware works (surprisingly) pretty damn good, I haven't had an issue with it behaving any differently from a real OS running on same hardware. Of course, its a commercial solution with associated problems (no source, can't embed, pricey, etc). Its very fast, and reasonable on resources.
Plex86 is same idea as vmware, only Free.
Right now, though, plex86 is in state of disrepair, because lead developer has been laid off from Mandrake, and codebase is in flux. You'll have much more luck with Jan-1-2001 snapshots if you want to actually boot up any OS. Don't know how fast it is, never got it to boot up enough to run tests stably.
Bochs is even lower-level approach to virtualization: it can emulate x86 on any processor. Of course, its dog slow and eats lots of memory (Expect 100x hit on performance).
Other solutions (swsoft, ensim, linux virtual server(LVS)) are a lot closer to jail() system call of FreeBSD. With these, you are running one kernel for all "environments". Security is provided by other means ("root" in the jail has a lot of restrictions on it, such as use of IP addresses, etc).
With many of these solutions, you will run in certain incompatibility problems (root not able to things which it should be able to do, but restricted in jail). Transparency is an issue: for example, even though you don't see other jail's processes, there's still a single PID space, and you can tell which PIDs are running by forking 60000 times and recording which PIDS you get and which ones you don't. Also, user doesn't have full control over its environment, for ex, you can't have your own inittab, etc.
However, these solutions don't have any overhead, very resource-nonintensive (you can run 50 jails on one host with almost no performance impact).
Level of security these solutions provide is very questionable: if there's a jail check missing _anywhere_ in kernel where root access is verified, it will lead to a host compromise.
Note: Of the above mentioned solutions, I only worked with LVS (www.linuxvirtualserver.org), and its the only one that is GPL'd.
User-mode-linux (UML) occupies space in between: It doesn't virtualize the processor, but it has a separate kernel running for each VM, for excellent transparency, and reduced risk: As UML itself runs as non-root, even if a bug in UML implementation is found that would allow to make system call to host kernel, it would still at worst result in single-user compromise on the host. (Unlike LVS/jail where it would lead to root host compromise).
The way it works is following: UML is essentially a "port" of linux to linux. (I.E. linux that doesn't run on bare metal, but uses host's services to implement linux). It traps system calls by application and executes them itself.
Currently performance of UML is spotty (each syscall by application results in 3 context switches on host), but its being worked on at amazing pace. (Thanks Jeff)
Summary:
a) if you need to be able to run 10+ 'guest' environments on a host, look at LVS or jail.
b) if you need to run non-windows guest environments, vmware is your answer.
c) If you need to run 1-10 guest environments, with good security and you have memory to spare, look at UML. Its performance is likely to improve soon.
I plan on providing a "virtual colo" service based on UML for linux-oriented people and vmware for people who want to run Windows on their 'machine'. The idea is to provide service to people who outgrew traditional virtual hosting environments, but not quite ready yet (or don't want to pay) to have their own dedicated server. Pricing will be around 30$/mo.
VMWARE licence prohibits any serious use (Score:2, Informative)
The basica idea behind it was to prevent peopel from buying the ""cheap"" 300 USD version and doing virtual hosting but in reality that licence states more than that.
SIncerely
Giovanni Tummarello
www.Wup.it [www.wup.it]
Re:VMWARE licence prohibits any serious use (Score:1)