There is a lot of options now exist about how to get virtual machine running. That including oldschool VMWare or VirtualBox VM setup.
More modern way is to use Vagrant or Docker. that is not just virtualisation, but also catalogs of OS/software that might be started in couple of clicks.
It is also not a problem now to create own small cloud with bunch of virtual machines that may run continously, be enlarged or shrinked if needed. easily stoped and destroyed and created again. Something like AWS EC2 but at home. One of such solution is DevStack on single PC. It is not as relible as as commercial public clouds (GCP or AWS), but for some personal testing purposes is good enough.
PC might be some power eficient and quiet like Intel NUC or Gigabyte BRIX.
How to get the personal cloud up and running.
- Get PC.
- Install Linux. (Ubuntu 14.04.4 LTS for example)
- Install DevStack
- Configure DevStack and start Vms
so running commands as described at http://docs.openstack.org/developer/devstack/guides/single-machine.html we got running cloud in about 15 minutes
======================== DevStack Components Timed ======================== run_process - 46 secs apt-get-update - 7 secs pip_install - 420 secs restart_apache_server - 10 secs wait_for_service - 10 secs git_timed - 147 secs apt-get - 121 secs This is your host IP address: 10.0.0.254 This is your host IPv6 address: ::1 Horizon is now available at http://10.0.0.254/dashboard Keystone is serving at http://10.0.0.254:5000/ The default users are: admin and demo The password: ******
With some predefined project, OS images
and VM shapes
that can be added, extended, removed easily.
Something I would do before devstack setup is switch to eth0 like interface name and setup static IP in ubuntu
sudo vim /etc/network/interfaces
# The primary network interface #auto p3p1 #iface p3p1 inet dhcp auto eth0 iface eth0 inet static address 10.0.0.254 netmask 255.255.255.0 gateway 10.0.0.1 dns-search local dns-nameservers 10.0.0.1 10.0.0.2
sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX="net.ifnames=1 biosdevname=0"
update-grub reboot
Details on how to setup soon on WIKI ..