All Projects → mzch → vmmaestro

mzch / vmmaestro

Licence: MIT license
Tiny control wrapper for KVM

Programming Languages

shell
77523 projects

Labels

Projects that are alternatives of or similar to vmmaestro

Virtlyst
Web interface to manage virtual machines with libvirt
Stars: ✭ 167 (+438.71%)
Mutual labels:  kvm
Pikvm
Open and cheap DIY IP-KVM based on Raspberry Pi
Stars: ✭ 3,950 (+12641.94%)
Mutual labels:  kvm
vagrant-travisci-libvrt
Example project showing how to run Vagrant on TravisCI using libvrt & KVM
Stars: ✭ 25 (-19.35%)
Mutual labels:  kvm
Runtime
Kata Containers version 1.x runtime (for version 2.x see https://github.com/kata-containers/kata-containers).
Stars: ✭ 2,103 (+6683.87%)
Mutual labels:  kvm
Linux Unattended Installation
This project provides all you need to create an unattended installation of a minimal setup of Linux.
Stars: ✭ 215 (+593.55%)
Mutual labels:  kvm
Kimchi
An HTML5 management interface for KVM guests
Stars: ✭ 2,773 (+8845.16%)
Mutual labels:  kvm
Node Libvirt
libvirt bindings for google v8 javascript engine (nodejs addon)
Stars: ✭ 162 (+422.58%)
Mutual labels:  kvm
virt-backup
Fully backup your KVM Virtual Machines
Stars: ✭ 27 (-12.9%)
Mutual labels:  kvm
Kvm Kernel Example
Examples for: Learning KVM - implement your own kernel
Stars: ✭ 221 (+612.9%)
Mutual labels:  kvm
Tools
Combination of different utilities, have fun!
Stars: ✭ 166 (+435.48%)
Mutual labels:  kvm
Pyvmidbg
LibVMI-based debug server, implemented in Python. Building a guest aware, stealth and agentless full-system debugger
Stars: ✭ 192 (+519.35%)
Mutual labels:  kvm
Kafl
A fuzzer for full VM kernel/driver targets
Stars: ✭ 204 (+558.06%)
Mutual labels:  kvm
Kvm Install Vm
Bash script to build local virtual machines using KVM/libvirt and cloud-init.
Stars: ✭ 248 (+700%)
Mutual labels:  kvm
Docker Osx
Run Mac in a Docker! Run near native OSX-KVM in Docker! X11 Forwarding! CI/CD for OS X!
Stars: ✭ 20,774 (+66912.9%)
Mutual labels:  kvm
virtblkiosim
Virtual Linux block device driver for simulating and performing I/O.
Stars: ✭ 30 (-3.23%)
Mutual labels:  kvm
Docker Emulator Android
Dockerized android emulator
Stars: ✭ 166 (+435.48%)
Mutual labels:  kvm
Rkvm
Virtual KVM switch for Linux machines
Stars: ✭ 237 (+664.52%)
Mutual labels:  kvm
evcloud
EVCloud是一个基于ceph和libvirt的轻量级云主机管理平台,实用稳定,维护简易
Stars: ✭ 44 (+41.94%)
Mutual labels:  kvm
packer-centos
Create CentOS images for different hypervisors with Packer
Stars: ✭ 18 (-41.94%)
Mutual labels:  kvm
Ravada
Remote Virtual Desktops Manager
Stars: ✭ 253 (+716.13%)
Mutual labels:  kvm

vmmaestro

This tiny shell script can start/stop KVM virtual machines. There is the first note that this script NEVER managements VMs in all senses. It has no fail over mechanism or live migration, no beautiful GUI. You can't see any statistical informations. In addition, it can't even create an new VM disk image.

vmmaestro (:D) is a simple command line tool to start, shutdown VMs and help to connect to the screens from your client PC.


Installation

Step 1

Clone this repository.

Step 2

  • Copy vmmaestro to anywhere you'd like, i.e. /usr/local/bin/
  • Give executable permission to vmmeastro, i.e. chmod +x /usr/local/bin/vmmaestro
  • Create /etc/vmmaestro directory.

Step 3

If you use SPiCE and TLS, place 3 files into /etc/vmmaestro/ssl.

  • CA Root certificate in PEM format. It must be named ca-cert.pem.
  • A server certificate merged with CA intermediate certificate issued by CA. It must be named server-ca.pem.
  • A private key file. It must be named server-key.pem.

Step 4

Install socat, sudo, bridge-utils and qemu-kvm packages.

Step 5

  • Create kvm user account if it doesn't exist.
  • Add kvm user to sudo (See sample/etc/sudoers.d/qemu).
  • Of course, add also your account to sudo.

Step 6

  • Add KVM kernel module. (execute modprobe kvm)
  • Add TUN/tap kernel module, tun to the system. (execute 'modprobe tun')
  • Add Vhost-net kernel module, vhost-net to the system. (execute 'modprobe vhost-net')
  • Add entries above into /etc/modules if necessary.

Step 7

Add bridge interfaces per NIC. Recommend to name them like 'br0', 'br1'...

Step 8

  • Create the global configuration file, /etc/vmmaestro/vmmaestro.conf (See vmmaestro.conf.sample).
  • Create the VM specific configuration file in /etc/vmmaestro/vms. The base name of it must be the same name as VM and has the extension, '.conf'. You can change vms directory in /etc/vmmaestro/vmmaestro.conf.
  • You can put all settings in the VM specific configuration file and leave blank the global configuration. However, I recommend to put as many common settings as possible in the global configuration file. When the same item in both file, the one put into the VM specific configuration is given priority.

Step 9

Create acl file for bridge interfaces in /etc/qemu. (See sample/etc/qemu/bridge.conf)

Step 10

Create lvm partitions or files for VM as you specified in the vm config file(s).

Step 11

Type vmmaestro start vm-nameand enjoy!


Reference

vmmaestro [-r|--reverse] consolestart [VM...]

start VM and then connect to serial console. No specified VM will start all VMs in order.

vmmaestro [-r|--reverse] start [VM...]

start VMs. This command can boot multiple VMs. No specified VM will start all VMs in order.

vmmaestro [-r|--reverse] shutdown [VM...]

shutdown VMs. When entering this command, VMs will do shutdown sequences. No specified VM will shutdown all VMs in order.

vmmaestro [-r|--reverse] stop [VM...]

stop VMs. When entering this command, VMs will terminate immediately. No specified VM will stop all VMs in order.

vmmaestro kill [VM...]

kill kvm process directly. No specified VM will kill all VMs in order.

vmmaestro [-r|--reverse] restart [VM...]

Reboot VMs. No specified VM will restart all VMs in order.

vmmaestro [-r|--reverse] status [VM...]

If VM is running, shows the message, "VM name is running.". Otherwise shows the message, "VM name is stopped.". No specified VM will show all VMs' status in order.

vmmaestro [-r|--reverse] list [VM ...]

Show status and configurations of VMs. No specified VM will list all VMs in order.

vmmaestro [-r|--reverse] console [VM ...]

Connect VM's serial port. No specified VM will connect all VMs' ports in order.

vmmaestro [-r|--reverse] monitor [VM ...]

Connect KVM/QEMU monitor port. No specified VM will connect all VMs' monitors in order.

vmmaestro help

Print usage.

※ When no VM and -r,--reverse option is specified, vmmaestro will search VMs in reverse.

Envoronment Variables

If setting VMM_DELAY environment variable, vmmaestro will insert specified seconds delay between earch VM.


Hint

  • By default, VNC & SPICE port is bind to localhost address (127.0.0.1). I recommend to use SSH tunneling instead of changing bind address.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].