2 KiB
Creating a New FreeBSD VM Guest on Ganeti
Create the Guest VM
Use the silly script ~root/do-add
./do-add vm0 100 2 work0.psg.com
Which looks like
#!/bin/sh
# makeVM node diskGB ramGB nameFQDN
NODE=$1
DISK=$2
RAM=$3
NAME=$4
gnt-instance add \
-t plain \
-o noop \
-s ${DISK}G \
-B maxmem=${RAM}G,minmem=$((${RAM}/2))G \
-n $NODE \
-H kvm:vnc_bind_address=0.0.0.0 \
--no-install \
--no-start \
--no-ip-check \
--no-name-check \
${NAME}
Start the Guest VM With the CD-ROM Mounted
You should get the latest and greatest ISO of the opsys you wish to install and put in in /ISOs on the node to which you are installing. And then
gnt-instance start -H boot_order=cdrom,cdrom_image_path=/ISOs/FreeBSD-10.0-STABLE-i386-20140712-r268571-disc1.iso work0.psg.com
Find the Console Port of the Running VM
gnt-instance info work0.psg.com | grep console
Which will produce something similar to
console connection: vnc to vm1.sea.rg.net:11024 (display 5124)
serial_console: default (True)
You are interested in the 11024, not the 5124.
Tunnel VNC over SSH
From your laptop
ssh -N -L 5900:127.0.0.1:<port from gnt-instance info> <vm node>
Of course you will need an account on the vm node
Run VNC to the Guest VM
From your laptop, use a VNC client to connect to localhost, display 0, password as set for the VM host.
Do the Install
It should have booted the CD-ROM. Now do the install of the OpSys in your usual fashion.
When it finishes, if you just let it reboot, it will likely just boot the CD-ROM again. So restart the guest by
gnt-instance reboot work0.psg.com
DRBD Mirror Guest to CLuster
You will likely want the reliability of mirroring the guest to another node in the cluster. I have a script I use
#!/bin/sh
# do-drbd guest-name to-node
gnt-instance shutdown $1
gnt-instance modify \
-t drbd \
--no-wait-for-sync \
-n $2 \
$1
gnt-instance start $1