163
edits
Changes
no edit summary
[[Category:OPS335]][[Category:OPS335 Labs]]
== OBJECTIVE & PREPARATION ==
This lab is a repeat of a portion of lab1 (and some of lab2) that you already performed in OPS235 plus some newer content that relates to this week's notes. 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.
In this is lab, you will install your '''host machine''' (Centos7), '''install virtualization software''', and '''create and install 3 nested virtual machines'''.
=== Required materials ===
*Centos 7 Full Installation DVD.
*One Solid State Drive (SSD), mininmum capacity: 240 GB (USB 3.0). It is strongly advised you dedicate a drive for this course only.
=== Online Resources===
*[https://wiki.centos.org/TipsAndTricks#head-4c9ee55a5c9dc051bd32e795b46a3856e41a0335 Centos7 Install Tips]
<br>
==INVESTIGATION 1: HOST INSTALLATION==
=== Installation instructions for CentOS 7 ===
# It may be advisable to obtain the <u>latest version</u> of the CentOS 7 Full Installation DVD since there may be improvements since the last version from when you took OPS235.<br><br>
# 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.<br>'''Note:''' we'll be using the 64 bit version of CentOS because all of our lab computers are equipped with Intel 64 bit mainboards and CPUs, and any computer you bought in the last few years for yourself will be 64bit as well.<br><br>
#* '''Seneca's mirror of CentOS:''' https://mirror.senecacollege.ca/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.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><br>
#* '''Outside Seneca College link (available from any Internet connection):<br>''' https://mirror.netflash.net/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso<br /><br>
# You need to refer to your OPS235 notes in order to install your host machine.<br>Here is a direct link:<br> [https://wiki.cdot.senecacollege.ca/wiki/OPS245_Lab_1 OPS245 - Lab1]
<ol>
<li value=4>Customize your installation following these guidelines:
<ul>
<li>'''Turn on networking''' and use '''host''' as the '''hostname'''.
<li>Under software selection, choose '''Gnome desktop'''.
<li>The partition setup is similar to what you had in OPS235:
<ul>
<li>Delete any old partitions.
<li>Select the hard disk and indicate "I will configure partitions" and click done.
<li>Click the link to '''create them (partitions) automatically''' (this will give a typical layout with /, /boot, /boot/efi, /home, etc).
<li>Free up at least '''100GB''' of disk space by shrinking the '''/home''' partition (At least '''40 GB''' for root (/) and '''40GB''' for /home). Since your machine will have far fewer users and more virtual machines than a typical installation, we will need that space elsewhere.
<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 up to 10 virtual machines at 8GB each plus room to compress/extract images).
<li>Make certain that the existing partitions '''except swap, /boot and /boot/efi''' have the file system type '''ext4''' (not xfs).
</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 MySeneca ID'''
</ul>
</ol>
<br>
=== First boot ===
# In the current version of CentOS the first time you boot your system a graphical licence prompt comes up.<br><br>
<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 the appropriate config file and configure your main network interface to come up at boot.<ul><li>You can then use the '''ifup'''/'''ifdown''' commands to reset your network configuration or you can just reboot.</li></ul></li><li>Make certain that '''SELinux''' is '''enforcing''' for security reasons (this should be the default). To make it ''enforcing'', simply edit the '''/etc/selinux/config''' file and follow the instructions inside.
{{Admon/important |SELinux in Andrew's sections|If you're in one of Andrew's sections - please disable SELinux (i.e. do the opposite of the bullet above). This will give you some extra freedom in the rest of the course to learn and experiment without being bogged down by inexplicable permission denied errors.}}
</li><li>Install all updates using the '''yum update''' command.</li></ol>
<br>
===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''.
<ol><li>Disable firewalld:
<source>
systemctl disable firewalld
systemctl stop firewalld
</source>
</ol>
<ol><li value="2">Install and enable the IPTables services:
<source>
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.
'''Record steps, commands, and your observations in INVESTIGATION 1 in your OPS235 lab log-book'''
==INVESTIGATION 2: VIRTUAL MACHINE INSTALLATION==
===Configuring a VM host===
# 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 [https://wiki.cdot.senecacollege.ca/wiki/OPS235_Lab_2 OPS235 - Lab2].<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 '''ops235'''
#:* 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''' (note: leave the low numbers available for static addresses).
#:* Choose '''Forwarding to physical network''' radio button, '''Destination: Any physical device''' and '''Mode: NAT'''
#:* Ensure the network is '''started at boot'''.
<br>
=== VM Installation===
With the virtualization software installed and your personal network created, you are now ready to create your first virtual machine.
First, It is a good idea to make certain that your host machine has been set up correctly prior to creating your first virtual machine:
#Open a separate terminal and issue the '''ip address show''' command on your host machine to know your physical network and your virtual network. Note this information for the next few steps.
#Issue the following command to download Bash shell script to check your host machine's set-up prior to proceeding with this lab:<br>'''wget http://ict.senecacollege.ca/~andrew.smith/ops335/labcheck_install.sh'''<br>
#Assign execute permissions, and run the script to check your work:<br>
'''labcheck_install.sh'''
<ol><li value="4">Use the information from the '''ip address show''' command to correctly specify the '''physical network interface''' and the '''virtual network interface'''.</li></ol>
'''NOTE:''' You will need an ISO file for CentOS 7 (the same one you burned your DVD from). It is recommended to use the 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:
'''wget http://mirror.csclub.uwaterloo.ca/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso'''
Perform the following steps to create your first VM on your Virtual Machine Manager application:
{{Admon/tip|VM File Types ( '''.qcow2''' vs '''.img''' )|In OPS235, you selected the VM images as a '''"raw"''' image. In OPS335, you will be accepting the default image file '''".qcow2"''' (which stands for "QMENU Copy on Write version 2" ) that provides more features when manipulating stored VM images.}} <ol><li value== Objectives =="3">Since you will be installing a Linux <u>server</u> (as opposed to a Gnome Desktop workstation), you can '''use the <u>default</u> memory and CPU options for use with lab computers'''.</li><li>Set the disk image size set to '''8GB'''<br><br>Note: Since you already setup your virtual network to OPS335, your VM will be automatically connected to your new ops335 virtual network.<br><br></li><li>Note the following installation steps when you install your created VM:</li></ol> ::* Select the correct ''location / Time Zone''.::* Install Fedora 13For Software Selection: Accept the default '''minimum install'''. None of your VMs in this course will have a GUI since GUIs needlessly consume resources and image space. <ol><li>Click '''Installation Destination''', and then click '''Done''' to confirm that an '''automatic install''' will be performed.</li><li>Click Network & Hostname and set hostname to: '''vm1.localdomain''' and make certain the ''Ethernet connection'' is set to '''ON'''.</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></ol>
===First Boot===# Purchase You will notice that the server installation defaults to a SATA (Serial Advanced Technology Attachment) removable HDD (Hard Disk Drive) with command-line interface. This is normal, and we will only be using this interface during this course.#Ensure your machine has a minimum of 80 GB capacity from Senecanetwork connection by running the command '''ssh your_seneca_id@matrix.senecacollege.ca'''s bookstore located <ol><li value="3">If that did not work - make sure GlobalProtect VPN is installed on the first floor of the SEQ buildingyour Windows/Mac and connected. If it is, ensure your CentOS network interface is started automatically on boot. I strongly recommend </li></ol>{{Admon/tip|Default for network config for onboot|If you use this disk drive exclusively for this course've turned on your networking interface during installation - it will be turned on by default. If another course requires a similar HDD you should purchase 've left the network interface off during the installation - it will be off by default.}}<ol><li value="4">Once you have a separate one working connection - update your machine.</li></ol> '''yum update'''<ol><li value="5">Install the '''bind-utils''' package. The commands it provides (e.g. nslookup) will be useful in troubleshooting your network connection.</li><li>You may also want to install the '''nmap''', '''telnet''' and not attempt '''net-tools''' packages to use one disk drive help you troubleshoot connectivity issues.</li><li>Configure '''firewalld, iptables''' and (if required) '''SELinux''' the same way you did for both coursesthe host.</li><li>Reboot the virtual machine once it is updated.</li></ol>
{{Admon/important |Backup your VMs!|You MUST backup ALL of your VMs whenever you complete your '''OPS335 labs''' or when working on your '''OPS335 assignments''':<br>[ [https://wiki.cdot.senecacollege.ca/wiki/OPS235_Lab_2_-_CentOS7_-_HD2#Once Fedora has loaded, start Firefox and ensure the network is functioningPart_1:_Backing_Up_Virtual_Machines Backing up Your Virtual Machines] ]. Refer to OPS235 lab2 notes on how to backup your VMs. You will need should backup your VMs to a USB key in case something happens to authenticate yourself with your LEARN user name host machine. Note: VM files contained in the '''/var/lib/libvirt/images''' directory have the extension in '''.qcow2''' and password before Internet access is allowed instead of '''.img''' (eg. for OPS235 courses prior to the outside worldFall 2016. }}
::<span style="color:green;font-size:1.5em;">&#Login as user 'joker' and open a terminal window. Then use 'su' to become root and run the 'yum update' command. Logout when done. Note, you may have to reboot after all updates have completedx2713;</span> Host Machine installed::<span style="color:green;font-size:1.5em;">✓</span> 3 virtual machines installedNow that your system is up to date, again login as user 'joker' and do the following::<span style="color:green;font-size:1.5em;">&#*Verify that your system date x2713;</span> Each machine (host and time are correct. If not then set VM) has access to the correct system date and time.#*Verify that your network is functioning.#*Run and record the output of the 'df ::<span style="color:green;font-hT' commandsize:1.5em;">&#*Run and record the output of the 'cat x2713;</etc/fstab' commandspan> Lab logbook completed::<span style="color:green;font-size:1.5em;">&#*x2713;</span> Run and record the output of the 'cat /etc/issue' command'labcheck_install.#*Run and record the output of the sh''uname -a' command.shell script on your host machineAt this point you have a basic Fedora 13 installed and updated. 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.-->
== Completing the Lab EXPLORATION QUESTIONS==