Mechanisms and techniques are disclosed that provide the ability to backup
and restore a file between a backup server and a data storage system using
multiple trails of data for the same file. Within the data storage system,
the file is generally stored as a series of data portions spread across
multiple storage devices such as disk. The file may be stored, for
example, within a volume. In the backup operation of the invention, a
discover phase determines which respective data portions of the file
(e.g., partitions) are stored upon which respective storage devices (e.g.,
disks) of a plurality of storage devices. The system then designates
individual respective backup devices (e.g., tapes) of a plurality of
backup devices to be used for backing-up respective individual ones of the
data portions of the file that are stored on respective storage devices.
Next, the system concurrently backs up at least two respective data
portions of the file to different respective backup devices for which
those data portions are designated, such that at least two respective data
portions of the file are backed-up to respective backup devices in
parallel. The restore operation operates in a similar manner by
determining which respective data portions (e.g., backup images) of the
file are stored upon which respective backup devices (e.g., tapes) of a
plurality of backup devices. The system then designates individual
respective portions of storage devices of a plurality of storage devices
to be used for storing respective individual ones of the data portions of
the file that are stored on respective backup devices. Next, the system
concurrently restores at least two respective data portions of the file to
different respective storage devices for which those data portions are
designated, such that at least two respective data portions of the file
are restored to respective storage devices from respective backup devices
in parallel. By treating portions of a file as separate backup work items,
each portion may be provided as an independent stream or trail of data to
or from the backup server, thus decreasing the time required to backup or
restore a file.