All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Snitzer <snitzer@redhat.com>
To: LVM general discussion and development <linux-lvm@redhat.com>
Subject: Re: [linux-lvm] Data alignment
Date: Fri, 19 Mar 2010 15:25:37 -0400	[thread overview]
Message-ID: <20100319192537.GA7345@redhat.com> (raw)
In-Reply-To: <4BA3BEBE.2010204@cfl.rr.com>

On Fri, Mar 19 2010 at  2:13pm -0400,
Phillip Susi <psusi@cfl.rr.com> wrote:

> I have been trying to get my logical volume to be aligned to a 512 KB
> boundary on my SSD so it lines up with the flash erase block.  I thought
> I could do this with pvcreate --dataalign 1024, but this caused the data
> to be aligned to a 1024 sector boundary within the partition, which
> itself starts on sector 63.  I then thought the --dataalignoffsest
> switch would help, but specifying 63 there caused the data to be moved
> to sector 1087.  I tried giving it -63, but was told that a negative
> number is not allowed.  Why not?  How can I get the data to start on
> sector 1024-63 of the partition so it ends up on pysical sector 1024 of
> the disk?

Which kernel and lvm2 are you using?

I'm assuming you have a recent lvm2 given the flags you're referring
to.  But being precise when asking such questions is helpful.

Any reason why you'd like to use DOS partitioning (first primary
partition starting at 63rd sector)?

Anyway, if you have a recent kernel (e.g. 2.6.33) you'll be in good
shape regardless.  If you create a partition on the device (using DOS
partitions) the kernel _should_ be aware of where the partition starts
and tell you how far you'd have to shift the start of your LVM2 PV data
area to get it perfectly aligned relative to the underlying physical
block size.  Check for example:
# cat /sys/block/sda/sda1/alignment_offset

But if your device is using 512b physical_sector_size you'll just have a
0 for alignment_offset.  Check physical_block_size with:
# cat /sys/block/sda/queue/physical_block_size

Also verify that your SSD device is naturally aligned (aka
alignment_offset=0); I'd wager it is naturally aligned:
# cat /sys/block/sda/alignment_offset

New versions of LVM2 (>= 2.02.51) support detecting alignment attributes
from the kernel.  But the newer LVM2 is the better (there have been a
few related fixes over the LVM2 releases, as recently as 2.02.62).

All said, even if you have an older kernel, to manually get what you
want (shift start to account for DOS partition at 63rd sector, align PV
pe_start on a 512K boundary), please try:
# pvcreate --dataalignmentoffset 512b --dataalignment 512K ...

You'll note that the pe_start may not be where you'd first expect
(e.g. sector 1024-63); but it _should_ be aligned how you'd want it (on
a native 512K boundary).  The reason for this is LVM reserves space at
the beginning of the PV.  Check pe_start with:
# pvs -o+pe_start

Mike

  parent reply	other threads:[~2010-03-19 19:25 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-19 18:13 [linux-lvm] Data alignment Phillip Susi
2010-03-19 18:36 ` Eugene Vilensky
2010-03-19 18:54   ` Phillip Susi
2010-03-19 19:54     ` Ray Morris
2010-03-19 21:20       ` Phillip Susi
2010-03-20  7:32     ` Luca Berra
2010-03-19 19:25 ` Mike Snitzer [this message]
2010-03-19 21:27   ` Phillip Susi
2010-03-19 22:21     ` Mike Snitzer
2010-03-19 23:11       ` Mike Snitzer
2010-03-25 12:54       ` [linux-lvm] Called while suspended Fredrik Skog
2010-03-20 23:02 ` [linux-lvm] Data alignment Stuart D. Gathman
2013-02-12 14:58 Phillip Susi
2013-02-12 15:10 ` Mike Snitzer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100319192537.GA7345@redhat.com \
    --to=snitzer@redhat.com \
    --cc=linux-lvm@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.