Raid logiciel mdadm - sortir partition systeme

Bonjour,
J’aimerais savoir si il est possible de sortir une partition systeme d’un raid logiciel mdadm ?

J’ai bien trouvé les commandes pour sortir une partition du raid :
— mdadm --stop /dev/mdX
— mdadm /dev/mdX --fail /dev/sdXX
— mdadm --remove /dev/mdX
— mdadm --zero-superblock /dev/sdXX

A la suite de ces commandes, la partition est en effet sortie du RAID logiciel mais la partition est en état unknow

Je sais qu’il est possible d’utiliser fdisk pour changer le type de partition avec le choix t
Pour la partition swap, c’est pas trop un problème, on choisit le code hexa 82 dans la liste des types de fdisk.

Par contre, pour la partition /, je ne vois pas… est ce quelqu’un sait comment la changer de unknown en ext4 sans formater ?

merci

En lisant les posts mdadm sur le forum, j’ai lu qu’il était possible de réduire une partition linux raid
Je pense que je vais plus m’orienter la dessus

Si l’un d’entre vous à une idée de la marche à suivre ? je continue de chercher mais je galère un peu

merci

Si tu expliquais plutôt ce que tu cherches à faire et pourquoi ?

J’ai changé 2 disques durs de 640go par 4 de 2to + 1 de 500go.
La partition système était en raid1 sur le disque de 500go existant et les 2 de 640go.

J’ai supprimé sdb1 et sdc1 de la partition raid logiciel md0. Il ne reste que la partition sda1 qui est la partition système. Cette dernière fait 190go. Ce qui est beaucoup trop pour le système debian.

Je voudrais réduire cette partition md0 à environ 70go. Puis supprimer et récréer ma partition swap pour qu’elle soit à la suite de la partition système… Et pour finir, copier la table de partition sur le 2e disque de 500go et intégrer la partition nouvellement créée dans md0.

J’espère que c’est clair car en me relisant, j’ai un doute :grin:

Ce n’est pas franchement clair pour moi. Voyons si j’ai bien compris.

La machine avait initialement un disque de 500 Go /dev/sda et deux disques de 640 Go /dev/sdb et /dev/sdc.
L’ensemble RAID 1 /dev/md0 était composé de trois partitions membres /dev/sda1 (sur le disque de 500 Go), /dev/sdb1 et /dev/sdc1 (sur les deux disques de 640 Go).

Tu as retiré les partitions membres des deux disques de 640 Go /dev/sdb1 et /dev/sdc1 de l’ensemble RAID /dev/md0 qui ne compte plus qu’une partition membre /dev/sda1.
Tu as retiré les deux disques de 640 Go.
Tu as ajouté un disque de 500 Go et 4 disques de 2 To.

J’ai bon ?

Maintenant tu veux réduire la taille de l’ensemble RAID /dev/md0, lui ajouter une seconde partition membre dans le second disque de 500 Go et créer un nouvel ensemble RAID 1 pour le swap formé de deux partitions situées sur les deux disques de 500 Go.

J’ai toujours bon ?

Où est le swap actuellement ?

@PascalHambourg
Oui tu as tout compris, c’est exactement la situation dans laquelle est mon serveur.
Pour ce qui est de la partition SWAP, elle est aussi dans un ensemble RAID1 /dev/md2 … même situation que pour /dev/md0. L’ensemble MD2 ne contient que la partition de sda.

Pour le swap, je pensais supprimer complètement l’ensemble md2 pour le recréer car il y a un espace de 190GO entre ce dernier et l’ensemble RAID systeme

Tu vas avoir besoin de la fonction --grow de mdadm deux fois, pour réduire le nombre de composants de l’ensemble RAID /dev/md0 à 2 et pour réduire la taille des composants à ~70 Gio.

Mais ce n’est pas tout : avant, il faut réduire la taille du système de fichiers contenu dans /dev/md0 sinon il sera tronqué et inutilisable. Si le système de fichiers est de type ext2/3/4, la réduction ne peut se faire qu’à froid, démonté. Si c’est la racine, il faut donc démarrer un autre système comme une distribution “live”. Une alternative consiste à le faire depuis le shell de l’initramfs avant que la racine soit montée, mais c’est moins confortable.

La séquence serait à peu près celle-ci :

# reduire le systeme de fichiers avec une marge
resize2fs -p /dev/md0 68G

# reduire le nombre de composants du RAID a 2
mdadm --grow /dev/md0 --raid-devices=2

# reduire la taille du RAID avec une marge
mdadm --grow /dev/md0 --size=69G

Réduire la partition à 70 Gio (ne pas confondre avec 70 Go soit environ 65 Gio, ce qui serait trop petit). Selon le programme utilisé, il sera peut-être nécessaire d’arrêter le RAID :

mdadm --stop /dev/md0

Vérifier avec lsblk que la nouvelle taille a été prise en compte par le noyau. Sinon, exécuter partprobe ou redémarrer avant de poursuivre.

# agrandir le RAID a la taille maxi en recuperant la marge
mdadm --grow /dev/md0 --size=max

# agrandir le systeme de fichiers à la taille maxi en recuperant la marge
resize2fs -p /dev/md0

Ensuite, créer une partition de la même taille sur l’autre disque et l’ajouter au RAID

mdadm /dev/md0 --add /dev/sdXN

Concernant le swap il est probablement plus simple de le recréer effectivement. Attention à remettre le même UUID ou à le mettre à jour dans les fichiers qui y font référence comme /etc/fstab ou /etc/initramfs-tools/conf.d/resume (spécifie le swap utilisé pour l’hibernation).

Note que lorsqu’on a besoin de plusieurs volumes RAID de même niveau sur le même jeu de disques, une alternative à la création de plusieurs ensembles RAID consiste à créer un seul ensemble RAID et à utiliser LVM pour créer des volumes logiques par dessus. C’est plus souple pour la gestion des volumes et de leur taille. Mais cela ne peut être fait que lors de la création. On ne peut pas transformer en LVM un volume qui ne l’est pas sans le détruire.

@PascalHambourg
Désolé pour la réponse tardive. Je suis en déplacement professionnel, pas trop le temps en ce moment.
Puis Chrome qui m’affiche une page blanche quand j’arrive sur le forum… le temps que je percute, me voila 4 jours plus tard :frowning:

Sinon, merci pour la marche à suivre. Je regarderai ce week end. Je te tiens informé :wink:

Bonne journée à toi

Salut @PascalHambourg
Comme promis, je reviens vers toi pour te donner des news.

J’ai suivi ce que tu m’as donné comme instruction… ca a bien commencé… j’ai réussi à redimensionner la partition md0… mais au moment de réduire sda1, tout s’est planté et j’ai littéralement scratché le système.

J’avais heureusement fait des sauvegardes de /etc /home et de /var

Après que mon envie de faire voler le serveur par la fenêtre ait disparue, j’ai pris mon courage à deux mains et j’ai tout réinstallé… ca m’a pris 2 nuits quasi complètes après le boulot

Entre la réinstallation de owncloud (rapide), postfix/dovecot (trèèèèèèèès long), un problème avec ufw (dont je n’ai pas sauvegardé mes règles car située dans /lib) qui m’a fait perdre pas mal de temps, le serveur est enfin opérationnel…

La sauvegarde des fichiers de conf m’a bien aidé… je n’ai pas du tout reconfigurer pas à pas… juste installer les soft et copier les fichiers… il me reste que des babioles à paramétrer mais rien de transcendant…

Et l’avantage, c’est que j’ai une config propre et configurée comme je le souhaitais… je me suis juste fait quelques cheveux blancs en plus…

Merci en tout cas de ton aide :wink:

Pour /var je ne vois pas trop l’intérêt. (surtout /var/cache )

Pour /etc je me permets de vous conseiller

sudo aptitude install etckeeper  git

et vous avez la configuration de la machine sous forme d’un dépôt git

fp2x@masime:/etc$ sudo du -m -s .git
13      .git
fp2x@masime:/etc$

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة

F. Petitjean

« On ne perd pas son temps en aiguisant ses outils. »
Proverbe français

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

Pour /var je ne vois pas trop l’intérêt. (surtout /var/cache )

J’ai sauvegardé ce dossier surtout pour www. J’avais des choses importantes dedans :wink:

Merci pour l’info. J’espère sincèrement ne pas en arriver à devoir tout réinstaller une nouvelle fois mais je garde l’info au chaud