• Christian Kohlschütter's avatar
    Add "ashift" property to zpool create · df30f566
    Christian Kohlschütter authored
    
    
    Some disks with internal sectors larger than 512 bytes (e.g., 4k) can
    suffer from bad write performance when ashift is not configured
    correctly.  This is caused by the disk not reporting its actual sector
    size, but a sector size of 512 bytes.  The drive may behave this way
    for compatibility reasons.  For example, the WDC WD20EARS disks are
    known to exhibit this behavior.
    
    When creating a zpool, ZFS takes that wrong sector size and sets the
    "ashift" property accordingly (to 9: 1<<9=512), whereas it should be
    set to 12 for 4k sectors (1<<12=4096).
    
    This patch allows an adminstrator to manual specify the known correct
    ashift size at 'zpool create' time.  This can significantly improve
    performance in certain cases.  However, it will have an impact on your
    total pool capacity.  See the updated ashift property description
    in the zpool.8 man page for additional details.
    
    Valid values for the ashift property range from 9 to 17 (512B-128KB).
    Additionally, you may set the ashift to 0 if you wish to auto-detect
    the sector size based on what the disk reports, this is the default
    behavior.  The most common ashift values are 9 and 12.
    
      Example:
      zpool create -o ashift=12 tank raidz2 sda sdb sdc sdd
    
    Closes #280
    Original-patch-by: default avatarRichard Laager <rlaager@wiktel.com>
    Signed-off-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
    df30f566
AUTHORS 1.56 KB