Comment mettre à niveau une baie RAID ZFS ZFS vers des disques plus grands sur OpenSolaris?

11

Je prévois d'installer OpenSolaris sur mon serveur domestique (en ce moment, il a Linux) et je voudrais savoir comment préparer la mise à niveau du serveur pour avoir des disques durs plus gros à l'avenir. Maintenant, le serveur dispose de 4 disques SATA de 400 Go et j'installerais OpenSolaris avec ZFS RAID-Z sur eux. Quelque temps plus tard, cette année ou l'année prochaine, je vais mettre à niveau les disques pour peut-être 4 disques SATA de 1 To.

Comment puis-je faire la mise à niveau et l'augmentation de la taille de la partition avec ZFS? S'agit-il d'une opération simple et indolore (par exemple, remplacez un lecteur à la fois et ZFS se redimensionnera automatiquement pour utiliser tout l'espace), ou des étapes spéciales sont-elles nécessaires? Peut-on le faire sans arrêter le système?

Esko Luontola
la source

Réponses:

17
  1. Lecteur hors ligne # 1.
  2. Remplacez l'ancien lecteur par le nouveau lecteur haute capacité.
  3. zpool remplacer le lecteur.
  4. Attendez que le remplacement soit reconstruit.
  5. Passez à l'étape 1 et répétez l'opération pour chaque lecteur successif de la baie.

Vous devrez peut-être exporter puis importer le zpool une fois cette procédure terminée; la piscine affichera alors la taille augmentée. Aucun temps d'arrêt n'est requis, mais si un disque va au sud pendant que vous mettez à niveau votre baie, vous perdrez tout, car avec quatre disques au total, vous avez probablement une configuration 3 + 1. (Les chances ne sont pas si élevées, mais Murphy ne dort jamais.)

La source officielle: «Remplacement de périphériques dans un pool de stockage» dans le Guide d'administration ZFS . Le Guide des meilleures pratiques ZFS est également utile.

Brad Ackerman
la source
+1 pour "Vous devrez peut-être exporter puis importer le zpool une fois cette procédure terminée" - la procédure de remplacement ne fonctionnait pas pour moi jusqu'à ce que j'agisse.
Josh
Vous n'avez pas besoin de le réimporter si l' autoexpandoption est définie sur onpour le pool.
bahamat
15

Je voudrais ajouter que le remplacement d'un disque non défectueux rend le raid moins à l'épreuve des pannes. Vous pouvez réellement remplir le disque de remplacement en premier avec des données avant de retirer le plus petit. Ainsi, l'ordre deviendra.

  • Attachez un disque plus gros (peut même être via USB)
  • zpool replace smallerdrive biggerdrive
  • attendez
  • quand il est fait, sortez le petit lecteur ou tout ce que vous devez faire.
  • répéter
  • et à la fin, vous devrez peut-être exécuter zpool set autoexpand=on pool

Maintenant, le murphy est moins un problème

Josh
la source
Pour les gens qui font cela sous Linux: j'ai remplacé chaque disque avec succès, mais cela n'augmenterait pas l'espace lors de l'exécution autoexpand=on. Je devais exécuter zpool online -e poolname devicenamepour chaque appareil, puis cela a fonctionné. L'importation / exportation n'a rien fait.
Peterdk