LSI 9361-8i RAID-10 configuration with CacheCade for XFS (weird strip size reported to OS)


Active Member
Jan 8, 2018

I've been benchmarking a RAID 10 setup using 4 HGST 7.2k RPM Deskstar NAS hard drives (6TB capacity), together with 2 SAS 12G SSDs in RAID1 for a 232G CacheCade volume.

These are the CSV values that can be presented to Bonnie to Google Chart :


The different setups:
  1. RAID 10 with CacheCade enabled, plain XFS on top of GPT partitioned disk, no LVM
  2. RAID 10 without CacheCade (disabled), plain XFS on top of GPT partitioned disk, no LVM
  3. Same as above, CacheCade enabled, using LVM + XFS
  4. Same as above, CacheCade disabled, using LVM + XFS
  5. Same as above, CacheCade enabled, using LVM + AES-NI accelerated LUKS AES-256 encryption, XFS
  6. Same as above, CacheCade disabled, using LVM + AES-NI accelerated LUKS AES-256 encryption, XFS

Now, on to the problem: when I create the XFS filesystem, using the presumably correct parameters, I get a warning about the strip width not matching what the OS is returning to the kernel/IO layer:

root@pve1:~# mkfs.xfs -f -d su=256k,sw=2 /dev/sda1
mkfs.xfs: Specified data stripe width 1024 is not the same as the volume stripe width 512
meta-data=/dev/sda1              isize=512    agcount=32, agsize=91561920 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0, rmapbt=0, reflink=0
data     =                       bsize=4096   blocks=2929981440, imaxpct=5
         =                       sunit=64     swidth=128 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=521728, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
This is what the OS sees:

# blockdev --getalignoff --getss --getpbsz --getsz --getbsz --getsize /dev/sda
The storcli relevant information:

# /opt/MegaRAID/storcli/storcli64 /c0/v0 show all
CLI Version = 007.0606.0000.0000 Mar 20, 2018
Operating system = Linux 4.15.17-3-pve
Controller = 0
Status = Success
Description = None

/c0/v0 :

DG/VD TYPE   State Access Consist Cache Cac sCC      Size Name
3/0   RAID10 Optl  RW     Yes     RWBD  RW  ON  10.915 TB VD_0

Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|Dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|TRANS=TransportReady|B=Blocked|
Consist=Consistent|R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check Consistency

PDs for VD 0 :

EID:Slt DID State DG     Size Intf Med SED PI SeSz Model                Sp Type
252:2    11 Onln   3 5.457 TB SATA HDD N   N  512B HGST HDN726060ALE614 U  -
252:3     8 Onln   3 5.457 TB SATA HDD N   N  512B HGST HDN726060ALE614 U  -
252:0     9 Onln   3 5.457 TB SATA HDD N   N  512B HGST HDN726060ALE614 U  -
252:1    10 Onln   3 5.457 TB SATA HDD N   N  512B HGST HDN726060ALE614 U  -

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down/PowerSave|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded|Cpybck-CopyBack|CBShld-Copyback Shielded

VD0 Properties :
Strip Size = 256 KB
Number of Blocks = 23439867904
VD has Emulated PD = Yes
Span Depth = 2
Number of Drives Per Span = 2
Write Cache(initial setting) = WriteBack
Disk Cache Policy = Disabled
Encryption = None
Data Protection = Disabled
Active Operations = None
Exposed to OS = Yes
OS Drive Name = /dev/sda
Creation Date = 24-06-2018
Creation Time = 06:53:52 AM
Emulation type = default
Is LD Ready for OS Requests = Yes
SCSI NAA Id = 600605b00d6c145022c1fc80a34243b9
SCSI Unmap = No
The strip size is 256K and I am clearly using the correct parameters for mkfs.xfs. Unless I am missing something else, why am I getting that strange warning about mismatching arguments?

This is bothering me as I don't want to perform benchmarks that will give skewed results (more skewed anyway than what a benchmark can do, which involving Cache Cade, won't be a realistic figure).

Hopefully someone with more experiencing using XFS on hardware RAID can chime in!