Changes

Jump to: navigation, search

OPS235 Lab 2

863 bytes added, 11:27, 29 January 2019
Part 2: Configure VMware Workstation for Nested VMs
# In a terminal as the root user, edit the file called: '''/boot/efi/EFI/centos/grub.cfg'''<ul><li>'''If this file doesn't exist, double-check your UEFI settings in VMWare Workstation for c7host. If BIOS is selected, <u>you MUST redo Lab 1</u>.'''</li></ul>
# Search for the <b>first occurrence </b> of the Linux Kernel boot command.Do not make the following changes on more than one entry!
# Insert the boot option: '''kvm-intel.nested=1''' at the end of the Linux kernel boot options.
#<span style="background-color:yellow;">During the install, select '''Gnome Desktop''' software selection). For partitioning, select '''I will configure partition settings''', click done, then select '''Click here to create them automatically'''. Set the / partition for '''ext4''' file-system type, and click '''Done'''.</span>
#<span style="background-color:yellow;">Set the correct '''Date and Time Zone''', and then click on '''Network and Hostname'''. The network should be turned on. For hostname, enter: '''centos1''' and then click '''Done'''.</span>
# <span style="background-color:yellow;">Complete the installation. Login to your regular user account, switch to the root user with <b>su -</b>, and perform a '''yum update''' for the centos1 VM (reboot if required). Make certain to adjust your screen-saver settings if desired.</span>
<br>
{{Admon/important|Use same root password / regular username / regular user passwords for c7host and ALL VMs|To simplify the lab checking process make certain that you use the identical root password, regular username, and regular username password for VMs that you create in this labs as you did for c7host machine in lab1.<br><br>}}
:::*Home: http://mirror.netflash.net/centos/7/os/x86_64/
:: '''Kickstart File URL (Kernel options): '''
:::* Seneca Lab:''' <span style="color:green;font-weight:bold">ks=</span>http://scscs.senecac.onsenecacollege.ca/~chris.johnson/OPS235ops235/lab2/centos7-kickstart-v02.cfg:::* Home:''' <span style="color:green;font-weight:bold">ks=</span>http://scs.senecaccs.onsenecacollege.ca/~chris.johnson/OPS235ops235/lab2/centos7-kickstart-v02-ext.cfg
:: '''VM Image Pathname:''' /var/lib/libvirt/images/centos3.qcow2
:: '''Memory:''' 2048MB ('''IMPORTANT''' Do not use less than 2048MB during installation.)
:: '''Disk space:''' 15GB
:: '''CPUs:''' 2
<br>{{Admon/important|Include ''ks&#61;'' in the URL options field!|When using a kickstart file, make sure you include the''' ''ks&#61;'' '''portion of the link. If done correctly, you should not be able to select partitions or any other settings.}}<br>
:'''Perform the following steps:'''
# Create the VM (called '''centos3''')
# During the install, copy the network URL, then click the '''URL options''' to expand the '''kernel options''' input textbox. Type the following in the kernel options textbox: <ul><li>Seneca Lab:''' <span style="color:green;font-weight:bold">ks=</span>http://scscs.senecac.onsenecacollege.ca/~chris.johnson/OPS235ops235/lab2/centos7-kickstart-v02.cfg</li><li>'''Home:''' <span style="color:green;font-weight:bold">ks=</span>http://scs.senecaccs.onsenecacollege.ca/~chris.johnson/OPS235ops235/lab2/centos7-kickstart-v02-ext.cfg</li></ul>
# Then click the '''forward''' button to proceed. Make certain to select the correct Memory Size and Disk Space size shown in the VM Details above
# Make certain to enter the name: '''centos3''', <u>AND</u> then select the option: '''Customize configuration before install''', and select '''Copy Host CPU Configuration''', click '''Apply''', and then click '''Begin Installation'''.
'''Answer the INVESTIGATION 2 observations / questions in your lab log book.'''
=INVESTIGATION 23: MANAGING VIRTUAL MACHINES (KVM)=
# Shut down your '''centos1''', '''centos2''', and '''centos3''' VMs. For ''centos2'' and ''centos3'', which are CLI-only, you can issue the following command as root to shutdown: <b><code><span style="color:#3366CC;font-size:1.2em;">shutdown -h</span></code></b>. Please be patient, the VMs will shut down!
# In your '''c7host''' VM, change open a new Terminal window, and '''switch to the root account ''inside'' the terminal'''.# Change to the images directory by issuing the command: <b><code><span style="color:#3366CC;font-size:1.2em;">cd /var/lib/libvirt/images/</span></code></b><brul><li>Note the size of the files in this directory. What do these files contain?</li></ul># Make a compressed backup of your '''centos1.qcow2''' , '''centos2.qcow2''', and '''centos3.qcow2''' files to your regular user's home directory by issuing each command (one at a time):<br><b><code><span style="color:#3366CC;font-size:1.2em;">gzip < centos1.qcow2 > ~YourRegularUsername/centos1.qcow2.backup.gz</span></code></b><br><b><code><span style="color:#3366CC;font-size:1.2em;">gzip < centos2.qcow2 > ~YourRegularUsername/centos2.qcow2.backup.gz</span></code></b><br><b><code><span style="color:#3366CC;font-size:1.2em;">gzip < centos3.qcow2 > ~YourRegularUsername/centos3.qcow2.backup.gz</span></code></b><brul>'''NOTE:''' Make certain to use the redirection signs "<" and ">" properly in the command!<br/ul>
{{Admon/important |Please be patient|It may look like the command prompt is stuck but it could take a while for gzip to compress an entire operating system. '''NOTE:''' Do NOT press '''&lt;ctrl&gt;c''' to cancel this process. If you do, your archive will become incomplete and your recovery will be corrupt.}}
('''NOTE:''' Make certain to use the redirection signs "<ol><li value=" and 5">" properly in the command!)<br><br># Compare the size of the compressed and original files (hint: use '''ls -lh'''). If file is very large (like 15GB), you didn't compress it and you need to remove that file and perform the previous step until you get it right!</li># <li> Start the '''''centos3''''' VM.</li># <li> '''Make certain that you are in your VM and <u>not</u> in your main system!''' </li># <li> Wreck <u>only</u> your centos3 system! Try this command inside the centos3 virtual machine:<b><code><span style="color:#3366CC;font-size:1.2em;">rm -rf /*</span></code></b> (ignore error messages).</li># <li> Shut down the centos3 VM. If you tried to start the centos3 VM, it would not boot since all system files have been removed!</li># <li> Make certain you are in your '''/var/lib/libvirt/images directory'''. Restore the original image from the backup from your home directory to your '''images''' directory by typing this command:<br><b><code><span style="color:#3366CC;font-size:1.2em;">gunzip < ~YourUserId/centos3.qcow2.backup.gz > centos3.qcow2'''</span></code></b></li># <li> Restart the VM. Is it working normally?</li># <li> Create compressed backups of your other virtual machines (ie. '''centos1''' and '''centos2''').</li># <li> You should make a copy of the xml configuration file in case you "wipe" and re-install the host machine, and want to add a restored VM backups to the virtual machine manager list. We will demonstrate using the centos3 xml configuration file, and prove that a "clone" can be added to your list.Please perform the following step:</li># <li> Execute the following command: <b><code><span style="color:#3366CC;font-size:1.2em;">virsh dumpxml centos3 > centos3.xml</span></code></b></li># <li> Examine the file <b><code><span style="color:#3366CC;font-size:1.2em;">centos3.xml</span></code></b>. What does it contain? What format is it in?<br><br/li></ol>=== Part 2: Restoring Virtual Machines === [[Image:Cinnamon-2.png|thumb|right|500px|Click on the cog icon to select different installed desktop environments.]] # We will now learn how to download a compressed image file and xml XML configuration file and add it as a VM to the virtual manager Virtual Machine Manager menu.# Issue the following commands:<ul><li><b><code><span style="color:#3366CC;font-size:1.2em;">wget http://cs.senecac.onsenecacollege.ca/~murray.saulops235/ops235lab2/practical1centos4.imgqcow2.backup.gz</span></code></b></li><li><b><code><span style="color:#3366CC;font-size:1.2em;">wget httpshttp://scs.senecaccs.onsenecacollege.ca/~murray.saulops235/ops235lab2/practical1centos4.xml</span></code></b><br><br></li></ul><ol><li value="17">The downloaded file "practical1.img.gz" is a "raw image compressed VM file", but will work the same for a Virtual Machine as the qcow2 file format.# Copy these files to the '''/var/lib/libvirt/images''' directory and decompress that raw the qcow2 image file.</li><li># Make certain your present working directory is: '''/var/lib/libvirt/images'''</li><li># Issue the command: <b><code><span style="color:#3366CC;font-size:1.2em;">virsh define practical1centos4.xml</span></code></b></li><li># What happened in the virtual manager window? To remove a VM entry in the Virtual Manager window, simply issue the command: '''virsh undefine vm_name''' (without the '''.xml''' file extension)# Start up your new centos4 VM.# Click on the user <i>OPS235</i>, and click the cog icon.# Notice <i>Cinnamon (Software Rendering)</i> is selected. The Cinnamon desktop environment has been installed on this VM. From this menu, you can select other installed desktop environments. This is how you switch between them. Write it down.# Login with the password <b><i>ops235</lii><li/b>. Feel free to explore the new environment.# Prior to your practical test, you will be required to perform a similar operation to download, unzip and run a VM image for your practical test.<br><br></li></ol>{{Admon/important|Shutting Down the Host while Virtual Machines are Running|If you shut down your host system while virtual machines are running, they will be suspended, and will resume the next time you boot your host system.}}<ol> <li value="2212">For the remainder of these labs, it is assumed that you will backup <u>'''both'''</u> the images and xml XML configuration files for <u>'''all'''</u> Virtual machines, when asked to backup your virtual machines. It is also highly recommended to backup these files to an external storage device (eg. USB key) in case the host machine gets "wiped" and you need to rebuild your HOST machine and then restore your Virtual Machines...</li>
<li>Answer this question in your log book:</li>
</ol>
::* In order to fully back up a virtual machine, what information should be saved in addition to the virtual machine image?
=== Part 23: Using Shell Scripts for VM Backup &amp; Management===
{|width="40%" align="right" cellpadding="10"
|- valign="top"
&nbsp;echo "Backing up VM #$numanswer"<br>
&nbsp;gzip < /var/lib/libvirt/images/centos$numanswer.qcow2 > /root/centos$numanswer.qcow2.backup.gz<br><br>
&nbsp;echo "VM #$numanswer BACKUP DONE":<br>
else<br>
&nbsp;echo "Invalid Selection... Aborting program"<br>
<ol>
<li value="15">Save, set permissions, and then run that shell script to backup centos1. Confirm that this script did backup this image to root's home directory</li><li>Use the <b><code>wget</code></b> command to download, study, and run the following shell scripts on-line:<blockquote><b><code><span style=" pointer-events:none;cursor:default;color:#3366CC;font-size:1.2em;">httpshttp://scscs.senecac.onsenecacollege.ca/~murray.saulops235/lab2/vm-start-text.bash<br>httpshttp://scs.senecaccs.onsenecacollege.ca/~murray.saulops235/lab2/vm-stop-text.bash</span></code></b><br><b><code><span style=" pointer-events:none;cursor:default;color:#3366CC;font-size:1.2em;">httpshttp://scs.senecaccs.onsenecacollege.ca/~murray.saulops235/lab2/vm-start.bash<br>httpshttp://scs.senecaccs.onsenecacollege.ca/~murray.saulops235/lab2/vm-stop.bash</span></code></b></blockquote></li><li>Try to understand what these Bash Shell scripts do.</li><li>You have completed lab2. Proceed to Completing The Lab, and follow the instructions for "lab sign-off".</li></ol> 
'''Answer INVESTIGATION 2 observations / questions in your lab log book.'''
'''Answer INVESTIGATION 3 observations / questions in your lab log book.'''
= LAB 2 SIGN-OFF (SHOW INSTRUCTOR) =
{{Admon/important|Backup ALL of your VMs!|If you have successfully completed this lab, make a new backup of all of your virtual machines onto your UBS USB Key.}}
:'''Perform the Following Steps:'''
# Use the '''virsh start''' command to launch all the VMs ('''centos1''', '''centos2''', and '''centos3''').
# Switch to your '''c7host''' VM, open a terminal, login as root, and change directory to '''/root/bin'''.
# Issue the Linux command: <b><code><span style="color:#3366CC;font-size:1.2em;">wget http://matrixcs.senecac.onsenecacollege.ca/~murray.saulops235/ops235lab2/lab2-check.bash</span></code></b>
# Give the '''lab2-check.bash''' file execute permissions (for the file owner).
# Run the shell script and if any warnings, make fixes and re-run shell script until you receive "congratulations" message.
::&#x2713; '''<u>All</u> VMs''':<blockquote><ul><li>All 4 VMs '''created''' and '''running'''</li><li> Proof of '''yum updates''' on ALL VMs (i.e. results from '''yum update''' command)</li></ul></blockquote>
::<span style="color:green;font-size:1.5em;">&#x2713;</span>'''centos2 c7host VM''':<blockquote><ul><li>Run the '''lab2-check.bash''' script in front of your instructor (must have all <b><code><span style="color:#66cc00;border:thin solid black;font-size:1.2em;">&nbsp;OK&nbsp;</span></code></b> messages)</li></ul></blockquote>
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Lab2 logbook notes completed.

Navigation menu