6 ms·
Except when you need snapshotting, live-migration, or have a highly disparate set of underlying OS requirements. The author of the article explicitly says, "Th
by diminoten 13y ago
Except when you need snapshotting, live-migration, or have a highly disparate set of underlying OS requirements.
The author of the article explicitly says, "This isn't to say that they're going to replace virtual machines." and I agree - there's no point in pretending like they're solving all of the same problems. I guess you could say that containers are an optimization of some use cases of VMs.
- gaius 13y agoBut that's simply not true. 20 years ago you could live migrate processes around a VAXcluster with nary a VM in sight.
- wmf 13y agoBut since history does not necessarily flow in one direction, today you need a hypervisor (or experiment with CRIU) to do live migration.
- ghaff 13y agoAlmost. Although I don't remember the details, IBM has Live Partition Mobility for WPARs on AIX. They were looking for differentiation from Solaris Containers at the time and bought a startup called Meiosys, which had some tech which helped them add live migration to WPARs.
- wmf 13y agoHeh. Even though I work for IBM I wouldn't bother mentioning AIX on HN; it simply doesn't exist inside the echo chamber.
- pigs 13y agoYou actually have to buy an add-on called WPAR Manager[1] to enable live mobility; it's not available in baseline AIX. They have been shipping this tech for several years now. Disclaimer: I was on the WPAR Manager dev team for several releases. [1] http://www-03.ibm.com/systems/power/software/aix/sysmgmt/wpar/ http://www-03.ibm.com/systems/power/software/aix/sysmgmt/wpa...
- memracom 13y agoAnd people in the academic world have implemented live migration for just plain Linux processes as well. But when you migrate at that level you run into issues with things like open files and open sockets that are not easy to solve. LXC is mainly a way to manage multifunction servers in a clean way, and Docker is a nice tool to help you leverage LXC without having to learn all the details. The nicest thing about Docker is that a developer on Windows could set up a VirtualBox VM with Linux, run all the same Docker Scripts as the production server, and have a reasonable facsimile of production to do testing.
- ErsatzVerkehr 13y agoHere's an example of process migration implemented in Linux: http://en.wikipedia.org/wiki/MOSIX http://en.wikipedia.org/wiki/MOSIX
- kev009 13y agoOS level virt can easily do the first two. The third is harder due to a common kernel. But FreeBSD for instance can run CentOS 6 with the Linuxulator. I believe Solaris has similar feature called "branded zones".
- justincormack 13y agoBranded zones do not run Linux any more and emulation was never complete. Nor is the FreeBSD emulation complete.
- justincormack 13y agoLive migration from a container is pretty close to working (ie works if you are careful). Linux live migration is not whole-kernel it is per resource so you can migrate just a containers resource. I still do not understand the use case of live migration though...
- diminoten 13y agoThere's a vicious pack of wolves roaming one floor of the server complex.
- travem 13y agoThe main use case is doing maintenance on the host machine without incurring planned downtime. E.g. You may have multiple VMs running applications like sharepoint, exchange, zimbra, or whatever, all on a host. You want to perform some planned maintenance on the host, e.g. update the firmware, add memory, upgrade the hypervisor, etc. You place the host in maintenance mode and the VMs are migrated off the host onto another one within the cluster without having to resort to planned downtime.
- cbsmith 13y agoActually, I've been doing live-migration & snapshotting with OpenVZ for years. Really, the only reason to use virtual machines is if you truly need different OS kernels.