To virtualize or not to virtualize …

Seeing everyone becoming crazy about virtualization latest years, especially for some months, my « technician » point of view is completely amazed by the fundamental nonsense everyone puts in this.

Major companies are virtualizing almost all their servers and even smaller companies ask us now to help them virtualize their IT infrastructure.

I must admit, even if I use virtualized machines everyday and have been quite informed in this matter for some years that I still cannot understand the actual buzz about it.

Hey guys, it’s a technology, nothing more, nothing less !

As with any technology, especially a new one, we must provide use cases, pros and cons, and balance the usage we make out of it.

In magazines and some self-called « specialized » IT shows or blogs, everyone seems crazy with virtualization, being the remedy of all IT problems. Remember the green powder from IBM ? It seems to have come true !

More seriously, what virtualization really is ? Only a mean to abstract the hardware part of a computer (especially a server) and run a complete OS on top of it (or many OSes nowadays). It involves very complex and yet insecure mechanisms to achieve this goal and consumes a lot of computing power, even when hardware accelerated, to get everything running « almost fine ».

But, the main reasons I decided to write this article where :

  • a so-called « IT Magazine » (in France we have many that spit completely useless assumptions about what an IT infrastructure should be and deserves us rather that anything else) that was pretending the new trend to be « desktop virtualization », what a nonsense ! (I will explain later) Everything « virtualized » seem to make them sell better, what a mess …
  • seing many companies, even customers, trying to virtualize services on many instances of the same OS (in this case Linux !) on underpowered machines and getting catastrophic results, so low that they had to go back completely on « traditional » hardware powered single OS per machine.

People should think before they do, we always say that, but in this case it does apply very well.

Of course, you get less power by virtualizing many instances of a same OS rather than executing this OS only once ! Usually the performance loss is not negligible even if acceptable. Virtualizing many Linux instances on a Linux host is a complete mess for me. This particular OS has great abilities to isolate (chroot) environments, make safe protections and even live audit the running kernel to enforce policies on processes and filesystems. It’s technically completely useless to run many Linux instances on a Linux host !

But when thinking about it, the main problem with this approach is that we are transferring the complexities of managing correctly, with care, good knowledge and intelligent conception and communication between the developing team and the production team, to products that are much more complex but promise to be really easy to manage…

It appears as if most IT teams have much lowered their expectations for the team members and are trying to compensate with technologies to try hiding the fact that they member don’t exactly understand well what happens for example on a Linux kernel…

Don’t misunderstand me, I am a great fan of virtualization, we use it, on purpose, for tasks or applications that really need it. In fact it’s proven to be very useful to test OS configurations, start and stop (and restart) machines for OS or network tests very quickly, host a different OS for specific purposes, or even virtualize customers’ parts of infrastructure to make a test environment in almost the same conditions.

Hardware has never been cheaper and powerful, 8 to 12 cores processors are emerging at affordable prices on the market now, why not simply buy a computer (server) each time you need a different OS instance ? Even data-centers use now very small servers to be space efficient, but still use a full computer to host OS and services. If you saw news about the « SheevaPlug », you have seen an impressive computer with an exceptional size/power/consumption ratio. Having less hardware won’t even cost you less licenses ! (for those who still use inferior OSes with expensive license fees, even when not needed…)

Virtualizing the desktop part of an IT infrastructure is even funnier. I first thought it was a joke ! In fact it seems we’re coming back to the terminal paradigm. IT managers don’t want to spend time on making useful, adapted and efficient configurations and manage hardware differences, they want everything to be uniform, uniformly accessible … Why don’t you even ask people to be all the same : same sex, same color, and so on ? Terminals have always used the least efficient denominator of network and servers capabilities, because as always, if you still have low end old machines, everyone else should be compatible with them (complete waste of resources…)

Anyway, I know you readers are not going to stop virtualizing everything (why not virtualize the OS on your Phone then ?) but please, please, pay more attention to what really needs virtualization (and brings real and important benefits) and what should continue to work on always cheaper, smaller, and power-efficient hardware.

I didn’t write about the risks, that are obviously much more important with less servers doing more « work » since I didn’t want this article to be even longer, you can easily conclude about what I think of this, especially when a strong demand goes now about being more redundant, more secure, and more fail-safe…  « Don’t put all your eggs in the same basket » says the idiom, even in French !

Layer break for DVD+R DL with growisofs / dvd+rw-tools

I’ve started recently to play around with DVD+R DL because they start becoming cheaper and some applications really need them 🙂

I was very surprised that the current version of growisofs / dvd+rw-tools (7.1) advertises layer break position setting support but in reality I couldn’t get it to break where I want.

Looking at the code (especially from growisofs_mmc.cpp) I found very strange that the « -use-the-force-luke=break:NNNN » option wasn’t really used either in calculations or cuesheet sending.

Investigating a little bit more in the code I produced the following patch that I have sent upstream to get it included somehow in the next version.

It allows a user (who should be careful of what it does 🙂 ) to manually force a layer break position for DVD+R DL burning. (For those of you who haven’t had this problem yet please notice that : DVD-R DL (minus) DO NOT allow layer position to be changed, that said you should know what to do … only DVD+R DL (plus) allow that)

For this patch to work you have to specify « -dvd-compat » on the command line, otherwise the cuesheet sending code is not called (I didn’t understand exactly why…) and the layer break wouldn’t be set …

In any case the output of growisofs command should tell you where the layer break is going to be set.

I’ve tested it succesfully for a dozen of DL burns with or without layer break so it should be safe enough (the patch is not very intrusive anyways ; I also tested without the option to see if the normal behavior was preserved…)

Use it this way :

growisofs -dvd-compat [your other options here] -use-the-force-luke=break:XXXX [where XXXX is the layer break in sectors] -Z /dev/[your device]=[image.iso]

for example 🙂 :

growisofs -dvd-compat -use-the-force-luke=break:2084960 -use-the-force-luke=dao -Z /dev/sr0=/home/johndoe/m.iso

note the dao option usage that will close the session, otherwise the disc would remain « open » if it’s not full and depending on what you burn you’d really want to close the session trust me 🙂

Have an happy dual layer with positionned break burning !

Attachment : dvd+rw-tools-7.1-layerbreaksetup.patch

Note: use a command similar to apply (change to -p 1 depending on where you are) :

patch -p 0 < dvdrw-tools-7.1-layerbreaksetup.patch