[Top] [All Lists]

Re: Ext4 and xfs problems in dm-thin on allocation and discard

To: Lukáš Czerner <lczerner@xxxxxxxxxx>
Subject: Re: Ext4 and xfs problems in dm-thin on allocation and discard
From: "Ted Ts'o" <tytso@xxxxxxx>
Date: Tue, 19 Jun 2012 10:19:33 -0400
Cc: Spelic <spelic@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, device-mapper development <dm-devel@xxxxxxxxxx>
In-reply-to: <alpine.LFD.2.00.1206191601290.21961@xxxxxxxxxxxxxxxxxxxxxxxxx>
References: <4FDF9EBE.2030809@xxxxxxxxxxxxx> <alpine.LFD.2.00.1206191601290.21961@xxxxxxxxxxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
On Tue, Jun 19, 2012 at 04:09:48PM +0200, Lukáš Czerner wrote:
> With thin provisioning you'll get totally different file system
> layout than on fully provisioned disk as you push more and more
> writes to your drive. This unfortunately has great impact on
> performance since file systems usually have a lot of optimization on
> where to put data/metadata on the drive and how to read them.
> However in case of thinly provisioned storage those optimization
> would not help. And yes, you just have to expect lower performance
> with dm-thin from the file system on top of it. It is not and it
> will never be ideal solution for workloads where you expect the best
> performance.

One of the things which would be nice to be able to easily set up is a
configuration where we get the benefits of thin provisioning with
respect to snapshost, but where the underlying block device used by
the file system is contiguous.  That is, it would be really useful to
*not* use thin provisioning for the underlying file system, but to use
thin provisioned snapshots.  That way we only pay the thinp
performance penalty for the snapshots, and not for normal file system
operations.  This is something that would be very useful both for ext4
and xfs.

I talked to Alasdair about this a few months ago at the Collab Summit,
and I think it's doable today, but it was somewhat complicaed to set
up.  I don't recall the details now, but perhaps someone who's more
familiar device mapper could outline the details, and perhaps we can
either simplify it or abstract it away in a convenient front-end

                                                - Ted

<Prev in Thread] Current Thread [Next in Thread>