[openstack-dev] Feedback wanted please on proposal to make root disk size variable
Scott Moser
smoser at ubuntu.com
Wed Jun 5 18:50:59 UTC 2013
On Wed, 5 Jun 2013, Day, Phil wrote:
> I guess the other way to look at this is that users would have a choice between a possibly faster start-up time by keeping to a few well know root disc sizes in the images or a fully custom root disk size but with less chance of a faster start-up time.
I dont understand why thats the choice. Why does ephemeral disk size have
to be linked to root disk size?
>
> From the host perspective it has to clean up base files that are no longer in use anyway, so I don't see a big penalty in having a lot of different base files, just a lack of optimization in the user experience - or am I missing something ?
>
The time and IO it takes to create a filesystem on a "device" (file or
block device, doens't really matter) is very real. I think the caching of
that is not an insignificant performance improvement.
Heres an example:
$ truncate --size=20G my.img
$ ls -s my.img
0 my.img
$ time mkfs.ext3 -F my.img >/dev/null 2>&1
real 0m15.279s
user 0m0.020s
sys 0m0.980s
$ ls -s my.img
464476 my.img
So it looks to me that it did ~400M of IO in order to put a filesystem on
a 20G image. If you push that off to the guest, its only going to perform
worse (as IO will be slower).
I understand its a very remedial benchmark.
deciding to not create a filesystem on the instance is really not an
option in my opinion. You'll break *loads* of workloads that expect to
come up and have /mnt mounted with whatever ephemeral disk is available.
Generally, I would argue on the side of "the cloud platform shouldn't deal
with software things like filesystems". But here, there is such a large
expectation of ephemeral disk to have a filesystem already on it, that I
think its worth continuing.
openstack needs to be very careful about breaking an instances' expectation.
> Phil
>
> -----Original Message-----
> From: Day, Phil
> Sent: 05 June 2013 17:43
> To: OpenStack Development Mailing List
> Subject: Re: [openstack-dev] Feedback wanted please on proposal to make root disk size variable
>
> Hi Scott,
>
> I take your point about the number of backing files - which could in the worst case end up as one for every instance on the host.
>
> I use the term worst case loosely though, as there are times where
> having a filesystem in the base file can be a pain - for example if you
> have two VMs on the same system that are expecting the uuids of their
> filesystems to always be unique then they'll be in for a shock, and also
I dont think thats a real issue, honestly. Any one working with disk
images realizes that clones are ... well they're clones. They've seen the
same UUIDs on different disks before.
> on migration to a host that already has a backing file of that size then
> you either have to squash the COW layer of the VM you’re migrating ,or
> re-base it and accept that the filesystem uuid is going to change.
You most certainly can't change the contents of the ephemeral image during
a live migration. That'd quite likely crash a kernel and best case would
lose customer data.
>
> I have been wondering if the common backing files are really that much of a gain ?
I suspect the're not really much of a gain, as any usage in one instance
is almost certainly different than another instance. However, as shown
above, there probably is 400M of IO gained by the cache and re-use.
More information about the OpenStack-dev
mailing list