Hi Luca,
I gave this a little more thought ...
Luca Berra schrieb:
On Mon, Apr 20, 2009 at 03:15:12PM +0200, Sven Eschenberg wrote:
Hi Luca,
Okay, let's assume a chunk size of C. No matter what your md looks like,
the logical md volume consists of a series of size/C chunks. the very
first chunk C0 will hold the LVM header.
If I align the extends with the chunksize and the extends even have the
chunksize, then every extens PEx of my PV equals exactly a chunk on
any of
the disks.
Which in turn means, if I want to read PEx I have to read some chunk
Cy on
one disk, and PEx+1 would most certainly be a Chunk Cy+1 which would
reside on a different physical disk.
correct
So the question is: Why would you want to align the first PE to the
stripesize, rather then the chunksize?
Because when you _write_ incomplete stripes, the raid code
would need to do a read-modify-write of the parity block.
Okay, the question is, how often, if you modify files at random, do you
really write a full stripe, even if the cache holds back all
modification for a couple minutes. I wonder how often you can take
advantage of this in normal mixed load situations.
Filesystem, like ext3/4 and xfs have the ability to account for stripe
size in the block allocator to prevent unnecessary read-modify-writes,
but if you do not stripe-align the start of the filesystem you cannot
take advantage of this.
Okay, understood, but doesn't this imply, as long as my application
running on top of an md and/or LV ontop of an md cannot take advantage
of the layout information, it doesn't matter at all. I do see the
advantage, I.E. if you have an RDBMS that can operate and organize
itself ontop of some blockdevice which has a certain layout, or any
filesystem taking this into account.
In contrast, if I am to export the blockdevice as iSCSI target in a
plain NAS, this doesn't help me at all.
Now, even if I properly stripe align the pe_start, what happens if I am
doing a whole disk online capacity expansion? As long as LVM cannot
realign everything online, and the filesystem can realign itself (or
update it's layout accordingly) online, this is pretty much pointless.
Regards,
L.
In the end it all comes down to, that in most cases aligning doesn't
help, at leats not, if the whoel array configuration might change over
time - or am I mistaken there?
Regards
-Sven
_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/