This software had been upgrade on new version, you should take a look here

History

During my studies, I installed an VMWare on an old PC to keep me update about how to use, install and manage tools, programs…as an own lab. The problem was that it took a lot of time to build a server, and use resources for only testing an installation or a soft for few days.

That’s why some years ago, I moved everything to Proxmox, which enable to create fast disposables containers.

The problem with a Lab, is that step by step, I kept software (mails, webservers, domotics…) and finally, the lab turn into Production, and it starts to be more and more difficult to play as a Lab when you fear to destroy everything.

The main issue with hypervisor is that you have to dedicate your server to play this role. That why I decide to create my own hypervisor.

Brainstorming

I start to list what was needed for me :

  • The possibility to create VMs
  • The possibility to create Containers
  • Not to be linked to hadware
  • The possibility to do snapshot to revert quickly
  • A short monitoring and logs view
  • A terminal to install and configure new server/containers
  • A web management, to be accessible from everywhere)
  • As light as possible to be install on every PC even a container

And the list of what was not needed to me :

  • No Windows OS compliance (I don’t use Windows VM because it uses too much ressources for me)
  • No Cluster need, it’s only for testing or Lab
  • No VNC or grafical view, it consumes ressources and not use for 99% of my usage.

Libvirt, Qemu and LXC

After searching on internet, I found Libvirt, which seems to be the library use by most virtualization tool. And (nice point for me) can me manage using python ! I start to look around, and I found that LXC and Qemu (also use by Proxmox) are manageable by Libvirt !

So, I could start somewhere, I will use python and Libvirt and use Qemu and LXC to manage the servers/containers.

For the interface, my choice turn directly to Flask. I tried Django and Flask, but for me Django is too much. Useful if you plan to do an API, interact with a lot of libraries…etc., but I wanted to keep as light and simple as possible and Flask seems more in agreement with this idea.

By chance, Libvirt is well documented :

https://libvirt-python.readthedocs.io/

And Flask have a lot of nice libraries to fast code some graphical or option (pam auth, menu…)

So step by step, I could do my tool:

Quick view on VM/Containers state
Build page to create VM/Containers and ISOs

For the moment I could do a version which I personally find enough, but may be involved it if my needs increase.

You can find my sources here :

https://git.nerkdesign.com/pporcheret/Hype

Please check : https://github.com/pyhype2/Hype2

Catégories : ComputerLinuxPython

0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *