Synology Utilisation d'un SSD NVMeM2 en tant que volume de stockage dans un Synology DS920+

MilesTEG

Administreur
Membre du personnel
6 Septembre 2020
3 164
748
213
Bonjour,
J'ai bien envie d'essayer de faire un volume de stockage sur un SSD NVMe M2 qui normalement devrait être dédié au cache SSD.
Je sais qu'il va y avoir de la bricole à faire d'un point de vue ligne de commande, et que ça risque de ne pas être pérenne dans le temps. Mais j'en ai conscience, et j'en accepte les risques.

Je modifierais ici les commandes à rentrer pour en faire un volume quand je les aurais, et que je les aurais essayé.

1/ Mais tout d'abord, quel SSD acheter ?
Je ne voudrais pas cramer trop de thunes là dedans, surtout pour un projet tel que celui-là...

Aussi j'ai repéré ces SSD 512Go à presque 50€ :
Voir même la version 1To du crucial me semble aussi intéressante pour moins de 75€.

Qu'en pensez-vous ?


2/ Ensuite, les commandes... Faut que je retrouve le sujet où on en a parlé sur ce forum, mais si d'ici à ce que j'ai trouvé, quelqu'un veut bien poster à la suite la méthode, je suis preneur ^^ (Il sera probablement plus rapide que moi :p ).

Merci d'avance
++
Miles
 
C'est plutot simple et rapide à faire.
Pour un SSD NVMe:
For 1x NVME:
1. ls /dev/nvme*
2. sudo -i
3. fdisk -l /dev/nvme0n1
4. synopartition --part /dev/nvme0n1 12
5. fdisk -l /dev/nvme0n1
6. cat /proc/mdstat
7. mdadm --create /dev/md3 --level=1 --raid-devices=1 --force /dev/nvme0n1p3
8. cat /proc/mdstat *READ NOTA
9. echo 0 > /sys/block/md3/queue/rotational
10. mkfs.btrfs -f /dev/md3
11. reboot



NOTA:
Check the contents of /proc/mdstat repeatedly until there is no mention of “resync” in the output. If you get output like this you need to wait for it to finish:

md3 : active raid1 nvme1n1p3[1] nvme0n1p3[0]
483664384 blocks super 1.2 [2/2] [UU]
[===========>.........] resync = 56.2% (272194304/483664384) finish=9.7min speed=360766K/sec
When it’s done you’ll get output like this:

md3 : active raid1 nvme1n1p3[1] nvme0n1p3[0]
483664384 blocks super 1.2 [2/2] [UU]
 
  • J'aime
Réactions: Ludo33 et MilesTEG
Petit ssd nvme Crucial p3 500Go reçu et monté dans le nas vu ( ça se fait super vite et dans outils ?)
Reste plus qu’à essayer les commandes pour le monter en volume ☺️
Puis une copie brutale de données en tout genre pour voir comment il réagit et puis effacement, suppression du volume et recréation avec un script dont les commandes auront été validées précédemment ,
Vérification des backups puis copie des données docker et réinstallation du paquet sur le ssd.
 
Monter le volume NVMe avec un script est un peu risqué.
La commande cat /proc/mdstat doit être complete à 100% (resync = 100%) avant de lancer la commande echo 0 > /sys/block/md3/queue/rotational
Pas de souci, les commandes sont validées sur Reddit depuis plus de trois ans pour les trois configurations:
2x NVME RAID0
2x NVME RAID1
1x NVME

For 2x NVME RAID0:
1. ls /dev/nvme* (Lists your NVMe drives)
2. sudo -i (Type this, then type your password for Super User)
3. fdisk -l /dev/nvme0n1 (Lists the partitions on NVMe1)
4. fdisk -l /dev/nvme1n1 (Lists the partitions on NVMe2)
5. synopartition --part /dev/nvme0n1 12 (Creates the Syno partitions on NVMe1)
6. synopartition --part /dev/nvme1n1 12 (Creates the Syno partitions on NVMe2)
7. fdisk -l /dev/nvme0n1 (Lists the partitions on NVMe1)
8. fdisk -l /dev/nvme1n1 (Lists the partitions on NVMe2)
9. cat /proc/mdstat (Lists your RAID arrays/logical drives)
10. mdadm --create /dev/md3 --level=0 --raid-devices=2 --force /dev/nvme0n1p3 /dev/nvme1n1p3 (Creates the RAID array RAID 1 --level=1 RAID 0 --level=0)
11. cat /proc/mdstat (Shows the progress of the RAID resync for md3 or md4) *READ NOTA
12. echo 0 > /sys/block/md3/queue/rotational
13. mkfs.btrfs -f /dev/md3 (Formats the array as btrfs)
14. reboot (Reboots the DS)


For 2x NVME RAID1:
1. ls /dev/nvme* (Lists your NVMe drives)
2. sudo -i (Type this, then type your password for Super User)
3. fdisk -l /dev/nvme0n1 (Lists the partitions on NVMe1)
4. fdisk -l /dev/nvme1n1 (Lists the partitions on NVMe2)
5. synopartition --part /dev/nvme0n1 12 (Creates the Syno partitions on NVMe1)
6. synopartition --part /dev/nvme1n1 12 (Creates the Syno partitions on NVMe2)
7. fdisk -l /dev/nvme0n1 (Lists the partitions on NVMe1)
8. fdisk -l /dev/nvme1n1 (Lists the partitions on NVMe2)
9. cat /proc/mdstat (Lists your RAID arrays/logical drives)
10. mdadm --create /dev/md3 --level=1 --raid-devices=2 --force /dev/nvme0n1p3 /dev/nvme1n1p3 (Creates the RAID array RAID 1 --level=1 RAID 0 --level=0)
11. cat /proc/mdstat (Shows the progress of the RAID resync for md3 or md4) *READ NOTA
12. echo 0 > /sys/block/md3/queue/rotational
13. mkfs.btrfs -f /dev/md3 (Formats the array as btrfs)
14. reboot (Reboots the DS)

For 1x NVME:
1. ls /dev/nvme* (Lists your NVMe drives)
2. sudo -i (Type this, then type your password for Super User)
3. fdisk -l /dev/nvme0n1 (Lists the partitions on NVMe1)
4. synopartition --part /dev/nvme0n1 12 (Creates the Syno partitions on NVMe1)
5. fdisk -l /dev/nvme0n1 (Lists the partitions on NVMe1)
6. cat /proc/mdstat (Lists your RAID arrays/logical drives)
7. mdadm --create /dev/md3 --level=1 --raid-devices=1 --force /dev/nvme0n1p3
8. cat /proc/mdstat (Shows the progress of the RAID resync for md3) *READ NOTA
9. echo 0 > /sys/block/md3/queue/rotational
10. mkfs.btrfs -f /dev/md3 (Formats the array as btrfs)
11. reboot
 
@jeu2
Je suis en train de lancer les différentes commandes, et j'en suis à celle-ci :
Code:
9. echo 0 > /sys/block/md3/queue/rotational
À quoi sert-elle ?
Je ne fais pas de script en fin de compte, mais je fais un fichier tuto en français qui explique tout ce qui se fait avec des sorties de terminal ^^ et donc j'ai besoin de savoir précisément ce que font chacune des commandes.
J'ai compris que ça va écrire un 0 dans le fichier /sys/block/md3/queue/rotational qui actuellement chez moi contient un 1.
Mais ça sert à quoi ?
 
Haa, je crois avoir compris !
Ça ne serait pas pour indiquer que le disque n'est pas un disque dur qui a des plateaux en rotation ? Et donc dire que c'est un SSD ?

edit : grillé par @EVOTk

Sinon un avant gout du tuto FR pour un seul disque :
1664742524327.png
 
Voilà, j'ai fini de taper les commandes, me reste plus qu'à attendre qu'il reboot complètement pour voir si j'ai rien cassé ?
? ?
 
@jeu2
J'ai, suivi à la lettre les consignes, j'ai obtenu un volume en md5 :
Code:
root@Syno-DS920Plus:~# cat /proc/mdstat
Personalities : [raid1]
md5 : active raid1 nvme0n1p3[0]
      483664384 blocks super 1.2 [1/1] [U]

md2 : active raid1 sata3p5[0] sata4p5[2]
      3902187456 blocks super 1.2 [2/2] [UU]

md3 : active raid1 sata1p3[0]
      13667560448 blocks super 1.2 [1/1] [U]

md4 : active raid1 sata2p3[0]
      1948692544 blocks super 1.2 [1/1] [U]

md1 : active raid1 sata1p2[0] sata4p2[3] sata3p2[2] sata2p2[1]
      2097088 blocks [4/4] [UUUU]

md0 : active raid1 sata1p1[0] sata4p1[3] sata3p1[2] sata2p1[1]
      2490176 blocks [4/4] [UUUU]

unused devices: <none>

root@Syno-DS920Plus:~# mkfs.btrfs -f /dev/md5
btrfs-progs v4.0
See http://btrfs.wiki.kernel.org for more information.

Detected a SSD, turning off metadata duplication.  Mkfs with -m dup if you want to force metadata duplication.
Performing full device TRIM (461.26GiB) ...
Label:              (null)
UUID:               0a1a5418-9f5e-49d6-96e4-aaa1c21131b5
Node size:          16384
Sector size:        4096
Filesystem size:    461.26GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         single            8.00MiB
  System:           single            4.00MiB
SSD detected:       yes
Incompat features:  extref, skinny-metadata
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1   461.26GiB  /dev/md5

Mais après le redémarrage, le volume md5 n'existe plus :
Code:
root@Syno-DS920Plus:~# ls /dev/nvme*
/dev/nvme0  /dev/nvme0n1  /dev/nvme0n1p1  /dev/nvme0n1p2  /dev/nvme0n1p3
root@Syno-DS920Plus:~# fdisk -l /dev/nvme0n1
Disk /dev/nvme0n1: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: CT500P3SSD8
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7b408005

Device         Boot   Start       End   Sectors   Size Id Type
/dev/nvme0n1p1          256   4980735   4980480   2.4G fd Linux raid autodetect
/dev/nvme0n1p2      4980736   9175039   4194304     2G fd Linux raid autodetect
/dev/nvme0n1p3      9437184 976768064 967330881 461.3G fd Linux raid autodetect
root@Syno-DS920Plus:~# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sata3p5[0] sata4p5[2]
      3902187456 blocks super 1.2 [2/2] [UU]

md3 : active raid1 sata1p3[0]
      13667560448 blocks super 1.2 [1/1] [U]

md4 : active raid1 sata2p3[0]
      1948692544 blocks super 1.2 [1/1] [U]

md1 : active raid1 sata1p2[0] sata4p2[3] sata3p2[2] sata2p2[1]
      2097088 blocks [4/4] [UUUU]

md0 : active raid1 sata1p1[0] sata4p1[3] sata3p1[2] sata2p1[1]
      2490176 blocks [4/4] [UUUU]

unused devices: <none>

Une idée de ce que je dois faire pour que le volume persiste ?
 
Bon à priori il faut faire deux actions dans DSM avant de redémarrer :
1664744173995.png
 
Bon j'ai essayé la méthode, j'ai bien vu
DsPBomU.png


Mais j'ai eu une erreur :
1664745131246.png

Bon je verrais ça demain, là dodo time.
 
Bon alors, après un reboot, j'ai pu refaire la manip d'assemblage en ligne, et là ça n'a pas planté :D
J'ai pu créer le volume, et y copier des données.
Par contre, le cache du SSD a vite été saturé par les 450Go que j'ai copié :LOL:

Voilà un petit tuto traduit de la version anglaise, et agrémentée de commentaires d'aide et de captures d'écran :
https://gist.github.com/MilesTEG1/221d1f5dad14828638cf09ceaaebada1
 
Dernière édition:
Tes premières impressions après la mise en place d'un volume NVMe? Rapidité?
Et bien, c'est pas aussi rapide que ce que je pensais, après je n'ai fait que de la copie de fichier et un benchmark depuis le NAS :
1664813615090.png
Ça reste cependant plus rapide que sur mon gros disque de 14To :
1664813636446.png

Mais en copiant une grosse quantité de données, j'ai saturé le cache (dixit @EVOTk )
1664813774164.png (copie à 63% là)

J'avais ça en début de copie (1,6% ici) :
1664813759699.png
 
Je sais que j'ai un gain important sur l'utilisation de Emby, affichage des vignettes, réactivité, fluidité des menus. J'ai aussi une VM dessus qui tourne .
 
Hello,
J'ai réussi à migrer tout le conteneur docker ainsi que le paquet sur le SSD ;) mais pas en un clic 😅

Je suis en train de rédiger un fichier .md explicatif .

Mais en résumé :
  1. J'ai stoppé Docker avec une commande terminal (synopkgctl )
  2. Fait une copie avec rsync du dossier /volume1/docker vers /volume2/docker-ssd
  3. Désinstaller Docker en supprimant toutes les données via DSM (j'aurais pu utiliser une autre commande pour synopkg )
  4. Renommer /volume2/docker-ssd en /volume2/docker- puisque la désinstallation de Docker a supprimé le dossier docker.
  5. Réinstaller Docker sur le volume4
  6. Modifier mes docker-compose.yml pour refléter le changement d'emplacement do dossier docker
  7. Recréer en premier Portainer via un docker-compose up -d
  8. Recréer mon conteneur Gitea qui contient tous les docker-compose, via l'éditeur de Portainer (pas le choix pour lui)
  9. Recréer mon conteneur AdGuard-Home en passant par Gitea avec l'IP:port vu que la résolution local n'est pas encore faite...
  10. Recréer mon conteneur SWAG en passant par Gitea avec l'IP:port vu que le reverse-proxy n'est pas encore présent...
  11. Puis recréer un a un mes autres conteneurs...
Je n'ai pas trouver plus rapide, car faire un
0zFWtvB.png
après avoir mis à jour le dépôt avec les docker-compose.yml avec le bon chemin pour les volumes n'a pas fonctionné...


Maintenant tout fonctionne.

Niveau gain : c'est en réactivité de certains conteneur que j'ai pu voir, par exemple Plex est bien plus réactif. Gitea également.