Slashdot Mirror


Virtualization Is Not All Roses

An anonymous reader writes "Vendors and magazines are all over virtualization like a rash, like it is the Saviour for IT-kind. Not always, writes analyst Andi Mann in Computerworld." I've found that when it works, it's really cool, but it does add a layer of complexity that wasn't there before. Then again, having a disk image be a 'machine' is amazingly useful sometimes.

25 of 214 comments (clear)

  1. Yawn by dreamchaser · · Score: 5, Insightful

    This is the exact same pattern that almost every computing technology follows. First the lemmings all rush to sound smart by touting it's benefits. Soon it is the be all and end all in "everyone's" mind. Then the honeymoon fades and people realise it's a useful tool, and toss it into the chest with all the other useful tools to be used where it makes sense.

    1. Re:Yawn by WinterSolstice · · Score: 5, Informative

      Yes - we have quite a bit that we just put in here at my shop.

      Virtualization good: Webservers, middle tier stuff, etc.
      Virtualization bad: DBs, memory intensive, CPU intensive.

      Biggest issue? "Surprise" systems. You might see a system and notice a "reasonable" load average, then find out once it's on a VM that it was a really horrible candidate because it has huge memory, disk, CPU, or network spikes. VMWare especially seems to hate disk spikes.

      What we learned is it's the not the average as much as the high-water-marks that really matter. A system that's quiet 99.99% of the time, but spikes to 100% for 60 seconds here or there can be nasty.

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    2. Re:Yawn by Anonymous Coward · · Score: 4, Informative

      First time I've ever posted anon...

      A vendor just convinced management to move all of our webhosting stuff over to a Xen virtualized environment (we're a development firm that hosts out clients) a few weeks before I hired in. No one here understands how its configured or how it works and this is the first implementation that this vendor has performed, but management believes that they walk on water. No other tech shops in the area have even the slightest bit of expertise with it. So guess what now? Come hell or high water, we can't afford to drop these guys no matter how bad they might screw up.

      Who ever claims that open-source is the panacea to vendor lock-in is smoking crack. Open source gives companies enough "free" rope to hang themselves with if it isn't implemented smartly. Virtualiztion is no different.

    3. Re:Yawn by vanyel · · Score: 4, Insightful

      Virtualization good: Webservers, middle tier stuff, etc.
      Virtualization bad: DBs, memory intensive, CPU intensive.


      We're starting to do the same. It looks the articles basically says "managing them is more complex, and you can overload the host". Well duh! They're no harder to manage (or not much) than that many physical machines, but it does make it a lot easier (cheaper!) to create new ones. And you don't virtualize a machine that's already using 50% of a real system. Or even 25%. Most of ours sit at 1% though. Modern processors are way overkill for most things they're being used for.

    4. Re:Yawn by WinterSolstice · · Score: 5, Informative

      "Modern processors are way overkill for most things they're being used for."

      Right - except like I said - watch those spikes. We took a system that according to our monitoring sat at essentially 0-1% used (load average: 0.01, 0.02, 0.01) and put it on a virtual. Great idea, right?

      Except for the fact that once a day it runs a report that seems fairly harmless but caused the filesystem to go Read Only due to a VMWare bug. The report lasts only about 2 minutes, but it hammers the disk in apparently just the right way.

      It's the spikes you have to be careful of. Just look for your high-water-marks. If the box spikes to 90% or 100% (though the load average doesn't reflect it) it will have some issues.

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    5. Re:Yawn by cbreaker · · Score: 4, Informative

      Your bug comment is kinda moot - it's not a normal problem with virtualization.

      We have over 120 VM's running on seven hosts with VI3. Most of them, as you can imagine, are not high work-load (although we do have four Terminal Servers handling about 300 terminals total) but sometimes they are, and we've really not had any issues.

      It depends on what you're doing, really. Saying you WILL have problems is any situation isn't really valid.

      --
      - It's not the Macs I hate. It's Digg users. -
    6. Re:Yawn by OldeTimeGeek · · Score: 3, Funny

      Has to work better than what I've tried. Besides, if I say I read it on Slashdot, they gotta submit to my advanced research skillz...

    7. Re:Yawn by afidel · · Score: 3, Interesting

      Well, our Oracle servers are DL585's with four dual core cpu's, 32GB of ram, dual HBA's backed by an 112 disk SAN and they regularly max out both HBA's, trying to run that kind of load on a VM just doesn't make sense with the I/O latency and throughput degradation that I've seen with VMWare. I know I'm not the only one as I have seen this advice from a number of top professionals that I know and respect. If you have a lightly loaded SQL server or some AD controllers handling a small number of users then they might be good candidates, but any server that is I/O bound and/or spends a significant percentage of the day busy is probably the lowest priority to try to virtualize. You can probably get 99+% of the benefit of virtualization from the other 80-90% of your servers that are likely good candidates.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    8. Re:Yawn by WinterSolstice · · Score: 3, Informative

      That's obviously just an example - uptime doesn't provide high-water marks, etc

      Ahh, slashdot. People just *love* to split hairs :D

      Ok, last time I'm saying this:
      BE CAREFUL. Not every system is an ideal candidate for virtualization, and even the ones that seem perfect at first glance can fail. Don't rely on only "overview" metrics. Do thorough inspection, and make sure you load test.

      VMs rule, but there are gotchas and bugs that can be showstoppers. Just cause someone else has 300 servers running via virtualization doesn't mean you can :D

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    9. Re:Yawn by ergo98 · · Score: 4, Insightful

      I know I'm not the only one as I have seen this advice from a number of top professionals that I know and respect.

      Indeed, it has become a bit of a unqualified, blanket meme: "Don't put database servers on virtual machines!" we hear. I heard it just yesterday from an outsourced hardware rep for crying out loud (they were trying to display that they "get" virtualization).

      Ultimately, however, it's one of those easy bits of "wisdom" that people parrot because it's cheap advice, and it buys some easy credibility.

      Unqualified, however, the statement is complete and utter nonsense. It is absolutely meaningless (just because something can superficially get called a "database" says absolutely nothing about what usage it sees, its disk access patterns, CPU and network needs, what it is bound by, etc).

      An accurate rule would be "a machine that saturates one of the resources of a given piece of hardware is not a good candidate to be virtualized on that same piece of hardware" (e.g. your aforementioned database server). That really isn't rocket science, and I think it's obvious to everyone. It also doesn't rely upon some meaningless simplification of application roles.

      Note that all of the above is speaking more towards the industry generalization, and not towards you. Indeed, you clarified it more specifically later on.
    10. Re:Yawn by rhaas · · Score: 5, Funny

      If you're blind, then why do you care about the light switch in the first place?

    11. Re:Yawn by giminy · · Score: 5, Informative

      We took a system that according to our monitoring sat at essentially 0-1% used (load average: 0.01, 0.02, 0.01) and put it on a virtual.

      Load average is a bad way of looking at machine utilization. Load average is the average number of processes on the run queue over the last 1,5,15 minutes. Programs running exclusively I/O will be on the sleep queue while the kernel does i/o stuff, giving you a load average of near-zero even though your machine is busy scrambling for files on disk or waiting for network data. Likewise, a program that consists entirely of NOOPs will give you a load average of one (+1 per each additional instance) even if its nice value is all the way up and it is quite interruptable/is really putting zero strain on your system.

      Before deciding that a machine is virtualizable, don't just look at load average. Run a real monitoring utility and look at iowait times, etc.

      Reid

      --
      The Right Reverend K. Reid Wightman,
  2. Is this for real? by Marton · · Score: 4, Insightful

    One of the most uninformative articles ever to hit Slashdot.

    "Oh, so now more apps will be competing for that single HW NIC?" Wow. Computerworld, insightful as ever.

  3. Testing PXE terminals by Anonymous Coward · · Score: 3, Interesting

    I've found that VMware is incredibly useful for testing network booting (PXE) systems. I rolled my own custom Damn Small Linux for PXE booting on our thin client workstations. VMware was great for testing purposes. Everybody loves DSL too, they can listen to streaming audio and MP3s while they work too, since I included mplayer and Flash in Firefox. NX and FreeNX to connect to our terminal server.

  4. Virtualization by DesertBlade · · Score: 5, Interesting

    Good story, but I disagree in some areas.

    Bandwidth concerns. You can have more than one NIC installed on the server and have it dedicated to each virtual machine.

    Downtime: If you need to do maintance on the host that may be a slight issue, but I hardly ever have to anything to the host. Also if the host is dying, you can shut donw the Virtual machine and copy it to another server (or move the drive) and bring it up fairly quickly. You also have cluster capability with virtualization.

    --
    Half of writing history is hiding the truth.
  5. Disk contention is the big shortcoming by pyite69 · · Score: 3, Informative

    It is great for replacing things like DNS servers that are mostly CPU. However, don't try running two busy database machines on the same disk - you can't divide it up nearly as well as CPU or bandwidth use.

    Also, make sure to try OpenVZ before you try Xen. If you are virtualizing all Linux machines, then VZ is IMO a better choice.

  6. why are we reading this garbage? by philo_enyce · · Score: 5, Insightful
    to sum up tfa: poor planning and execution are the cause of problems.

    how about an article that makes some recommendations on how to mitigate the problems they identify with virtualization, or point out some non obvious issues?

    philo

  7. excess power by fermion · · Score: 3, Insightful
    I see virtualization as a means to use the excess cycles in the modern microsprocessors. Like over aggressive GUI and DRM, it creates a need for the ever more expensive and complex processors. I am continuously amazed that while I can run most everything I have on a sub GHZ machine, everyone is clamoring about the need for 3 and 4 GHZ machines. And though my main machine runs at over a GHZ, it still falters at decoding DRM compressed Video, even though a DVD plays fine on my 500 MHZ machine.

    But it still is useful. Like terminals hooked up to big mainframes, it may make sense to run multiple virtual machines off a single server, or even have the same OS run for the same user in different spaces on a single machine. We have been heading to this point for a while, and now that we have the power, it makes little sense not to use it.

    The next thing I am waiting for are very cheap machines, say $150, with no moving parts, only network drivers, that will link to a remote server.

    --
    "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
  8. We're about 95% virtualized and never going back! by Anonymous Coward · · Score: 3, Interesting

    The absolute only place it has not been appropriate are locations requiring high amounts of disk IO. It has been a godsend everywhere else. All of our web servers, application servers, support servers, management servers, blah blah blah. It's all virtual now. Approximately 175 servers are now virtual. The rest are huge SQL Server/Oracle systems.

    License controls are fine. All the major players support flexible VM licensing. The only people that bark about change control are those who simply don't understand virtual infrastructure and a good sit-down solved that issue. "Compliance" has not been an issue for us at all. As far as politics are concerned -- if they can't keep up with the future, then they should get out of IT.

    FYI: We run VMware ESX on HP hardware (DL585 servers) connected to an EMC Clariion SAN.

  9. Re:He must be talking about freeware by Semireg · · Score: 5, Informative

    I'm certified for both VMware ESX 2.5 and VMware VI3. VMware's best practices are to never use a single path, whether it be for NIC or FC HBA (storage). VMware also has Virtual Switches, which not only allows you to team NICs for load balancing and failover, but also use port groups (VLANs). You can then view pretty throughput graphs for either physical NICs or virtual adapters. It's crazy amazing(TM).

    As for "putting many workloads on a box and uptime," this writer should really take a look at VMware VI3 and Vmotion. Not only can you migrate a running VM without downtime, you can "enter maintenance mode" on a physical host, and using DRS (distributed resource scheduler) it will automatically migrate the VMs to hosts and achieve a load balance between CPU/Memory. It's crazy amazing(TM).

    Lastly, just to toot a bit of the virtualization horn... VMware's HA will automatically restart your VMs on other physical hosts in your HA cluster. It's not unusual for a Win2k3 VM to boot in under 20 seconds (VMware's BIOS posts in about .5 seconds compared to an IBM xSeries 3850 which takes 6 minutes). Oh, and there is the whole snapshotting feature, memory and disk, which allows for point in time recovery on any host. Yea... downsides indeed.

    Virtualization is Sysadmin Utopia. -- cvl, a Virtualization Consultant

  10. Re:Question: Do cards have to support it? by db32 · · Score: 3, Informative

    From what I have seen and experienced the VM video card is the issue. The virtual machine uses the virtual hardware drivers so the actual hardware is largely irrelevant so long as the host OS can handle it. In a desparate attempt to get FFXI installed on my linux machine I resorted to attempting to use VMware only to find out that VMware does not support any kind of 3d accel stuff (again, virtual hardware vs real hardware).

    --
    The only change I can believe in is what I find in my couch cushions.
  11. Virtualization != x86 by HockeyPuck · · Score: 4, Insightful

    Why is it all of a sudden whenever someone says "Virtualization" they imply that it must be Vmware/Xen/windows/x86 platform.

    It's not like these issues haven't existed on other platforms. Mainframes, mini's (as400), Unix (aix/solaris/hpux), heck we've had it on non-computer platforms (VLANs anyone...).

    And yes using partitions/LPARs on those platforms required *GASP* planning, but in the age of "click once to install DB and build website" aka "Instant gratification" we refuse to do any actual work prior to installing, downloading, deploying...

    How about a few articles comparing AIX/HPUX/Solaris partitions to x86 solutions...

  12. Author is completely uninformed by LodCrappo · · Score: 4, Insightful
    Increased uptime requirements arise when enterprises stack multiple workloads onto a single server, making it even more essential to keep the server running. "The entire environment becomes as critical as the most critical application running on it," Mann explains. "It is also more difficult to schedule downtime for maintenance, because you need to find a window that's acceptable for all workloads, so uptime requirements become much higher."

    No, no, no. First of all, in a real enterprise type solution (something this author seems unfamiliar with) the entire environment is redundant. "the" server? You don't run anything on "the" server, you run it on a server and you just move the virtual machine(s) to another server as needed when there is a problem or maintenance is needed. It is actually very easy to deal with hardware failures.. you don't ever have to schedule downtime, you just move the VMs, fix the broken node, and move on. For software maintenance you just snapshot the image, do your updates, and if they don't work out, you're back online in no time.

    In a physical server environment, each application runs on a separate box with a dedicated network interface card (NIC), Mann explains. But in a virtual environment, multiple workloads share a single NIC, and possibly one router or switch as well.

    Uh... well maybe you would just install more nics? It seems the "expert" quoted in this article has played around with some workstation level product and has no idea how enterprise level solutions actually work.

    The only valid point I find in this whole article is the mention of additional training and support costs. These can be significant, but the flexibility and reliability of the virtualized environment is very often well worth the cost.

    --
    -Lod
  13. He must. ESX set up properly avoids most pitfalls by cbreaker · · Score: 4, Insightful

    Indeed. If you have a proper ESX configuration: At least two hosts, SAN back-end, multiple NIC's, supported hardware - you'll find that almost none of the points are valid.

    Teaming, hot-migrations, resource management, and lots of other great tools make modern x86 virtualization really enterprise caliber.

    I think that the people that see it as a toy are people that have never used virtualization in the context of a large environment, being used properly with proper hardware. You can virtualize almost any server if you plan properly for it.

    In the end, by going virtual you end up actually removing so much complexity from your systems that you'll never know how you did it before. No longer does each server have it's own drivers, quirks, OpenManage/hardware monitor, etc etc. You can create a new VM from a template in 5 minutes, ready to go. You can clone a server in minutes. You can snapshot the disks (and RAM, in ESX3) and you can migrate them to new hardware without bringing them down. You can create scheduled copies of production servers for your test environment. So much more simple then all-hardware.

    I'll admit that you shouldn't use virtual servers for everything (yet) but you will eventually be able to run everything virtual, so it's best to get used to it now.

    --
    - It's not the Macs I hate. It's Digg users. -
  14. This is FUD by fyngyrz · · Score: 5, Insightful
    ...virtualization's problems can include cost accounting (measurement, allocation, license compliance); human issues (politics, skills, training); vendor support (lack of license flexibility); management complexity; security (new threats and penetrations, lack of controls); and image and license proliferation.

    Examine that quote from the article closely. See anything there that indicates virtualization "doesn't work"? No, nor do I. What they are talking about here has nothing to do with how well virtualization works, what they're complaining about is that a particular tool requires competence to use well in various work environments. Well, no one ever said that virtualization would gift brains to some middle level manager, or teach anyone how to use an office suite, or imbue morals and ethics into those who would steal; virtualization lets you run an operating system in a sandbox, sometimes under another operating system entirely. And it does that perfectly well, or in other words, it works very well indeed. I call FUD.

    --
    I've fallen off your lawn, and I can't get up.