New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Should I use libvirt or just kvm cli tool for my future VPS hosting platform?
erhwegesrgsr
Member
Hi there,
So my idea is to have one central control panel.
All the VPS nodes will have local IPs for extra security, only one node will be able to talk to the nodes.
So I need to think of the best way to access the nodes from the central control panel, options:
- Reverse SSH tunnel
- SSH dynamic SOCKS proxy
- Run the libvirt commands in a shell
How I would talk to the VPS nodes:
- Use the libvirt daemon using node.js ( https://github.com/c4milo/node-libvirt )
- Use CLI commands/tools on the VPS node
Regards.
Comments
yuck
So what do you honestly think libvirt with SSH option enabled does?
Look for "qemu+ssh://system" in the manpages ;-)
libvirt is pretty bad too - if you don't want to manage the backend, take a look at openstack and build around it (though libvirt is used in some places)
I think you're going to save yourself alot of headache if you don't have to worry about the hypervisor- heck, onapp is pretty cheap and has a robust api.
If you had to go that way, python bindings/setup async services/message q handle the hypervisors, but i'd really think 10 times about doing it because it's likely to save you sleepless nights in the long right.
(Maybe i'm thinking you're doing something much more complex, if you're just doing basic builds/management then libvirt will do that will enough)
Not really, paying per core makes me want to kill myself...
It will be a really basic VPS unmanaged platform.
I am a very experienced programmer so I just want to save myself some pain in the ass when I eventually need to switch for some reason
Libvirt is multiplatform when it's about supported virtualizations.
Appears that libvirt does EXACTLY this
Thanks for any input.
Be aware that libvirt has absolutely abysmal support for OpenVZ, if you ever plan on using it.
OpenVZ is a complete platform
For KVM, definitely use libvirt. States, autostart, performance metrics, etc. all available for free! As said above, OVZ support in libvirt is sketchy at best.
There is no harm calling virsh over SSH - roll a daemon if you want but remember you will have to stick encryption, authentication, etc in front of it. SSH gives you this for free, and virsh returns standard exit codes. You also have one less long-running process you have to monitor/manage.
Depending on your setup/complexity, I'd say using the libvirt bindings are optional. I didn't care for the Ruby bindings when I developed mine, so I didn't use them!
Updated OP.
someone made a version for node.js, I would rather use that.
Will look into that tunnel thing
EDIT:
A VPN (TUN/TAP or PPP) could do the job too I guess instead of tunnels
A VPN IS a tunnel, if you weren't aware :P
@Wintereise
meant single port SSH tunnels