This chapter provided a summary of the present state of User Mode Linux (UML) and its user community. It contrasts UML with other visualization technologies, and discusses a bit of UML’s history and purpose. Also, this chapter covers basic concepts of SCSI over Fibre Channel Protocol (FCP) using raw/block device files and volume managers. In addition, it covers block size, multipath I/O drivers, and striping with a volume manager, and concludes with a discussion of filesystem performance and CPU loading. Examples are included for each topic throughout the chapter.
An introduction by the creator himself! Quality article on a very amusing techno (Yes amusing, cause you can play a lot with it)
There is still one problem with UML: a part from (happy?) deb users that can debootstrap their distro, trying to do the same with some other distro (eg Redhat) quickly turns into a headache.
Apart from that, UML rocks. Long live UML.
When the last UML post appeared on OSAlert, I was intrigued but skeptical, since the article didn’t really give much information on exactly what type of virtualization UML provides. After reading this article, I now have a much better idea…
Although the author tries his best to categorize UML with Xen and VMware, this is simply not the case. UML is OS-level virtualization, where the other two are hardware and/or paravirtualization. UML is much more similar to Jails, Zones, VServer, and OpenVZ.
The author notes that all of the other virtualization technologies except VMware hook into the host kernel in some way. This is true, although in the case of Xen this is no longer be necessary if you have new hardware that supports AMD’s Pacifica or Intel’s Vanderpool technologies. The cited advantage is flexibility to run different kernels on your guests as you do on your host. This is also possible using Xen or VMware.
The disadvantage is that each guest’s kernelspace must be replicated within its own userspace process. Each guest has its own everything. This gives you pure isolation, but it also gives you the higher overhead of paravirtualization with the more limited flexibility of OS-level virtualization. Even though each guest has its own everything, you’re still confined to Linux guests only, and (this might be FUD) the port of Linux to Linux might not always be coherent across kernel versions. Further, you have a complete Linux host between your guests and the hardware–rather than a lightweight hypervisor–which leads to reduced performance.
UML claims to address some features that are missing from OS-level virtualization tools, and given the alternatives he lists, he’s probably right. However, he doesn’t even mention OpenVZ, which offers all of the missing features he cited. It supports multiple IP addresses per VPS, per-VPS firewall rules, hardware resource quotas, and more. It even allows each VPS to “boot” with different sysctl settings, even though they all share a common kernelspace. You can virtualize various different flavors of Linux on top of any sane distribution.
OpenVZ has the lowest overhead of any virtualization technology I’ve seen, which means you can run an impressive number of VPSs on very modest hardware. It is also the most feature-rich and flexible of all shared-kernelspace OS-level virtualization solutions. That’s why I use it, even though UML is in the mainline kernel. Running multiple instances of Linux on Linux is a neat idea, but running multiple isolated userlands on Linux is much better in practice.
If you can’t accept your host kernel being a single point of failure, then none of the virtualization solutions for Linux can cut it (on x86… IBM’s Linux on POWER supports failover across LPARs). If you need high availability for Linux, you should check out the Linux-HA/Heartbeat project–or proprietary offerings such as Veritas Cluster Server or IBM HACMP v5.4 for Linux (shameless plug).
UML sort of reminds me of Solaris new Zones virtual servers….running multiple copies of the same OS on top of itself.
uml is great to run in a host without altering one bit of it. Other solutions force to change kernel or compile modules on the host
UML doesn’t full support x64 bit distros. It will not run binaries compiled for 32bit in a x64 vm even if you have the libraries. Doing the same with Xen works. (tested with Centos4 and trying to compile mplayer with w32codecs)
I asked Jeff if full support is schedule and did not get an answer. here is his previous mail:
–start quote —
UML/x86_64 lacks 32-bit compatibility. You can either build 64-bit
processes for it, or use a 32-bit UML, which will run 32-bit processes
fine.
–end quote —
I would like to know a way to support his work.
P.S. on magazine http://www.linux-magazine.com , september issue has articles comparing different VM solutions. I was surprised that UML wasn’t there.
http://www.losethos.com
I found myself needing a boot-loader for my operating system. I had been using lilo. My operating system supports a boot-from-RAM option which loads a kernel image and starts-it up after the point in the kernel image where it switches to protected-mode from real mode. Therefore, I decided to use that feature to make a boot loader. I have 4 partitions on my drive. The first one is just for the boot loader copy of my operating system. The master-boot-record starts that one. The partition-boot-records are unused, though they are valid. They are unsed because the boot-from-ram option skips them and directly loads the kernel image. There is no Linux involved and never was except when lilo was used as aboot-loader. There is nothing virtual. When the RAM kernel is loaded and run, it reinitializes everything.
You might call my operating system “kernel mode” because only kernel mode is used and nobody has less privilege. The idea is to stay away from porn sites and reformat and reinstall from back-ups if you have a problem.
A while back I did a chart that compares, Solaris Zones,
FreeBSD Jails, Xen, User Mode Linux, VMware, perhaps it may help some here compare. You can find it at
http://unixconsult.org/jails_vs_zones_vs_xen.html
I used to support FAT32 and FAT12 but heard patents were in limbo. I checked and Microsoft wanted $0.26 just to format a blank memory chip for cameras with FAT so I thought there was no way I could buy a license for it. I made my own filesystem for that reason and tried not to do anything clever which somebody might claim a patent on. A new filesystem is not really better, but once I did it, I took advantage of the opportunity.
On a home PC, there is no need for security if you do regular back-ups. I’m frustrated that that’s all the industry seems to be focused on instead of something new. Maybe, everybody is out of ideas for new features.
I haven’t had malware, but Microsoft updates have screwed-up my computer twice, for some reason. Since I only visit reputable internet news sites, the risk from doing updates is far greater than the risk of malware. Updates can ruin things if there’s a power failure or glitch.
On another post on this web site, they seem focused on new filesystems too. My operating system provides low-level disk access so hobby enthusiests can make filesystems for fun. The variable “Fs” in my code might be confused with file system. It’s the FS CPU segment register and it points to the per-task memory structure, where registers and such are stored when task-switching. That, too, can be expanded with new user created task variables for playing around, but it would be a minor pain to merge changes with each OS upgrade.
The kernel compiles in like one second and you can do reboots without a hardware reset totaling like 5 seconds, so it’s ideal for people who want to mess around with operating systems.
http://www.losethos.com
are you cross posting? how is your notes related to the article?
First, people started talking about operating systems on top of operating systems. Then they started praising new file systems as though that was good, in and of itself. Seems like someone is talking to me spreading confusion. Like 3 days ago I added a bootloader which boots my complete operating system just to boot itself again, though it clears-out everything. Second, I have a new file system. Frankly, it appears y’all are talking indirectly to me and I wanted to eliminate confusion. It is not linux, it does not place itself on top of itself and new filesystems are not good for the sake of being new.
security is an inexcusable waste of man-hours. And pointless for home users who know how to restore from back-ups or don’t visit nonreputable sites. Y’all are pathetic for having nothing new but security stuff.
security is an inexcusable waste of man-hours.
So is spamming this board every chance you get to discuss your homemade OS whether or not it has any relevance to the topic on hand. We get it. You wrote an OS. You’re proud of it. Submit it to the alt OS competition and be done with it, quit cluttering up the mainstream threads. If it’s not deemed worthy of publishing by the editors, maybe there’s a message there.
And pointless for home users who know how to restore from back-ups or don’t visit nonreputable sites.
It’s also a handy cop-out for lazy software devs that prefer blaming user errors for their own incompetencies and poor design skills.
Y’all are pathetic for having nothing new but security stuff.
Physician, heal thy self.
You, sir, are an inexcusable waste of man-hours. Your posts go way beyond off-topic, and they’re usually nonsensical and ridiculous. I won’t even waste mod points on you.
Good luck getting anyone to use your precious OS with your attitude. Security is an inexcusably waste of man-hours… give me a break.
“delusional” is what shrinks call the spiritual
philosophers call it “ideal” as opposed to “material”
spiritual people talk of the corpreal and incorpreal.
for an understanding of the spiritual realm, watch the movie american beauty with the scene where the guy sees a drug deal and thinks it’s a homosexual act.
Consider yourselves more enlightened, though, I doubt you appreciate what I’m telling you.
I’ve always had root priviledge on machines and when I used unix I was always stumbling due to file permissions. At that job, they needed security, but I can’t imagine a home user wanting security. I said security is not need on home computers. Please tell me why a home computer user would want security?
A relatively on-topic post from you! I’ll bite.
Why would a home user want security? Well, first off, “security” isn’t something that a home user can buy and install. It is a process. Sure, a good deal of it is in the software’s default settings (for the casual home user). But it is really a process of using a proper setup (administrator/root permissions denied for casual use, disabling services that may be enabled and unused, etc.). It also means keeping up with updates and patches (most of these are automatic) and user & admin education. For home users, this is quite often the same person, and being a little bit knowledgeable in administering a PC goes an awful long way!
The consequences for home users not having “security”? Well, we have seen it over and over again when malware spreads and people who don’t take even the basic precautions are caught by surprise.
And this affects other users as well. The malware trend these days isn’t like the early 90’s, where it wiped files and drives. There is money in zombies and spamming. The new stuff tends to clog up the inbox of everyone else out there.
And this is why “security” is good.
For average to below average users, security makes sense. But, I think back-ups need to be emphasized–nothing eliminates the need for backups when hard disks can crash. I think every computer owner should do a firedrill where they format and reinstall. It gives peace of mind. If you back-up your data, you have nothing to fear. It’s sad that user data is not kept isolated and terrible that many people back-up whole drives when their own data is only a few meg.
I tend to think people who get malware deserve it–it’s like sexually transmitted diseases.
UML is the equivalentof Microsoft VirtualPC in the MS world. Because UML just sits on top of the operating system, the performance is very bad. Good luck running a single instance on it, let alone multiple. UML is definitely not for production use and will certainly never be. Running multiple operating systems all in user mode was a bad idea and will always remain this way. If you want better results, go with OpenVZ or VServer.
IMO, the real advanatage of any virtualization technology is the ability to run a different OS under the host. Running Windows apps while Linux is hosting or running Linux apps when Windows is hosting are valuable capabilities. But if I’m already running Linux, I don’t see much advantage in being able to run an application in Linux under Linux.
you are missing the point now. you want to run multiple instance of linux to test diff distros, build virtual networks, test different version of software, debug a kernel…