SAS Mania Episode 3

So let me start by saying, sorry for no update.
But haven’t forgotten to talk about my last part of this journey where we gonna take a look what we need on a software perspective.

What we need to understand first is how the controller works.
This controller in particular is ah RAID Controller which were you can make fancy RAID’s and everything but that is not what we need.
We need JBOD which stands for “Just a Bunch Of Drives”.

Why do we need that ?
Well because Unraid like to do stuff on their own with just a Disk and no Raid behind that what so ever.

So we basically give Unraid the disks without anything.
Just a Disk, nothing else.

Well how we do that ?
By configuring the RAID Controller to set it in HBA mode which just passes through the Disks to the Operating System so for the System it’s “Just a Bunch Of Disks”

First we need to download a configuration utility.
Because from my understanding Unraid doesn’t have this installed by default.

In my case i am running a DELL PERC H730 Controller which means i need the PERCCLI from Dell (downloaded it from here)

After downloading it i unpacked it on the Server and well then i would say it’s party time cause now we configure this thing

root@Tower:/mnt/user0/software/perccli# ./perccli64 

      PercCli SAS Customization Utility Ver 007.2110.0000.0000 Sep 27

    (c)Copyright 2022, Broadcom Inc. All Rights Reserved.


help - lists all the commands with their usage. E.g. perccli help
<command> help - gives details about a particular command. E.g. perccli add help

List of commands:

Commands   Description
-------------------------------------------------------------------
add        Adds/creates a new element to controller like VD,Spare..etc
delete     Deletes an element like VD,Spare
show       Displays information about an element
set        Set a particular value to a property 
get        Get a particular value to a property 
compare    Compares particular value to a property
start      Start background operation
stop       Stop background operation
pause      Pause background operation
resume     Resume background operation
download   Downloads file to given device
expand     expands size of given drive
insert     inserts new drive for missing
transform  downgrades the controller
reset      resets the controller phy
split      splits the logical drive mirror
/cx        Controller specific commands
/ex        Enclosure specific commands
/sx        Slot/PD specific commands
/vx        Virtual drive specific commands
/dx        Disk group specific commands
/fall      Foreign configuration specific commands
/px        Phy specific commands
/lnx       Lane specific commands
/[bbu|cv]  Battery Backup Unit, Cachevault commands
Other aliases : cachecade, freespace, sysinfo

Use a combination of commands to filter the output of help further.
E.g. 'perccli cx show help' displays all the show operations on cx.
Use verbose for detailed description E.g. 'perccli add  verbose help'
Use 'page[=x]' as the last option in all the commands to set the page break.
X=lines per page. E.g. 'perccli help page=10'
Use J as the last option to print the command output in JSON format
Command options must be entered in the same order as displayed in the help of 
the respective commands.
Use 'nolog' option to disable debug logging. E.g. 'perccli show nolog'

root@Tower:/mnt/user0/software/perccli# 

So this is what we get when we run this command.
Well what the hell do we do now ?
Good question we gonna configure our controller to switch to HBA mode so he see puts all the disk as “Just a Bunch of Disks

#First command is to show our controller /c0 stands for controller 0
./perccli64 /c0 show 
#Then we set the personality 
./perccli64 /c0 set personality=HBA
#And then to confirm we check if the settings wer set
./perccli64 /c0 show personality

And after that we should reboot our system just to be sure.

I have then this if i put in /c0 show

root@Tower:/mnt/user0/software/perccli# ./perccli64 /c0 show
Generating detailed summary of the adapter, it may take a while to complete.

CLI Version = 007.2110.0000.0000 Sep 27, 2022
Operating system = Linux 6.1.106-Unraid
Controller = 0
Status = Success
Description = None

Product Name = PERC H730 Adapter
Serial Number = 71501RZ
SAS Address =  51866da098e00200
PCI Address = 00:2e:00:00
System Time = 11/15/2024 18:40:34
Mfg. Date = 01/07/17
Controller Time = 11/15/2024 17:40:32
FW Package Build = 25.5.9.0001
BIOS Version = 6.33.01.0_4.19.08.00_0x06120304
FW Version = 4.300.00-8368
Driver Name = megaraid_sas
Driver Version = 07.719.03.00-rc1
Current Personality = HBA-Mode 
Vendor Id = 0x1000
Device Id = 0x5D
SubVendor Id = 0x1028
SubDevice Id = 0x1F43
Host Interface = PCI-E
Device Interface = SAS-12G
Bus Number = 46
Device Number = 0
Function Number = 0
Domain ID = 0
Security Protocol = None
JBOD Drives = 8

JBOD LIST :
=========

----------------------------------------------------------------------------
EID:Slt DID State DG     Size Intf Med SED PI SeSz Model            Sp Type 
----------------------------------------------------------------------------
 :0       0 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :1       1 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :2       2 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :3       3 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :4       4 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :5       5 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :6       6 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :7       7 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
----------------------------------------------------------------------------

ID=JBOD Target ID|EID=Enclosure Device ID|Slt=Slot No|DID=Device ID|Onln=Online
Offln=Offline|Intf=Interface|Med=Media Type|SeSz=Sector Size
SED=Self Encryptive Drive|PI=Protection Info|Sp=Spun|U=Up|D=Down

Physical Drives = 8

PD LIST :
=======

----------------------------------------------------------------------------
EID:Slt DID State DG     Size Intf Med SED PI SeSz Model            Sp Type 
----------------------------------------------------------------------------
 :0       0 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :1       1 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :2       2 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :3       3 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :4       4 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :5       5 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :6       6 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  U  -    
 :7       7 JBOD  -  9.095 TB SAS  HDD N   N  4 KB HUH721010AL42C0  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|Sntze=Sanitize|Onln=Online|Offln=Offline|Intf=Interface
Med=Media Type|SED=Self Encryptive Drive|PI=PI Eligible
SeSz=Sector Size|Sp=Spun|U=Up|D=Down|T=Transition|F=Foreign
UGUnsp=UGood Unsupported|UGShld=UGood shielded|HSPShld=Hotspare shielded
CFShld=Configured shielded|Cpybck=CopyBack|CBShld=Copyback Shielded
UBUnsp=UBad Unsupported|Rbld=Rebuild

Well we see we have our drives now and they are listed as JBOD

And on that note my friends we have successfully configured our System to detect our SAS drives for Unraid.

Keep in mind this is my System so your config may vary a lot between the steps i did here but so summarize:

Check the Power Supply for the drives to be MOLEX
Check the RAID Config to be HBA mode so the drives are JBOD
And most of all have fun while doing small little homelab projects

Closing thoughts:

Well this was a fun endavour, i wish i had more time to write stuff down and be more productive on writing my stories but all in all i am happy with the outcome.
I learned a lot about how SAS drives work and how they are powered and how everything works with the raid controller and perccli and in the end i have a shit ton of space now, so all in all happy me 🙂

SAS Mania Episode 2

So well, we got our shipment from China which took arround 2 weeks.
After that it was time to install everything.
First i needed to connect all the harddrives to the new SFF-8482 Plug.
We remember the way goes like this

So what we do is we need to connect SATA Power to the SFF-8482 Plug and the SFF-8482 Plug goes then into the Harddrive.
Which all should look then when it’s done like this.

So the question maybe some people are asking is:
Boy are these flipping Molex to SATA Connectors?
Couldn’t u just use normal SATA Power ese?


Well i could yeah but then we run into a litte problem.
See i first also did the same and just used normal SATA power cables which are included with my PSU but well they wouldn’t power on.

So after some good ol google search party i found the following

An update to the SATA/SAS spec reserves pins 1 through 3 on the power connector for extra functionality instead of 3.3v because 3.5″ drives requiring 3.3v are incredibly uncommon today. Pin 3 is now used for PWDIS (“Power Disable”) to allow backplanes / controllers completely shut down drives to either reset them or save power. If you’re powering newer drives on a backplane or with power connectors that provide 3.3v on pins 1, 2 and 3 (to match the outdated specifications), the drive will simply not spin up. 3.3v on pin 3 signals the drive to enter “Power Disable” mode. As @rubylaser noted, there is an easy work around.

Some random helpfull person on the internet which saved me hours of researching thanks brother who is called Rain

And then what can i say we had our aha moment.
I then changed the cables to normal Molex cables and also orderd a splitter from Amazon because my little Powersupply wasnt able to have enough Molex cables on there.

And after that what can i say.
I was gifted with the beautiful sound of 8 HDD’s spinning up for me which i can say was very pleasent.

Well then we had power but we had to deal with one more thing which was the Controller and how he sees the drives and interacts with them but this issue we will face in another post. (Hopefully sooner)

Γεια σου!

Chris

SAS Mania Episode 1

So we start our journey when i got the notification of my Unraid system that the storage got a little bit low.
This is what we have now.

ASRockRack X570D4U

AMD Ryzen 7 3700X 8-Core

32 GiB DDR4 RAM

Quadro P400

5 Drives (4 HDD + 1 Cache )

So that is where we Start from a hardware perspective.
Our mission is to:

Increase space up to a number which is reasonable for the next year

Put the old drives to retirement or find a task for them besides beeing in my NAS

Get funky

Thanks to a funny incident where 8 10TB SAS drives from Western Digital “fell off a truck” we have the most expensive part and number 1 on my list already done.
The fact that we have SAS drives now brings us in a interesting spot because

SAS differs a little from our old friend SATA

For example you can’t just easy peasy go into your freaky NAS build and try to hammer this juicy SATA connector into you SAS drive because you will soon find out that boy doesn’t fit very good.
Because these are two diffrent interfaces.

So what do we need then to make all of this work in gods name?

Glad you asked!
A so called SAS controller.
There are many of them in diffrent kind of forms and flavours.
But we gonna settle in this case for a DELL PERC H730
Why did i choose this one?

Because its cheap (In my case 70 European Currency)

It fits nicely in a PCI-E Slot in my NAS

Some random person on the internet wrote it works with Unraid

So i bought one and some 5 days later i have it at home.


Well there it is and he a beauty.
Now that we have SAS Controller and the drives.
How in the hell do we connect them ?
Well there is something called SAS breakout cable.
Which is what we need.
SAS Controllers have these weird plugs called SFF-something
We have on this controller a SFF-8643 Plug.
So we need a cable that fits that one.
Which i orderd somewhere from mainland China and will probably take an eternity to come but hey they where cheap and times are tough.

CableCreation Interne Mini SAS SFF-8643 auf (4) 29pin SFF-8482 Stecker mit SAS 15pin Power Port, 1 m

So in theory it should work like this.

So in theory should work and should make no problems at all right?

Well i think i work too long in IT to know this thing is going down south pretty hard but hey lets have some fun.

See you in part two when everything arrives and we start to build that thing

Yoroshiku o-negai shimasu,
Chris