Aller au contenu

Raid0 Et Raid1 Sur Un Seul Groupe De 2 Disques/ Synology


Messages recommandés

Bonjour,

J'ai deux disques de 1To dans la baie synology. ( j'ai pas besoin de beaucoup d'espace de stockage. Pour l'instant..)

Je comptais faire ceci:

Disque A: [---RAID1-mirroring-----] [--RAID0---agrégé-par-bande---] [---RAID1-mirroring-----]

Disque B: [---RAID1-mirroring-----] [--RAID0---agrégé-par-bande---] [---RAID1-mirroring-----]

J'ai crée la première zone RAID1. Je ne peux plus créer que des zones RAID1 aprés cela !!!

En effet, je il semble impossible, via l'interface synology de créer des volumes RAID de types différents sur un groupe de disques.

Par contre il semble possible de le faire via telnet, en modifiant les info de http://forum.synology.com/wiki/index.php/How_to_downgrade_a_RAID_1_Volume_to_Non-RAID .

Pour résoudre mon probléme, je peux néammoins créer les zones en RAID1 puis essayer de les modifier:

Disque A: [---RAID1-mirroring-----] [---RAID1-mirroring-----] [---RAID1-mirroring-----]

Disque B: [---RAID1-mirroring-----] [---RAID1-mirroring-----] [---RAID1-mirroring-----]

ce qui donnerait, pour modifier la zone Raid1 du milieu, quelquechose comme:

> /usr/syno/etc/rc.d/S25download.sh stop
> /usr/syno/etc/rc.d/S20pgsql.sh stop
> /usr/syno/etc/rc.d/S80Samba.sh stop
> umount /volume1
> umount /volume2
> umount /volume3
> mdadm -S /dev/md2                            # deactivate array
> mdadm -Cf /dev/md2 -R -n 2 -l raid0 /dev/sda4 /dev/sdb4    # -Cf Create+force -Rrun -n number/devices/array -l level
> mount /dev/md2 /volume2
> reboot

Est-ce cela pourait permettre de faire ce que je désire ?

Merci

Lien vers le commentaire
Partager sur d’autres sites

Du RAID0 ! Si tu n'as pas d'agrégation de Lien RJ45, cela se sert a rien.

Pour la modif "à la mano", je suis sec ! Que se passera-t-il au prochain upgrade de DSM ?

Lien vers le commentaire
Partager sur d’autres sites

Je dis RAID0, mais cela pourrait bien sur être autre chose comme RAID, ou même un JBOD, oui même sans raid dessus d'ailleurs.

L'intêret de ma question repose dans la possibilité de modification du type de le partition aprés avoir créer la première dans l'interface synology.

Si il y a une autre méthode qui permet d'utiliser autre chose que EXACTEMENT le même type ( dans mon cas RAID1) que celui créer sur une partie du groupe de disque je suis preneur aussi!

Si on en revient à mon "besoin" spécifique.

ZONE numéro 1: Données individuelles importantes.

Stockage avec un minimu de sécurité, afin de pallier un éventuel CRASH disque je fais du RAID1 ( mirroring ) pour mes données importantes, personnelles ou professionelles dans une partition dédié.

ZONE numéro 2 :

Données impersonnelles et sans enjeux, comme films, musiques, etc : Supporterait un crash disque/ERASE sans soucis.

(RAID0 JBOD ou sans raid )

ZONE numéro 3 : Données hébergés importantes.

Stockage avec un minimu de sécurité, afin de pallier un éventuel CRASH disque je fais du RAID1 ( mirroring ) pour mes données importantes, personnelles ou professionelles dans une partition dédié.

@marcien : La question qui sous-tend votre réponse me semble être : Est-il raisonnable de choisir RAID0 alors qu'il n'y a pas aggrégation de liens ?

Je n'ai pas la réponse sur ce point précis mais j'ai basé mon choix sur un autre point de vue: compte tenu que le reste du groupe est en RAID1, je ne me voyais pas faire un JBOD à cheval sur les deux disques au risque de voir l'activité se concentré sur un seul des deux disques et perturber le fonctionnement des RAID1 pour l'accés aux ressources. Le RAID0 est là essentiellement pour limiter les temps d'accés aux ressources matèrielles et faire un équilibrage des charges. Afin d'avoir une activité homogène sur chacun des disques du groupes l'option du RAID0 me semble une bonne option. Le cache disque est activé (64Mo), mais je n'ai pas pris en compte l'éventuelle charge processeur dans le cas de la gestion RAID0 et RAID1. De toute façon faire un JBOD ou un RAID0 ne change que peu de chose face à un CRASH disk, en JBOD seul la moitié des données sont perdues, en RAID0 l'ensemble est irrécupérable. Sur des données sans importances il n'y a pas d'enjeux.

Bon un autre point c'est que compte tenu de la capacité limité ( 2* 1To) faire un RAID0 ou JBOD permet de ne pas consommer d'espace disque pour des vétilles!

Modifié par tchitchikov
Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

j'ai l'impression que tu vises des choses compliquées et risquées...

est-ce que un premier volume en Raid1 (en utilisant des dossiers partagés différents pour séparer tes types de données) et 2 volumes en Basic (un dans l'espace restant sur chacun des deux disques) ne serait pas suffisant?

Car même si c'est possible (je ne le sais pas), mettre en Raid0 l'espace restant sur chacun des disques ferait que en cas de crash du Raid1 tu risquerais de perdre tout ton volume Raid0 en remplaçant le disque crashé.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

@Oooops! Comme je le disais sur le Raid0 seraient logées des données non vitales (films, musique, vidéosurveillance ?)

Je viens de regarder le type de partition créé à travers l'interface du synology.

J'ai crée les deux premiers volume et je ne vois apparaître que trois md (0-1-2) par telnet.

la structure des deux disques fait apparaître un partition sdx3 partition contenant tout le reste du disque. ( les deux premières étant les RAID1 pour la gestion/ synology)

DiskStation> fdisk -l /dev/sdb
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks  Id System
/dev/sdb1               1         311     2490240  fd Linux raid autodetect   Partition 1 does not end on cylinder boundary
/dev/sdb2             311         572     2097152  fd Linux raid autodetect   Partition 2 does not end on cylinder boundary
/dev/sdb3             588      121601   972041440+ fd Linux raid autodetect

par contre les info sur les raid

DiskStation> cat /proc/mdstat # info sur mdadm 
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
md2 : active raid1 sda3[0] sdb3[1]	972040256 blocks super 1.2 [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]	2097088 blocks [12/2] [UU__________]
md0 : active raid1 sda1[0] sdb1[1]	2490176 blocks [12/2] [UU__________]

montrent seulement une unique md2 créée qui correspond au vg1 ( volume groupe 1) dans lequel on trouve les deux volumes 1 et 2

/dev/vg1/volume_1 /volume1 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,syno
/dev/vg1/volume_2 /volume2 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,syno

Donc ce que j'ai indiqué ci-dessus n'est pas exactement ce qu'il faut faire.

En effet le vg1 est de type RAID1 ( ce qui explique pourquoi on ne peut pas modifier le type au sein de vg1)

Donc il faut créer au moins deux types vg1 et vg2 de deux types différents, via telnet ou ssh.

Si quelqu'un à des conseil je suis preneur.

Edit: manque commande / code no 1

Modifié par tchitchikov
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

j'espère avoir le temps de faire quelqus tests de mon côté un peu plus tard dans la semaine, mais je me demande si ça changerait quelque chose de faire des volumes multiples sans passer par la notion de groupe de disque?

À vrai dire jusqu'à maintenant je n'ai pas encore vu/compris la nécessité des groupes de disques: quand on fait un volume en Raid1, on peut le construire sans passer par la création préalable d'un groupe, et le résultat obtenu "vu de l'extérieur" (càd du point de vue de l'utilisation) semble le même avec et sans groupe; mais je fois avouer que je suis assez néophyte en matière de Linux...

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,
Je n'ai pas vérifié pourquoi/comment synology faisait les liens entre les groupes nommés /dev/vgX (X=1-2-3..) et les groupes créés par mdadm, qui sont normalement nommés /dev/mdX. Comme Synology utilise md0 et md1 il semble logique d''utiliser des liens pour réaliser le mappage des groupes mdadm de façon transparente.
Ainsi en faisant le mappage avec des liens hard on pourrait retrouver le nommage synology : ( il faudrait vérifier ce point ! )

DiskStation> ln /dev/md2 /dev/vg1/     # lien hard /dev/vg1/ renvoie à /dev/md2 qui DOIT pré-exister

Sinon pour la création des éléments on peut suivre les indications fournis par http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch26_:_Linux_Software_RAID
et plus en détail la partie "Preparing the RAID set".
Pour l'instant je n'ai fais que créer les partitions RAID tel que je l'indiquais:
Préparation:

> /usr/syno/etc/rc.d/S25download.sh stop  # désactiver accés disque 1/3
> /usr/syno/etc/rc.d/S20pgsql.sh stop     # désactiver accés disque 2/3
> /usr/syno/etc/rc.d/S80Samba.sh stop     # désactiver accés disque 3/3
> umount /volume1                         # démonte volume1
> umount /volume2                         # démonte volume2
> umount /volume3                         # démonte volume3
> mdadm -S /dev/md2                       # désactiver le groupe md2

Vérification de positions de partitions ( vérifier que print /dev/sdb donne +- la même chose )

> parted
  print /dev/sda
Number  Start   End     Size    Type     File system  Flags
 1      131kB   2550MB  2550MB  primary               raid
 2      2550MB  4698MB  2147MB  primary               raid
 3      4832MB  1000GB  995GB   primary               raid

Mais il nous faut les positions selon fdisk ( voir pour /dev/sdb aussi )

DiskStation> fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks  Id System
/dev/sdb1               1         311     2490240  fd Linux raid autodetect   Partition 1 does not end on cylinder boundary
/dev/sdb2             311         572     2097152  fd Linux raid autodetect   Partition 2 does not end on cylinder boundary
/dev/sdb3             588      121601   972041440+ fd Linux raid autodetect

On en déduit les positions des cylindres pour les partitions à créer de 40% 30% 30% de 121601
soit: primaire 588-49228 étendu 49229-121601 contenant 49229-85709 et 85709-121601

suppression récréation des partitions adhoc ( et refaire la même chose sur > fdisk /dev/sdb)

fdisk /dev/sda
    d 3            REM: suppression partition 3
    n p 3 588 49228        REM: Nouveau primary partition3 588-49228
    t 3 fd                 REM: ModifType partition3 fd=linuxraid autodetect
    n e 4 49229 121601     REM: Nouveau Etendu partition4 49229-121601
    n 49229 85708          REM: Nouveau 49229-85708
    t 5 fd                 REM: ModifType partition5 fd=linuxraid autodetect
    n 85709 121601         REM: Nouveau 85709-121601
    t 6 fd                 REM: ModifType partition6 fd=linuxraid autodetect
    w                      REM: Applique tout les changement précédent

Vérification de la bonne création des partitions ( /dev/sda et /dev/sdb doivent apparaître à l'image de la création via fdisk ! )

DiskStation> fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders      Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks  Id System
/dev/sda1               1         311     2490240  fd Linux raid autodetect  Partition 1 does not end on cylinder boundary
/dev/sda2             311         572     2097152  fd Linux raid autodetect  Partition 2 does not end on cylinder boundary
/dev/sda3             588       49228   390708832+ fd Linux raid autodetect
/dev/sda4           49229      121601   581336122+  5 Extended
/dev/sda5           49229       85708   293025568+ fd Linux raid autodetect
/dev/sda6           85709      121601   288310491  fd Linux raid autodetect

Créons les groupes mdX par mdadm et formatons les !

> mdadm -Cf /dev/md2 -R --raid-devices=2 --level=raid1 /dev/sda3 /dev/sdb3    # -Cf Create+force -Rrun
> mdadm -Cf /dev/md3 -R --raid-devices=2 --level=raid0 /dev/sda5 /dev/sdb5    # -Cf Create+force -Rrun
> mdadm -Cf /dev/md4 -R --raid-devices=2 --level=raid1 /dev/sda6 /dev/sdb6    # -Cf Create+force -Rrun)
> mkfs.ext4 /dev/md2
> mkfs.ext4 /dev/md3
> mkfs.ext4 /dev/md4

Voila les trois groupes de disques ont été crées. Il ne "reste plus qu'a" créer les volumes et faire l'intégration dans l'interface synology.

Mais voila comment donc sont gérer les volumes par rapport aux groupes ?

Lien vers le commentaire
Partager sur d’autres sites

Perso j'ai tester en virtualisation ce problème et j'arrive bien a faire 2 volumes 1 raid0 et un raid 1 avec lvm2 et formaté en ext4 mais le problème, c'est pour une raison inconnue, au reboot, je syno monte les partition sur le meme point de montage :s

maintenant, il y a p-e une subtilité dans les script de demarrage du syno, ca je ne sais pas

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Le fonctionnement de l'interface synology et le choix de créer sur un disque un type unique de RAID est assez logique du point de vue de la qualité de fonctionnement attendu. Ainsi on est assuré que dans le groupe de disque, chaque disque est utilisé de manière homogène.

Si ce n'était pas le cas, il pourrait y avoir un usage prépondérant d'un disque ( usure et indisponibilité ) et donc des baisses de performance et de stabilité.

Par l'interface je n'avais utilisé que les options "volume" et "groupe de disques".

Avec "groupe de disques" toute les capacités des disques sont utilisés pour le RAID demandé, il n'est pas possible de n'en sélectionner qu'une partie.

Avec "Volume", même en choisissant l'option multiple on retombe sur la création du groupe sur l'intégralité des disques.

Donc on est obligé de se passer de l'interface pour faire plusieurs zones avec des RAID différents.

Avec le choix d'usage que j'essaye de mettre en place on garde un usage homogène des deux disques du groupe.

Évidemment ce type de montage pourra intéresser ceux qui ont des baies à seulement deux disques avec de grandes capacités. Avoir une partie en RAID1 pour les données importantes et un autre en RAID0 pour les données "volatiles" permet un gain de place de stockage non négligeable!

Je n'ai pas encore regardé s'il y avant un mdadm.conf quelque part pour informer des UUID des partitions.

Modifié par tchitchikov
Lien vers le commentaire
Partager sur d’autres sites

Comme indiqué par Gaetan Cambier il semble que la dénomination des volumes par synology soit le résultat de l'utilisation de volumes logiques (lvm)

En lisant de ci de la (http://www.synology.com/en-global/support/faq/579,
http://wiki.gentoo.org/wiki/LVM,
http://ostechnix.wordpress.com/2013/02/03/linux-basics-lvm-logical-volume-manager-tutorial/)

On peut se douter que l'interface synology permet de créer successivement et de façon transparente:

PV = physical volum
VG = volume groupe
LV = logical volume

Si on voulait reproduire la gestion des volumes logique on pourrait avoir quelque chose comme:

Création, ou plutôt renseignement (?) des volumes physique qui sont utilisé par lvm:

soit en utilisant la formulation

> pvcreate /dev/sd[ab]3 # création de 2 PV sur partition3 de sda et sdb

soit

> pvcreate /dev/sd[ab]3 # création de 2 PV sur partition3 de sda et sdb

Si je ne me trompe pas trop on devrait pouvoir utiliser quelque chose du genre: ( je n'ai pas encore testé ! )

> pvcreate /dev/sda3  /dev/sdb3    # création de 2 PV sur partition3 de sda et sdb  
> pvcreate /dev/sda5  /dev/sdb5
> pvcreate /dev/sda6  /dev/sdb6
> vgcreate vg1 /dev/sda3 /dev/sdb3 # création d'un groupe de volume vg1 e 2 PV sur sda3 et sdb3
> vgcreate vg2 /dev/sda5 /dev/sdb5
> vgcreate vg3 /dev/sda6 /dev/sdb6
> lvcreate -n volume_1 --type raid1 -i 2 --extents 100VG vg1 # Créer logical  volume raid0 100% du VG
> lvcreate -n volume_2 --type raid0 -i 2 --extents 100VG vg2
> lvcreate -n volume_3 --type raid1 -i 2 --extents 100VG vg3
> mkfs.ext4 /dev/vg1/volume_1   # format
> mkfs.ext4 /dev/vg2/volume_2
> mkfs.ext4 /dev/vg3/volume_3
> mount /dev/vg1/volume_1 /volume1  # mount
> mount /dev/vg2/volume_2 /volume2
> mount /dev/vg3/volume_3 /volume3

Peut-être y-a-t-il des erreurs ?

au cours des opérations il est judicieux de vérifier l'état des opération sur lvm:

> pvdisplay    # état des PV
> vgdisplay    # état des VG
> lvdisplay    # état des LV

Si on n'utilise pas lvm ( comme ci-dessus) il est probable qu'il faille supprimer auparavant les lvm créés par synology! En effet il y avait volume_1 vg1 déja utilisé !

EDIT1: coquilles vg123 / lvcreate mkfs.ext4 mount

EDIT2: ajout -i 2 / RAID1 dans lvcreate

Modifié par tchitchikov
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Si on suppose que les volumes préalablement crées par l'interface synology l'ont été en lvm il aurait fallu faire un petit nettoyage avant de se mettre à créer des partitions/volume au même emplacement. Sinon ça doit faire désordre.

Il me semblait avoir supprimer les volumes puis le groupe de disques via l'interface mais après redémarrage il m'a semblé qu'ils étaient toujours là...

en tout cas si on veut supprimer cela en ligne de commande cela devrait ressembler à ceci:

> umount /volume1                   # démonte le point de montage /volume1
> lvremove /dev/vg1/volume_1        # supprime le volume  /volume_1
> vgremove /dev/vg1                 # supprime le groupe vg1
> pvremove /dev/sda3/ /dev/sdb3     # supprime/invalide le lien vers les partitions physique!

D'un autre côté comme je m'étais "amusé" à supprimer manuellement les répertoires vg1 vg2 vg3 volume_1 volume_2 et je ne sais quoi d'autre je suppose que si le synology fini par marcher en crabe, cela me m'étonnera pas plus que ça..

Lien vers le commentaire
Partager sur d’autres sites

Si je ne me trompe pas trop on devrait pouvoir utiliser quelque chose du genre: ( je n'ai pas encore testé ! )

> pvcreate /dev/sda3  /dev/sdb3    # création de 2 PV sur partition3 de sda et sdb  
> pvcreate /dev/sda5  /dev/sdb5
> pvcreate /dev/sda6  /dev/sdb6
> vgcreate vg1 /dev/sda3 /dev/sdb3 # création d'un groupe de volume vg1 e 2 PV sur sda3 et sdb3
> vgcreate vg2 /dev/sda5 /dev/sdb5
> vgcreate vg3 /dev/sda6 /dev/sdb6
> lvcreate -n volume_1 --type raid1 --extents 100VG vg1 # Créer logical  volume raid0 100% du VG
> lvcreate -n volume_2 --type raid0 -i 2 --extents 100VG vg2
> lvcreate -n volume_3 --type raid1 --extents 100VG vg3

Peut-être y-a-t-il des erreurs ?

une petite erreur de fond : Sur les Synos le LVM n'intervient qu'avec un SHR, et seulement PAR DESSUS un RAID MD (le LVM ne gere ni disque ni RAID -> ses PV sont tous des /dev/mdX)

Modifié par Fravadona
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,
@Fravadona Merci de cette précision. Encore une "évidence" qui n'est pas du tout triviale.

Jargon: MD devices = Linux Software RAID
SHR = Synology hybrid raid
Il semble que le SHR est une gestion du lvm par synology ce qui permet d'avoir une interface "transparente" pour l'utilisateur. Ce qui expliquerait que au premier abord on n'y comprenne rien ( mon cas! ). C'est sans doute pas l'objectif premier mais plus un dégat collatéral d'une interface utilisable au quotidien.

J'avais créé via l'interface deux portions RAID1 ( avec un bout laissé libre )
Disque A: [---RAID1-mirroring-----] [---RAID1-mirroring-----] le reste est vide
Disque B: [---RAID1-mirroring-----] [---RAID1-mirroring-----] le reste est vide

Cependant si je me fie à ce que l'interface m'indiquait, aurait été créée automatiquement md2 un RAID1
sur l'ensemble des deux disques :

DiskStation> cat /proc/mdstat # info sur mdadm
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
md2 : active raid1 sda3[0] sdb3[1]    972040256 blocks super 1.2 [2/2] [UU]

La version avec LVM serait alors la création d'un groupe de volume logique unique :

> vgcreate vg1 /dev/sda3 /dev/sdb3 

Puis des volumes:

> lvcreate -n volume_1 --type raid1 -i 2 --extents 40VG vg1 # Créer logical  volume raid0 40% du VG
> lvcreate -n volume_2 --type raid1 -i 2 --extents 30VG vg1
> mkfs.ext4 /dev/vg1/volume_1   # format
> mkfs.ext4 /dev/vg1/volume_2
> mount /dev/vg1/volume_1 /volume1  # mount
> mount /dev/vg1/volume_2 /volume2

Ce qui correspond assez bien à ce que j'ai trouvé sur le disque ( mais je n'ai pas vérifié en détails)

Et la version SANS LVM serait:

> mdadm -Cf /dev/md2 -R -n 2 -l raid1 /dev/sda3 /dev/sdb3
> mkfs.ext4 /dev/md2
> mount /dev/md2 /volume1

Par contre, je ne vois pas bien comment faire pour avoir des volumes dans md2 sans utiliser lvm...

Lien vers le commentaire
Partager sur d’autres sites

( Quelques indications sur la maniere de faire de Syno : )

Vérification de positions de partitions ( vérifier que print /dev/sdb donne +- la même chose )

> parted
  print /dev/sda
Number  Start   End     Size    Type     File system  Flags
 1      131kB   2550MB  2550MB  primary               raid
 2      2550MB  4698MB  2147MB  primary               raid
 3      4832MB  1000GB  995GB   primary               raid

Quand il y a plusieurs partitions de "Volume" (en plus de systeme et swap), Syno met tout le reste dans la partition etendue -> tu devrais convertir ta partition 3 en partition etendue puis creer tes partitions RAID sur l'etendue (sda5 sdb5, sda6 sdb6, sda7 sdb7)

Modifié par Fravadona
Lien vers le commentaire
Partager sur d’autres sites

Je suis mon idée initiale de comprendre la façon de faire via l'interface synology.
En effet il me faudra supprimer les résidus de ce qu'a fait synology lors de la création initiale....
Pour l'instant je n'ai pas la main sur la machine....

Il me semble que l'on pourrait mimer le comportement de création par défaut de deux
partitions raid 1 par l'interface en faisant cela:

On renseigne un volume physique sur 1 seul device: md2 !
On crée un groupe de volume physique sur 1 seul device: md2 !

> mdadm -Cf /dev/md2 -R -n 2 -l raid1 /dev/sda3 /dev/sdb3   # md2 Raid logiciel linux
> pvcreate /dev/md2                                         # Physical volume      sur 1 device md2
> vgcreate vg1 /dev/md2                                     # Volume Groupe   vg1  sur 1 device md2

On crée 2 volumes logiques en raid1 sur un seul device md2!

> lvcreate -n volume_1 --type raid1 -i 1 --extents 40VG vg1 # Logical Volume raid1 40% de vg1
> lvcreate -n volume_2 --type raid1 -i 1 --extents 30VG vg1 # Logical Volume raid1 40% de vg1

Puis on formate et on monte !

> mkfs.ext4 /dev/vg1/volume_1                               # format
> mkfs.ext4 /dev/vg1/volume_2
> mount /dev/vg1/volume_1 /volume1                          # mount
> mount /dev/vg1/volume_2 /volume2

Résumé:
MDADM RAID md2 sur les vraies partitions
LVM Volume physique sur md2 unique
LVM Volume groupe sur md2 unique
LVM Volume logique de type quelconque(?)

On voit ici pourquoi il n'est pas possible de créer des types de volume autres que raid1 sur md2!
puisque l'utilisation de md2 implique une sous-couche RAID1

On remarque que du point de vue du comportement le type de segment
(voir les type de segment : https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager_Administration/raid_volumes.html )
utilisés par lvcreate ne semble pas important du moment qu'on utilise que le seul md2 comme unique device ( -i 1 )!

Je n'ai ni testé ni vérifier sur la machine, mais pour l'heure je ne vois pas vraiment
comment l'interface pourrait avoir générer autrement le contenu que j'ai observé au début.

Lien vers le commentaire
Partager sur d’autres sites

Oui ta toute premiere idee (MD sans LVM) est la plus realisable.

Si tu lis le lien que je t'ai passé precedemment tu verras comment est fait un SHR, le probleme est qui il y a un LV marqué "reserved syno" dans le VG, et va savoir ce qu'il y a dessus ...

A determiner: Si tu crees un "Volumes multiples sur RAID" ca fait un LVM ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Pour la réalisation avec mdadm:

S'il apparaît simple de réaliser les ordres de création des partitions sous mdadm, ( après usage de fdisk il faut que le synology prenne en compte les modification soit ave reboot soit avec partprobe/dev/sdx ) il l'est moins de faire comprendre au synology de ne pas faire n'importe quoi avec. D'une part une fois qu'il a mis la main sur un bout de raid il ne veut pas le lâcher, veut absolument faire des vérifications de parité et d'autre part au redémarrage il fait absolument n'importe quoi avec les éléments raid, en modifiant la façon dont sont montées les partitions md.

Exemple: deux md2-3 qui se retrouve montés sur volume2

> vi /etc/mtab
[...]
/dev/md2 /volume2 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl 0 0
/dev/md3 /volume2 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl 0 0

ce que l'on comprend bien puisque dans fstab on trouve

> vi /etc/fstab
[...]
/dev/md2 /volume2 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl 0 0
/dev/md3 /volume2 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl 0 0

Je suppose qu'il faut alors utiliser l'option noauto et ajouter un script pour un montage explicite.

Notez bien que si fstab contient bien md2=>volume1 et md3=> volume2 comme ceci

/dev/md2 /volume1 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl 0 0
/dev/md3 /volume2 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl 0 0

ce n'est pas suffisant, aprés reboot ( ou partprobe ? ) on retrouve les deux md23 associés à volume2. Je suppose que le script synology de démarrage s'emploie à essayer de retrouver ses petits et visiblement ça ne doit pas vraiment le gêner d'associer plusieurs "devices" à un seul point de montage, ce qui en soit ne devrait, pas poser de problèmes mais de toute évidence comme il prend en compte volumeX comme une entité "physique" et que md2 et md3 sont sur deux support différents ( en plus avec raid1 pour md2 et raid2 pour md3) je crois que ça fait un joli ragout dont il ne sait pas se dépêtrer.

Je n'ai pas eu l'occasion de tester l'option noauto, avis aux amateurs...

Pour la réalisation avec lvm:

Je n'ai pas vraiment eu le temps de regarder car après avoir

fdisk /dev/sda          # faire la même chose sur /dev/sdb
    n p 3 573 49212   # nouveau Primaire 3 de 573 à 49212
    t 3 8e                          # type partition3 8e ( lvm)
    reboot                        # ou partprobe /dev/sda ?

au premier essai de création de PV il y a des "erreurs"......

> pvcreate /dev/sda3  /dev/sdb3    # création de 2 PV sur partition3 de sda et sdb 
  Device /dev/sda3 not found (or ignored by filtering).
  Device /dev/sdb3 not found (or ignored by filtering).

Si quelqu'un a une piste, ou bien une explication pour faire avancer le shmilblick...

Modifié par tchitchikov
Lien vers le commentaire
Partager sur d’autres sites

Meme si DSM est comprehensible pour un Linuxien, il n'en reste pas moins une solution proprietaire. Reproduire sa gestion des disques est faisable, mais pour lui faire comprendre une configuration disque qui n'est pas officiellement supportee c'est une autre histoire et c'est peut-etre meme impossible.

Plutot qu'essayer de tout configurer manuellement depuis le debut tu devrais partir de quelque chose qui existe :

Commence par creer un "Volumes multiples sur RAID1" avec 3 volumes.

De la je ne peux que supposer ce que fera DSM mais par exemple s'il cree trois MD alors tu n'auras qu'a en convertir un en RAID0.

Par contre si DSM cree un seul MD en RAID1 puis ajoute un LVM par dessus pour creer les 3 volumes alors on ne pourra pas en tirer grand chose.

Lien vers le commentaire
Partager sur d’autres sites

le problème du montage sur la meme partition, ca vient d'un script de demarrage du synology qui genère le /etc/fstab,

il aurait la solution de le modifier, mais à chaque update, ca serait à refaire

donc c'est vrai que garder une solution existante dans le dsm est la solution la + sure ;)

Modifié par Gaetan Cambier
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

@Fravadona: J'avais essayé au tout début "Volumes multiples sur RAID" (post no 1) mais seul les Raid1 sont possible après. Je n'avais pas analysé le montage réalisé par synology à ce moment. A confirmer cela devait être: mdadm raid 1 + pv sur mdadm + vg1 + vg2 +vg3 donc tous en raid1.

Je ne crois pas que cela soit insurmontablement compliqué à réaliser.

Il suffit de savoir par quel bout prendre le problème et permettre le contournement de la prise en charge de synology sur les disques en question. En première approche évidemment il faudra faire cette modification à chaque mise à jour....

S'il ne s'agit que de forcer un noauto dans fstab ce n'est pas insurmontable! ( pas encore testé ! )

Je ne me suis pas penché sur le script de démarrage synology, en supposant que je puisse comprendre ce qui s'y passe.

C'est une piste qui semble plus facile à suivre pour savoir pourquoi/comment synology se limite à une prise en charge "bizarre".

De mon point de vue le fait de monter plusieurs md raid0 et raid1 sur un même point de montage ne devrait même pas poser de problème de fonctionnement, cependant comme synology semble faire des vérifications par volume il doit s'emmêler les pinceaux, et remonte des erreurs qui ne sont sans doute pas présente en réalité.

Je ne peux que constater l'impossibilité (DSM 5) de créer des partitions de type raid0 et raid1 sur une seul lot de disques. Un lot de disque ne peut (DSM 5) être utilisé qu'intégrement pour un unique groupe de disque qui ne pourra donc supporter qu'un type RAID donné. Il me semble que cette limitation n'est mentionné nulle part, ou que ce soit.

D'un point de vue extérieur, et c'est un avis très personnel, il y a sans doute quelque chose qui cloche dans l'algorithme de prise en compte des devices/disque/volume qui ne doit pas être assez général pour prendre en charge des partitions créées en dehors des synology. D'un point de vue du constructeur il est logique de ne "supporter" que son mode de fonctionnement. Encore faudrait-il qu'il mette de coté les éléments qu'il ne supporte pas plutôt que de les intégrer en faisant des sacs de nœuds.

Il reste à trouver le bon bout par lequel contourner le problème le plus "facilement" et "simplement" possible.

Alternatives:

1- faire une demande d'ajout de fonction à synology pour supporter cela.

2- Réaliser un application complémentaire survivant à la mise à jour.

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

Bonjour,
C'est pourtant facile quand on a la solution!

Etapes:
# 0) Préambule
# 1)  Partitionner les disques
# 1a) Faire le partitionnement de /dev/sda
# 1b) Faire le partitionnement de /dev/sdb
# 2) Création de raid    (md2 md3 md4)
# 2a) Création de trois raid (md2 md3 md4) de deux types différents
# 3) Création de pv, vg, lv avec lvm et montage.
# 3a) Création de Référencement des PV dans lvm
# 3b) Lier les vg aux pv respectifs
# 3c) Création non géré par synospace => pas de data dessus
# 3d) Création des zones de données "lv" sur tout la zone restante des vg
# 3e) Formater les volumes
# 3f) Activer les volumes
# 3g) Montage des volumes
# 4) Vérification de la présence d'un xml de "mappage"
# 5) Création d'un dossier de backup des vlm pour reconstituer les vg
# 6) Création des redirection vers les volumes
# 6a) Création d'un dossier de redirection vers volumes
# 6b) Créer le dossier partagé via l'interface synology
# 7) Création d'un fichier de nettoyage/ajout dans fstab
REMARQUES

Oui je préfère les casses à chasse fixes, je trouve ça plus clair !

# 0) Préambule
    Mes disques ont 121601 blocks de 512 Octets et son nommés /dev/sda /dev/sdb
    Lors d'un création via l'interface la partition 3 a commencé au cylindre 588,
 j'ai repris cette valeur.
    Cela n'a sans doute aucune utilitée:
     => TODO essayer de faire démarrer la première partition 
              au cylindre libre suivant!
    
    J'ai créer:
    une partition primaire n°3   type fd    (de    588 à  49 228 )
    une partition étendue  n°4              (de 49 229 à 121 601 )
    une partition logique  n°5   type fd    (de 49 229 à  85 709 )
    une partition logique  n°6   type fd    (de 85 709 à 121 601 )
    
    Il n'y a aucune raison spécifique de ne pas faire une seule partition étendu,
    qui contiendra toute les autres partitions.

# 1)  Partitionner les disques
# 1a) Faire le partitionnement de /dev/sda
fdisk /dev/sda            
    n p 3 588 49228   REM: Nouveau primary partition3 588-49228
    t 3 fd            REM: ModifType partition3 fd=linuxraid autodetect
    n e 49229 121601  REM: Nouveau Etendu partition4 49229-121601
    n 49229 85709     REM: Nouveau primary partition5 588-49709
    t 5 fd            REM: ModifType partition5 fd=linuxraid autodetect        
    n 85710 121601    REM: Nouveau primary partition6 49710-121601        
    t 6 fd            REM: ModifType partition6 fd=linuxraid autodetect
    w                 REM: écrit la table modifié
    q                 REM: quit
# 1b) Faire le partitionnement de /dev/sdb
fdisk /dev/sdb            
reboot      #   nécessaire pour le prise en compte des modifications
#
# 2) Création de raid    (md2 md3 md4)
# 2a) Création de trois raid (md2 md3 md4) de deux types différents
mdadm --create /dev/md2 --raid-devices=2 --level=raid1 --assume-clean /dev/sd[ab]3
mdadm --create /dev/md3 --raid-devices=2 --level=raid0 --assume-clean /dev/sd[ab]5
mdadm --create /dev/md4 --raid-devices=2 --level=raid1 --assume-clean /dev/sd[ab]6
#

C'est seulement le début !

# 3) Création de pv, vg, lv avec lvm et montage.
# 3a) Création de Référencement des PV dans lvm
pvcreate /dev/md2
pvcreate /dev/md3
pvcreate /dev/md4
#
# 3b) Lier les vg aux pv respectifs
vgcreate --physicalextentsize 4m /dev/vg1 /dev/md2
vgcreate --physicalextentsize 4m /dev/vg2 /dev/md3
vgcreate --physicalextentsize 4m /dev/vg3 /dev/md4
#
# 3c) Création non géré par synospace => pas de data dessus
# peut-être necessaire pour la "visualisation" du volume dans l'interface synology ?
lvcreate /dev/vg1 -n syno_vg_reserved_area --size 12M
lvcreate /dev/vg2 -n syno_vg_reserved_area --size 12M
lvcreate /dev/vg3 -n syno_vg_reserved_area --size 12M

Remarque:
Pour tenter le mimer la mise en oeuvre de raid par synology,
 j'ai créé des volumes de noms spécifiques à synology.
  Cela n'a sans doute aucune utilité
     => TODO tester sans cela.

# 3d) Création des zones de données "lv" sur tout la zone restante des vg
lvcreate /dev/vg1 -n  lv       --extents 100%FREE
lvcreate /dev/vg2 -n  lv       --extents 100%FREE
lvcreate /dev/vg3 -n  lv       --extents 100%FREE

# 3e) Formater les volumes
mkfs.ext4 /dev/vg1/lv
mkfs.ext4 /dev/vg2/lv
mkfs.ext4 /dev/vg2/lv

# 3f) Activer les volumes
vgchange -ay vg1
vgchange -ay vg2
vgchange -ay vg3

# 3g) Montage des volumes
# monter à la main
mount -t ext4 -o usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl /dev/vg1/lv /volume1
mount -t ext4 -o usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl /dev/vg2/lv /volume2
mount -t ext4 -o usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl /dev/vg3/lv /volume3
# ou bien créer des lignes dans fstab
echo "/dev/vg1/lv /volume1 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl 0 0" >> /etc/fstab
echo "/dev/vg2/lv /volume2 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl 0 0" >> /etc/fstab
echo "/dev/vg3/lv /volume3 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl 0 0" >> /etc/fstab
# puis vérifier
cat /etc/fstab
# et monter
mount -a

A partir de là les volumes raid sont accessibles mais n'apparaissent pas dans l'interface !

# 4) Vérification de la présence d'un xml de "mappage"
REMARQUE:  /etc/space/space_history_YYYYMMDD_HHMMSS.xml
     La présence d'un fichier /etc/space/space_history_YYYYMMDD_HHMMSS.xml
    est necessaire afin que dans l'interface un volume soit présent.
    Dans la structure du fichier c'est la présence dans <reference> </reference>
    de <volume> et des attributs path=”/volumeN+1″ dev_path=”/dev/mdN″> qui semble
    permettre le montage automatique dans fstab.
    Si le dernier fichier de la liste ne contient pas de reference il faut créer un volume via l'interface.
    Une fois le volume créer un fichier devrait avoir été créer et la référence apparaître.
    Si ce n'est pas le cas essayer :
    > synospace --map_file -d
    > synospace --map_file -p
REMARQUE: L'objectif est d'obtenir un volume visible dans l'interface.
    Une fois cela fait il sera possible de faire des liens vers les partitions !
# vérification de la présence de référence dans le fichier
dir /etc/space/space_history*
cat /etc/space/space_history_YYYYMMDD_HHMMSS.xml

# 5) Création d'un dossier de backup des vlm pour reconstituer les vg
mkdir /usr/local/etc/rc.d/vgbackup      #Dossier de Stockage des backups
cp -a /etc/lvm/backup/* /usr/local/etc/rc.d/vgbackup/   #Copie des backups

Non, non, non, il n'y a rien de bien compliqué la dedans

# 6) Création des redirections vers les volumes
# 6a) Création d'un dossier de redirection vers volumes
# création d'un lieu UNIQUE contenant les référence pour les REDIRECTION vers les vrais volumes
mkdir /usr/local/etc/rc.d/redirectionTO
echo "Ceci contient les redirections vers les volumes" > /usr/local/etc/rc.d/direction/README.txt
# ATTENTION 1: Les Volumes cibles sont bien /VmdxRaidY (ie: Volume mdX en RaidY )
#              Ceci est une convention personnelle pour éviter la confusion!
# ATTENTION 2: Ces Volumes sont bien des points de montage qui seront définis en 7)
ln -s /Vmd2Raid1 /usr/local/etc/rc.d/redirectionTO/MD2raid1         # VERSraid1md2
ln -s /Vmd3Raid0 /usr/local/etc/rc.d/redirectionTO/MD3raid0         # VERSraid0md3
ln -s /Vmd4Raid1 /usr/local/etc/rc.d/redirectionTO/MD4raid1         # VERSraid1md4

# 6b) Créer le dossier partagé via l'interface synology
#ATTENTION Sur un groupe de disque ( limitation des synospace --synoblock ?)
# et suivant le space_history_YYYYMMDD_HHMMSS.xml seul UNE références est "monté automatiquement "
# ATTENTION 1 : dans le cas qui nous occupe ce sera /volume3
# il facile de le vérifier aprés un reboot !
# ATTENTION 2 : Si le volume monté automatique change de non il suffira:
#                   1 de recréer les mêmes dossiers partagés! (6b)
#                   2 de recréer les mêmes BIND !             (6c)
# Sur le volume /volume3: créer des dossiers partagé /TO_MDXraidY
GUI> create N share folder [TO_MD2raid1] ( BIND to mount vers redirectionTO )
GUI> create N share folder [TO_MD3raid0] ( BIND to mount vers redirectionTO )
GUI> create N share folder [TO_MD4raid1] ( BIND to mount vers redirectionTO )

# 6c) Créer le BIND vers les volumes
#MOUNT des BIND SUR LIENS dans le seul "volume3" visible dans l'interface synology
mount --bind  /usr/local/etc/rc.d/redirectionTO/MD2raid1  /volume3/TO_MD2raid1       # VERSraid1md2
mount --bind  /usr/local/etc/rc.d/redirectionTO/MD3raid0  /volume3/TO_MD3raid0       # VERSraid0md3
mount --bind  /usr/local/etc/rc.d/redirectionTO/MD4raid1  /volume3/TO_MD4raid1       # VERSraid1md4

Évidemment, il faut savoir où on veut aller...

# 7) Création d'un fichier de nettoyage/ajout dans fstab
# On va définir les points de montage automatique au démarrage
echo "#!/bin/sh" > /usr/local/etc/rc.d/S50AtStartUpMount.sh
chmod 755 /usr/local/etc/rc.d/S50AtStartUpMount.sh
# on va compléter le fichier
vi /usr/local/etc/rc.d/S50AtStartUpMount.sh
#contenant ce qui suit

Ci-dessous le contenu dudit fichier:

#!/bin/sh

if [ "$1" = "start" ]; then
   #Shoot -i inline des ligne contenant "/dev/md2 3 4"  OK
   sed '//dev/md[234]/d' -i /etc/fstab
   #VG1
   vgcfgrestore -f /usr/local/etc/rc.d/vgbackup/vg1 vg1
   vgchange -ay vg1
   echo "/dev/vg1/lv /Vmd2Raid1 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl 0 0 #/volume trick for /etc/rc.volume VolumeX" >> /etc/fstab
   #VG2
   vgcfgrestore -f /usr/local/etc/rc.d/vgbackup/vg2 vg2
   vgchange -ay vg2
   echo "/dev/vg2/lv /Vmd3Raid0 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl 0 0 #/volume trick for /etc/rc.volume VolumeX" >> /etc/fstab
   #VG3
   vgcfgrestore -f /usr/local/etc/rc.d/vgbackup/vg3 vg3
   vgchange -ay vg3
   echo "/dev/vg3/lv /Vmd4Raid1 ext4 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl 0 0 #/volume trick for /etc/rc.volume VolumeX" >> /etc/fstab
   mount -a
   #MOUNT des BIND SUR LIENS
   mount --bind  /usr/local/etc/rc.d/redirectionTO/MD2raid1  /volume3/TO_MD2raid1       # VERSraid1md2
   mount --bind  /usr/local/etc/rc.d/redirectionTO/MD3raid0  /volume3/TO_MD3raid0       # VERSraid0md3
   mount --bind  /usr/local/etc/rc.d/redirectionTO/MD4raid1  /volume3/TO_MD4raid1       # VERSraid1md4
   fi     

if [ "$1" = "stop" ]; then
   umount /volume1
   umount /volume2
   umount /volume3
   umount /Vmd2Raid1
   umount /Vmd3Raid0
   umount /Vmd4Raid1
   fi

REMARQUE A:
Tout n'est pas nécessaire s'il ne s'agit que d'accéder aux raid.
L'objectif était cependant de pouvoir accéder aux raid1 raid0 raid1 via l'interface du synology qui n'est qu'une surcouche au dessus de linux.
On remarque que l'implémentation de busybox limite les extensions de commandes accessibles en terminal.

REMARQUE B:
La surcouche de synology s'amuse à shooter le fstab.
Il serait sans doute possible de mettre directement les modifications dans le fstab par défault
> find / -type f -name fstab
/etc/fstab
/etc.defaults/fstab

REMARQUE C:
Le principal problème est de pouvoir visualiser les volumes par l'intermédiaire de l'interface synology afin d'avoir accés aux fonctionnalités associés. Il semble indispensable d'avoir recours au lvm pour ce faire.

REMARQUE D:
Le fichier de mappage /etc/space/space_history_YYYYMMDD_HHMMSS.xml ne semble servir qu'a construire la structure afin de récuperer un seul point de montage par groupe de disque. Cette limitation semble en partie du au fait que lors de la modification des metadata d'un seul vg, tous les vg d'un groupe sont affectés ainsi que les metadata des disques! Ce qui semble un comportement inapproprié.
La construction du fichier xml semble répondre à un logique très "spéciale".

REMARQUE E:
Il reste à vérifier que tout fonctionne comme prévu dans l'interface...

Qui veut tester sur de tout frais nouveaux disques ?

Lien vers le commentaire
Partager sur d’autres sites

Les nombreuses fautes d'orthographe du post précédent ont été livrées à titre gracieux.

Aucune réclamation, échange ou remboursement ne sera pris en compte....

Pour ceux que ça intéresse voici la version english:

http://forum.synology.com/enu/viewtopic.php?f=39&t=85897&sid=3aea80d19cf7e867cd53aa76ce865d9b

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.