A volume server for flexibly combining mirroring, striping and
concatenation in virtual storage devices includes virtualization
functionality and a layout table. The virtualization functionality may be
configured to aggregate storage within one or more block devices into a
logical volume. The layout table may include multiple extent entries,
where each extent entry represents a mapping of an extent of block device
storage to a virtual address range of the logical volume, including an
indication of a stripe of the logical volume to which the extent is
mapped. An overlap in virtual address range between a first and a second
extent entry may indicate mirroring of the overlapping blocks at each
extent. In response to a storage request, the virtualization
functionality may obtain a block device address corresponding to the
logical volume virtual address of the storage request from the layout
table.