Difference between revisions of "OPS335 Installation Lab"

From CDOT Wiki
Jump to: navigation, search
(Configuring a Linux Gateway)
Line 1: Line 1:
 +
'''DRAFT COPIED FROM SOURCE 8 JAN2016 14:00'''
 +
 
[[Category:OPS335]][[Category:OPS335 Labs]]
 
[[Category:OPS335]][[Category:OPS335 Labs]]
  
 
== Objectives ==
 
== Objectives ==
 +
 +
This lab is basically a repeat of portions of labs that you already performed in OPS235. You are expected to be able to complete all this using your existing skills and knowledge or refer back to your OPS235 lab-book or OPS235 WIKI notes.
 +
 +
<u>'''Main Topics'''</u>
 +
 
*Install your host machine (Centos 7)
 
*Install your host machine (Centos 7)
*Install 3 virtual machines (VMs) (Fedora 22 - Server)
+
*Install 3 virtual machines (VMs) (Centos 7)
 
*Prepare for Lab Exercises / Exploration Questions
 
*Prepare for Lab Exercises / Exploration Questions
  
 
== Required materials ==
 
== Required materials ==
*Centos 7 Installation DVD
+
*Centos 7 Full Installation DVD.
*One SATA hard disk in a removable drive tray (minimum 250GB) - It is strongly advised you dedicate a drive for this course only.
+
*One SATA hard disk in a removable drive tray (minimum 250GB). It is strongly advised you dedicate a drive for this course only.
*Recommended - USB drive (8 GB+) for creating and storing backups (Virtual Machines, configuration files)
+
*USB drive (8 GB+) for creating and storing backups (Virtual Machines, configuration files).
 +
*OPS335 Lab Log-book (Previous OPS235 log lab-book as an additional resource).
  
==Part A: Host Installation ==
+
 
 +
==INVESTIGATION 1: HOST INSTALLATION==
  
 
=== Installation instructions for Centos 7 ===
 
=== Installation instructions for Centos 7 ===
#Download a copy of the Centos 7 installation DVD (64 bit edition) from the Centos web site or belmont. Note: we'll be using the 64 bit version of Centos because all of our lab computers are equiped with Intel 64 bit mainboards and CPUs. We'll also be using a Fedora iso for installing the virtual machines, but you will not need to burn that to a disc.  It is faster to download the ISO and install directly from it.
+
# It may be advisable to obtain a <u>newer version</u> of the Centos 7 Full Installation DVD since there may be improvements since the last version from when you took OPS235.
 +
# Download and burn on a DVD a copy of the Centos 7 installation DVD (64 bit edition) from the Centos web site or the Belmont server. '''Note:''' we'll be using the 64 bit version of Centos because all of our lab computers are equiped with Intel 64 bit mainboards and CPUs, and any computer you bought in the last few years for yourself will be 64bit as well.
 
#* '''Seneca's mirror of Centos:''' http://belmont.senecacollege.ca/pub/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso<br />(This is very fast, but is only accessible from within Seneca's network  - you can't access this from home. You can burn this disc on the machines in the Open Lab.)<br />
 
#* '''Seneca's mirror of Centos:''' http://belmont.senecacollege.ca/pub/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso<br />(This is very fast, but is only accessible from within Seneca's network  - you can't access this from home. You can burn this disc on the machines in the Open Lab.)<br />
 
#* '''Centos mirror list (available from any Internet connection):''' https://www.centos.org/download/mirrors/ (version: '''7 (1511)''')<br />
 
#* '''Centos mirror list (available from any Internet connection):''' https://www.centos.org/download/mirrors/ (version: '''7 (1511)''')<br />
#Insert your HDD into the docking bay of a PC in the lab and boot the computer using your installation DVD. If possible try to use the same PC for this course for the rest of the semester. Some PCs may be configured with slight hardware variations from others which may cause problems when moving your HDD from one system to another.  
+
# Insert your removable harddrive into the machine and boot from the DVD.
#Most modification is now perform through a single summary screen.  Use it to customize your installation following these guidelines:
+
{{Admon/tip |Boot order|Some of our machines' boot order is configured to be Harddrive first, DVD second. Which means you won't be able to boot from the DVD if you already have an operating system installed on your drive.}}
#*Set Date &amp; Time
+
<ol>
#*'''Turn on networking''' and use '''your Seneca ID''' as the '''hostname'''.
+
<li value=4>Customize your installation following these guidelines:
#*Under software selection, choose '''Server with gui''', and ensure you enable the software package '''KDE''' (located on the right-hand-side).
+
<ul>
#*For installation destination, select your drive (not the one internal to the PC), and select the option to manually configure partitioning.
+
<li>'''Turn on networking''' and use '''c7host''' as the '''hostname'''.
#**Delete any old partitions.
+
<li>Under software selection, choose '''Gnome desktop'''.
#**Click the link to '''create partitions automatically''' (this will give a typical layout with /, /boot, /boot/efi, /home, etc).
+
<li>The partition setup is similar to what you had in OPS235:
#**Free up space by shrinking the '''/home''' partition.  Since your machine will have far fewer users and more virtual machines than a typical installation, we will need that space elsewhere.
+
<ul>
#**Create a new logical volume for '''/var/lib/libvirt/images''' and give it the space made available by shrinking /home (You will need enough space for 10 virtual machines at 8GB each plus room to compress/extract images).  You may wish to keep some extra space left unassigned in case you need some space later, but the majority of the space you will need will be for ''/var/lib/libvirt/images''.
+
<li>Delete any old partitions.
#**Make certain that the existing partitions have the file system type '''ext4''' (not xfs).
+
<li>Click the link to '''create partitions automatically''' (this will give a typical layout with /, /boot, /boot/efi, /home, etc).
#During the installation process you will also have the opportunity to create users.
+
<li>Free up at least 100GB of disk space by shrinking the '''/home''' partition.  Since your machine will have far fewer users and more virtual machines than a typical installation, we will need that space elsewhere.
#*set the root password
+
<li>Create a new logical volume for '''/var/lib/libvirt/images''' and give it the space made available by shrinking /home (You will need enough space for 10 virtual machines at 8GB each plus room to compress/extract images).
#*create a '''user account''' named with '''your Seneca ID'''
+
<li>Make certain that the existing partitions have the file system type '''ext4''' (not xfs).
#After completing the installation, remove the DVD and reboot from your HDD.
+
</ul>
 +
</ul>
 +
<li>After the installation starts you will also have the opportunity to create users.
 +
<ul>
 +
<li>Set the root password
 +
<li>Create a '''user account''' named with '''your Seneca ID'''
 +
</ul>
 +
</ol>
  
=== Booting your system ===
+
=== First boot ===
  
#Login as the user you created and open a terminal window. Then use 'su' to become root and run the 'yum update' command. Reboot after all updates have completed. Now that your system is up to date, again login using your learnid and do the following:
+
# In the current version of CentOS the first time you boot your system a licence prompt comes up. To save you some stress, here are the keys you need to press to get past it:
#*Verify that your system date and time are correct. If not then set the correct system date and time.
+
:: '''1'''  ''ENTER''
#*Verify that your network is functioning.
+
:: '''2'''  ''ENTER''
#**If you do not have an ip address, edit the line in either the file '''/etc/sysconfig/network-scripts/ifcfg-eno1''' or '''/etc/sysconfig/network-scripts/ifcfg-eth0''' (note this file name may differ between machines).
+
:: '''c'''  ''ENTER''
  onboot=no
+
:: '''c'''  ''ENTER''
:should be:
+
<ol><li value="2">Log in and check that you have access to the internet. If you don't - you need to get the network interface to come up on boot. Edit '''/etc/sysconfig/network-scripts/ifcfg-eno1''' (the name of the interface may be different) and make change '''onboot''' to '''yes'''.<ul><li>You can then use the '''ifup'''/'''ifdown''' commands to reset your network configuration or you can just reboot.</li></ul></li><li>'''Disable SELinux''' or else you may run into unnecessary problems during the course. SELinux is an important technology but we won't have time to cover it in this course. To disable it edit the '''/etc/selinux/config''' file and follow the instructions inside.</li><li>Install all the security updates using the '''yum update''' command.</li></ol>
  '''onboot=yes'''
 
<ol><li value="2">If you had to change that, reboot your machine before continuing.</li><li>Run and record the purpose and output after issuing the following commands:</li></ol>
 
'''df -hT'''
 
'''cat /etc/fstab'''
 
'''cat /etc/issue'''
 
'''uname -a'''
 
  
 
===Using iptables===
 
===Using iptables===
The most recent variants of Centos and Fedora are using a service called '''firewalld''' that is intended to replace '''iptables''', however the ''iptables'' service is still in relatively common usage.  In this course we will keep running ''iptables'' on the host machine, and gain experience with the new service (firewalld) on the virtual machines.
+
The most recent variants of Centos and Fedora are using a service called '''firewalld''' that is intended to replace '''iptables''', however the ''iptables'' service is still in relatively common usage.  In this course we will concentrate on ''iptables''.
#install and enable iptables
+
<ol><li>Disable firewalld:
'''yum install iptables-services'''
+
<source lang="bash">
'''systemctl enable iptables'''
+
systemctl disable firewalld
<ol><li value="2">disable firewalld by issuing the command:<br></li></ol>
+
systemctl stop firewalld
  '''systemctl disable firewalld'''
+
</source>
 +
</ol>
 +
<ol><li value="2">Install and enable the IPTables services:
 +
<source lang="bash">
 +
yum install iptables-services
 +
systemctl enable iptables
 +
systemctl start iptables
 +
</source>
 +
</ol>
 +
At this point you have a basic Centos system installed and updated.  This will serve as a host for the virtual machines where you will do the majority of the work in this course. All the rest of our labs will assume you have this basic system running. If, for any reason, your system becomes corrupted during the semester, you'll have to redo this lab to be able to continue with the remaining uncompleted labs. You are responsible for YOUR system. If you do not perform back-ups you have taken this risk on yourself. Poor planning on your part does not constitute an emergency for anyone else.
  
<ol><li value="3">Note that the machine will not switch over to using ''iptables'' until you reboot, but you will be doing that shortly, so there is no need to do so right now.</li></ol>
+
'''Record steps, commands, and your observations in INVESTIGATION 1 in your OPS335 lab log-book'''
  
===Configuring a Linux Gateway===
 
At this point you have a basic Centos system installed and updated.  This will serve as a host for the virtual machines where you will do the majority of the work in this course.  All the rest of our labs will assume you have this basic system running. If, for any reason, your system becomes corrupted during the semester, you'll have to redo this lab to be able to continue with the remaining uncompleted labs. You are responsible for YOUR system. If you do not perform back-ups you have taken this risk on yourself. Poor planning on your part does not constitute an emergency for anyone else.
 
  
#You will need to install some software to allow your machine to act as a host for virtual machines. Issue the following command:
+
==INVESTIGATION 2: VIRTUAL MACHINE INSTALLATION==
'''yum install virt-manager libvirt'''
+
 
<ol><li value="2">Start and enable the virtualization service:</li></ol>
+
===Configuring a VM host===
'''systemctl start libvirtd'''
+
 
'''systemctl enable libvirtd'''
+
# You will need to install some software to allow your machine to act as a host for virtual machines. We'll be using the same '''libvirt''' and '''virt-manager''' you used in OPS235.<br>You may find it helpful to refer back to the '''OPS235 notes''' to perform the following operations:
 +
#* Install the required virtualization software
 +
#* Start and enable the virtualization service
 +
#* Reboot your host machine<br><br>
 +
# Start the graphical virtual machine manager (''virt-manager''). Do this as you regular user, and don't run virt-manager from a terminal where you're logged in as root.
 +
# We will be creating our own virtual network. A default virtual network has been created for you, but you will be using a <u>custom</u> one in this course.
 +
#* Right click '''localhost (QEMU)''' and select '''Details'''.
 +
#* Click on the '''Virtual Networks''' tab.
 +
#* Stop and delete the '''default''' network.
 +
#* Use the '''plus sign''' to add a new virtual network using the following options:
 +
#** Name your virtual network '''ops335'''
 +
#** Use the '''last two digits of your student number for the third octet of network IP address''' (for example, if your student number is 000-000-0<b>90</b>, the network address would be 192.168.<b>90</b>.0/24.
 +
#** Ensure the DHCP range will allow you to assign '''at least 10 static IP addresses outside it'''.
 +
#** Choose '''Forwarding to physical network''' radio button, '''Destination: Any physical device''' and '''Mode: NAT'''
 +
#** Ensure the network is '''started at boot'''.
  
<ol><li value="3">Reboot your machine.  If you do not, you will not be able to install any virtual machines.</li><li>Start the graphical virtual machine manager (''virt-manager'')<ul><li>You will need to enter your root password.</li></ul><li>We will be creating our own virtual network. A default virtual network has been created for you, but you will be using a <u>custom</u> one in this course.<ul type="a"><li>Right click '''localhost (QEMU)''' and select '''Details'''. Click on the '''Virtual Networks''' tab.</li><li>Stop and delete the '''default''' network.</li><li>Run, and record the output of the following command:</li></ul></li></ol>
+
=== VM Installation===
'''iptables -t nat -L'''
 
<ol><li value="6">Use the '''plus sign''' to add a new virtual network using the following options.<ol type="a"><li>Name your virtual network '''ops335'''</li><li>Use the '''last two digits of your student number for the third octet of network IP address''' (for example, if your student number is 000-000-0<b>90</b>, the network address would be 192.168.<b>90</b>.0/24.</li><li>Ensure the DHCP range will allow you to assign '''at least 10 static IP addresses outside it'''.</li><li>Choose '''Forwarding to physical network''' radio button, '''Destination: Any physical device''' and '''Mode: NAT'''</li><li>Ensure the network is '''started at boot'''.</li></ol></li><li>Once completed changing these settings, open a terminal and observe and record the output of the following command (noting the difference from the last time you ran it. We will discuss it in a few weeks):</li></ol>
 
'''iptables -t nat -L'''
 
  
 +
With the virtualization software installed and your personal network created, you are now ready to create your first virtual machine. You will need an ISO file for CentOS 7 (the same one you burned your DVD from). It is recommended to use the wget command to download this image onto your host machine. In this way, you can keep it on your host machine for the remainder of this course in case you need it.
  
'''Record steps, commands, and your observations in Part A in your OPS335 lab log-book'''
+
Perform the following steps to create your first Centos7 VM on your Virtual Machine Manager application:
  
==Part B: Virtual Machine Installation ==
+
# Create a new virtual machine named '''c7-vm1'''
With the virtualization software installed and your personal network created, you are now ready to create your first virtual machine.  If you have an installation DVD for Fedora you can use that, but it will be much faster to download the iso from belmont and install directly from it.
+
# Use the default memory and CPU options for use with lab computers
'''wget http://belmont.senecacollege.ca/pub/fedora/releases/21/Server/x86_64/iso/Fedora-Server-DVD-x86_64-21.iso'''
+
# Set the disk image size set to '''8GB'''
+
# The VM will be connected to your new ops335 virtual network
If it has not been made available use the publicly available link:
+
# You don't need to modify the disk layout, in fact leave most of the installation settings at defaults.
'''wget --no-check-certificate https://download.fedoraproject.org/pub/fedora/linux/releases/22/Server/x86_64/iso/Fedora-Server-DVD-x86_64-22.iso'''
+
# For Software Selection: Do NOT install a GUI on the virtual machine, none of your VMs in this course will have a GUI. Select '''server''' instead.
===Installation===
+
# Ensure that your host-name is set to: '''vm1.localdomain'''
#Click on the icon '''Create a new virtual machine''' to begin.
+
# During installation you will be prompted to set the root password and an initial user account. For the initial user, enter the same information you entered on your host machine.
#Name your machine '''f22-vm1''' and choose your installation method: '''Local install media'''. Choose the desired option to install from either the CD or iso.
 
#Use the default memory and CPU options for use with lab computers (Depending on available hardware these settings can be adjusted). Then click on the '''Forward''' button to proceed.
 
#Leave the disk image size set at '''8GB''' and click on the '''Forward''' button.
 
<ol><li value="5">At the '''Ready to begin installation''' window click on '''Advanced options''' arrow to review available options.<ul><li>Select the Virtual Network named '''ops335'''. Make note of any other available options (you will need them again in the assignments).</li></ul></li></ol>
 
<ol><li value="6">Select '''Install to Hard Drive''' to begin your Fedora installation. Select the appropriate default options (You may wish to review your OPS235 notes to remind yourself what these are).</li><li>During installation you will be prompted to set the root password and an initial user account. For the initial user, enter the same information you entered on your host machine.</li><li>Set your hostname to '''vm1.localdomain'''.</li></ol>
 
  
{{Admon/important|Firstboot - First user created|For successful completion of the labs, please ensure the first user created is named using your Seneca username.}}
+
{{Admon/tip|First user created|For successful completion of the labs, please ensure the first user created is named using your Seneca username.}}
  
 
===First Boot===
 
===First Boot===
Line 95: Line 120:
 
#Ensure your machine has a network connection by running the command
 
#Ensure your machine has a network connection by running the command
 
  '''host cbc.ca'''
 
  '''host cbc.ca'''
<ol><li value="3">If that did not work, edit the line in  the file '''/etc/sysconfig/network-scripts/ifcfg-eno1''' or '''/etc/sysconfig/network-scripts/ifcfg-eth0''' </li></ol>
+
<ol><li value="3">If that did not work - make sure your network interface is started automatically on boot.</li></ol>
  onboot=no
+
{{Admon/tip|Default for network config for onboot|If you've turned on your networking interface during installation - it will be turned on by default. If you've left the network interface off during the installation - it will be off by default.}}
:should be
+
<ol><li value="4">Once you have a working connection - update your machine.</li></ol>
  '''onboot=yes'''
 
<ol><li value="4">If you had to change that, reboot your machine.</li><li>Once you have a working connection update your machine (this may take a while).</li></ol>
 
 
   '''yum update'''
 
   '''yum update'''
<ol><li value="6">Reboot the virtual machine once it is updated.</li><li>If your virtual machine hangs on boot, you will need to change a graphics option:<ul><li>While the VM is off, click on '''View''' (from the menu at the top of the VM window), and select '''Details'''.</li><li>From the menu on the left side, select '''Display'''.</li><li>Change the drop-down list for Type from '''VNC''' to '''Spice''', and click apply.</li><li>Switch the view back to '''Console''' and start the machine again.</li><li>Now run the following commands and note the output.</li><li>Issue the commands below and note in your lab logbook how they differ from the Centos installation on your host.</li></ul></li></ol>
+
<ol>
  '''df -hT'''
+
<li value="5">Reboot the virtual machine once it is updated.</li>
  '''cat /etc/fstab'''
+
<li>If your virtual machine hangs on boot, you will need to change a graphics option:
  '''cat /etc/issue'''
+
<ul>
  '''uname -a'''
+
<li>While the VM is off, click on '''View''' (from the menu at the top of the VM window), and select '''Details'''.</li>
 +
<li>From the menu on the left side, select '''Display'''.</li>
 +
<li>Change the drop-down list for Type from '''VNC''' to '''Spice''', and click apply.</li>
 +
<li>Switch the view back to '''Console''' and start the machine again.</li>
 +
</ul>
 +
</ol>
  
 
===Cloning a Virtual Machine===
 
===Cloning a Virtual Machine===
#Now that you have one virtual machine working, you will create two more.  If you struggled with the previous steps, repeat them to create two more virtual machines (naming them '''f22-vm2''' and '''f22-vm3''', with hostnames '''vm2.localdomain''' and '''vm3.localdomain''' respectively).
+
# Now that you have one virtual machine working, you will create two more.  If you struggled with the previous steps, repeat them to create two more virtual machines (naming them '''c7-vm2''' and '''c7-vm3''', with hostnames '''vm2.localdomain''' and '''vm3.localdomain''' respectively).
<ol><li value="2">If you are confident with what you have done so far, you may clone your existing machine to create the others by following there steps:<ul><li>To quickly create additional VM's shutdown ''f22-vm1'', '''right click''' and select '''Clone...'''.</li><li>Set the Name to be: '''f22-vm2'''</li><li>Once successfully created, boot the new VM and correct the host name. This can be done using the hostnamectl command-line tool.</li><li>Record in your notes how each is done.</li><li>Use the host command to check for connectivity</li><li>After creating f22-vm2 repeat the above steps to create f22-vm3 and correct the host name.</li></ul></li></ol>
+
<ol>
 +
<li value="2">If you are confident with what you have done so far, you may clone your existing machine to create the others by following there steps:
 +
<ul>
 +
<li>To quickly create additional VMs shutdown ''c7-vm1'', '''right click''' and select '''Clone...'''.</li>
 +
<li>Set the Name to be: '''c7-vm2'''</li>
 +
<li>Once successfully created, boot the new VM and correct the host name. This can be done using the hostnamectl command-line tool.</li>
 +
<li>Record in your notes how each is done.</li>
 +
<li>Use the host command to check for connectivity</li>
 +
<li>After creating c7-vm2 repeat the above steps to create c7-vm3 and correct the host name.</li>
 +
</ul>
 +
</ol>
  
 +
'''Record steps, commands, and your observations in INVESTIGATION 2 in your OPS335 lab log-book'''
  
'''Record steps, commands, and your observations in Part B in your OPS335 lab log-book'''
 
  
 
+
==COMPLETING THE LAB ==
== Completing the Lab ==
 
 
[[Image:lab1_signoff.png|thumb|right|500px|Students should be prepared with '''all required commands (system information) displayed in a terminal (or multiple terminals) prior to calling the instructor for signoff'''.]]
 
[[Image:lab1_signoff.png|thumb|right|500px|Students should be prepared with '''all required commands (system information) displayed in a terminal (or multiple terminals) prior to calling the instructor for signoff'''.]]
 
'''Arrange evidence (command output) for each of these items on your screen, then ask your instructor to review them and sign off on the lab's completion:'''
 
'''Arrange evidence (command output) for each of these items on your screen, then ask your instructor to review them and sign off on the lab's completion:'''
  
 
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Host Machine installed
 
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Host Machine installed
::<span style="color:green;font-size:1.5em;">&#x2713;</span> 3 virtual machines installed (running Fedora 22 Server)
+
::<span style="color:green;font-size:1.5em;">&#x2713;</span> 3 virtual machines installed
 
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Each machine (host and VM) has access to the network
 
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Each machine (host and VM) has access to the network
 
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Lab logbook completed
 
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Lab logbook completed
 
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Run a shell script to submit your lab:<br> &nbsp; &nbsp; '''Steps:'''
 
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Run a shell script to submit your lab:<br> &nbsp; &nbsp; '''Steps:'''
  
::*Issue the following command to download the bash shell script:<br>'''wget http://matrix.senecac.on.ca/~peter.callaghan/files/OPS335/labcheck0.bash'''
+
::*Issue the following command to download the bash shell script:<br>'''wget http://scs.senecacollege.ca/~andrew.smith/ops335/labcheck_install.sh'''
::*Run the command:<br>
+
::*Run the script (don't forget to give it execute permissions):<br>
  '''labcheck0.bash > lab0host.txt'''
+
  '''labcheck_install.sh'''
::*Follow the instructions and press SEND for marking (only 1 submission permitted)
 
 
 
  
== Exploration questions ==
+
==EXPLORATION QUESTIONS==
  
#What is the code name of your installed Fedora Linux system? How did you determine this?
 
 
#What kernel release is your host system running?
 
#What kernel release is your host system running?
 
#What kernel release are your virtual machines running?
 
#What kernel release are your virtual machines running?
Line 139: Line 173:
 
#What is the size and type of the /boot file system on your host?
 
#What is the size and type of the /boot file system on your host?
 
#What file was edited to change the host name on your VM's?
 
#What file was edited to change the host name on your VM's?
#Explain the iptables rules displayed when you ran the command 'iptables -t nat -L'. How did they change after creating your personal network.
 

Revision as of 16:51, 10 January 2016

DRAFT COPIED FROM SOURCE 8 JAN2016 14:00

Objectives

This lab is basically a repeat of portions of labs that you already performed in OPS235. You are expected to be able to complete all this using your existing skills and knowledge or refer back to your OPS235 lab-book or OPS235 WIKI notes.

Main Topics

  • Install your host machine (Centos 7)
  • Install 3 virtual machines (VMs) (Centos 7)
  • Prepare for Lab Exercises / Exploration Questions

Required materials

  • Centos 7 Full Installation DVD.
  • One SATA hard disk in a removable drive tray (minimum 250GB). It is strongly advised you dedicate a drive for this course only.
  • USB drive (8 GB+) for creating and storing backups (Virtual Machines, configuration files).
  • OPS335 Lab Log-book (Previous OPS235 log lab-book as an additional resource).


INVESTIGATION 1: HOST INSTALLATION

Installation instructions for Centos 7

  1. It may be advisable to obtain a newer version of the Centos 7 Full Installation DVD since there may be improvements since the last version from when you took OPS235.
  2. Download and burn on a DVD a copy of the Centos 7 installation DVD (64 bit edition) from the Centos web site or the Belmont server. Note: we'll be using the 64 bit version of Centos because all of our lab computers are equiped with Intel 64 bit mainboards and CPUs, and any computer you bought in the last few years for yourself will be 64bit as well.
  3. Insert your removable harddrive into the machine and boot from the DVD.
Idea.png
Boot order
Some of our machines' boot order is configured to be Harddrive first, DVD second. Which means you won't be able to boot from the DVD if you already have an operating system installed on your drive.
  1. Customize your installation following these guidelines:
    • Turn on networking and use c7host as the hostname.
    • Under software selection, choose Gnome desktop.
    • The partition setup is similar to what you had in OPS235:
      • Delete any old partitions.
      • Click the link to create partitions automatically (this will give a typical layout with /, /boot, /boot/efi, /home, etc).
      • Free up at least 100GB of disk space by shrinking the /home partition. Since your machine will have far fewer users and more virtual machines than a typical installation, we will need that space elsewhere.
      • Create a new logical volume for /var/lib/libvirt/images and give it the space made available by shrinking /home (You will need enough space for 10 virtual machines at 8GB each plus room to compress/extract images).
      • Make certain that the existing partitions have the file system type ext4 (not xfs).
  2. After the installation starts you will also have the opportunity to create users.
    • Set the root password
    • Create a user account named with your Seneca ID

First boot

  1. In the current version of CentOS the first time you boot your system a licence prompt comes up. To save you some stress, here are the keys you need to press to get past it:
1 ENTER
2 ENTER
c ENTER
c ENTER
  1. Log in and check that you have access to the internet. If you don't - you need to get the network interface to come up on boot. Edit /etc/sysconfig/network-scripts/ifcfg-eno1 (the name of the interface may be different) and make change onboot to yes.
    • You can then use the ifup/ifdown commands to reset your network configuration or you can just reboot.
  2. Disable SELinux or else you may run into unnecessary problems during the course. SELinux is an important technology but we won't have time to cover it in this course. To disable it edit the /etc/selinux/config file and follow the instructions inside.
  3. Install all the security updates using the yum update command.

Using iptables

The most recent variants of Centos and Fedora are using a service called firewalld that is intended to replace iptables, however the iptables service is still in relatively common usage. In this course we will concentrate on iptables.

  1. Disable firewalld:
    systemctl disable firewalld
    systemctl stop firewalld
  1. Install and enable the IPTables services:
    yum install iptables-services
    systemctl enable iptables
    systemctl start iptables

At this point you have a basic Centos system installed and updated. This will serve as a host for the virtual machines where you will do the majority of the work in this course. All the rest of our labs will assume you have this basic system running. If, for any reason, your system becomes corrupted during the semester, you'll have to redo this lab to be able to continue with the remaining uncompleted labs. You are responsible for YOUR system. If you do not perform back-ups you have taken this risk on yourself. Poor planning on your part does not constitute an emergency for anyone else.

Record steps, commands, and your observations in INVESTIGATION 1 in your OPS335 lab log-book


INVESTIGATION 2: VIRTUAL MACHINE INSTALLATION

Configuring a VM host

  1. You will need to install some software to allow your machine to act as a host for virtual machines. We'll be using the same libvirt and virt-manager you used in OPS235.
    You may find it helpful to refer back to the OPS235 notes to perform the following operations:
    • Install the required virtualization software
    • Start and enable the virtualization service
    • Reboot your host machine

  2. Start the graphical virtual machine manager (virt-manager). Do this as you regular user, and don't run virt-manager from a terminal where you're logged in as root.
  3. We will be creating our own virtual network. A default virtual network has been created for you, but you will be using a custom one in this course.
    • Right click localhost (QEMU) and select Details.
    • Click on the Virtual Networks tab.
    • Stop and delete the default network.
    • Use the plus sign to add a new virtual network using the following options:
      • Name your virtual network ops335
      • Use the last two digits of your student number for the third octet of network IP address (for example, if your student number is 000-000-090, the network address would be 192.168.90.0/24.
      • Ensure the DHCP range will allow you to assign at least 10 static IP addresses outside it.
      • Choose Forwarding to physical network radio button, Destination: Any physical device and Mode: NAT
      • Ensure the network is started at boot.

VM Installation

With the virtualization software installed and your personal network created, you are now ready to create your first virtual machine. You will need an ISO file for CentOS 7 (the same one you burned your DVD from). It is recommended to use the wget command to download this image onto your host machine. In this way, you can keep it on your host machine for the remainder of this course in case you need it.

Perform the following steps to create your first Centos7 VM on your Virtual Machine Manager application:

  1. Create a new virtual machine named c7-vm1
  2. Use the default memory and CPU options for use with lab computers
  3. Set the disk image size set to 8GB
  4. The VM will be connected to your new ops335 virtual network
  5. You don't need to modify the disk layout, in fact leave most of the installation settings at defaults.
  6. For Software Selection: Do NOT install a GUI on the virtual machine, none of your VMs in this course will have a GUI. Select server instead.
  7. Ensure that your host-name is set to: vm1.localdomain
  8. During installation you will be prompted to set the root password and an initial user account. For the initial user, enter the same information you entered on your host machine.
Idea.png
First user created
For successful completion of the labs, please ensure the first user created is named using your Seneca username.

First Boot

  1. You will notice that the server installation defaults to a command-line interface. This is normal, and we will only be using this interface during this course.
  2. Ensure your machine has a network connection by running the command
host cbc.ca
  1. If that did not work - make sure your network interface is started automatically on boot.
Idea.png
Default for network config for onboot
If you've turned on your networking interface during installation - it will be turned on by default. If you've left the network interface off during the installation - it will be off by default.
  1. Once you have a working connection - update your machine.
 yum update
  1. Reboot the virtual machine once it is updated.
  2. If your virtual machine hangs on boot, you will need to change a graphics option:
    • While the VM is off, click on View (from the menu at the top of the VM window), and select Details.
    • From the menu on the left side, select Display.
    • Change the drop-down list for Type from VNC to Spice, and click apply.
    • Switch the view back to Console and start the machine again.

Cloning a Virtual Machine

  1. Now that you have one virtual machine working, you will create two more. If you struggled with the previous steps, repeat them to create two more virtual machines (naming them c7-vm2 and c7-vm3, with hostnames vm2.localdomain and vm3.localdomain respectively).
  1. If you are confident with what you have done so far, you may clone your existing machine to create the others by following there steps:
    • To quickly create additional VMs shutdown c7-vm1, right click and select Clone....
    • Set the Name to be: c7-vm2
    • Once successfully created, boot the new VM and correct the host name. This can be done using the hostnamectl command-line tool.
    • Record in your notes how each is done.
    • Use the host command to check for connectivity
    • After creating c7-vm2 repeat the above steps to create c7-vm3 and correct the host name.

Record steps, commands, and your observations in INVESTIGATION 2 in your OPS335 lab log-book


COMPLETING THE LAB

Students should be prepared with all required commands (system information) displayed in a terminal (or multiple terminals) prior to calling the instructor for signoff.

Arrange evidence (command output) for each of these items on your screen, then ask your instructor to review them and sign off on the lab's completion:

Host Machine installed
3 virtual machines installed
Each machine (host and VM) has access to the network
Lab logbook completed
Run a shell script to submit your lab:
    Steps:
labcheck_install.sh

EXPLORATION QUESTIONS

  1. What kernel release is your host system running?
  2. What kernel release are your virtual machines running?
  3. What is the UUID (Universally Unique Identifier) of your root file system? What command was used to obtain this information?
  4. What is the size and type of the /boot file system on your host?
  5. What file was edited to change the host name on your VM's?