OPS235 Lab 4 - Fedora17
Contents
State when starting Lab 4
At this point, having completed Lab 3 you should have the following disk storage setup:
- fedora1
This VM has a GUI and no free space in the VG. VG #PV #LV #SN Attr VSize VFree vg_fedora1 1 2 0 wz--n- 9.80G 0 LV VG Attr LSize lv_root vg_fedora1 -wi-ao 8.83G lv_swap vg_fedora1 -wi-ao 992.00M PV VG Fmt Attr PSize PFree /dev/vda2 vg_fedora1 lvm2 a- 9.80G 0
- fedora2
This VM has a GUI and free space in the VG. VG #PV #LV #SN Attr VSize VFree vg_fedora2 1 3 0 wz--n- 14.80G 4.07G LV VG Attr LSize lv_home vg_fedora2 -wi-ao 1.95G lv_root vg_fedora2 -wi-ao 7.81G lv_swap vg_fedora2 -wi-ao 992.00M PV VG Fmt Attr PSize PFree /dev/vda2 vg_fedora2 lvm2 a- 14.80G 4.07G
- fedora3
This VM has no GUI installed. VG #PV #LV #SN Attr VSize VFree vg_fedora3 1 3 0 wz--n- 9.80G 3.83G LV VG Attr LSize lv_home vg_fedora3 -wi-ao 1.00G lv_root vg_fedora3 -wi-ao 4.00G lv_swap vg_fedora3 -wi-ao 992.00M PV VG Fmt Attr PSize PFree /dev/vda2 vg_fedora3 lvm2 a- 9.80G 3.83G
- host (disk pack)
Four PVs, minimum VG size 60G Single filesystem on vg_main/root, size 50G At least 10G available space in VG 20% of disk space unallocated to any partition (min 15G)
Logical Volume Management
Resources
Please read this page to get an overview of LVM:
Investigation 1: How are LVMs managed using system-config-lvm?
Perform this investigation on the VM named fedora2.
- Fedora provides a tool called
system-config-lvm
to graphically administer LVM. It will appear on the menu as System>Administration>Logical Volume Management. Verify that this package is present, and install it if required (yum install system-config-lvm
). - Use this tool to determine the current LVM configuration by clicking on the appropriate element and reading the properties in the right-hand panel -- write down the answers:
- What are the names and sizes of the PVs?
- What is the name and size of the VG?
- What are the names and sizes of the LVs?
- Is there any space in the VG which is not allocated to a LV?
- Increase the size of the home filesystem to 2 GB:
- Click on the LV containing the home filesystem.
- Click on Edit Properties.
- Change the size to 2 GB and click Ok.
- Create a new 2G LV (LV Properties: linear) containing an ext4 filesystem named lv_archive and mount it at /archive
- Click on Logical View.
- Click the Create New Logical Volume.
- Set the name, size, filesystem, and mount point.
- Click Ok.
- Backup
/etc
into/archive
- Copy the files in /etc into the filesystem mounted at
/archive
(use the graphical tools or the command line. If using cp, remember to use the -R option).
- Copy the files in /etc into the filesystem mounted at
- Shrink the size of
lv_archive
to 1 GB. - Try shrinking
/
-- what happens? Why?
Investigation 2: How are LVMs managed from the command line?
Repeat the operations from Investigation 1, using the virtual machine fedora3 (command-line tools only). Write down the exact commands used at each step:
- Determine the current LVM configuration using the
pvs
,vgs
, andlvs
command. - Grow the home filesystem to 2G using the command
lvextend
andresize2fs
. - Create a new 2G LV containing an ext4 filesystem and mount it at /archive (use
lvcreate
,mkfs
,mount
, edit the file/etc/fstab
, and then reboot to confirm automatic mount). - Copy the contents of
/etc
into/archive
. - Shrink
lv_archive
to 1G (useumount
,resize2fs
,lvreduce
,resize2fs
, andmount
)
Investigation 3: How can a PV be added to an existing VG?
Add an additional 2 GB virtual disk to your fedora1 system, and use it as an additional physical volume:
- Start
virt-manager
. - Shutdown fedora1 if it is running.
- Open the console window for fedora1.
- Select the menu option View>Details.
- Click + Add Hardware
- In the Adding Virtual Hardware window that appears, select a Hardware Type of storage and click Forward.
- Select File (Disk Image) for the storage space. Click on the Browse button near the Location field, add a new volume (which creates a new file in
/var/libvirt/images
), then click New Volume. - Give the new virtual disk file a name of
fedora1b
, with a Max Capacity and Allocation of 2000 MB. Click Finish. - Select the new virtual disk file and click Choose Volume.
- Select a device type of Virtio Disk.
- Finish creating the new virtual disk.
- Boot the system. You should now have both
/dev/vda
and/dev/vdb
. - Record the size of the volume group and the amount of free space.
- Partition /dev/vdb with a single partion that fills the whole disk.
- Check the messages printed when
fdisk
exits -- you may need to reboot the system in order for the new partition table to take effect. - Run this command to format the physical volume:
pvcreate /dev/vdb1
- Add the new physical volume to the existing volume group:
vgextend nameOfVolumeGroup /dev/vdb1
- Verify that the volume group is larger and has more free space.
Using that additional space, create a separate filesystem for /home
:
- Create the logical volume
lv_home
(1G ext4) - Find a way to move the contents of
/home
onto it. - Change your system configuration so that the new filesystem is mounted on
/home
from now on.
Investigation 4: How can I use LVM to manage storage on my disk pack?
On your host (disk pack), using your choice of the GUI and/or command-line tools:
- Create a new logical partition (NOT a logical volume!) - minimum 5G, leaving at least 10G free space in the extended partition.
- Add that partition as a PV into the existing VG (using the commands you used in the previous investigation).
- Grow the root filesystem to fill the available space.
Package Management
Investigation 5: How do you query the RPM database?
RPM maintains a database of installed software. This information is very useful to system administrators. In Lab 3, you queried that database using RPM with the -q argument. When you query the RPM database, you can separately specify:
- Which packages you want information about, using a select-option
- What information you want about those packages, using a query-option
Steps:
1. Using information from the man page for rpm
, fill in this information:
Option | Meaning | Is this a select-option or a query-option? |
---|---|---|
-a | Select all packages | select-option |
-l | ||
-p filename' | Select this uninstalled package | |
-i | Show the package license, packager, URL, description, and other general information. | |
-f filename | ||
packagename | Select just this package | select-option |
Make sure that your lab notes answer the Investigation 5 question.
Investigation 6: How do you install and remove software with RPM?
- Change to the directory on your Installation DVD containing the lynx-2.8.6-23.fc12.x86_64.rpm
- Execute this command:
rpm -i lynx-2.8.6-23.fc12.x86_64.rpm
- Issue an RPM query to check that lynx is installed.
- Issue this command:
rpm -e lynx
- Issue an RPM query to verify that lynx is no longer installed.
- Issue this command:
rpm -i BackupPC-3.1.0-9.fc12.noarch.rpm
Answer the Investigation 6 question.
Investigation 7: How do you install and remove software with yum?
- Change to your home directory.
- Issue the command:
yum install BackupPC
and answery
to the question about installation.- Where did yum get the BackupPC software?
- Why could yum install BackupPC when rpm couldn't?
- Issue an RPM query to verify that BackupPC is installed.
- Issue the command:
yum remove BackupPC
- Issue an RPM query to verify that BackupPC is no longer installed.
- Install
nled
using yum.
Answer the Investigation 7 question.
User/Group Management
Investigation 8: The /etc/passwd file
- Look at the /etc/passwd file.
- Make note of the contents of that file.
- Read about the file: http://linux.die.net/man/5/passwd
- Make sure you know what information each field contains.
- Why do you think there are so many users?
- Look at the names of the users. What do you think these user names represent? Are they people?
Investigation 9: Adding users
- Read the man page for the useradd command.
- Create a new user account for each of your pod mates, using their learn account name as a user name. Give each user a password.
- Grep the /etc/passwd file for each of the new users.
- What is the home directory of each user?
- What group is each user in?
- What else do you know about each user?
- Where are the passwords stored?
- Look at the man page for /etc/shadow using the command man 5 shadow
- Grep the /etc/shadow file for each of the new users.
- Make note of this information.
- Create two new dummy users, ops235_1 and ops235_2.
- Investigate the home directory of one of your new users.
- What files are there? Be sure to include hidden files.
- What do you think these files are used for?
- How does the operating system determine which files are created in a new home account? The answer can be found here: http://www.linuxhowtos.org/Tips%20and%20Tricks/using_skel.htm
- Look at the files (including hidden files) in the template directory referred to in the article. Compare them to what is in a home directory for a new user. What do you notice?
- Create a new file in this directory with the following command:
touch foo
- Create a new user named foobar, with the option to automatically create a home directory.
- Look at the contents of foobar's home directory. What do you notice?
- Be sure to record your observations in your lab notes.
- Add your matrix account user to fedora3.
Investigation 10: Managing Groups
- Read the man page for the groupadd and groupdel commands.
- Note which option allows you to set the Group ID number (GID) when you create a new group.
- Examine the file /etc/group
- Which values of GID are reserved for system accounts?
- Which values of GID are reserved for non-system user accounts?
- 8 What is the lowest available GID number for non-system users?
- What is the default group name of a new user?
- Add a new group named ops235 with a GID of 600.
- You are angry at some irresponsible users on your system.
- Add a new group named idiots.
- Look at /etc/group and note the GID of idiots.
- What GID is given to a new group if if you do not specify it?
- Your anger has subsided. Delete the idiots group.
- Look at /etc/group again and note the change.
Be sure to record your observations in your lab notes.
Investigation 11: Deleting users
- Read the man page for the userdel command. Note which option automatically removes the users home directory when that user is deleted.
- Delete the user ops235_1 using the command
userdel ops235_1
- Delete the user ops235_2 using the same command with the option which removes the home directory of the user.
- Check the contents of the /home directory. What do you notice?
- Check the contents of the /etc/group directory. What do you notice?
Be sure to record your observations in your lab notes.
Investigation 12: Modifying users
- Read the man page for the usermod command. Note which options change the user's full name, primary group, supplementary groups, and shell.
- Add each of your new users to the group ops235 (in other words, add ops235 to each user as a supplementary group).
- Examine
/etc/group
. What has changed? - Use the usermod command to associate each of your pod mates' full name to their user name, as shown in your text. With each change, examine their entries in the
/etc/passwd
file. What has changed? - Be sure to record your observations in your lab notes.
Completing the lab
Arrange proof of the following on the screen:
- Two PVs on fedora1.
- Separate
/home
filesystem (on an LV) in fedora1. - Larger
/home
on fedora2 and fedora3. - Unnecessary accounts and groups have been removed on fedora1.
- Account created on fedora3 matching your Matrix account.
- nled installed on the host (disk pack - main system).
- Answer to this question:
- What is the license of the nautilus package?
- Fresh backup of the virtual machines.
Preparing for the Quizzes
- What is a VG? PV? LV?
- What does yum do that rpm does not?
- What is the total size of the "main" VG on your system?
- How do you create a LV?
- How do you delete an LV?
- How would you add the disk partition
/dev/sdb7
to your volume group "main"? - How would you increase the size of the root filesystem by 50 MB?
- What is the purpose of
/etc/fstab
? - What did you have to do in order to move the home directories onto a new filesystem? Why?