Exercise 2
Table of Contents
1 Introduction
In this exercise, you install and configure a second VM. This will be very similiar to the first one, so repeated instructions are omitted. Therefore it's useful to have instructions and your notes of the first exercise on the side. Click here for getting back the first exercise
1.1 Homework
- Some commands require
sudo
in front of them. This is not usually mentioned, and you have to apply it in the right moments. At the end of this exercise, analyze which commands requiredsudo
and why.
1.2 Update: SSH keys
There is a new SSH key for mailkang. Update this to your both virtual machines.
2 Steps
2.1 Installation of KONE2
- Open a new log (
~/logs/KONE2.txt
1) and document your installation steps. Make notes with the accuarcy that you could follow the same steps without the instructions. Also make note of any weird things or problems that you encounter. - Make a disk image of size 3G in /ramdisk/TUNNUS.
- Start
virt-install
with the following parameters:
-n KONE2 --memory 512 -w bridge=br0 --arch x86_64 --disk /ramdisk/TUNNUS/KONE2.img,bus=virtio --location http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64 --graphics none --extra-args="console=ttyS0,115200n8 serial"
- This is similiar to the previous exercise. Differences are the
name, bootstrapping method and installation interface. This VM is
booted from the Ubuntu 16.04 installer image that is fetched from
the URL in
--location
argument. Instead of X tunneling, we use a virtual serial port to control this VM. - Look up the IP of your KONE2.
- Use similiar settings as in the previous exercise. (Except for the hostname and IP address, of course.)
- Install OpenSSH server in software selection menu 2. Use TUNNUS0 as the zero account.
- You can jump to the next section and work on KONE1 while it's installing and doesn't require attention.
2.2 Do this part in KONE1
- Document these steps in KONE1's own log.
2.2.1 Check resources and locale
- Turn off KONE1 and take a backup of its image.
- Make sure that KONE1 has exactly 256MB of configured RAM
memory. If not, open the XML configuration with
virsh edit KONE1
and change the amount of memory to 262144 (two locations in the beginning of the file). - Check free disk space. If the disk is almost full, find out why and fix it.
- Inspect the locale in use (with the command
locale
) and all installed locales (-a
flag). Installlanguage-pack-fi
and check the locales again. Find out about all supported Finnish locales with the commandgrep 'fi_' /usr/share/i18n/SUPPORTED
and add the missing locales in the file
/var/lib/locales/supported.d/local
and then rundpkg-reconfigure locales
. Check once more the output of the commands above and also what is in the file/etc/default/locale
. - Check the disk space again.
- Update the system (
apt-get update; apt-get dist-upgrade
).
2.2.2 Install lighttpd
- Install lighttpd. Test with a trivial index.html file.
- Configure virtual hosts to the different host names of your
machine,
s0NN.vm.it.jyu.fi
andTUNNUS1.student.it.jyu.fi
(here NN is the last number of the machine's IP address) - Put different content to be delivered with your different vhosts. In TUNNUS1.student domain, include the string "TUNNUS1" in the page. In s0NN domain, include the string "kukkuu". Confirm that they are working as expected. (These will be checked by the script.)
- Check the disk space again.
2.2.3 Extend the disk to 4G
- Shutdown KONE1. Backup its disk image. Extend the image
to 4GB with the command
qemu-img resize ...
3 - Turn it on again. Print the partition table with
fdisk -l /dev/vda
and keep it at hand for the next step. For comparison, you can also look whatparted -l /dev/vda
prints. - Edit the partition table (
fdisk /dev/vda
) by first removing all partitions. Then redo them so that the system partition starts from exactly the same location as previously, but is larger. Make swap partition of the same size inside the extended partition like it was previously. Set bootable flag and partition types. - Save partition table and reboot.
- Extend the filesystem of the main partition (
resize2fs
). - Check the disk space again.
- Initialize the swap partition (
mkswap
). Reuse the UUID. (see/etc/fstab
). - Enable the swap space (
swapon -a
) and check that it was successful by looking at/proc/swaps
.
2.3 When KONE2 is ready
2.3.1 Post-install
- Connect to your machine. Make sure both ssh and serial
connections work. After installation, serial connection can be
opened with:
virsh console TUNNUS2
- Close the serial connection with Ctrl-5 (Finnish keyboard)
or Ctrl-] (as it says, escape character is
^]
). - Enable serial access to Grub's boot menu.
2.3.2 Setup instructors
- Install libpam-krb5 and acpid. Add user accounts of instructors and yourself as previously. Next we copy the keys from the previous install, saving a bit of time.
- Mount the backup disk image of KONE1 to KONE2 (
virsh attach-disk
) - Copy the home directories (except that of the zero account)
under
/home
from the backup to KONE2. - Try logging in with your SSH key to see that it works. Then detach the backup image and remove it to free space in the host machine.
- Check the amount of free disk space.
2.3.3 Move disk image
- Move disk image from
/ramdisk
to your home directory. Update the VM configuration in the hypervisor as necessary.
2.4 Finish
- Save logs
sudo checker.sh 2
- Leave VM running
- Remember homework!
Footnotes:
1 in the lonka you were assigned to previously, and KONE/TUNNUS replaced with your username as usual.
2 Tick the OpenSSH Server box with space. Enter goes forward in this menu. Tab changes the area of focus. This step is important, as you might not be able to access your VM after installation without it!
3 Extending it to 5GB is fine as well, despite what the script says.