Chapter 6. Address Volume Size Discrepancies with Dell EqualLogic Back Ends When reporting volume sizes, Dell EqualLogic (EQL) back ends also account for additional storage to be used for internal volume metadata. This size will be slightly larger than the volume size reported by the Block Storage services. However, the volume size reported by an EQL back end is the same one used by the Image service. As a result, when creating an image-backed volume on an EQL back end, check the size of the image first. If the image was originally volume-backed, then EQL (and, by extension, the Image service) will be reporting a volume size slightly larger than what is reported by the Block Storage service. If the image size reported by EQL is slightly larger, then you need to take the size discrepancy into consideration when creating volumes backed by this image. 6.1. Example To illustrate, when you create a 1GB volume: # cinder create --display-name vol1 1 The Block Storage service will report a volume size of 1GB, but on the EQL array the size (VolReserve) will be slightly bigger: eql> volume select volume-6bdace69-bd41-42fc-a63a-f834fb65a2e4 eql (volume-6bdace69-bd41-42fc-a63a-f834fb65a2e4)> show When you create a new image from this volume, cinder will report a correct volume size of 1GB: # cinder upload-to-image --disk-format raw --container-format bare vol1 image_vol1 However, the Image service will report a slightly larger size: # glance image-list The glance tool reports an image size of approximately 1.01GB. As a result, creating a new 1GB volume backed by this image will fail: # cinder create --display-name vol2 --image-id c65f7eae-e2c1-44ba-8af1-e33695897559 1 6.2. Workaround As mentioned earlier, you need to consider the discrepancy between the volume sizes reported by the Image and the Block Storage services when specifying the size of image-backed volumes. This means that when specifying the size of the image-backed volume, use the whole number after the image size reported by glance . Using the example, glance reported an image size of 1.01GB. This means that when you create a volume, you need to specify a volume size of 2GB instead of 1GB: # cinder create --display-name vol2 --image-id c65f7eae-e2c1-44ba-8af1-e33695897559 2

Commands:
+---------------------+--------------------------------------+ | Property | Value | +---------------------+--------------------------------------+ | attachments | [] | | availability_zone | nova | | bootable | false | | created_at | 2014-12-19T03:57:47.730359 | | display_description | None | | display_name | vol1 | | encrypted | False | | id | 6bdace69-bd41-42fc-a63a-f834fb65a2e4 | | metadata | {} | | size | 1 | | snapshot_id | None | | source_volid | None | | status | creating | | volume_type | None | +---------------------+--------------------------------------+
_______________________________ Volume Information ______ Name: volume-6bdace69-bd41-42fc-a63a-f834fb65a2e4 Size: 1GB VolReserve: 1.01GB
+---------------------+--------------------------------------+ | Property | Value | +---------------------+--------------------------------------+ | container_format | bare | | disk_format | raw | | display_description | None | | id | 6bdace69-bd41-42fc-a63a-f834fb65a2e4 | | image_id | c65f7eae-e2c1-44ba-8af1-e33695897559 | | image_name | image_vol1 | | size | 1 | | status | uploading | | updated_at | 2014-12-19T03:57:48.000000 | | volume_type | None | +---------------------+--------------------------------------+
...+------------+-------------+------------------+------------+--------+ ...| Name | Disk Format | Container Format | Size | Status | ...+------------+-------------+------------------+------------+--------+ ...| image_vol1 | raw | bare | 1085276160 | active | ...+------------+-------------+------------------+------------+--------+
ERROR: Invalid input received: Size of specified image 2 is larger than volume size 1
+---------------------+--------------------------------------+ | Property | Value | +---------------------+--------------------------------------+ | attachments | [] | | availability_zone | nova | | bootable | false | | created_at | 2014-12-19T04:54:07.036260 | | display_description | None | | display_name | vol2 | | encrypted | False | | id | fcf49715-094d-4bba-9f05-8b7fa6deffce | | image_id | c65f7eae-e2c1-44ba-8af1-e33695897559 | | metadata | {} | | size | 2 | | snapshot_id | None | | source_volid | None | | status | creating | | volume_type | None | +---------------------+--------------------------------------+