Ein Blog über Code, Hardware und Co

NAS, Server und Co

Synology: NVME SSD als Laufwerk/Volume verwenden

Synology NAS kann man entweder (bei aktuellen Modellen) über integrierte M2 NVME-Slots oder über Adapterkarten wie die M2D18 oder M2D20 mit NVME-SSDs erweitern. Synology sieht den Einsatz aber nur als Cache-Laufwerke vor.
Hier erfährst du, wie du NVME-SSDs als Volume nutzen kannst.

Achtung: Die Verwendung von NVME-SSDs als Volume ist von Synology absichtlich nicht im DSM vorgesehen und wird mit der möglichen Überhitzung der SSDs begründet.
Es gibt zudem Berichte von Nutzern, bei denen Daten auf dem neu eingerichteten Volume zwischendurch auf einmal verschwunden waren.

Prinzipiell kann man so gut wie jede NVME-SSD in ein Synology NAS einbauen und nutzen sofern man entsprechende Slots oder Adapterkarten hat. Trotzdem empfiehlt sich ein Blick auf die Kompatibilitätslisten von Synology.

Ich nutze aktuell SN550 SSDs von Western Digital.

Bestseller Nr. 1
WD Blue SN550 NVMe SSD 1 TB (interne SSD, Leistungssteigerung für den PC, schlanker Formfaktor M.2 2280, speziell entworfene Controller und Firmware für optimale Leistung)
  • Steigern Sie die Leistung Ihres PCs mit der Western Digital SSD Festplatte der nächsten Generation
  • Die interne Festplatte ist 4-mal schneller als herkömmliche SATA SSDs. Freuen Sie sich über Lesegeschwindigkeiten von bis zu 2.400 MB/s
  • Mit der M.2 SATA SSD profitieren Sie von herausragender Performance bei niedriger Leistungsaufnahme
  • Die NVMe SSD mit PCIe Gen3x4 Schnittstelle eignet sich ideal für leistungsfähige Kompakt-PCs
  • Lieferumfang: WD Blue SN550 NVMe SSD 1 TB (interne SSD, Leistungssteigerung für den PC, schlanker Formfaktor M.2 2280, speziell entworfene Controller und Firmware für optimale Leistung) 5 Jahre Garantie

HowTo: NVME-SSDs als Volume

Tipp: Im Zweifel müssen die Befehle mit einem beherzten “sudo” vor dem Kommando ausgeführt werden 😉

1. Vorbereitungen

Um NVMe-SSDs als Volume einzubinden brauchst du auf jeden Fall SSH-Zugriff auf deine Diskstation.
Außerdem ist es unbedingt zu empfehlen, ein Backup aller wichtigen Daten und besser noch des gesamten Systems zu haben.

2. NVME SSD einbauen und Slot herausfinden

Jetzt kannst du deine NVME-SSD einbauen (und einmal das NAS rebooten). Die SSD sollte nun gefunden werden.

Logge dich nun über SSH auf deiner Diskstation ein und schaue mit folgendem Befehl, in welchem Slot sich die SSD befindet:

ls /dev/nvme*

Das Ergebnis sieht dann z.B. wie auf dem obigen Screenshot der Konsole aus.

Mittels des folgenden Befehls können wir uns für das gewählte Laufwerk (in diesem Falle /dev/nvme0n1) anzeigen lassen und so sicherstellen, dass es sich tatsächlich um das richtige Laufwerk handelt.

fdisk -l /dev/nvme0n1

3. Partition auf NVME-SSD erstellen

Wichtig: Zum Partitionieren nutzen wir ein synology-eigenes Skript. Nur so wird die notwendige Partitionierung erstellt, um die SSD als Volume zu erkennen.
Hier liegt aber auch eine Gefahr: Das Skript erstellt zugleich eine Systempartition, auf der sich u.A. auch das DSM mit befinden wird. Läuft hier etwas schief, kann es theoretisch sein, dass die DS nicht mehr richtig startet. Daher unbedingt Backups anfertigen.

Wir nutzen dafür das folgende Kommando (Bei der Partitionierung des 2. NVME-Slots würden wir entsprechend /dev/nvme1n1 verwenden):
synopartition --part /dev/nvme0n1 12

Die Ausführung des Kommandos musst du einmal mit “y” bestätigen.
Das Ergebnis sieht dann wie folgt aus:

Cleaning all partitions...
Creating sys partitions...
Creating primary data partition...
Please remember to mdadm and mkfs new partitions.

Um zu überprüfen, ob die Partitionierung funktioniert hat, können wir noch einmal “fdisk -l /dev/nvme0n1” eingeben.
Es werden dann – im Vergleich zur ersten Ausgabe zu Beginn – die entsprechenden Partitionen angezeigt.

4. Raid-Device erstellen

Damit der DSM etwas mit dem Volume anstellen kann, muss es sich um ein Raid-Device handeln.
Das können wir ganz einfach mittels “mdadm” machen.

Zuerst müssen wir uns aber anschauen, welche Raid-Devices bereits auf dem System existieren:
cat /proc/mdstat

Im Anschluss erstellen wir ein neues Raid-Device mit der nächsten freien Nummer. Die Nummer des Raid-Devices steht immer hinter dem “md”, also md0, md1, md2 usw. In meinem Fall gibt es bereits md0 bis md5, daher wähle ich für das zu erstellende Raid-Device “md6”:

mdadm --create /dev/md6 --level=1 --raid-devices=1 --force /dev/nvme0n1p3

Erläuterung des Befehls:
mdadm -> Befehl für die Nutzung des mdadm-Tools zur Verwaltung von Software-Raids
–create -> Wir wollen ein Software-Raid anlegen
/dev/md6 -> Welches Device soll für das Raid angelegt werden (hier: md6)
–level=1 -> Welches Raid Level soll erstellt werden?
–raid-devices=1 -> Wie viele physikalische Devices werden das Raid bilden?
–force -> Wir erzwingen die Erstellung
/dev/nvme0n1p3 -> Das/Die für das Raid verwendeten Hardware-Devices

Es lässt sich also natürlich auch ein Raid 1 mit 2 NVME-SSDs erstellen.
Dafür würde man lediglich den mdadm-Befehl wie folgt abändern:
mdadm –create /dev/md6 –level=1 –raid-devices=2 –force /dev/nvme0n1p3 /dev/nvme1n1p3

Spannend ist es hierbei zu sehen, dass md0 und md1 über sämtliche Festplatten/SSDs des Systems verteilte Raids sind. Es handelt sich hierbei um die Systempartition auf der das Betriebssytem (DSM) der Diskstation liegt, sowie die SWAP-Partition des Systems.

Dateisystem erzeugen

Mit folgendem Befehl erzeugen wir auf dem Raid-Device nun das Filesystem:
mkfs.btrfs -f /dev/md6

Diskstation neu starten

Nun einmal die Diskstation neu starten und fertig.
Das NVME-SSD-Volume ist nun erkannt und nutzbar.
Wenn das Laufwerk als btrfs-Volume formatiert wurde, kann es auch problemlos als Speicher für virtuelle Maschinen genutzt werden.

Die Nutzung von NVME-SSDs als Volume im Video

Mittlerweile gibt es das Tutorial auch im Video bei YouTube:

Performancetests

Ich habe mal ein btrfs-Volume auf einer DS3018xs erstellt und eine virtuelle Windows 10-Maschine auf das NVME-Volume gelegt.
Jetzt schauen wir mal, wie sich das Volume von der HDD/SSD-Performance her schlägt.

AS SSD Benchmark

Bild 1: Die IOPS des ISCSI-Volumes einer Windows 10-VM, die auf dem NVME-SSD-Volume liegt.
Bild 2: Die MB/s des ISCSI-Volumes einer Windows 10-VM, die auf dem NVME-SSD-Volume liegt.

Crystal Disk Mark

Bild 3: Die IOPS des ISCSI-Volumes einer Windows 10-VM, die auf dem NVME-SSD-Volume liegt.
Bild 4: Die MB/s des ISCSI-Volumes einer Windows 10-VM, die auf dem NVME-SSD-Volume liegt.

Quellen: https://www.reddit.com/r/synology/comments/a7o44l/guide_use_nvme_ssd_as_storage_volume_instead_of/

Letzte Aktualisierung am 16.06.2021 / Affiliate Links / Bilder von der Amazon Product Advertising API

  1. Uwe Schmidt

    Hi,
    sehr schöne Beschreibung. Bei mir, eine DS920+ mit DSM7 funktioniert leider der mdadm Befehl nicht. Das Array wird zwar angelegt, ist nach einem reboot aber wieder weg. Die Partitionierung und das btrfs bleiben erhalten. In der Speicherübersicht heißt das dann “Verfügbarer Pool” ohne das man damit etwas machen kann.

    • Kommentar des Beitrags-Autors

      Jan-Dirk

      Vielen Dank für dein Feedback Uwe!
      Leider habe ich keine Diskstation zur Hand, die DSM7 unterstützt (außer virtuelle DSM und da bringt das natürlich wenig ;))
      Da es sich ja ohnehin um keine offizielle Funktion handelt, kann es durchaus sein, dass dieser Weg unter DSM7 nicht mehr funktioniert.
      Sobald ich ein DSM7-Gerät zur Verfügung habe, werde ich das auch noch einmal probieren und dem auf den Grund gehen.

      Gruß
      Jan-Dirk

    • hellraver

      Ich habe auch eine DS920+ und DSM 7 und konnte erfolgreich aus zwei verbauten NVME-SSDs ein Speicherpool im Raid 0 Verbund und anschließend ein funktionsfähiges Volume erstellen. Anschließend habe ich aus dem Paketzentrum, dass Synology „Virtual Machine Manager“ Paket installiert und auf das neu erstellte Volume mit den NVME-SSDs, eine Windows Server 2022 Installation erfolgreich eingerichtet.

  2. Manfred

    Danke. Funktioniert alles . Kann RAID 0 auf diese Weise gelöst werden? Was muss geändert werden? Danke sehr

    • Kommentar des Beitrags-Autors

      Jan-Dirk

      Hallo Manfred,
      ja, du kannst auch ein Raid 0 erzeugen.
      Dafür musst du einfach beim “mdadm –create”-Befehl level=0 als Raidlevel übergeben.

      Ich muss aber zu bedenken geben, dass Raid 0 keine Redundanz und dafür eine doppelte Ausfallwahrscheinlichkeit bzw. zwei Single-Points-of-Failure hat.
      Zudem ist es – aber das ist jetzt nur meine Hypothese – unwahrscheinlich, dass du einen Geschwindigkeitsvorteil merken wirst, da ohnehin die meisten NAS aufgrund anderer limitierender Faktoren (wie der CPU) bereits die Geschwindigkeit einer NVME-SSD kaum ausreizen können.
      Dazu kommt, dass Raid 0 auf hohen Datendurchsatz ausgelegt ist – und hoher Datendurchsatz auf NVME-SSDs bedeutet sehr hohe Temperaturen. Die Kühlung der M2-Slots in Synology NAS ist dafür definitiv nicht ausgelegt und es kann zu massiven Hitze- und Stabilitätsproblemen kommen.

      Dazu passend auch mein aktueller Beitrag, in dem ich von meinen massiven Problemen mit bestimmten NVME-SSDs in Synology NAS berichte 😉
      https://addictedtocode.de/technik-hardware/wenn-das-nas-oder-der-pc-nach-dem-einbau-einer-nvme-ssd-einfriert/

      Beste Grüße
      Jan-Dirk

Schreibe eine Antwort