1. A method for performing a storage operation using at least two storage devices, the method comprising: receiving a request to perform a storage operation; determining a storage characteristic related to performing the requested storage operation; detecting, among a plurality of storage devices, a first storage device and a second storage device satisfying the storage characteristic; associating the first storage device and the second storage device with a virtual library; and performing the storage operation using the virtual library.