Benoire

RackStation RS18016xs+ comparison for SAS support?

Recommended Posts

Hi

 

In my quest to solve the SAS HBA drive ordering problem, e.g. they do not enumerate as SD(x) and can change order of drives on boot depending on per drive spin up time, has anyone ever compared the current configuration files of the DS3615xs against a fully SAS supported RackStation version such as the RS18016xs+ etc.?

 

As far as I am aware, the SAS supporting RackStation's use a dual port SAS backplane with a single LSI branded SAS HBA and there is nothing extra in the hardware to support this. I asked a question of a RackStation owner and they confirmed that this was the case. So, given that the DS3615xs supports only SATA drives (official spec) and the difference between this and a RackStation is basically different CPU, memory configuration and the SAS support (https://www.synology.com/en-global/prod ... +/DS3615xs), the changes to support full drive numbering for SAS/SATA compatible RackStation's MUST be in the software.

 

The assumption above that the differences in software is that asking Broadcom the question about SD(x) numbering of their LSI cards they stated that their cards enumerate by the WWAN ID and that any relationship to SD(x) is purely based on spin up time and this is consistent across all their cards based on the 6G compatible chipset (LSI2008).

 

So with all this in mind, has anyone ever looked at the RackStation DSM PAT files and compared the SAS configuration files (and general configuration files) to the non-SAS units to see if there is a particular script that picks out the port numbers from the backplane (using the SGPIO / I2C) commands to order in the correct drive slots. As we know, Xpenology using LSI SAS HBAs do not enumerate drives correctly but going in to the depths of the rc.SAS & other SAS configuration files you can see that it does enumerate the SAS ports fine and appears to pick up the drives in the correct order.

 

I guess the questions are:

 

1) can we unpack a PAT file?

2) has anyone looked at the RackStation's for their SAS support?

3) does anybody care :smile:

 

If someone can at least answer question 1, I am happy to go digging as solving this would give all Xpenology users utilising LSI (and other brand) SAS HBAs the same drive ordering benefits of their SATA only counterparts.

 

Chris

Share this post


Link to post
Share on other sites

Been thinking about this overnight, I wonder whether Synology have implemented a custom driver for the SAS HBAs in order to give the right outputs? Looking through the config files, a SAS enabled unit seems to discard the SD(x) drive setup and uses sas(x) instead. I wonder what would have to happen in the current config that would be required to make that change work? Kernel modification? Custom HBA driver? I know that the DS3615xs configs are looking for SoC chips for SATA devices which it fails at, will have to look in to the RS config files again.

 

@Trantor (if you're reading this), I presume you compile the boot image against the DS3615XS kernel? How difficult would it be to compile against a rackstation kernel? I wonder if the security protection is the same across all the models and perhaps changes can be made to the boot image to support the RS series?

 

Another thought, I wonder whether the drivers from the RS series for the HBA can be loaded into Xpenology? Might have a look later to see if I can find them.

Share this post


Link to post
Share on other sites

So, more digging in to the config files of a RS PAT file. The synoconfig file for the RS series has the lines:

 

sas_enclosure_max="14"

supportsas="yes"

 

The synoconfig file for the DS3615xs does not contain these items. I wonder whether enabling this will do anything? I'm particularly interested in trying to get the device to use sas(x) instead of sd(x) as this is what the RackStations use; although I'm not sure if that will just be for SAS drives or SATA in a SAS enclosure... Will try a SAS drive later.

Share this post


Link to post
Share on other sites

Ok, so after more looking, I would be interested to know whether a boot image for an RS could be compiled?

 

Does anybody know what is required to create a boot image for a rackstation? Do you need access to the an original rackstation or does the kernel and PAT file work? I wonder if getting a boot image based on the rackstations would give those with SAS drives full drive numbering based on the sas sequence rather than sd(x) sequencing which shifts for each drive depending on spin up.

 

edit: you would need a boot image on further thought as I would imagine you'll need the drives setup as sas(x) during installation as changing the drive designation would probably put mdadm into a failure mode.

Share this post


Link to post
Share on other sites

Another thought, can we edit the boot image version to make it a rackstation rather than a diskstation as the rackstation is also bromolow?

Share this post


Link to post
Share on other sites

Found lot of code in the kernel source about SAS.

 

Like in sd.c:

 *	SAS disk names starts at sas1.  The 26th device is sas26 and the
*	27th is sas27.

 

I think this confirm the fact that enclosure have static numbering.

 

Right now in this file, someone make a patch to "fix" LSI but I think break sas in the same time

#ifndef XPENOLOGY

// sas disks

if (SYNO_PORT_TYPE_SAS == sdp->host->hostt->syno_port_type) {

return SYNO_DISK_SAS;

}

#endif /*Fix LSI Controllers Broken*/

 

We can try adding some debug code to see what kind of disk DSM detect at boot and add supportsas to synoconfig.

I can't do it because I don't have my LSI adapter anymore :sad:

Share this post


Link to post
Share on other sites

Thanks Trantor, wasn't sure if anyone would be that interested!

 

I'm about to virtualise my xpenology build to give me 3 VMHosts to play with, once up and running I would be more than happy to test boot loaders.

 

Is that patch for LSI cards in the bootloader? Is that to make it recognise LSI cards as sd(x) as otherwise its recognises as SAS and won't load as the synoconfig doesn't have the sas max enclosure commands in the config file? Can the boot loader inject a new synoconfig to override the one from the PAT file onces its installed? I presume not...

 

I'm presuming we cannot patch a PAT file (I would imagine they have checksummed the file so after re-packing it, it would be a different size), so what would be required to support the loading of SAS drives and then the recognising of them? I'm presuming I can't just change the version file in the loader to boot up a rackstation PAT, and it would require the code to be compiled against that kernel?

Share this post


Link to post
Share on other sites

I just make some modification to the kernel and boot loader.

 

I remove the "patch" that prevent LSI card to return SYNO_DISK_SAS.

 

I add debug informations at boot to display the type of disk DSM detects (SYNO_DISK_SATA, SYNO_DISK_SAS or SYNO_DISK_UNKNOW)

You need to set loglevel=1 in GRUB or syslinux.cfg to see the debug informations.

 

I also added sas_enclosure_max="14" and supportsas="yes" to synoconfig file.

 

I reduce the retry want_idx from 15 to 5 to get faster boot when there is lot of drives.

 

Like I said above I don't have LSI adapter anymore.

I tested this new kernel on my current test system which as two SATA drives connected to the mainboard.

DSM detect the disks as SYNO_DISK_SATA but Syno Assistant and Web Assistant say that there is no disk in my system !

I use the console with syno telnet secret password to edit the synoconfig file and remove sas_enclosure_max and supportsas.

Just click refresh on the Web Assistant and DSM detects my drives....so these options are somehow preventing DSM to properly detect drives and allow install on them.

 

So maybe with a LSI Adapter DSM will detect drives as SYNO_DISK_SAS and maybe DSM can install on them.

 

If someone have LSI adapter and want to test and gives feedbacks :smile:

 

Remember this is a test version with bugs so DO NOT USE IT unless you know what you are doing :!:

 

Download : https://download.xpenology.xyz/zImage-sas

Rename zImage-sas to zImage and copy it to your flash drive.

Share this post


Link to post
Share on other sites

Great work Trantor. I've got a load of spare disks so will put them in my supermicro sas setup later, along with a the new bootloader (so I don't screw my current drives). Will be interested to see how it performs and whether it does what Synology have designed it to do in their systems.

 

Its also good to see that the system can't detect the disks, suggests that it won't work without sas card. I've realised that I've got my spare Dell R410 sitting in my office being prepped for sale, it has proper 15K SAS drives installed so with 4 hotswap bays I should easily be able to test across SAS and SATA drives in multiple slots without any trouble!

 

I'll do this tonight and provide any feedback!

Edited by Guest

Share this post


Link to post
Share on other sites

Sorry, is this image based on the 3615xs or a different model? I want to make sure I'm not using a 6.0 PAT file so can you confirm which PAT I should download. Thanks!

Share this post


Link to post
Share on other sites

Ok so I've got the boot image on the USB in the R410. It boots up, waits at MPTSAS for a while but I never see the Failed/OK and then gets to the final Diskstation login. Trying to find it on the network and its not there. LAN cable is connected and flashing but no IP address that I can connect to. Server worked on normal image, although after I've put my son to bed I'll try again with the normal boot image.

Share this post


Link to post
Share on other sites

Ok so got an address, connects fine and brings up the install prompt, unfortunately the DELL SAS 6/IR installed, although and LSI 2008 chip, is not recognised... There goes my simple way of testing... Will have to drop the server down tomorrow, swap out usb's and use my spare 2TB drives to test and play with the new zimage, apologies!

Share this post


Link to post
Share on other sites

@trantor (does this even work?!)

 

So, put flash drive with SAS zimage in my supermicro chassis that has 3 LSI2008 cards (one true 9211-8i and two crossflashed dells to 9211-9i). Boots up fine, can find the IP addresses of the multiple NICs and then connect to the web gui, however it states that there is no hdd installed. I had one SATA drive installed in the machine and it doesn't get detected... So I would say that something is a miss here.

 

Does the firmware of the LSI cards need to match the driver revision? My LSI cards are flashed to the latest P20 release from Avago but I wonder what Synology have done? Would they need to be the same version?

 

Also looks like I'm still getting MPTSAS [FAILED] on boot, although now on the machine with 9211-9=8is it flashes past without halting...

 

I'll drop back to my old usb but I'm not sure what else I can help with in terms of identifying failures or where its not going right.

 

Chris

Share this post


Link to post
Share on other sites

Another thought, does the PAT file over-write the boot loaders synoinfo etc from the USB stick? If it does, then surely that would replace all the SAS stuff with default 3615xs stuff which doesn't support SAS? Doesn't get around the issues that its not detecting drives at the moment, but I wanted to ask.

Share this post


Link to post
Share on other sites

I have edited the actual bootloader so it's uses the RS18016xs+ rd.gz file.

In this iso the isolinux.cfg file is edited in order to show what type of disk DSM detect at boot (syno_disk_type_get : XXXX).

If you don't use this iso (and use flash drive instead) you have to set syno_hw_version=RS18016xs+ and loglevel=1 in syslinux.cfg !

 

Download : https://download.xpenology.xyz/XPEnoboo ... .1-SAS.iso

 

I run this on a VM and bare metal

Both are showing SYNO_DISK_SATA (SYNO_DISK_UNKNOW (scsi) ->SATA for the VM) during boot so DSM can't detect them.

 

I pretty sure with your SAS adapter it will show syno_disk_type_get : SYNO_DISk_SAS at boot and DSM should detects your drives.

 

Use this PAT if DSM detects your drives : https://usdl.synology.com/download/DSM/ ... +_5967.pat

 

This is a test version so DO NOT USE IT unless you know what you are doing :!:

Share this post


Link to post
Share on other sites

Hi Trantor, great. I'll give this a go over the weekend. Where would the boot logs be stored (or how can I extract the boot runtime data in to a log to post)? I've moving back in to vSphere soon to host Xpenology so will be even easier to test different boot images.

 

Cheers,

 

Chris

Share this post


Link to post
Share on other sites

Ok, so the image is having trouble with cpu hardlocks on my Xeon L5630 40w cpu in baremetal mode; the current DS boot image works fine but this one is refusing to load and gets hung up at various CPU hardlocks everytime. About to switch to vSphere 6 now so that should make it easier to test changes.

 

Cheers,

 

Chris

Share this post


Link to post
Share on other sites

Hmmm.. interesting, also getting this on vsphere too. I get an error 'fixing recursive fault but reboot is needed' after which the VM hangs. I currently utilise two HBAs; a Dell 6GBPS SAS2008 and a 'proper' LSI19211-8i. Both are flashed to IT mode using the latest firmware.

 

Interestingly, if I boot with only the Dell HBA enabled it will load fine; utilising the LSI causes the above error and it hangs.

 

The current DS boot image loads fine with both HBAs enabled and can load the drives fine.

Share this post


Link to post
Share on other sites

I thought I had uploaded the shots, but obviously not! Have attached two images showing this failure.

 

Hmmm... can't upload them as board attachment quota is full...

Share this post


Link to post
Share on other sites

Oh cool, that's great. Now that I'm running the system on vSphere, I can switch easily between the boot images to test boot and HDD detection. I also have a spare two drives in caddies that I can slot in when I can finally get to the install screen.

Share this post


Link to post
Share on other sites

subscribing to this thread and grabbing popcorn for now. This is important for me because in one of my xpenology systems I have two LSI cards. One is doing 16 SAS drives the other LSI card is doing SATA 3 only.

Share this post


Link to post
Share on other sites