from wiki

This commit is contained in:
Randy Bush 2020-07-04 15:05:34 -07:00
parent e2bea5f3ac
commit bb5d99f4f2

98
pages/NewFBSD.md Normal file
View file

@ -0,0 +1,98 @@
# 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
```