Redimensionner les partitions sous-jacentes dans mdadm RAID1

9

J'ai un NAS construit à la maison et je dois reconfigurer légèrement une partie de mon utilisation du disque.

J'ai un RAID1 mdadm composé de deux disques de 3 To. Chaque lecteur possède une partition ext3 qui utilise l'intégralité du lecteur. J'ai besoin de réduire la partition ext3 sur les deux disques, et d'ajouter une deuxième partition ext3 de 8 Go à une, et d'échanger une partition de taille égale à l'autre. Je pense avoir compris les étapes, mais je voulais une confirmation.

  1. Redimensionnez le RAID mdadm resize2fs /dev/md0 [size]où la taille est un peu plus grande que l'espace actuellement utilisé sur le disque
  2. Retirez l'un des disques du RAID mdadm /dev/md0 --fail /dev/sda1
  3. Redimensionner le lecteur supprimé avec séparé
  4. Ajoutez la nouvelle partition au lecteur avec parted
  5. Restaurer le disque sur le RAID mdadm -a /dev/md0 /dev/sda1
  6. Répétez 2-5 pour l'autre appareil
  7. Redimensionner le RAID pour utiliser la partition complète mdadm --grow /dev/md0 -z max

Y a-t-il quelque chose que j'ai manqué ou que je n'ai pas envisagé?

kyork
la source

Réponses:

6

Oui, vous avez manqué quelque chose de très important et je l'ai appris à la dure. http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162 souligne qu'il devient désormais statistiquement inévitable d'avoir des secteurs défectueux sur la matrice RAID.

Si vous avez une matrice RAID dégradée et que l'un de vos disques rencontre un secteur défectueux, mdraid arrêtera la matrice. Cela se produira lors de la récupération lorsque vous ajouterez à nouveau le lecteur, car chaque secteur des autres lecteurs doit être lu. J'ai passé pas mal de temps à m'en remettre, ce qui est vraiment délicat. \

Ce que vous devez donc faire au préalable est: réparation de l'écho> / sys / block / mdX / md / sync_action

(vérifiez https://raid.wiki.kernel.org/index.php/Scrubbing )

Poignard
la source
Je n'arrive pas à exécuter ces commandes même en tant que sudo. J'utilise un serveur Ubuntu. Auriez-vous une idée pourquoi?
J Spen
Trop tard pour vous, mais pour répondre: le shell fonctionne comme vous et sudo n'interprète pas la redirection >. Soit encapsuler tout dans un sous-shell, soit utiliser tee. Je préfère le tee:echo repair | sudo tee /sys/block/mdX/md/sync_action
ibotty
1: Le pointeur vers le nettoyage est utile et approprié; 2: C'est 2018 maintenant, 9 ans après 2009. J'utilise plusieurs baies RAID5, de 5 disques 8-10 To chacune, depuis plusieurs années maintenant, et rien de mal ne s'est produit (à part l'un des boîtiers en train de mourir ...). Je pense que l'avertissement concernant l'arrêt du fonctionnement de RAID5 a été considérablement exagéré - les chances que cela se produise ne sont pas aussi énormes que prévu, et peuvent être encore atténuées en prêtant attention au taux d'erreur du disque dur lorsque vous les achetez; 3: Vous devriez toujours avoir une sauvegarde de tout
Zak
3

Vos étapes semblent bonnes, à deux exceptions près:

  1. Après resize2fs, vous devez réduire votre tableau mdadm. Par exemple, faites mdadm --grow --size xxxcomme étape # 1a.

  2. Je suggérerais également de faire tout cela pendant le démarrage sur un CD de secours, comme SystemRescueCd , et non pendant que / dev / md0 est monté. Suivez le redimensionnement par fsck, juste pour vous assurer que tout va bien.

haimg
la source