getting to 4K disk blocks in ZFS

Willem Jan Withagen wjw at digiware.nl
Sat Sep 20 21:03:39 UTC 2014


On 20-9-2014 1:33, Karl Denninger wrote:
> 
> On 9/19/2014 6:23 PM, Steven Hartland wrote:
>>
>> ----- Original Message -----
>>> From: "Justin T. Gibbs" <gibbs at scsiguy.com>
>>> To: "Willem Jan Withagen" <wjw at digiware.nl>
>>> Cc: "Steven Hartland" <killing at multiplay.co.uk>;
>>> <freebsd-stable at freebsd.org>; "Andriy Gapon" <avg at freebsd.org>;
>>> "Peter Wemm" <peter at wemm.org>; "Aristedes Maniatis" <ari at ish.com.au>
>>> Sent: Saturday, September 20, 2014 12:07 AM
>>> Subject: Re: getting to 4K disk blocks in ZFS
>>>
>>>
>>> On Sep 11, 2014, at 5:32 PM, Willem Jan Withagen <wjw at digiware.nl>
>>> wrote:
>>>
>>>> On 11-9-2014 19:49, Peter Wemm wrote:
>>>>>> Another downside is 1/4th of uberblocks, 32 vs 128.
>>>>>> Also, automatic sector size detection works great for me and I've
>>> never had
>>>>>> a need to manually tweak ashift.
>>>>>
>>>>> Unfortunately, I have.  Same drive connected two different ways:
>>>>>
>>>>> da12 at mps1 bus 0 scbus1 target 11 lun 0
>>>>> da12: <ATA ST4000VN000-1H41 SC43> Fixed Direct Access SCSI-6 device
>>>>> da12: 600.000MB/s transfers
>>>>> da12: Command Queueing enabled
>>>>> da12: 3815447MB (7814037168 512 byte sectors: 255H 63S/T 486401C)
>>>>>
>>>>> ada1 at ahcich1 bus 0 scbus3 target 0 lun 0
>>>>> ada1: <ATA ST4000VN000-1H41 SC43> ATA-8 SATA 3.x device
>>>>> ada1: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
>>>>> ada1: Command Queueing enabled
>>>>> ada1: 3815447MB (7814037168 512 byte sectors:  16H 63S/T 16383C)
>>>>> ada1: quirks=0x1<4K>
>>>>>
>>>>> The 4k flag is missing when it's on the sas controller.  The Ident
>>> strings are
>>>>> changed.
>>>>>
>>>>> This came up elsewhere recently.
>>>>
>>>> I reported the same fact for the new set of WD REDs I installed.
>>>> Seems that ada and da have different quirks tables...
>>>> So disks on SATA connectors on the motherboard are diagnosed as
>>> being 4Kb.
>>>> The disks on my twa don't get the quirk and are considered 512b
>>>>
>>>> —WjW
>>>
>>> I’m surprised that we have to constantly add quirks.  Are these
>>> drives really
>>> failing to report their ata params correctly?  Is there a reason we
>>> don’t
>>> currently utilize the ata params data (which is already fetched for
>>> trim/unmap
>>> detection) to also set lbppbe (logical block per physical block
>>> exponent) and
>>> lalba (lowest aligned lba)?  We may find that many of the existing
>>> quirks are
>>> unnecessary if we fix the probe code.
>>
>> On the contary I've not found a single drive which reports 4k sectors
>> on its
>> own, every single one that I've seen report 4k is because we've added a
>> quirk for it :(
>>
>>
> Where is Smartctl getting it from?
> 
> smartctl -i /dev/da2
> smartctl 6.3 2014-07-26 r3976 [FreeBSD 10.1-BETA1 amd64] (local build)
> Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
> 
> === START OF INFORMATION SECTION ===
> Device Model:     HGST HDN724040ALE640
> Serial Number:    PK2334PCG6NA0B
> LU WWN Device Id: 5 000cca 24cc30684
> Firmware Version: MJAOA5E0
> User Capacity:    4,000,787,030,016 bytes [4.00 TB]
> Sector Sizes:     512 bytes logical, 4096 bytes physical
> Rotation Rate:    7200 rpm
> Form Factor:      3.5 inches
> Device is:        Not in smartctl database [for details use: -P showall]
> ATA Version is:   ATA8-ACS T13/1699-D revision 4
> SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
> Local Time is:    Fri Sep 19 18:33:16 2014 CDT
> SMART support is: Available - device has SMART capability.
> SMART support is: Enabled
> 
> It's not coming from a database, as Smartctl doesn't know about these
> (yet); they're too new.

I really need to add the fact that it is on a Areca controller, other it
does not show.
(The 3ware was the server before that)

======================
[~wjw] root at zfs.digiware.nl# smartctl -a /dev/da2
smartctl 6.2 2013-07-26 r3841 [FreeBSD 9.3-STABLE amd64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               WDC
Product:              WD30EFRX-68AX9N0
Revision:             R001
User Capacity:        3,000,592,982,016 bytes [3.00 TB]
Logical block size:   512 bytes
Rotation Rate:        10000 rpm
Logical Unit id:      0x0004d927fffff820
Serial number:        WD-WMC1T4088786
Device type:          disk
Transport protocol:   Fibre channel (FCP-2)
Local Time is:        Sat Sep 20 22:49:27 2014 CEST
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Disabled or Not Supported
======================

So that does not give any other blocksize.
And with additional controller knowledge:

======================
[~wjw] root at zfs.digiware.nl# smartctl -a -d areca,1 -T permissive
/dev/arcmsr0
smartctl 6.2 2013-07-26 r3841 [FreeBSD 9.3-STABLE amd64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Red (AF)
Device Model:     WDC WD30EFRX-68AX9N0
Serial Number:    WD-WMC1T4081674
LU WWN Device Id: 5 0014ee 60377e6b2
Firmware Version: 80.00A80
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Sat Sep 20 22:58:04 2014 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
======================


--WjW



More information about the freebsd-stable mailing list