diff options
author | Daniel Kahn Gillmor <dkg@fifthhorseman.net> | 2017-02-07 15:45:03 -0500 |
---|---|---|
committer | Daniel Kahn Gillmor <dkg@fifthhorseman.net> | 2017-02-07 15:45:03 -0500 |
commit | 5503670a320f7e7d090110d4b2ae326e9f64e0c7 (patch) | |
tree | 49aed681004f09dfd7d9f08dd5364f58e5e83234 /README | |
parent | 89ce17ada755a837c3af78e963bdbaaf45401dad (diff) | |
download | kvm-manager-5503670a320f7e7d090110d4b2ae326e9f64e0c7.tar.gz kvm-manager-5503670a320f7e7d090110d4b2ae326e9f64e0c7.tar.bz2 |
rename README as markdown for better visibility
Diffstat (limited to 'README')
-rw-r--r-- | README | 147 |
1 files changed, 0 insertions, 147 deletions
@@ -1,147 +0,0 @@ -KVM-Manager - -Authors: Daniel Kahn Gillmor <dkg@fifthhorseman.net> - Jamie McClelland <jm@mayfirst.org> - Greg Lyle <greg@stealthisemail.com> -Copyright © 2009-2011 -License: GPL-3+ - -This is a small set of scripts to make it relatively easy to manage a -stable of kvm instances in a fairly secure and isolated fashion. - -The basic model is to use runit to supervise each KVM instance, with a -single, non-privileged user account for each instance. You can login -via ssh as the non-privileged user and, via screen, access the -instance's console. - -Dependencies: - - runit : for system supervision - kvm : for the virtual machine emulator - socat : For communications with the monitor and console of guests - screen : for the detached, logged serial console - bridge-utils : for configuring a bridge device - lvm2 : for creating the relevant block devices - udev : for configuring the block devices with proper permissions - fakeroot : for rebuilding the initramfs as a regular user in di-maker - xorriso : for grub2 to make an iso in di-maker - genisoimage : for di-maker to work with an existing iso - sgabios : for early pre-bootloader (like ipxe) output - -Recommendations: - - openssh-server : i've been using ssh to access the vm's serial console - -INSTALLATION - - * Install dependencies: - - apt-get install runit kvm screen bridge-utils lvm2 udev socat sgabios - - If you want to be able to use di-maker, you'll also need: - - apt-get install fakeroot xorriso grub2 - - * Link programs into /usr/local/sbin: - - ln -s $(pwd)/{di-maker,kvm-manager,kvm-creator} /usr/local/sbin/ - - * Link screen configuration file into /etc - - ln -s $(pwd)/screenrc.kvm-manager /etc/ - - * Configure your host network to use a bridge. If your network adaptor - is eth0, you can use the following in /etc/network/interfaces - - auto br0 - iface br0 inet static - [Put your normal IP config for eth0 here...] - hwaddress ether xx:yy:zz:aa:bb:cc - bridge_ports eth0 - - Note: explicitly setting the hwaddress of your bridge to the same - MAC address as your existing NIC ("ip link show eth0 | grep ether") - is a good idea -- it seems to avoid periods of network connectivity - outages for the host when new interfaces get added to or removed - from the bridge. - - * Alternately, you can create an internal-only bridge, and tell your - host to pass traffic to it: - - auto br0 - iface br0 inet static - [ internal IP address information ] - post-up echo 1 > /proc/sys/net/ipv4/conf/br0/forwarding - -INSTALLING DEBIAN ONTO YOUR VIRTUAL SERVER - -To create a KVM instance, run: - - kvm-creator create $GUESTNAME [ $VG [$DISKSIZE [$RAM] ] ] - -You can replace "create" with "demo" to see the default values for non- -specified options. - -The creator scripts creates a username and home directory, logical volume, and -the required directory in /etc/sv/kvm/GUESTNAME from which the kvm-manager -script is run. After creating your virtual server, you can modify the files in -/etc/sv/kvm/GUESTNAME/env to change initial settings. - -You may also add ssh key's to /home/GUESTNAME/.ssh/authorized_keys to provide -additional access to other users. - -At this point, your virtual server is created, however, it has no operating system -and it has not been started. - -There are two options for installing debian onto the virtual server: - - * netboot - * iso (like a CD install) - -To use netboot, make sure you have a working DHCP server running on your -host server and offering addresses over your bridge interface. - -Then, indicate that the server should boot via the network with: - - touch /home/$GUESTNAME/vms/$GUESTNAME/netboot - -Alternatively, you can make a debian boot ISO image: - - * Make the directory /usr/local/share/ISOs - * Create a serial console enabled debian installer. - * cd /usr/local/share/ISOs - * di-maker d-i.iso - -Indicate that the server should boot via the CDROM (the equivelant of putting -the installer CD in the drive) with: - - ln -s /usr/local/share/ISOs/d-i.iso /home/$GUESTNAME/vms/$GUESTNAME/cd.iso - -STARTING YOUR VIRTUAL SERVER - - update-service --add /etc/sv/kvm/$GUESTNAME - -This process adds your virtual server to the runit service directory. - -If /home/$GUESTNAME/vms/$GUESTNAME/cd.iso exists, the server will behave as if you -set the CDROM as the boot device in the bios. - -If /home/$GUESTNAME/vms/$GUESTNAME/netboot exists, the server will behave as if you -set the network device as the boot device in the bios. - -After you have installed your server, be sure to delete these files if they exist or -your server won't boot properly. - -ACCESSING YOUR VIRTUAL SERVER - -To access the guest's serial console, do: - - ssh -t $GUESTNAME@host.machine screen -x $GUESTNAME - -To access the guest's KVM monitor, do: - - ssh -t $GUESTNAME@host.machine socat vms/$GUESTNAME/monitor.socket STDIO - -HACKING - -All patches, fixes, suggestions welcome! |