Place non ajuster après remplacement 2 disques

hypnos

Dabbler
Joined
Apr 18, 2020
Messages
10
Bonjour à tous ,

Je demande de l'aide sur mon serveur Freenas qui tourne depuis de nombreuse années .
J'ai entrepris un upgrade de disque pour le faire évoluer , celui-ci s'applique à 2 disques en Raid1.

2*1To , je passe à 2*3To . J'ai changé les disques 1 à la fois et en attendant que la copie des données se "synchronise" .

Tout va bien , le seul et gros problème est que la taille de l'espace disque est encore de "1to"
1587218217942.png

1587218293810.png


J'ai cherché ce que j'ai loupé dans mon changement de disque ? ou dans les docs que j'ai pu lire ... mais rien .

Du coup je me tourne vers des plus expérimentés me moi :)

Merci d'avance .
 

hypnos

Dabbler
Joined
Apr 18, 2020
Messages
10
Cela concerne ce pools : ( je n'ai pas trouvé comment éditer mon post )
1587219303743.png
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,523
Je ne sais pas quelle version de FreeNAS est utilisée mais j'ai testé avec FreeNAS 11.3.

J'ai créé un volume avec 2 disques de 3Go en miroir:

avant.png



Que j'ai ensuite remplacé par 2 disques de 4Go et l'espace a automatiquement été étendu:

apres.png



Donc soit il y a un bug... soit quelque chose s'est mal passé dans la manip'... :tongue:

Que dit la section "Storage/Pools/Pool status"?
Ici dans mon exemple, on voit que da3 et da4 font partie du volume en miroir.
Est-ce pareil dans ton cas? Il manque peut-être un disque ou c'est le mauvais disque qui fait partie du volume? Ce qui expliquerait...

status.png


Et que ce sont bien les disques de 4Go:
Disks.png



Est-ce que c'est la même chose pour toi?
 

hypnos

Dabbler
Joined
Apr 18, 2020
Messages
10
Merci pour ta réponse .

Alors pour mon freenas :
1587229097810.png


Mon pool est bien reconstruit , et je n'ai pas d'autre disk , donc pas d'erreur possible . J'ai vraiment pris mon temps pour le faire 1 par 1 , en notant n° de série , etc... pour être justement sûr .

1587229337751.png


1587229493080.png


Pour ma part je ne vois pas de soucis ada0 et ada1 du pool "photo" sont bien 2 disques neuf de 3TO ( preuve en est les 2 n° séries se ressemble car disque identique )

Lors du changement du 1er disque je ne me suis pas inquiéter , me disant que cela aller s'ajusté aprés avoir changé le 2éme .
:-/
 

hypnos

Dabbler
Joined
Apr 18, 2020
Messages
10
Au passage je n'ai jamais osé mettre à niveau mes pools , par peur et car ne sachant pas ce que cela fait vraiment ....
Cela pourrait jouer ?
 

Redcoat

MVP
Joined
Feb 18, 2014
Messages
2,924
Try a refresh on your browser cache.
 

Redcoat

MVP
Joined
Feb 18, 2014
Messages
2,924
[QUOTE = "hypnos, post: 581184, member: 101765"]
By the way I never dared to upgrade my pools, out of fear and because not knowing what it really does ....
Could it play?
[/ QUOTE]
NO.
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,523
Etrange en effet...
Et c'est plutôt pas mal foutu dans l'interface web, on voit bien que ada0 et ada1 font partie du volume "photot" et que ce dernier est bien constitué de ada0 et ada1. C'est là que je ne m'explique pas.
Pour avoir d'autres pistes, je posterai un message dans la partie anglophone, car il s'agit peut-être d'un bug de FreeNAS mais ça je ne sais pas (j'utilise une version 9.10.x et je ne suis pas très familier avec 11.x). Peut-être que de passer à la version 11.3 permet de corriger cela, je ne sais pas...

La mise à niveau des volumes n'est pas obligatoire.
Une fois qu'on met à niveau un volume, il n'est plus compatible avec une version antérieur de FreeNAS c'est le gros inconvénient.
Donc à moins que le volume soit d'une version qui date d'il y a longtemps (je dirai antérieur à 9.x?) je ne pense pas que cela empêche l'extension automatique. En y repensant, cela peut être une possibilité à ne pas négliger...



Pour vérifier que l'extension de volume est bien possible, la fonctionalité doit être disponible pour ce volume.
Dans un terminal, il faut exécuter les commandes suivantes pour avoir les infos sur la version du volume:
zpool get version <nom_volume> dans le cas présent zpool get version photo

Dans mon cas j'obtiens ce résultat:
Code:
# zpool get version Poule
NAME   PROPERTY  VALUE    SOURCE
Poule  version   -        default


La version est "-" dans ce cas, on peut vérifier les "feature flags" avec:
zpool get all <nom_volume> | grep feature@


Dans mon cas j'obtiens ce résultat:
Code:
# zpool get all Poule | grep feature@
Poule  feature@async_destroy          enabled                        local
Poule  feature@empty_bpobj            active                         local
Poule  feature@lz4_compress           active                         local
Poule  feature@multi_vdev_crash_dump  enabled                        local
Poule  feature@spacemap_histogram     active                         local
Poule  feature@enabled_txg            active                         local
Poule  feature@hole_birth             active                         local
Poule  feature@extensible_dataset     enabled                        local
Poule  feature@embedded_data          active                         local
Poule  feature@bookmarks              enabled                        local
Poule  feature@filesystem_limits      enabled                        local
Poule  feature@large_blocks           enabled                        local
Poule  feature@sha512                 enabled                        local
Poule  feature@skein                  enabled                        local
Poule  feature@device_removal         enabled                        local
Poule  feature@obsolete_counts        enabled                        local
Poule  feature@zpool_checkpoint       enabled                        local
Poule  feature@spacemap_v2            active                         local



La ligne qui nous intéresse est la ligne feature@extensible_dataset

Un autre moyen d'obtenir les information sur l'extension est la commande zpool upgrade -v qui affiche une longue liste.
Exemple dans mon cas:
Code:
# zpool upgrade -v
This system supports ZFS pool feature flags.

The following features are supported:

FEAT DESCRIPTION
-------------------------------------------------------------
async_destroy                         (read-only compatible)
     Destroy filesystems asynchronously.
empty_bpobj                           (read-only compatible)
     Snapshots use less space.
lz4_compress
     LZ4 compression algorithm support.
multi_vdev_crash_dump
     Crash dumps to multiple vdev pools.
spacemap_histogram                    (read-only compatible)
     Spacemaps maintain space histograms.
enabled_txg                           (read-only compatible)
     Record txg at which a feature is enabled
hole_birth
     Retain hole birth txg for more precise zfs send
extensible_dataset
     Enhanced dataset functionality, used by other features.
embedded_data
     Blocks which compress very well use even less space.
bookmarks                             (read-only compatible)
     "zfs bookmark" command
filesystem_limits                     (read-only compatible)
     Filesystem and snapshot limits.
large_blocks
     Support for blocks larger than 128KB.
sha512
     SHA-512/256 hash algorithm.
skein
     Skein hash algorithm.
device_removal
     Top-level vdevs can be removed, reducing logical pool size.
obsolete_counts                       (read-only compatible)
     Reduce memory used by removed devices when their blocks are freed or remapped.
zpool_checkpoint                      (read-only compatible)
     Pool state can be checkpointed, allowing rewind later.
spacemap_v2                           (read-only compatible)
     Space maps representing large segments are more efficient.

The following legacy versions are also supported:

VER  DESCRIPTION
---  --------------------------------------------------------
 1   Initial ZFS version
 2   Ditto blocks (replicated metadata)
 3   Hot spares and double parity RAID-Z
 4   zpool history
 5   Compression using the gzip algorithm
 6   bootfs pool property
 7   Separate intent log devices
 8   Delegated administration
 9   refquota and refreservation properties
 10  Cache devices
 11  Improved scrub performance
 12  Snapshot properties
 13  snapused property
 14  passthrough-x aclinherit
 15  user/group space accounting
 16  stmf property support
 17  Triple-parity RAID-Z
 18  Snapshot user holds
 19  Log device removal
 20  Compression using zle (zero-length encoding)
 21  Deduplication
 22  Received properties
 23  Slim ZIL
 24  System attributes
 25  Improved scrub stats
 26  Improved snapshot deletion performance
 27  Improved snapshot creation performance
 28  Multiple vdev replacements

For more information on a particular version, including supported releases,
see the ZFS Administration Guide.


En début de liste on voit que la fonctionalité d'extension est disponible:
Code:
extensible_dataset
     Enhanced dataset functionality, used by other features.



Voilà donc deux manières de vérifier que la fonctionalité d'extension est bien disponible pour le volume.
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,523
Bien vu @Redcoat, je n'y aurai pas pensé! :)
 

Redcoat

MVP
Joined
Feb 18, 2014
Messages
2,924
[QUOTE = "Pitfrr, post: 581197, member: 37137"]
Well seen @@ Redcoat, I would not have thought of it!:)
[/ QUOTE]
But we don't yet know if that was the issue...
 

Heracles

Wizard
Joined
Feb 2, 2018
Messages
1,401
Bonjour,

As-tu un hot spare de configuré ? Si Oui, il faut l'augmenter lui aussi car il ne peut pas prendre la relève de plus gros que lui...
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,523
@Redcoat: sure but it's worth exploring. One idea more to investigate.
 

hypnos

Dabbler
Joined
Apr 18, 2020
Messages
10
Merci à tous pour vos pistes !

@Redcoat : I deleted my browser's cache without modification. I tried in case on another browser but it does not change. Bad track? or I didn't do it right? thank you anyway.

@Pitfrr : Merci pour ton taff , j'ai tout vérifier :

Code:
zpool get version photo
NAME   PROPERTY  VALUE    SOURCE
photo  version   -        default

A la ligne feature@extensible_dataset j'ai bien ENABLED
Et cette ligne aussi Enhanced dataset functionality, used by other features.

Ce pool en RAID1 est ancien , les autres ont été mit à niveau au fur et à mesure plus ou moins , lors de leur création ou panne de disque . Mais ce pool date de Freenas 9 il me semble .

Il y a t-il un risque à le mettre à niveau ? surtout vu le soucis , vu le nom du pool vous vous doutez que c'est des données sensibles . Une sauvegarde est faite , mais je préfère pas jouer avec le feu .
 

hypnos

Dabbler
Joined
Apr 18, 2020
Messages
10
Bonjour,

As-tu un hot spare de configuré ? Si Oui, il faut l'augmenter lui aussi car il ne peut pas prendre la relève de plus gros que lui...

Bonjour , Peux-tu précisé ta question ? malheureusement je ne connais ce qu'est un "hot spare" ... désolé .
 

Heracles

Wizard
Joined
Feb 2, 2018
Messages
1,401
Un hot spare est un disque dur pré-configuré dans FreeNAS pour prendre la relève en cas de bris d'un autre disque dur. Si un disque dur brise, FreeNAS le remplacera tout seul automatiquement par un hot spare s'il en a un de disponible.
 

hypnos

Dabbler
Joined
Apr 18, 2020
Messages
10
Un hot spare est un disque dur pré-configuré dans FreeNAS pour prendre la relève en cas de bris d'un autre disque dur. Si un disque dur brise, FreeNAS le remplacera tout seul automatiquement par un hot spare s'il en a un de disponible.
Ok , donc non je n'ai rien mis de telle en place . Mon installation est plutôt basique ;)
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,523
A tout hasard, j'ai fait la même manip' de remplacement avec 11.2-U8 pour avoir le coeur net et ça s'est déroulé tout aussi bien qu'avec 11.3.
Ca ne veut pas dire qu'il n'y peut-être pas un bug lié à je-ne-sais-quoi... :smile:
Je suis à court d'idée là...
 

hypnos

Dabbler
Joined
Apr 18, 2020
Messages
10
@Pitfrr merci pour le test , effectivement je ne sais vraiment pas ou j'ai merdé ... pense-tu qu'il y est un risque à mettre à niveau le pool ?
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,523
Hmmm... je le ferai pas tant que tu n'auras pas compris ce qui se passe...
Puisqu'a priori, ce n'est pas un problème de version de pool (la fonctionalité est bien présente et active).
Est-ce que l'export et le ré-import du pool pourrait aider? Je ne sais pas non plus.

@Heracles et @Redcoat: Qu'en pensez-vous? [What is your advise here? Would an export and re-import of the pool be an idea to try?]
 

Heracles

Wizard
Joined
Feb 2, 2018
Messages
1,401
Non, pas d'import / export selon moi...

Le portrait est donc 4 disques au total, ada0, ada1, ada2 et ada3 selon la première capture d'écran.
0 et 1 sont dans 1er pool (photo)
2 est seul dans un 2ème pool (film)
3 est seul dans un 3ème pool (stock)

Déjà, trois pool est une mauvaise architecture.
Des pools d'un seul disque sont aussi une mauvaise architecture.
Selon leurs noms, ces pools différents ont été utilisés alors que des datasets auraient été ce qui était requis.

Ainsi, selon cette première capture, tous les disques devraient se faire vider et le pool devrait se faire re-construire.

Je me demande si le pool n'est pas trop plein pour procéder à l'auto-expand... ZFS fait du copy-on-write, donc pour faire ses modifs, il lui faut un peu d'air pour respirer. Laisser un pool gonfler au-dessus de 90% est aussi une mauvaise pratique.

Donc pour le moment, Film contient assez d'espace libre pour recevoir le contenu de Photo. Donc je viderais le pool Photo en transférant son contenu dans Film temporairement. Une fois le transfert fait, je détruirais le pool Photo et créerais un nouveau pool Storage avec un vDev de 2 disques. Cela aura aussi l'avantage de défragmenter le pool. Sous Storage, je créerais ensuite 3 datasets, Photos, Films et Stock.

Dans le nouveau pool Storage, je transférerais les photos dans le dataset Photos et les films, dans le dataset films. Le pool film pourra ensuite être détruit.

Il reste la question de Stock...

Il faudrait acheter un autre disque de 3 TB pour ça et le brancher à la place du disque actuel de Film.

Ensuite, il faudrait dégrader temporairement le pool Storage en retirant un des 3 TB.

Cela permettra de créer un second miroir de 3TB entre le nouveau disque et le disque retiré temporairement de Storage.
Ce second miroir pourra être ajouté au pool de Storage.
Une fois ce deuxième miroir dans le pool, il sera possible de transférer le contenu de Stock dans ce pool commun.
Une fois le disque de 3TB de Stock vidé, il sera possible de le ré-intégrer dans le premier vDev pour le remettre en état normal.

Au final, ce sera un seul pool, comme il se doit.
Tous les vDevs de ce pool auront de la redondance, comme il se doit.
Les vDevs tout neufs auront leur capacité nominale, comme il se doit.
Le pool aura tous ses attributs et toutes ses fonctions, comme il se doit.
Le pool global sera chargé aux environs de 70%. C'est beaucoup mais pas encore dangereux et mieux que 93%.
Le pool global sera facile à étendre, ou bien en ajoutant des disques 2 à 2 ou en remplaçant seulement 2 disques.

Voilà donc comment je procéderais...
 
Top