I just bought a SheevaPlug-PC, with the following specification:

CPU: 1.2 GHz ARM Marvell Kirkwood 88F6281
Storage capacity: External hard drive/SDIO card/flash disk
Memory: 512MB SDRAM, 512MB Flash
Connectivity: USB 2.0,SD,Gigabit Network,JTAG mini USB
Operating System: Ubuntu Linux

Now i want to install some services (Apache Web Server, Rails, maybe even Tomcat, but maybe the memory will be insufficient).

As i want to be able to later migrate the services to a bigger server, i wonder if it would make sense to install those services into a Virtual Machine, which i can easily copy, so i don't have to reconfigure everything on a new server.

Will this make sense for a small CPU and little Ram of 512MB? And if yes, which virtualization solution would you suggest, it should take as few memory as possible (only a really thin layer)? Which linux distribution would make sense for the host and which for the guest?


I'm going to have to disagree here...

The fact that the ARM has no virtualization technology is not an argument at all. Xen and OpenVZ do not need processor virtualization extensions.

If it makes sense is not so much a question of hardware but of software. In your setup, I would recommend OpenVZ which will create specific environments for each of your services. I'm 99.9% sure Xen will run on it as well but it will be much slower.

So, I think it can make sense if you use efficient virtualization software (of which VMWare and Hyper-V are obviously excluded).

Will it be blazing fast ? No definently not but it will work.

In a more-or-less similar context, I once setup a Sempron LE 1.8Ghz system with 2GB of RAM. With Xen, we had 7 Debian Lenny VM running and it ran fine. Obviously, you can't do that with VMWare but that doesn't mean you can't do it at all.

EDIT : Puppet is just automation software. OpenVZ/Xen provide isolation of your services and ressource allocation algorithms to make sure each "box" has a fair share of ressources. With puppet, ressource allocation would be taken care of by regular kernel. OpenVZ/Xen would keep any software conflict from happening (because of the isolation) but with Puppet you're on your own. So we are looking at two very different things.

| improve this answer | |
  • +1 for OpenVZ. Container-based virtualization is too often overlooked, IMO. – Steven Monday Nov 18 '10 at 15:31
  • Ok, OpenVZ sounds interesting, too. Could any one give me some pros and cons for OpenVZ versus Puppet, for my use case? – Ingo Fischer Nov 18 '10 at 16:10
  • Edited according to your comment. – Antoine Benkemoun Nov 18 '10 at 16:13
  • Thanks for your explanation! But hmmm there is no official port of Openvz to ARM :( So ill surely have to deal with some bugs and issues here. So ill think about giving up separation of the services, and just have a "portable configuration" through Puppet – Ingo Fischer Nov 18 '10 at 16:30
  • Xen will work on ARM if you want to try it out. – Antoine Benkemoun Nov 18 '10 at 16:31

Ah - in one simple word: no. No sense.

| improve this answer | |

Nope. No sense whatsoever. The ARM almost certainly lacks any kind of Virtualisation technology, so it'll be dog slow.
If you're honestly concerned about migrating the servers off the device, then I suggest you build your configuration with Puppet. That'll make building another one trivially simple.

| improve this answer | |
  • ok, very good advice. I already planned to learn puppet, so maybe this will also be a good project to learn it. – Ingo Fischer Nov 18 '10 at 11:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.