Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Nov 2014 08:11:57 -0500
From:      Michael Jung <mikej@paymentallianceintl.com>
To:        Borja Marcos <borjam@sarenet.es>, "freebsd-fs@FreeBSD.org Filesystems" <freebsd-fs@freebsd.org>
Subject:   RE: ZFS bug: Creating ZIL ignores vfs.zfs.min_auto_ashift
Message-ID:  <9C91F97841BC4347910F206618BAA3BB9AF327D1@PAIMAIL.pai.local>
In-Reply-To: <B731A922-3F83-4D8E-A4EA-22C5CA8A3850@sarenet.es>
References:  <B731A922-3F83-4D8E-A4EA-22C5CA8A3850@sarenet.es>

next in thread | previous in thread | raw e-mail | index | archive | help
What does smartctl -a /dev/ada1 show?

I see other posts via google showing that the SSDSA2CT040G3 has 512 byte ph=
ysical sectors (ashift 9)
=20
--mikej

=3D=3D=3D START OF INFORMATION SECTION =3D=3D=3D
Device Model:     INTEL SSDSA2CT040G3
Serial Number:    CVPR140301GV040AGN
LU WWN Device Id: 5 001517 9596e4f5f
Firmware Version: 4PC10362
User Capacity:    40,020,664,320 bytes [40.0 GB]
Sector Size:      512 bytes logical/physical    <--------------
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Sun May 13 14:36:47 2012 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

-----Original Message-----
From: owner-freebsd-fs@freebsd.org [mailto:owner-freebsd-fs@freebsd.org] On=
 Behalf Of Borja Marcos
Sent: Thursday, November 06, 2014 6:01 AM
To: freebsd-fs@FreeBSD.org Filesystems
Subject: ZFS bug: Creating ZIL ignores vfs.zfs.min_auto_ashift



Hi,

I have noticed that ZIL creation _ignores_ the vfs.zfs.min_auto_ashift vari=
able. ZIL and cache on SSDs should use this variable in order to apply the =
optimum sector size on SSDs or so-called advanced format drives.

The system is:
root@splunk:/ # uname -a
FreeBSD splunk 10.1-PRERELEASE FreeBSD 10.1-PRERELEASE #12: Tue Nov  4 11:2=
2:48 CET 2014     root@splunk:/usr/obj/usr/src/sys/SPLUNK10  amd64



Example:

# sysctl vfs.zfs.min_auto_ashift=3D12

# zpool status       //// Just a common mirror with two hard disks
  pool: rpool
 state: ONLINE
  scan: scrub repaired 0 in 5h55m with 0 errors on Wed Oct 29 23:26:03 2014
config:

	NAME        STATE     READ WRITE CKSUM
	rpool       ONLINE       0     0     0
	  mirror-0  ONLINE       0     0     0
	    ada0p3  ONLINE       0     0     0
	    ada2p3  ONLINE       0     0     0

errors: No known data errors


# zpool add rpool log ada1

# zpool status
  pool: rpool
 state: ONLINE
  scan: scrub repaired 0 in 5h55m with 0 errors on Wed Oct 29 23:26:03 2014
config:

	NAME        STATE     READ WRITE CKSUM
	rpool       ONLINE       0     0     0
	  mirror-0  ONLINE       0     0     0
	    ada0p3  ONLINE       0     0     0
	    ada2p3  ONLINE       0     0     0
	logs
	  ada1      ONLINE       0     0     0

errors: No known data errors


///// There it is, but

# zdb | more
    version: 5000
    name: 'rpool'
    state: 0
    txg: 11738986
    pool_guid: 18110845055860026534
    hostid: 316898903
    hostname: 'splunk'
    vdev_children: 2
    vdev_tree:
        type: 'root'
        id: 0
        guid: 18110845055860026534
        children[0]:
            type: 'mirror'
            id: 0
            guid: 10858793804082837265
            metaslab_array: 30
            metaslab_shift: 32
            ashift: 12
            asize: 482922987520
            is_log: 0
            create_txg: 4
            children[0]:
                type: 'disk'
                id: 0
                guid: 10490056043151312448
                path: '/dev/ada0p3'
                phys_path: '/dev/ada0p3'
                whole_disk: 1
                DTL: 331
                create_txg: 4
            children[1]:
                type: 'disk'
                id: 1
                guid: 2441255496794840851
                path: '/dev/ada2p3'
                phys_path: '/dev/ada2p3'
                whole_disk: 1
                DTL: 252
                create_txg: 4
        children[1]:
            type: 'disk'
            id: 1
            guid: 3564614139316480036
            path: '/dev/ada1'
                id: 1
                guid: 2441255496794840851
                path: '/dev/ada2p3'
                phys_path: '/dev/ada2p3'
                whole_disk: 1
                DTL: 252
                create_txg: 4
        children[1]:
            type: 'disk'
            id: 1
            guid: 3564614139316480036
            path: '/dev/ada1'
            phys_path: '/dev/ada1'
            whole_disk: 1
            metaslab_array: 0
            metaslab_shift: 0
            ashift: 9                                      <=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D WRONG, SHOULDN'T IT =
BE 12??
            asize: 40015757312
            is_log: 1
            create_txg: 11738986
    features_for_read:
        com.delphix:hole_birth
        com.delphix:embedded_data



If, however, I do the gnop trick,

# gnop create -S 4K ada1
# zpool add rpool log ada1.nop
# zpool status

  pool: rpool
 state: ONLINE
  scan: scrub repaired 0 in 5h55m with 0 errors on Wed Oct 29 23:26:03 2014
config:

	NAME        STATE     READ WRITE CKSUM
	rpool       ONLINE       0     0     0
	  mirror-0  ONLINE       0     0     0
	    ada0p3  ONLINE       0     0     0
	    ada2p3  ONLINE       0     0     0
	logs
	  ada1.nop  ONLINE       0     0     0

errors: No known data errors


this time our mirror has the ashift we wanted, 12.=20

        children[1]:
            type: 'disk'
            id: 1
            guid: 6487094506120463221
            path: '/dev/ada1.nop'
            phys_path: '/dev/ada1.nop'
            whole_disk: 1
            metaslab_array: 0
            metaslab_shift: 0
            ashift: 12
            asize: 40015757312
            is_log: 1
            create_txg: 11739034



The disks I am playing with are:

# camcontrol devlist
<ST3500418AS CC38>                 at scbus0 target 0 lun 0 (ada0,pass0)
<INTEL SSDSA2CT040G3 4PC10362>     at scbus1 target 0 lun 0 (ada1,pass1)
<ST500DM002-1BC142 JC4B>           at scbus2 target 0 lun 0 (ada2,pass2)
<INTEL SSDSA2CT040G3 4PC10362>     at scbus3 target 0 lun 0 (ada3,pass3)


And yes, I know the two hard disks have different sector sizes but I create=
d the pool with an ashift of 12.






Borja.



_______________________________________________
freebsd-fs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-fs
To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"
=0A=

GoPai.com | Facebook.com/PaymentAlliance
=20

CONFIDENTIALITY NOTE: This message is intended only for the use
of the individual or entity to whom it is addressed and may=20
contain information that is privileged, confidential, and=20
exempt from disclosure under applicable law. If the reader=20
of this message is not the intended recipient, you are hereby=20
notified that any dissemination, distribution or copying=20
of this communication is strictly prohibited. If you have=20
received this transmission in error, please notify us by=20
telephone at (502) 212-4001 or notify us at PAI , Dept. 99,=20
6060 Dutchmans Lane, Suite 320, Louisville, KY 40205







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9C91F97841BC4347910F206618BAA3BB9AF327D1>