AW: AW: AW: AW: AW: ZFS: Corrupted pool metadata after adding
vdev to a pool - no opportunity to rescue data from healthy vdevs? Remove
a vdev? Rewrite metadata?
Daniel Kalchev
daniel at digsys.bg
Tue Sep 18 13:40:22 UTC 2012
On 18.09.12 16:19, Volodymyr Kostyrko wrote:
> 18.09.2012 13:28, Daniel Kalchev wrote:
>>
>> The problem is that ZFS writes these records (even 128K) aligned to the
>> sector size. So, once you write some data that is under 4k, your pool
>> will become misaligned.
>
> Not exactly. https://blogs.oracle.com/bonwick/entry/space_maps
There is no statement in this post that contradicts with what I
commented already. I may have been not precise enough -- the
mis-alignment might happen within the metaslab, not the whole zpool. ZFS
clearly does not write larger blocks than necessary, the smallest being
the sector size.
The sector size is represented by the ashift value. Sector size being
2^ashift. The ashift value is on per-vdev basis and is calculated as the
largest sector size of the vdev members. So if you create an vdev mirror
of two drives that report 512byte sectors to the OS, the resulting vdev
will have ashift=9. If you create an mirror vdev from one drive that
reports 512b sectors and another that report 4096b sectors, then you
will have ashift=12.
You do not need to have all vdevs in an zpool having the same ashift
value (and thus the same sector size).
>
>>> 2. For older drives each drive should be partitioned with respect to
>>> 4k sectors. This is what -a option of gpart does: it aligns created
>>> partitions to 4k sector bounds. But half a year ago I already found
>>> some drives that can auto-shift all disk transactions to optimize read
>>> and write performance. Courtesy of Microsoft Windows, OS that does not
>>> care about anything not written in license terms, same as the users
>>> do, so using this drives would be more straightforward and would not
>>> cause decent pain to IT stuff about realigning partitions the way it
>>> would just work.
>>>
>>
>> This is only hype. There is no way any disk firmware can shift any
>> transactions.
>
> How about Seagate Smart Align? It's documented to do so. I haven't
> touched any Seagate drives as I don't like them anyway...
>
I have a lot of Seagate drives with 4k sectors in use with ZFS. Despite
these claims, performance is far worse if writes are not aligned to 4k.
It is also awful with UFS if you don't care to align partitions. This is
just marketing. Their rewrite implementation might be better than
others, but still is better avoided.
Daniel
More information about the freebsd-fs
mailing list