Objectif final :
Déplacer le dossier docker, et le paquet Docker sur le volume SSD NVMe pour gagner en fluidité. Voir §-III. à la fin de ce GIST.
Note :
Les commandes suivantes sont pour la plupart à lancer en root dans un terminal, pensez à faire un :sudo -i
⚠️ IMPORTANT - À - FAIRE⚠️
Il faut faire des sauvegardes de toutes les données du NAS, car les commandes utilisées ici ne sont pas sans risques...
Sources sur reddit :
Autre source intéressante :
Sujet sur forum-nas.fr :
- I. Méthode pour utiliser un seul SSD NVMe en BASIC
- I.1. Lister les disques NVMe présents dans
/dev/
- I.2. Lister les partition du disque NVMe avec
fdisk -l
- I.3. Création de la partition
- I.4. Vérification des partitions créées
- I.5. Creation d'un volume basic
- I.6. Création du système de fichier
- I.7. Paramétrer le volume dans DSM et redémarrer le NAS
- I.8. Déplacement de données, et (ré)installation de paquets sur le SSD
- I.1. Lister les disques NVMe présents dans
- II. Création de RAID1 avec 2 SSD après avoir fait le groupe BASIC précédent
- II.1. Lister les disques NVMe présents dans
/dev/
- II.2. Lister les partitions des disques NVMe avec
fdisk -l
- II.3. Création de la partition
- II.4. Vérification des partitions créées
- II.5. Creation d'un volume en RAID1 avec les deux SSD
- II.6. Création du système de fichier
- II.7. Paramétrer le volume dans DSM et redémarrer le NAS
- II.1. Lister les disques NVMe présents dans
- III. Déplacement du paquet Docker et des données
/volumeX/docker
vers le volume SSD fraichement créé
ls /dev/nvme*
Exemple de sortie :
root@Syno-DS920Plus:~# ls /dev/nvme*
/dev/nvme0 /dev/nvme0n1
En fonction du slot d'installation du SSD, ce sera soit /dev/nvme0n1
soit /dev/nvme1n1
.
fdisk -l /dev/nvme0n1
Il faudra utiliser fdisk -l /dev/nvme1n1
si le ssd est dans le slot n°2.
Exemple de sortie :
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
synopartition --part /dev/nvme0n1 12
Exemple de sortie :
root@Syno-DS920Plus:~# synopartition --part /dev/nvme0n1 12
Device Sectors (Version7: SupportRaid)
/dev/nvme0n11 4980480 (2431 MB)
/dev/nvme0n12 4194304 (2048 MB)
Reserved size: 262144 ( 128 MB)
Primary data partition will be created.
WARNING: This action will erase all data on '/dev/nvme0n1' and repart it, are you sure to continue? [y/N] y
Cleaning all partitions...
Creating sys partitions...
Creating primary data partition...
Please remember to mdadm and mkfs new partitions.
Les partitions sont ainsi créées et respecte le prérequis de disposition pour DSM.
fdisk -l /dev/nvme0n1
Sortie :
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
On constate alors que la disposition des partitions est créée.
Noter ici le Device
correspondant à la 3ème partition du disque, ici c'est : /dev/nvme0n1p3
.
On en aura besoin plus loin, lors de la création du volume.
Pour la création d'un disque en Basic, il faut créer une unique partition en RAID1 afin que DSM la reconnaisse. (C'est ce que fait DSM quand il crée un volume basic.)
cat /proc/mdstat
Sortie :
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>
Pour autant que je sache, md0
est la partition système, et md1
est le swap. Le volume des données va donc commencer à md2
.
Dans mon cas, j'ai donc les deux partitions de DSM (système et swap), plus trois volumes en raid, ce qui correspond (à peu près pour le raid) à ce que j'ai :
- un volume en SHR1 avec deux disques : le
md2
- un volume en basic avec un disque : le
md3
- un autre volume en basci avec un seul disque : le
md4
Pour créer le volume basic, il faut utiliser le mdX
suivant le dernier de la liste précédente (X
étant à remplacer par un nombre entier).
Dans mon cas, il s'agira de md5
.
Pour être 1000% sûr, car la commande suivante peut ruiner vos volumes existant, tapons :
ls /dev/md*
Qui retourne ceci :
root@Syno-DS920Plus:~# ls /dev/md*
/dev/md0 /dev/md1 /dev/md2 /dev/md3 /dev/md4
On voit bien dans mon cas, que je n'ai pas de md5
et suivants (md6
, md7
...)
Rappelez-vous, on a mémoriser la 3ème partition du disque à la fin de la partie 4., c'est ici qu'on en a besoin. C'est de dernier paramètre de la ligne de commande suivante :
mdadm --create /dev/md5 --level=1 --raid-devices=1 --force /dev/nvme0n1p3
Voilà la sortie :
root@Syno-DS920Plus:~# mdadm --create /dev/md5 --level=1 --raid-devices=1 --force /dev/nvme0n1p3
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array?
Il faudra répondre Y
, et la suite de la sortie est :
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
Il faut lancer la commande suivante régulièrement afin de vérifier la non présence de la mention resync
qui indique que la création n'est pas terminée :
cat /proc/mdstat
Si la sortie indique quelque chose de ce genre (cet exemple est bricolé pour illustrer le propos) :
md5 : active raid1 nvme0n1p3[0]
483664384 blocks super 1.2 [2/2] [UU]
[===========>.........] resync = 56.2% (272194304/483664384) finish=9.7min speed=360766K/sec
La sortie, une fois que la création est terminée devra ressembler à ceci, avec active raid1
pour la ligne du md5
qu'on a créé :
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>
Comme nous avons ici affaire à un SSD, il n'y a pas de plateaux en rotation.
Il faut donc l'indiquer à DSM avec la commande suivante (remplacer md5
par votre valeur à vous) :
echo 0 > /sys/block/md5/queue/rotational
De Base, il y avait ceci dans le fichier :
root@Syno-DS920Plus:~# cat /sys/block/md5/queue/rotational
1
Après l'exécution de la commande, on devrait avoir :
root@Syno-DS920Plus:~# cat /sys/block/md5/queue/rotational
0
Maintenant que le volume est créé, il faut créé le système de fichier, qui sera BTRFS en ce qui me concerne.
(Il est possible de faire de l'EXT4, mais je n'aurais pas la sortie à vous montrer...)
Pensez à remplacer md5
par votre valeur...
mkfs.btrfs -f /dev/md5
Voilà le résultat :
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
Connectez-vous à DSM, et lancer le Gestionnaire de Stockage.
Dans la liste à gauche, tout en haut devrait figurer Groupe disponible
:
Cliquez ensuite sur les "..." en haut à droite, et choisir "Assemblage en ligne" : Puis cliquez sur "Appliquer".
Lors de cette tentative, j'ai eu droit à une erreur, et le volume n'a pas été créé... J'ai du redémarrer le NAS pour retenter la manipulation, et ça a enfin fonctionné !
Pour redémarrer le NAS, utiliser la commande suivante :
reboot
Une fois redémarré, si l'assemblage en ligne précédemment lancé n'avait pas fonctionné, refaite le maintenant. Vous devriez observer ce qui suit :
Une fois terminé, le volume est enfin créé :
Il est maintenant possible de l'utiliser... Il faudra créer des dossiers partagés dessus.
Section à venir.
Afin de ne pas perdre de données, il est vivement conseillé de faire une sauvegarde du dossier /volume1/docker
avec HyperBackup ou un autre outils.
Ce dossier ne peut pas être déplacer dans le /volume4
fraichement créé car Docker est en cours d'exécution et est installé. Même Docker stoppé, ce n'est pas possible :
synopkgctl stop Docker && rsync -avXh --syno-acl --stats --progress /volume1/docker/ /volume4/docker-ssd/ && synopkgctl start Docker
_
Section en cours de rédaction
_
Note : *Je ne sais comment ajouter facilement un second SSD NVMe au premier déjà en place... J'an tenté divers commandes mdadm pour ajouter le nouveau SSD, mais ça ne l'ajoute qu'en
spare
...
# Commande pour ajouter un disque
mdadm /dev/md5 --add /dev/nvme0n1p3
# Commande pour supprimer un disque
mdadm /dev/md5 --remove /dev/nvme0n1p3
Il faut donc tout recommencer avec deux SSD vierges, ou bien en cassant le volume4 construit dans la section I.
Il faudra bien entendu prévoir de faire des sauvegardes avant !*
Faire une sauvegarde des données (avec rsync) en CLI Déplacer les dossiers partagés depuis DSM, donc le dossier docker Désinstaller le paquet docker depuis DSM Supprimer les dossiers partagés depuis DSM (optionnel) Supprimer le groupe de stockage depuis DSM Supprimer les partitions des NVMe : synopartition --remove /dev/nvme0n1 synopartition --remove /dev/nvme1n1 Les SSD sont donc vierges de partitions, on peut donc repartir de 0.
ls /dev/nvme*
Exemple de sortie :
root@Syno-DS920Plus:~# ls /dev/nvme*
/dev/nvme0 /dev/nvme0n1 /dev/nvme1 /dev/nvme1n1
Le premier SSD NVMe est celui en BASIC, créé dans la partie I., et étrangement, il est passé en : /dev/nvme1n1
...
Le second SSD NVMe est /dev/nvme0n1
et n'est pas initialisé car il n'a pas de partitions...
root@Syno-DS920Plus:~# fdisk -l /dev/nvme1n1
Disk /dev/nvme1n1: 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
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: 0xaccf85f7
Note : avant de tout casser, j'avais remarqué que la numérotation des SSD avait changé...
On voit clairement que le nouveau SSD dans le slot n°2 et donc celui qui n'a pas de partition est le /dev/nvme0n1
...
Pour être définitivement sûr de moi avant de créer des partitions, je lance la commande suivante pour lister les SSD NVMe et afficher leurs caractéristiques, comme le S/N, le firmware, informations qui peuvent être comparées dans DSM :
root@Syno-DS920Plus:~# nvme --list
Node SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 22--------70 CT500P3SSD8 1 500.11 GB / 500.11 GB 512 B + 0 B P9CR30A
/dev/nvme1n1 22--------B8 CT500P3SSD8 1 500.11 GB / 500.11 GB 512 B + 0 B P9CR309
/dev/nvme1n1p1 22--------B8 CT500P3SSD8 1 500.11 GB / 500.11 GB 512 B + 0 B P9CR309
/dev/nvme1n1p2 22--------B8 CT500P3SSD8 1 500.11 GB / 500.11 GB 512 B + 0 B P9CR309
/dev/nvme1n1p3 22--------B8 CT500P3SSD8 1 500.11 GB / 500.11 GB 512 B + 0 B P9CR309
Là je suis sûr que la numérotation des SSD a changé !
Le nouveau, dans le slot n°2, est bel et bien /dev/nvme0n1
, et "l'ancien" dans le slot n°1 est /dev/nvme1n1
.
synopartition --part /dev/nvme0n1 12
synopartition --part /dev/nvme1n1 12
Exemple de sortie :
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: 0xaccf85f7
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:~# fdisk -l /dev/nvme1n1
Disk /dev/nvme1n1: 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/nvme1n1p1 256 4980735 4980480 2.4G fd Linux raid autodetect
/dev/nvme1n1p2 4980736 9175039 4194304 2G fd Linux raid autodetect
/dev/nvme1n1p3 9437184 976768064 967330881 461.3G fd Linux raid autodetect
Les partitions sont ainsi créées et respecte le prérequis de disposition pour DSM.
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: 0xaccf85f7
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
On constate alors que la disposition des partitions est créée.
Noter ici le Device
correspondant à la 3ème partition du disque, ici c'est : /dev/nvme0n1p3
.
On en aura besoin plus loin, lors de la création du volume.
Pour la création d'un disque en Basic, il faut créer une unique partition en RAID1 afin que DSM la reconnaisse. (C'est ce que fait DSM quand il crée un volume basic.)
cat /proc/mdstat
Sortie :
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>
Pour autant que je sache, md0
est la partition système, et md1
est le swap. Le volume des données va donc commencer à md2
.
Dans mon cas, j'ai donc les deux partitions de DSM (système et swap), plus trois volumes en raid, ce qui correspond (à peu près pour le raid) à ce que j'ai :
- un volume en SHR1 avec deux disques : le
md2
- un volume en basic avec un disque : le
md3
- un autre volume en basci avec un seul disque : le
md4
Pour créer le volume basic, il faut utiliser le mdX
suivant le dernier de la liste précédente (X
étant à remplacer par un nombre entier).
Dans mon cas, il s'agira de md5
.
Pour être 1000% sûr, car la commande suivante peut ruiner vos volumes existant, tapons :
ls /dev/md*
Qui retourne ceci :
root@Syno-DS920Plus:~# ls /dev/md*
/dev/md0 /dev/md1 /dev/md2 /dev/md3 /dev/md4
On voit bien dans mon cas, que je n'ai pas de md5
et suivants (md6
, md7
...)
Rappelez-vous, on a mémoriser la 3ème partition du disque à la fin de la partie 4., c'est ici qu'on en a besoin. C'est de dernier paramètre de la ligne de commande suivante :
mdadm --create /dev/md5 --level=1 --raid-devices=2 --force /dev/nvme0n1p3 /dev/nvme1n1p3
Voilà la sortie :
root@Syno-DS920Plus:~# mdadm --create /dev/md5 --level=1 --raid-devices=2 --force /dev/nvme0n1p3 /dev/nvme1n1p3
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array?
Il faudra répondre Y
, et la suite de la sortie est :
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
Il faut lancer la commande suivante régulièrement afin de vérifier la non présence de la mention resync
qui indique que la création n'est pas terminée :
cat /proc/mdstat
Si la sortie indique quelque chose de ce genre :
root@Syno-DS920Plus:~# cat /proc/mdstat
Personalities : [raid1]
md5 : active raid1 nvme1n1p3[1] nvme0n1p3[0]
483664384 blocks super 1.2 [2/2] [UU]
[>....................] resync = 4.8% (23611264/483664384) finish=21.3min speed=359438K/sec
[...]
Prenez votre mal en patience, cette étape est un peu longue à se finir.
La sortie, une fois que la création est terminée devra ressembler à ceci, avec active raid1
pour la ligne du md5
qu'on a créé :
root@Syno-DS920Plus:~# cat /proc/mdstat
Personalities : [raid1]
md5 : active raid1 nvme1n1p3[1] nvme0n1p3[0]
483664384 blocks super 1.2 [2/2] [UU]
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>
Comme nous avons ici affaire à un SSD, il n'y a pas de plateaux en rotation.
Il faut donc l'indiquer à DSM avec la commande suivante (remplacer md5
par votre valeur à vous) :
echo 0 > /sys/block/md5/queue/rotational
De Base, il y avait ceci dans le fichier :
root@Syno-DS920Plus:~# cat /sys/block/md5/queue/rotational
1
Après l'exécution de la commande, on devrait avoir :
root@Syno-DS920Plus:~# cat /sys/block/md5/queue/rotational
0
Maintenant que le volume est créé, il faut créé le système de fichier, qui sera BTRFS en ce qui me concerne.
(Il est possible de faire de l'EXT4, mais je n'aurais pas la sortie à vous montrer...)
Pensez à remplacer md5
par votre valeur...
mkfs.btrfs -f /dev/md5
Voilà le résultat :
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
Il faut maintenant redémarrer le NAS.
Connectez-vous à DSM, et lancer le Gestionnaire de Stockage.
Dans la liste à gauche, tout en haut devrait figurer Groupe disponible
:
Cliquez ensuite sur les "..." en haut à droite, et choisir "Assemblage en ligne" :
Une fois redémarré, si l'assemblage en ligne précédemment lancé n'avait pas fonctionné, refaite le maintenant. Vous devriez observer ce qui suit :
Une fois terminé, le volume est enfin créé :
Il est maintenant possible de l'utiliser... Il faudra créer des dossiers partagés dessus.
III. Déplacement du paquet Docker et des données /volumeX/docker
vers le volume SSD fraichement créé
Section en cours de rédaction...
Je le rappel, mais pour ne pas perdre de données, il est vivement conseillé de faire une sauvegarde des données.
Il sera préférable de désinstaller le paquet docker en supprimant toutes les données concernant Docker : cela supprimera le dossier /volume1/docker
, mais aussi /volume1/@DOcker
et différents autres dossiers concernant docker.
Pourquoi est-ce préférable ? Pour qu'il ne reste plus de traces. C'est préférable, sinon on risque d'avoir des effets de bords...
Le dossier /volume1/docker
ne peut pas être simplement déplacer dans le /volume4
fraichement créé car Docker est en cours d'exécution et est installé. Même Docker stoppé, ce n'est pas possible :
-
Tout d'abord il faut stopper le paquet Docker, sinon les données copiées pourraient être corrompues, notamment les bases de données.
-
On copie ensuite les données du dossier
/volume1/docker
, avec rsync dans un dossier partagé d'un autre volume (mais pas celui du SSD) qu'il faudra avoir créé au préalable,/volume2/docker-bis/
:rsync -avXh --syno-acl --stats --progress /volume1/docker/ /volume2/docker-bis/
-
Maintenant que les données sont copiées, on va désinstaller Docker totalement, en supprimant les données, donc en cochant la case de la capture ci-dessous :
-
Il ne reste plus qu'à réinstaller le paquet Docker sur le
volume4
, ce qui recréera un dossier/volume4/docker
vierge, mais sans le lancer pour le moment. -
On copie en retour les données de docker :
rsync -avXh --progress --syno-acl --stats --log-file="/volume4/TEMP-SSD/rsync-`date +%Y-%m-%d--%Hh%Mm%Ss`.log" /volume2/docker-bis/ /volume4/docker/
-
On peut maintenant relancer Docker, et procéder à la recréation des conteneurs docker un-à-un, en commençant par Portainer, puis Gitea, puis SWAG, puis les autres...
Voilà, c'est fini.
Si vous avez lu tout ceci en premier, bon courage pour l'application de tout ça :)
Merci beaucoup ! le tuto est clair et très complet,
Testé sur un 918+ avec un CT2000P5SSD8 CRUCIAL, création d'un second groupe de stockage et d'un second volume , tout en conservant le second emplacement SSD Nvme en Cache lecture , Parfait !