Expansion de stockage

larod241

Dabbler
Joined
May 2, 2022
Messages
33
Bonjour,

Je viens de commander 2 disques supplémentaires (12tb) afin d'étendre la capacité de stockage de mon TrueNas SCALE.
Actuellement, mon pool de stockage est composé d'1 VDEV de 2 disques de 12 TB en miroir (le mêmes que je viens de commander) en miroir.

Je pensais donc étendre ce pool avec l'ajout d'un 2ème VDEV composé d'un miroir des 2 nouveaux disques.

J'ai vu que certains créaient un Pool RAIDZ1 en dégradant le miroir, copiaient ensuite les données pour terminer par supprimer le pool miroir et intégrer le disque dans le pool RAIDZ.

Ça me semble un peu risqué comme procédure pour un gain que j'ai du mal à quantifié. Qu'en pensez-vous ?

Si vous avez des avis ou expériences dans ce cas précis d'extension d'un miroir, je serais heureux de vous lire.

Merci !
 

Attachments

  • Capture d'écran 26.01.2023 à 09.40.48 AM.png
    Capture d'écran 26.01.2023 à 09.40.48 AM.png
    23.8 KB · Views: 92

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,531
Bonjour,

Alors déjà avec des disques de 12To, oublie le RAIDz1! :-D
Si au total tu as 4 disques, tes choix sont: soit un miroir soit un volume en RAIDz2. Niveau capacité aucune différence (tu perds 50%) par contre niveau performances, selon tes besoins, un double miroir peut-être plus intéressant.

Si j'étais à ta place.... Je prendrais un disque de 12To supplémentaire pour faire un volume RAIDz2 avec 5 disques! ;-D
Il te faudra alors détruire le volume actuel (sauf si tu rajoutes un miroir... pratique car pas besoin de refaire le volume mais je pense pas que je prendrai cette option*). Mais, bien que la destruction d'un volume est toujours agaçante, si tu devrais pouvoir compter sur tes sauvegardes pour réaliser cela sans perte.

*: si tu as un miroir de 2 disques que tu étends avec un miroir de 2 disques, tu n'auras pas la même redondance qu'un volume en RAIDz2.
En effet, avec le RAIDz2 tu peux "perdre" 2 disques sur 4 indépendamment. Avec un miroir étendu, tu peux perdre 1 disque dans chaque volume (par contre si tu perds deux disques dans un volume ben c'est fichu....).
 

larod241

Dabbler
Joined
May 2, 2022
Messages
33
Bonjour,
Merci pour cette réponse.

J'utilise un serveur HPE GEN10+ et je suis donc limité à 4 disques malheureusement.

Effectivement, la solution du RAIDz2 me plairait bien, mais, hormis la galère de tout refaire (j'ai pas mal de datasets avec des droits et services associés différents), j'ai des données médias qui ne sont pas sauvegardées car pas très sensibles, mais si je peux les conserver, ça serait mieux ! :D

J'avais cru voir passer une discussion ou la personne conseillait de créer un pool en raidz2 avec 2 disques et 2 disques "virtuels" créé à partir de fichier à ce que j'avais compris.
Et ensuite, il retire les 2 disques virtuels, lance une réplication via des snapshots du miroir vers le RAIDZ2 pour ensuite réintégrer les disques du miroir dans le RAIDZ2...
Mias il n'y avait pas les commandes précises utilisées et un Tuto clair sur la démarche à suivre...
L'opération me semble bien risquée et compliquée ...

Après, niveau sécurité, le RAIDZ2, c'est quand même un cran au dessus du double miroir effectivement.
 

larod241

Dabbler
Joined
May 2, 2022
Messages
33
Je viens de retrouver une explication similaire à ce que j'avais déjà vu :
As I understand these solutions, they should also work with a RAIDZ2 and
2 fake devices:
- create RAIDZ2 from the 2 new disks and 2 fake devices
- offline the 2 fake devices
- RAIDZ2 is now in degraded state (but still usable)
- zfs send data from my old mirror-based pool to the new RAIDZ2-based pool
- detach first disk form old mirror and add it to RAIDZ2 (and resilver)
- destroy mirror and resilver RAIDZ2 again

Pour ce qui est des performances, le CPU est assez bien dimensionné, niveau RAM, je suis large aussi (je peux allouer plus de 32Go si besoin).
J'ai du mal à imaginer ce que pourrait-être la chute de performances avec un RAIDZ2, sachant que le NAS est connecté à un réseau Gigabit "seulement".
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,531
J'utilise un serveur HPE GEN10+ et je suis donc limité à 4 disques malheureusement.
Y'a aussi la solution de rajouter une carte HBA (pour 50€ en gros) pour pouvoir rajouter des disques supplémentaires (si y'a physiquement la place, pour les disques et pour rajouter une carte).


la personne conseillait de créer un pool en raidz2 avec 2 disques et 2 disques "virtuels" créé à partir de fichier
Hmmm je vois pas bien comment (ã part de passer par hôte de virtualisation pour créer deux disques virtuels) (je viens de voir dans ta signature que tu utilises Proxmox donc ok, je comprends mieux).
J'ai vu un article qui parlait de créer un pool en mode dégrader (ça me semble plus réaliste même si, si on choisit de faire ça, faut être sûr d'avoir de bonnes sauvegardes!! car c'est pas supporté).
Perso, je suis pas sûr que je le ferai...

hormis la galère de tout refaire
Alors, si tu fais un backup en utilisant la réplication, tu peux conserver les datasets et les droits.
Je ne sais pas comment tu organises tes sauvegardes mais, perso, je ferai comme ça: Avec un miroir de 2x 12To pour les backups, j'investirai dans un disque de 16 ou 18 To. J'utiliserai la réplication pour sauvegarder tous les datasets. Et j'utiliserai cette sauvegarde pour repeupler le nouveau volume.

Mias il n'y avait pas les commandes précises utilisées
C'est possible car tu entres là dans un domaine assez particulier et qui n'est pas supporté officiellement.
J'ai vu un article à ce sujet (mais je n'arrive pas à le retrouver) et il y a également une ressource.


J'ai du mal à imaginer ce que pourrait-être la chute de performances avec un RAIDZ2
Oui, alors là je n'ai pas beaucoup d'expérience à ce sujet, mais ma compréhension "théorique" est la suivante:
La différence se situera principalement au niveau des IOPS et avec un volume RAIDz2 tu seras limité aux performances d'un disque. Avec un miroir tu vas cumuler. Et plus tu rajouteras de miroirs, plus tu augmenteras tes IOPS.
Ensuite, le ressenti va dépendre de l'utilisation mais globalement, sur un réseau 1Gb et pour un utilisateur par exemple, je pense que ça sera limité en effet. Il faut aussi faire attention à ce que tu compares: un miroir versus un RAIDz2 ou plusieurs miroir vers un RAIDz2 (comme je le disais, plus tu vas ajouter des miroirs plus tu vas gagner en performances).
Je sais que les multiples miroirs sont utilisés pour avoir des bonnes performances avec les accès en iSCSI par exemple.
 

larod241

Dabbler
Joined
May 2, 2022
Messages
33
Y'a aussi la solution de rajouter une carte HBA (pour 50€ en gros) pour pouvoir rajouter des disques supplémentaires (si y'a physiquement la place, pour les disques et pour rajouter une carte).
Malheureusement, je n'ai plus de place que ça soit sur les ports PCIE (utilisés par une carte PCIE -> NVME pour le stockage local promox)
Pareil pour les emplacements 3,5 pouces, j'en ai que 4 disponibles... C'est un micro serveur en fait : https://www.servethehome.com/hpe-proliant-microserver-gen10-plus-review-this-is-super/

Hmmm je vois pas bien comment (ã part de passer par hôte de virtualisation pour créer deux disques virtuels) (je viens de voir dans ta signature que tu utilises Proxmox donc ok, je comprends mieux).
J'ai vu un article qui parlait de créer un pool en mode dégrader (ça me semble plus réaliste même si, si on choisit de faire ça, faut être sûr d'avoir de bonnes sauvegardes!! car c'est pas supporté).
Perso, je suis pas sûr que je le ferai...
C'est un peu ce qui me fait peur aussi, bien que toutes les données sensibles sont sauvegardées.
Je pense que je vais tester en créant des disques virtuelles pour tester la "faisabilité" de l'opération : monter un vdev avec 2 disques virtuels pour simuler mon pool actuel et ensuite, créer le RAIDZ2, retirer 2 disques, et copier les données dessus pour ensuite rajouter 1 des disques virtuels du miroir, laisser synchroniser et pareil pour le deuxième ensuite.

Alors, si tu fais un backup en utilisant la réplication, tu peux conserver les datasets et les droits.
Je ne sais pas comment tu organises tes sauvegardes mais, perso, je ferai comme ça: Avec un miroir de 2x 12To pour les backups, j'investirai dans un disque de 16 ou 18 To. J'utiliserai la réplication pour sauvegarder tous les datasets. Et j'utiliserai cette sauvegarde pour repeupler le nouveau volume.
J'utilise proxmox backup actuellement. J'ai une VM gateway ou j'ai monté tous les volumes sensibles du NAS pour les backuper ensuite.
La déduplication et Proxmox Backup est vraiment intéressante (18/1) et je peux aller explorer et restaurer très rapidement n'importe quelle fichier avec une très bonne granularité.

C'est possible car tu entres là dans un domaine assez particulier et qui n'est pas supporté officiellement.
J'ai vu un article à ce sujet (mais je n'arrive pas à le retrouver) et il y a également une ressource.
Merci pour la ressource. Je vais en prendre connaissance.

Oui, alors là je n'ai pas beaucoup d'expérience à ce sujet, mais ma compréhension "théorique" est la suivante:
La différence se situera principalement au niveau des IOPS et avec un volume RAIDz2 tu seras limité aux performances d'un disque. Avec un miroir tu vas cumuler. Et plus tu rajouteras de miroirs, plus tu augmenteras tes IOPS.
Ensuite, le ressenti va dépendre de l'utilisation mais globalement, sur un réseau 1Gb et pour un utilisateur par exemple, je pense que ça sera limité en effet. Il faut aussi faire attention à ce que tu compares: un miroir versus un RAIDz2 ou plusieurs miroir vers un RAIDz2 (comme je le disais, plus tu vas ajouter des miroirs plus tu vas gagner en performances).
Je sais que les multiples miroirs sont utilisés pour avoir des bonnes performances avec les accès en iSCSI par exemple.
Disons que tant que j'arrive à tenir la quasi saturation du lien Gb, ça me convient. Nous sommes 5 à la maison et la plus grosse utilisation et pour le stockage des photos/vidéos perso et aussi pour la lecture de Médias : Plex et Musique dématerialisées.
Rien qui ne puisse pas supporter une petit baisse de performance.
Le gros intérêt pour moi, reste le fait de pouvoir perdre 2 disques sans perdre le pool...

Bon, après, ça ne serait pas de chance de perdre 2 disques en très peu de temps, m'empêchant d'en remplacer un pour relancer une réparation du volume...

Si j'abandonne le projet RAIDZ2 pour du double miroir, j'envisage de mixer les anciens et nouveaux disques dans chaque vdev afin d'éviter de me retrouver avec 2 disques du même batch.


Merci en tout cas pour tes avis/conseils. ;-)
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,531
Alors si je devais choisir entre la peste et le choléra je pense (mais j'ai pas étudié plus en profondeur que cela) que j'irai dans la direction proposée dans la ressource et non avec des disques virtuels...


C'est un micro serveur
Ah ouais... :tongue: C'est sûr tout de suite ça limite, on fait pas ce qu'on veut!

Disons que tant que j'arrive à tenir la quasi saturation du lien Gb
Oui, je pense que vu ton cas d'utilisation tu devrais pas avoir de problème (sauf avec des petits fichiers mais là c'est toujours un problème...).



Autre détail pour les disques (neufs et pas que neufs): bien penser à faire un rodage avant des les ajouter à un volume... mais peut-être que tu l'as déjà fait.
 

larod241

Dabbler
Joined
May 2, 2022
Messages
33
Je viens de regarder le tutoriel dans la ressource. En fait, c'est une image disque qui est créer (sparse file).

Je viens de tester avec des disques virtuels via proxmox déjà. ça semble fonctionner...
Je vais tester avec le tutoriel de la ressource voir aussi !

Pour ce qui est des petits fichiers, effectivement, il n'y a pas de solution miracle... J'avais testé avec un SSD en cache, mais ça ne faisait pas grand grand chose de mieux... ;-(

Pour les disques, oui, je vais les laisser tourner/roder quelques jours avant de les mettre en service !
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,531
Pour les disques, oui, je vais les laisser tourner/roder quelques jours avant de les mettre en service !
Alors c'est pas de les laisser tourner quelques jours hein... mais bon c'est pas le sujet (et y'a pas mal de threads sur ce sujet là).


J'avais testé avec un SSD en cache
Moi non plus mais ma compréhension à ce niveau là est qu'un cache SSD est la dernière chose à faire après avoir déjà maximisé la RAM et dans un contexte d'usage multi utilisateurs. Typiquement, pour une utilisation domestique c'est inutile.

Je vais tester avec le tutoriel de la ressource voir aussi !
N'hésite pas à partager ton expérience... je serai curieux de savoir.
 

larod241

Dabbler
Joined
May 2, 2022
Messages
33
Moi non plus mais ma compréhension à ce niveau là est qu'un cache SSD est la dernière chose à faire après avoir déjà maximisé la RAM et dans un contexte d'usage multi utilisateurs. Typiquement, pour une utilisation domestique c'est inutile.
Je vais passer la VM à 32Go de Ram dans un premier temps.
N'hésite pas à partager ton expérience... je serai curieux de savoir.
Oui, je partagerai mon expérience sur ce fil et, si c'est fructueux, je ferai un tutoriel pour alimenter la rubrique "Ressources"
 

larod241

Dabbler
Joined
May 2, 2022
Messages
33
Petit retour d'expérience du jour :

J'ai donc insérer les 2 nouveaux disques dans mon serveur et j'ai créé et associé 2 disques de même capacité à la VM TrueNas Scale.
J'ai ensuite créer un pool RAIDZ2 avec les 4 disques (les 2 nouveaux physiques et les 2 virtuels).
Une fois le pool créé, j'ai retiré, depuis proxmox, les 2 disques virtuels.
Le pool est donc passé en dégradé, mais il est fonctionnel.
Je suis donc en train de répliquer les données (via les tâches de réplications).
Et il ne restera plus qu'à détruire l'ancien pool et remplacer les 2 disques virtuels retiré du pool RAIDZ2 par ceux de l'ancien pool miroir.

La suite demain ! (il reste encore un dataset de 7To à répliquer avant de pouvoir passer à l'étape de destruction de l'ancien pool et réintégration des disques)
 

larod241

Dabbler
Joined
May 2, 2022
Messages
33
Et voilà ! Opération terminée.
Tout c'est passé comme prévu.
Après la fin des tâches de réplication, j'ai retiré un disque du pool miroir pour l'intégré au pool RAIDZ2.
Et une fois la reconstruction terminé, j'ai détruit le pool miroir et j'ai intégré le dernier disque.

Je me retrouve donc avec un pool RAIDZ2 de 4x12 To sans avoir eu à passer par une phase de restauration des données ou j'aurai perdu mes snapshots par exemple.

Niveau performance, je ne vois pas de différence avec le miroir, étant donné que j'arrive à saturation du lien Gb de mon réseau ethernet.
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,531
Bonne nouvelle alors!

Par curiosité, dans proxmox tu as créé deux disques virtuels. Comment as-tu défini leur capacité?
Tu avais des disques de 12To, tu as donc créé des disques virtuels de 12To? Mais ils étaient plus grands que les 2 disques physiques ou pas (car si ils sont plus petits, alors le volume total se basera sur le plus petit des disques)?
Et as-tu du les provisionner (je pense pas mais je demande quand même)?
 

larod241

Dabbler
Joined
May 2, 2022
Messages
33
J'ai utilisé un convertisseur pour avoir la même capacité réelle. Mais TrueNAS les voyait quand même plus grand.
J'ai dû cocher la case "FORCE" afin de créer le RAIDZ2 avec des disques de tailles différentes.
Je n'ai pas eu à les provisionner. Une fois le pool RAIDZ2 créé, je les ai retiré et supprimé de proxmox.

Et quoi qu'il en soit, je pense que la fonctionnalité "Expand" aurait permis d'utiliser la capacité maximum du POOL même si il avait été créé avec des disque de tailles inférieure
 

Attachments

  • Capture d'écran 31.01.2023 à 22.14.33 PM.png
    Capture d'écran 31.01.2023 à 22.14.33 PM.png
    27.6 KB · Views: 84

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,531
la fonctionnalité "Expand" aurait permis d'utiliser la capacité maximum du POOL
Oui tout à fait...

Tu parles d'un convertisseur... à quoi tu fais allusion? Je comprends pas bien...

J'ai dû cocher la case "FORCE" afin de créer le RAIDZ2 avec des disques de tailles différentes.
Ah je savais pas qu'il y avait cette option! :smile:
 

larod241

Dabbler
Joined
May 2, 2022
Messages
33
Tu parles d'un convertisseur... à quoi tu fais allusion? Je comprends pas bien...
Un convertisseur en ligne pour convertir les 10,91TiB annoncé par TrueNAS pour la taille réelle des disques en GiB
Dans mon cas : 10,91TiB dans TrueNAS -> 11171,84 GiB dans proxmox pour la création des disques virtuels.
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,531
Ah d'accord un convertisseur d'unités quoi. :-D
J'y aurai pas pensé...

Encore une question (peut-être basique mais j'ai encore jamais testé ce genre de chose): tu peux créer un disque virtuel (et ici 2 en l'occurrence) de 12To sans avoir la place physique?
J'ai jamais testé ça je dois dire et ça m'intrigue (je suis pas sous proxmox mais vmware mais ça doit être pareil).

Jusqu'à présent j'ai toujours créé des disques de quelques giga et, même s'ils étaient en "thin provisioning" (je ne sais pas le terme en français, littéralement "approvisionnement fin") je partais du principe que leur taille pouvait augmenter jusqu'au maximum à tout moment et les ai toujours dimensionnés en étant sûr que j'avais la capacité réelle. J'ai jamais tenté de créer un disque de 12To... faudra que j'essaie... :smile:
 

larod241

Dabbler
Joined
May 2, 2022
Messages
33
Ah d'accord un convertisseur d'unités quoi. :-D
Oui, je n'ai effectivement pas été très précis dans mes termes.

Encore une question (peut-être basique mais j'ai encore jamais testé ce genre de chose): tu peux créer un disque virtuel (et ici 2 en l'occurrence) de 12To sans avoir la place physique?
J'ai jamais testé ça je dois dire et ça m'intrigue (je suis pas sous proxmox mais vmware mais ça doit être pareil).
Oui, c'est tout à fait possible si le pool de stockage des disques (vm et ct) de ton hyperviseur le permet je suppose.
Mon pool sous proxmox est en LVM-Thin et, bien que faisant 1to (miroir SSD), j'ai pu créer les 2 disques virtuels de 12tb chacun sans soucis. Tant que je ne les remplis pas...

Jusqu'à présent j'ai toujours créé des disques de quelques giga et, même s'ils étaient en "thin provisioning" (je ne sais pas le terme en français, littéralement "approvisionnement fin") je partais du principe que leur taille pouvait augmenter jusqu'au maximum à tout moment et les ai toujours dimensionnés en étant sûr que j'avais la capacité réelle. J'ai jamais tenté de créer un disque de 12To... faudra que j'essaie... :smile:
Et bien, ça fonctionne, mais il faut être vigilant je pense et pas laisser trainer de trop ces disques "temporaires"
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,531
Merci pour la confirmation... :smile:
A l'occasion je tenterai. J'avais déjà vu cette technique pour créer un pool dégradé, je n'ai encore jamais essayé (et je trouve que c'est une méthode intéressante de savoir faire ça).
 

larod241

Dabbler
Joined
May 2, 2022
Messages
33
Avec plaisir !
Et effectivement, pour le coup, même si ce n'est pas quelques chose que je vais utiliser tous les jours, ça m'a bien rendu service...
Un des avantage aussi de la virtualisation, même si elle est parfois diabolisée pour les NAS...
 
Top