Candidates should be able to configure kernel options to support various hardware devices including UDMA66 drives and IDE CD burners. This objective includes using LVM (Logical Volume Manager) to manage hard disk drives and partitions as well as software tools to interact with hard disk settings.
Revision: $Revision: 499 $ ($Date: 2011-04-20 11:09:38 +0200 (Wed, 20 Apr 2011) $)
Key files, terms and utilities include:
/sbin/pv* |
/sbin/lv* |
/sbin/vg* |
| mount |
/dev/mapper/ |
Resources: Impson00; Hubert00; Colligan00; the man pages for the various commands.
The objective names the tune2fs command as one of the
key utilities for this objective. The filesystem optimizing tools are handled in
tune2fs.
lvm is a logical volume manager for Linux. It enables you to concatenate several physical volumes (hard disks etc.) to a so-called volume groups, forming a storage pool, much like a virtual disk. IDE, SCSI disks, as well as, multiple devices (MD) are supported.
In the ASCII art below, the concepts/terminology used by lvm are sketched. On the right side the names of the commands are shown that can be used to manipulate/create the layer sketched on the left.
a hard disk, or a partition, e.g. /dev/hda,
/dev/hda6 or /dev/sda.
You should set the partition types of the disk or partition to
0x8e, which is “Linux LVM”.
Partitioning is done using fdisk. Please note that
your version of fdisk may not yet know this type,
so it will be listed as “Unknown”. You can turn any consecutive number
of blocks on a block device into a Physical Volume:
a physical medium with some administrative data added to it. The command pvcreate can be used to add the administration onto the physical medium. The command vgcreate is used to create a volume group, which consists of one or more PV's. A PV that has been grouped in a volume group contains Physical Extents:
Physical Extents are blocks of diskspace, often several megabytes in size. Using the command lvcreate you can assign PEs to a Logical Volume:
A Logical Volume. On a logical volume we can use the command mkfs to get a Filesystem:
ext2, ReiserFS,
NWFS, XFS,
JFX, NTFS etc.
To the linux kernel, there is no difference between a regular partition and a Logical
Volume. A simple mount suffices to be able to use your logical
volume.
Some examples of typical usage of the LVM commandset follow. Initially, you need
to set the partition type for the partitions to use to create logical volumes to
0x8e. Let's assume we have partitions
/dev/hda4 and /dev/hda5, and they are set
to the correct partitioning type. To create a physical volume on both
partitions (i.e. to set up the volume group descriptor) you type (being
the superuser):
# pvcreate /dev/hda4 /dev/hda5
Now we have created two physical volumes. Next, we will create a volume group.
A volume group needs to have a name (we choose volume01).
To create our volume group, using our previously defined physical volumes, type:
# vgcreate volume01 /dev/hda5 /dev/hda4
The previous command line is the most basic form (refer to the manual pages for a list of configurable parameters). This will create an array of physical extents, by default they are 4 Mb in size. Using these extents we can create one or more logical volumes, e.g:
# lvcreate -L 100M volume01
.. this creates a logical volume with a default name choosen by
lvcreate and starts with the string
lvol followed by a digit
-- let's assume lvol0. The logical volume will be
created using the volumegroup volume01. The name of
the devicefile for this volume will be /dev/volume01/lvol0.
Next, we can make a filesystem on the volumegroup, as usual,
using mkfs, e.g. an xfs filesystem:
# mkfs -txfs /dev/volgroup/volname
The resulting filesystem can be mounted as usual:
# mount /dev/volgroup/volname /mnt
One of the nicest features of LVM is the possibility of taking snapshots of volumes. A snapshot is a virtual copy of the volume to enable easy backups. Another interesting feature is striping, which can result in better performance, but also in a higher risk of losing your data.
Most newer CD burners will work with Linux. If the SCSI-version of a particular writer works, the IDE/ATAPI-version will most likely work too and vice versa. Note, however, that IDE/ATAPI writers and writers that use the parallel port require compatibility drivers, which make them appear as if they were real SCSI devices ("everything is SCSI").
In newer Linux kernels (later than 2.6), SCSI-emulation is not needed anymore.
To use IDE burners, you need to activate both IDE and SCSI support in your kernel, and a number of other modules, as listed below:
Description Modulename -------------------------- ---------- Enhanced IDE/MFM/RLL... Y IDE/ATAPI CDROM ide-cd M SCSI hostadaptor emulation ide-scsi M Loopback device loop M SCSI support scsi_mod Y/M SCSI CD-ROM support sr_mod Y/M SCSI generic support sg Y/M ISO 9660 CDROM filesystem iso9660 Y Microsoft Joliet cdrom... joliet M/Y -------------------------- ----------
To use your IDE burner, the modules need to be loaded. This can be done
automatically via the kerneld/kmod
daemons, or you need to insert the modules by hand, using insmod
or modprobe. You might add the following lines to
/etc/conf.modules:
alias scd0 sr_mod # load sr_mod upon access of scd0 alias scsi_hostadaptor ide-scsi # SCSI host adaptor emulation options ide-cd ignore=hdb # if /dev/hdb is your CD-writer
These aliases provide alternate names for the same module and are not essential, but convenient. The options provides a way to make options for module loading permanent, i.e. after you have sucessfully used them with modprobe/insmod.