vdev_id.conf for SAS?

All your general support questions for OpenZFS on OS X.

vdev_id.conf for SAS?

Postby DarkHelmet » Sat Sep 09, 2023 9:07 am

I've been running ZFS on osx now for several years and have recently migrated to an all SAS setup (SATA has sooooo many performance issues). The major reason for this is I can move the disks to the other end of the house in the network closet and get the noise out of my office.

What has been less than optimal is naming the disks.

I have an ATTO ExpressSAS H1288 HBA, and Areca ARC-4038 expander, they a connected via a 100 meter 4x12g optical cable.

As it stands I have imported things via the SAS ID

Code: Select all
NAME                                                                       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
ZfsMediaPool                                                               178T  56.5T   122T        -         -     0%    31%  1.00x    ONLINE  -
  raidz2                                                                  87.3T  28.3T  59.0T        -         -     0%  32.4%      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@6:0                                               -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@2:0                                               -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@f:0                                               -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@13:0                                              -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@19:0                                              -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@4:0                                               -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@7:0                                               -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@9:0                                               -      -      -        -         -      -      -      -    ONLINE
  raidz2                                                                  87.3T  28.1T  59.2T        -         -     0%  32.2%      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@14:0                                              -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@16:0                                              -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@e:0                                               -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@5:0                                               -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@18:0                                              -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@8:0                                               -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@3:0                                               -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@a:0                                               -      -      -        -         -      -      -      -    ONLINE
special                                                                       -      -      -        -         -      -      -      -  -
  mirror                                                                  3.48T  85.0G  3.40T        -         -     1%  2.38%      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@12:0                                              -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@10:0                                              -      -      -        -         -      -      -      -    ONLINE
    PCI0@0-PEG1@1,1-PEGP@0-@17:0                                              -      -      -        -         -      -      -      -    ONLINE
logs                                                                          -      -      -        -         -      -      -      -  -
  PCI0@0-RP09@1D-PXSX@0-IONVMeController-IONVMeBlockStorageDevice@1-@1:3  15.5G  3.41M  15.5G        -         -     0%  0.02%      -    ONLINE
cache                                                                         -      -      -        -         -      -      -      -  -
  PCI0@0-RP09@1D-PXSX@0-IONVMeController-IONVMeBlockStorageDevice@1-@1:4   128G   122G  5.55G        -         -     0%  95.7%      -    ONLINE


The issue with this, as the last @nn is the SAS disk number and it's assigned in order of detection. It's also a hex number.

I would like to map this to physical slots on the expander using the vdev_id.conf file. I'm able to identify disk to phy port mapping using the atto utilities.
For example PCI0@0-PEG1@1,1-PEGP@0-@18:0, target: 0x18 / 24

/Applications/ATTO/ExpressSASHBA4/atdevinfo -i all
(I've only show the relivent output for this target)
Code: Select all
#######################################################################
Channel 1: ATTO ExpressSAS H1288
#######################################################################

P:T:U      Vendor   Product /        Rev  Type    Capacity
                    Serial Number
---------- -------- ---------------- ---- ------- ----------

2:24:0     SEAGATE  ST12000NM0027    E004 Disk    10.91 TB
                    SN:ZJV2GBB80000C9034NK3

********************************************************************
Target 24 Unit 0 (Channel 1, Port 2)
********************************************************************
Bus:Target:Unit:                   0:24:0
Vendor:                            SEAGATE
Product:                           ST12000NM0027
Firmware Revision:                 E004
Port Address:                      50:00:C5:00:A6:EE:07:81
Node Address:                      N/A
Device Type:                       Disk
Serial Number:                     ZJV2GBB80000C9034NK3
Status:                            Ready

SSD:                               No
Capacity:                          10.91 TB
Sector Size:                       4096 B
T10-PI:                            Disabled
                                   (Types 1 and 2 supported)

====================================================================
SAS Protocol Information
====================================================================
Initiator Flags:                   None
Target Flags:                      SSP
Negotiated Rate:                   12 Gb/s
SAS Depth:                         1
Slot Number:                       10
SAS Port ID:                       2
Topology:                          Expander
[b]Expander PHY ID:                   26[/b]

====================================================================
Supported Vital Product Data Pages
====================================================================
Device Identification:             Supported
Extended Inquiry Data:             Supported
Power Condition:                   Supported
Unit Serial Number:                Supported

ATA Information:                   Unsupported
Block Device Characteristics:      Supported
Block Limits:                      Supported
Logical Block Provisioning:        Supported

====================================================================
Block Device Characteristics Information
====================================================================
Medium Rotation Rate:              7200
Form Factor:                       3.5 in.
Background Operation Control:      Unsupported

====================================================================
Supported Log Pages
====================================================================
Informational Exceptions:          Supported
Protocol Specific Port:            Supported
Self Test Results:                 Supported
Temperature:                       Supported

====================================================================
Temperature Information
====================================================================
Current Temperature:               43 C
Reference Temperature:             60 C

====================================================================
Mode Parameters
====================================================================
Write Caching:                     Enabled             (Default)
Read Ahead:                        Enabled             (Default)

IT Nexus Loss Time:                53.255 s            (Default)
Initiator Response Timeout:        53.255 s            (Default)
Reject To Open Limit:              Vendor Specific     (Default)
Maximum Allowed XFER RDY:          Unlimited           (Read-Only)

Transport Layer Retries:           Disabled            (Read-Only)


This gives the expander PHY of 26d which is port C1-3 on the expander and connected to Slot 3 on my enclosure.

I'd like to have this named 'Slot-U3' in the vdev_id.conf file so if the disks move around, they are always going to be listed in the slot they are in. This makes it much easier to find failed disks without a detailed lookup too.

I've looked at the vdev_id.conf.sas_direct.example, but am unable to find the format it wants to get this to work.

Does anyone have a working example of this, or know if this even works on OSX?
DarkHelmet
 
Posts: 2
Joined: Sun Oct 03, 2021 8:46 am

Return to General Help

Who is online

Users browsing this forum: No registered users and 102 guests