Jump to content
XPEnology Community

NVMe cache support


advin

Recommended Posts

  • 5 months later...
On 12/18/2021 at 3:04 AM, id001 said:

You can: 

 

Hi all - I'm trying to add my Samsung 960EVO NVME as a storage drive but it's not going well. 

 

I follow all steps above without any errors but when I reboot, the drive still does not show up in DSM and there's no “Available Pool 1” option. Also, after reboot, I SSH and cat /proc/mdstat and notice that MD4 device is no longer there either. 

 

I've tried all different updates; 23739, 24922, 25426 and no luck. Has anyone had success in getting this to work on Xpenology? If so please help in telling me what I may be doing wrong. I'm a Linux noob.

 

Asus Q170S1 motherboard w/ core i5 6500

Xpenology DSM 6.2.3-25426 Update 3

 

SSD.PNG

SSD missing.PNG

Edited by malvar
Link to comment
Share on other sites

Xpenology NVMe Cache auto-activator for TCRP release.

 

If you have newly built the M SHELL for TCRP Friend loader
TCRP automatically activates NVMe cache.

Currently, DS3622xs+ and DS918+ are shipped, and support models will be shared as they continue to expand.

After DSM installation is complete, reboot to enable NVMe cache.

 

Developed as a service like powersched
When the nvme-cache service is running, the first time when booting DSM, it searches whether or not NVMe cache is installed and activates it.

 

like below
You can also download and run nvme-cache.sh separately without building a loader.
However, nvme-cache.sh, which is not included in the service type or scheduler, is executed once, and NVMe cache may be disabled again due to migration between Synology models or DSM Update.

sudo -i
curl -L "https://github.com/PeterSuh-Q3/rp-ext/raw/main/nvme-cache/src/nvme-cache.sh" -O
chmod +x nvme-cache.sh
./nvme-cache.sh

 

It is recommended to rebuild the loader and use it if possible.

 

In conclusion, if you rebuild M SHELL for TCRP, install DSM, and reboot, the cache will be recognized by itself.

  • Like 1
Link to comment
Share on other sites

On 1/10/2023 at 3:42 AM, Peter Suh said:

Xpenology NVMe Cache auto-activator for TCRP release.

 

If you have newly built the M SHELL for TCRP Friend loader
TCRP automatically activates NVMe cache.

Currently, DS3622xs+ and DS918+ are shipped, and support models will be shared as they continue to expand.

After DSM installation is complete, reboot to enable NVMe cache.

 

Developed as a service like powersched
When the nvme-cache service is running, the first time when booting DSM, it searches whether or not NVMe cache is installed and activates it.

 

like below
You can also download and run nvme-cache.sh separately without building a loader.
However, nvme-cache.sh, which is not included in the service type or scheduler, is executed once, and NVMe cache may be disabled again due to migration between Synology models or DSM Update.

sudo -i
curl -L "https://github.com/PeterSuh-Q3/rp-ext/raw/main/nvme-cache/src/nvme-cache.sh" -O
chmod +x nvme-cache.sh
./nvme-cache.sh

 

It is recommended to rebuild the loader and use it if possible.

 

In conclusion, if you rebuild M SHELL for TCRP, install DSM, and reboot, the cache will be recognized by itself.

TCRP and M SHELL worked for me. File transfer to NVME is really fast over 10GBe.

 

Link I used https://github.com/PeterSuh-Q3/tinycore-redpill/releases/tag/v0.9.3.0-1 

 

Running DS920+ with DSM 7.1.1-42962 

 

Thank you.  

  • Like 1
Link to comment
Share on other sites

5 hours ago, The Chief said:

Try patched libsynonvme.so.1 from DSM 7.1.1-42962 Update 3. DS918+ only!

 

libsynonvme.so.1 48.88 kB · 0 downloads

 

 

thanks for the file I'm also using DS918+ update 3, but I didn't know that the contents could change depending on the Small Fix version.


The contents of Update 1 and Update 3 were compared in Hexa.

 

Left is update 3. 

 

In M SHELL, both DS1019+ and DS1621xs+ models utilize this libsynonvme.so.1 file.

 

Maybe update 3 will be the same.

 

2017899970_2023-01-159_50_48.thumb.png.7f941233c9620c05d50b416e5b944ea6.png

Edited by Peter Suh
Link to comment
Share on other sites

1 час назад, Peter Suh сказал:

but I didn't know that the contents could change depending on the Small Fix version

I'll see future updates for changes. As I see, you use slightly different approach in your script — you detect PCI device nums in nvmeXn1 PHYSDEVPATHs (via udevadm) and patch preset values in libsynonvme.so.1. Clever trick. My patch forces syno library to read all block devices, searching PHYSDEVDRIVER=nvme, making them available for  creating cache.

  • Like 1
Link to comment
Share on other sites

14 hours ago, The Chief said:

I use ARPL loader. Is any chance to have your script in ARPL as an extention?

I've just updated to the last ARPL release, v1.0-beta11a and I'm happy to report that NVME cache is showing up without anything else to do.

My hardware:

  • ASRock Fatal1ty Z170 Gaming-ITX/ac
  • Intel® Core™ i3-7100 Processor
  • 2x4GB DDR3
  • 6 x SATA3 6.0 Gb/s Connectors (Intel onboard controller)
  • PCI-E card with ASMedia ASM1166 controller (6 extra SATA3 ports)
  • EATON 5SC500i UPS

Baremetal installation via ARPL on 32 GB USB stick

DS920+

DSM 7.1.1-42962 Update 1

149565928_Screenshot2023-01-16alle09_05_04.png.ca5e8da78bcc3e5feae2136b4e539f43.png

Edited by giacomoleopardo
Link to comment
Share on other sites

14 hours ago, The Chief said:

I use ARPL loader. Is any chance to have your script in ARPL as an extention?

 

In order to become an addon that can be embedded in ARPL, fabio's will is required,
You can also use Just My Script separately.
If possible, make Task Scheduler run as root every time it boots.
It prevents the possibility of NVMe cache information being lost when updating or migrating DSM.

 

sudo -i
curl -L "https://github.com/PeterSuh-Q3/rp-ext/raw/main/nvme-cache/src/nvme-cache.sh" -O
chmod +x nvme-cache.sh
./nvme-cache.sh

  • Like 2
Link to comment
Share on other sites

12 minutes ago, giacomoleopardo said:

I've just updated to the last ARPL release, v1.0-beta11a and I'm happy to report that NVME cache is showing up without anything else to do.

My hardware:

  • ASRock Fatal1ty Z170 Gaming-ITX/ac
  • Intel® Core™ i3-7100 Processor
  • 2x4GB DDR3
  • 6 x SATA3 6.0 Gb/s Connectors (Intel onboard controller)
  • PCI-E card with ASMedia ASM1166 controller (6 extra SATA3 ports)
  • EATON 5SC500i UPS

Baremetal installation via ARPL on 32 GB USB stick

DS920+

DSM 7.1.1-42962 Update 1

149565928_Screenshot2023-01-16alle09_05_04.png.ca5e8da78bcc3e5feae2136b4e539f43.png

 

For Device-Tree-based platforms like DS920+, such as geminilake, v1000 (DS1621+), and r1000 (DS923+),

the dtbpatch extension driver automatically maps the disk and NVMe cache.

  • Like 1
Link to comment
Share on other sites

1 minute ago, Peter Suh said:

 

For Device-Tree-based platforms like DS920+, such as geminilake, v1000 (DS1621+), and r1000 (DS923+),

the dtbpatch extension driver automatically maps the disk and NVMe cache.

Indeed it does, yes. Though, until yesterday I was using ARPL v0.5-alpha1 (still on DSM 7.1.1-42962 Update 1 on DS920+) and no NVME cache was mapped.

Link to comment
Share on other sites

10 часов назад, giacomoleopardo сказал:

I've just updated to the last ARPL release, v1.0-beta11a

I've just updated to DSM 7.1.1-42962 Update 3 via last ARPL release. DS918+ model does not recognize SSDs without a patch, either mine or Peter's. His script is much more convenient then binary patch of mine, so be it, what's done is done. :)

Edited by The Chief
Link to comment
Share on other sites

  • 4 weeks later...
В 16.01.2023 в 11:19, Peter Suh сказал:

In order to become an addon that can be embedded in ARPL, fabio's will is required,
You can also use Just My Script separately.

 

Please help me, I'm trying to make an nvme ssd cache, but the system doesn't see it, what's wrong? Model DVA3219 arpl. I tried your script, it doesn't work either.

ssd.jpg

Link to comment
Share on other sites

14 hours ago, aportnov said:

 

Please help me, I'm trying to make an nvme ssd cache, but the system doesn't see it, what's wrong? Model DVA3219 arpl. I tried your script, it doesn't work either.

ssd.jpg

 

Sorry, my script doesn't work on Denverton platforms like the DVA3221 / DVA3219.
The supported models are about 7 models below.

 

https://github.com/PeterSuh-Q3/rp-ext/blob/main/nvme-cache/rpext-index.json

Edited by Peter Suh
Link to comment
Share on other sites

14 hours ago, aportnov said:

 

Please help me, I'm trying to make an nvme ssd cache, but the system doesn't see it, what's wrong? Model DVA3219 arpl. I tried your script, it doesn't work either.

ssd.jpg

 

 

A possible way seems to be explained in the post below.
I will try it out and will supplement the script if successful.

 

 

Link to comment
Share on other sites

2 часа назад, Peter Suh сказал:

 

 

A possible way seems to be explained in the post below.
I will try it out and will supplement the script if successful.

 

 

Your script was running make a backup of the file and changed the values the same way as I did manually, but it didn't work until I entered the value supportnvme="yes" Why does your script make a backup of the file and why is this file needed?

Безымянный.jpg

Link to comment
Share on other sites

15 hours ago, aportnov said:

 

Your script was running make a backup of the file and changed the values the same way as I did manually, but it didn't work until I entered the value supportnvme="yes" Why does your script make a backup of the file and why is this file needed?

Безымянный.jpg

 

The libsynonvme.so.1.bak file that my script backs up is
This is a measure for the three models DS918+ / DS1019+ / 1621xs+.
It is unnecessary in DVA3219, but the script handled it that way.
I will improve this part.

Edited by Peter Suh
Link to comment
Share on other sites

[NOTICE]

 

Xpenology NVMe Cache Auto Activator DVA3221 / DVA3219 Denverton are all supported.

 

So far, only the DVA3221 / DVA3219 Denverton models have not been able to activate NVMe Cache.
A solution came out on the ARPL topic side and applied it.

 

Only the Denverton platform is missing the supportnvme="yes" setting in the /etc.defaults/synoinfo.conf file.

If this setting does not exist, a script is included to automatically detect and register it.

 

All of the TCRP platforms are now available with no NVMe cache disabled models.

M SHELL for TCRP includes this script as a bundle, so you don't have to work separately.

 

Like the last notice, if you want to add only this function in the existing ARPL or TCRP, you can apply it as follows.

 

sudo -i

curl -L "https://github.com/PeterSuh-Q3/rp-ext/raw/main/nvme-cache/src/nvme-cache.sh" -O

chmod +x nvme-cache.sh

./nvme-cache.sh

 

  • Like 1
Link to comment
Share on other sites

On 11/26/2019 at 9:51 PM, The Chief said:

PCI bus numbers are hardcoded at least in /usr/lib64/libsynonvme.so, different pci ids for different Syno NAS models (0000:00:13 for DS918+).

 

PS: HURRAY, dirty binary patch for only libsynonvme.so is enough for DSM to recognize NVME Optane M10 in first PCIe x16 (via adapter card) as caching SSD!

 

 

syno_patch.png

syno_m10_cache.png

how you patch the binary. I have unused intel Optane 16Gb. in the past time I broke the optane after formating it. now I have intel optane (again), it is unused so I want to add it to my xpenology. would you like give us the tutorial how to patch it? thank you

Link to comment
Share on other sites

1 hour ago, Rayqusa said:

how you patch the binary. I have unused intel Optane 16Gb. in the past time I broke the optane after formating it. now I have intel optane (again), it is unused so I want to add it to my xpenology. would you like give us the tutorial how to patch it? thank you

 

A couple of times on this page I have shared guides for easy patching.

 

Are there any parts that are difficult to understand?

 

No more manually editing the /usr/lib64/libsynonvme.so.1 file.


It is a script that automatically detects the PCI information of your NVMe and automatically patches the binary.

 

 

Edited by Peter Suh
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...