# [mdadm] Suppression array etc...

## MasterPrenium

Bonjour tout le monde,

Tout d'abord, je suis possesseur d'un carte mère ayant un fake-raid intel, après avoir vu que dmraid ne gérait pas le raid5, j'ai voulu tester ce que pourrait me donner du raid5 logiciel.

J'ai donc créer mon array raid avec mdadm :

```
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1
```

Là tout c'est bien passé, maintenant j'aimerai supprimer cette array, puisque tout ce que je voulais faire était un simple test... Déjà là pas évident à trouver comment faire, j'ai googler pas mal, mais pas moyen de trouver une solution qui marche... :

```
 # cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4]

unused devices: <none>
```

-après un mdadm --stop /dev/md1 :

```
 mdadm --manage /dev/md1 --remove /dev/sda1

mdadm: cannot get array info for /dev/md1
```

-Si jamais je réesaye de créer l'array :

```
mdadm: Cannot open /dev/sda1: Device or resource busy

mdadm: Cannot open /dev/sdb1: Device or resource busy

mdadm: Cannot open /dev/sdc1: Device or resource busy
```

-Bien évidemment les disques /dev/sdX ne sont pas montés !

-on fichier /etc/mdadm.conf est vide !

Bref, j'ai aussi tenter de reboot plusieurs fois etc, rien n'y fais, impossible de supprimer l'array ou de faire quoi que ce soit sur les disques ...

Dans quel fichier sont stockées les infos du raid ? Vu que ce n'est pas dans /etc/mdadm.conf çà doit bien être quelque part?

Que puis-je faire pour supprimer complètement une bonne fois pour toute cette array ?

Merci d'avanceLast edited by MasterPrenium on Tue Nov 04, 2008 12:43 pm; edited 2 times in total

----------

## ghoti

 *MasterPrenium wrote:*   

> Dans quel fichier sont stockées les infos du raid ?

 

Je n'ai pas analysé le processus en profondeur mais il me semble que les infos sont conservées dans certains superblocks des partitions.

Au démarrage, le kernel fait une analyse très élaborée dès qu'il rencontre une partition de type "FD", en essayant de lui trouver d'autres partitions correspondantes ...

Si tes arrays ne participent pas directement au système, il suffit de les démonter de manière classique et de traiter les partoches à grand coups de fdisk ...  :Wink: 

S'ils participent au système, alors il faut passer par un liveCD quelconque pour les isoler.

Si je me souviens bien, les liveCD Gentoo ont même une option du genre "noraid".

Il y a peut-être plus simple mais, encore une fois, je n'ai pas trop creusé ...

----------

## anigel

 *ghoti wrote:*   

> Je n'ai pas analysé le processus en profondeur mais il me semble que les infos sont conservées dans certains superblocks des partitions.
> 
> Au démarrage, le kernel fait une analyse très élaborée dès qu'il rencontre une partition de type "FD", en essayant de lui trouver d'autres partitions correspondantes ...

 

+1 c'est exactement ça le principe.

Sinon, pour répondre à notre ami, le calcul est assez simple : si tes partitions ne contiennent rien de spécial, tu les supprime simplement avec fdisk, et tu reboot (obligatoire pour que le kernel prenne connaissance de la nouvelle table de partition). Le kernel ne verra plus ces partitions, et donc le device-mapper ne sera pas invoqué : ton /dev/md1 disparaîtra tout seul (merci udev).

----------

## MasterPrenium

Le truc c'est que même si les disques n'avaient rien à voir avec le système, le kernel semblait quand même les verouiller...

La solution qui a marché :

- booter en livecd

- un coup de fdisk et de mkfs sur chaque disque  :Smile: 

----------

## MasterPrenium

Je reprend mon thread pour un problème toujours lié à mdadm....

J'ai 3 disques sata dans un raid 5 avec mdadm, bon je les débranche, il me reste connectés 2 disques pata : le disque système et un autre...

Pour le disque système tout va bien, pour l'autre:

Quand j'active le support de device-mapper dans le kernel, je ne peux plus monter ce disque (il n'y a qu'une partition)... j'ai systématique un message comme quoi la ressource est occupée .... Apparemment devicemapper le block, car si je désactive device-mapper dans le kernel, plus aucun problème...

Je précise que ce disque n'a JAMAIS fait partie d'un raid hard ou soft...

```
mdadm --examine /dev/hdb1

mdadm: No md superblock detected on /dev/hdb1.
```

Si quelqu'un a une explication ? Car j'aimerai bien quand même avoir mon device-mapper ^^...

----------

## anigel

Tu as quoi comme partition sur ce disque ?

----------

## MasterPrenium

une partition ntfs.....

----------

## dapsaille

C'est toi qui lances mdadm --examine sur ce disque  ou bien c'est cela que tu vois dans les logs ?

----------

## MasterPrenium

C'est moi ....

Le prob est que si jamais je mets device-mapper dans le kernel ... il m'est totalement impossible de monter le disque, car il est "occupé" d'après les messages d'erreur...

Pourtant à aucun moment je vois un message dans dmesg etc qui parle de ce disque au niveau du mapper ( juste la détection normale du disque quoi)...

----------

## dapsaille

EDIT = Suis complètement à coté de la plaque je n'avais pas vu que tu passais en 100% soft .. mais bon je laisse ce message ^^

Okok .. on reprend ..

  Fake raid intel sur ich*r donc ..

 Tes disques sata sont tous plugués sur l'ich*r ou bien tu as un deuxième chip pour 2 ports sata ou + à coté ? 

(souvent le cas pour garder la compatibilité IDE)

Si tu as un deuxième chip (jmicron en général) plugues ton disque ntfs dessus pour voir ce que cela te dit (configuré en ahci ou ide dans le bios bien sur)

Si tu configure dans ton bios en mode RAID les disques sont considérés comme raid par l'os .. donc en effet ca peut mettre la grouille

(même si il parrait que le intel matrix raid permet de créer plusieurs aggregats de disques c'est trop bancal)

Essayes de voir déja donc si tu n'as pas des prises sata hors ich*r afin de valider .

C'est ce genre de c...eries qui m'as fait acheter une carte raid hardware ^^

Quel est le modèle de ta carte maman ?

EDIT = Heuu au fait .... mdadm c'est bien gentil mais rien à voir avec le fake raid il me semble .... 

configures ton fakeraid dans le fakebios du raid (ca sent le fake tout ca ^^)

ensuite lance un dmraid -ay et la tes devices vont apparaitre .. tu ne peux pas créer de grappes raid à partir de l'os si tu as activé le mode raid dans le bios ...

----------

## MasterPrenium

Merci pour ta rep,

Donc pour commencer, ma carte mère c'est une carte Serveur : Supermicro X7DVL-E

En fait, il y a un controlleur sata de 6 ports (intel ESB2), et j'ai après un autre port IDE (sur lequel est mon hdb et mon disque système) : apparemment sur le controleur ESB aussi.... Mais les IDE ne peuvent pas être mis en raid avec les SATA

J'ai voulu faire du raid soft pour "tester" puisque le raid 5 n'est pas supporter par dmraid pour le fakeraid :s (enfin y'a des patchs qui sont censé fonctionner mais c'est pas génial)

Le problème en fait, j'ai repassé mes 3 disques sata en raid 1, en fakeraid avec dmraid : là j'ai aucun problème pour eux, cependant pour avoir dmraid, il faut avoir activer device-mapper dans le kernel... Et si je l'active, le kernel me block l'accès à mon /dev/hdb1.... (Pour info il apparait dans /dev/mapper :s) pourtant il ne fait pas partie d'un raid, et n'en a jamais fait partie ....

Dans le bios j'ai mis le sata sur "Enhanced" pour avoir du sata + ide en même temps mais j'active bien le raid que sur le sata ! ( de toute façon sur l'ide avec 2 disques sur la même nappe xD)

Egalement pour pouvoir booter, j'ai du passer un nodmraid dans la ligne de lancement du kernel, sinon il me block aussi mon disque système ....

PS : si je passe le sata sur ahci dans le bios, çà désactive donc le raid, mais j'ai toujours impossible de monter le / avec l'option dodmraid .... (device busy etc... :/)

----------

## dapsaille

et un lsof /dev/hdb* dis quoi ?

----------

## MasterPrenium

# lsof /dev/hdb*

Ne renvoit rien du tout :/

EDIT : je l'ai fait aussi sur lsof /dev/mapper/hdb1

Et ne renvoit rien non plus ^^

Je rajoute ces infos aussi si çà peut aider :

```
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09)

00:1f.2 RAID bus controller: Intel Corporation 631xESB/632xESB SATA RAID Controller (rev 09)
```

Et je suis en kernel 2.6.27-r1

Je viens également de mettre le patch pour avoir du raid5 sur ce kernel, le raid5 des 3 sata fonctionne, mais me block toujours mes IDE .... :s

----------

## dapsaille

tu as quelque chose dans /dev/mapper en hdb1 ? ...

 Je ne comprend pas la .. tu n'aurais pas mélangé le raid hard et soft ? 

 Car dans ton bios si tu es en raid cela n'as rien à voir ..

 Virres toutes les options raid de ton bios et ensuite fait ton raid logiciel sous linux, c'est de cette "boulette" que viens ton problème.

Si tu souhaites avoir du raid sous linux de qualité virres toutes les options bios concernant le raid  et configures le uniquement en soft.

 Si tu souhaites avoir un dual boot windows/linux en raid .... bon courage c'est faisable mais prépare toi à tout sauvegarder chaque semaine ^^Last edited by dapsaille on Mon Nov 10, 2008 12:53 pm; edited 1 time in total

----------

## MasterPrenium

```
ls /dev/mapper/

control  hdb1  isw_cciffhceef_Volume0
```

le isw....Volume0 c'est mon volume raid 5 qui lui marche bien là pour le moment ...

----------

## dapsaille

oui donc ca confirme bien ..

 Tu est en fakeraid et non pas en raid purement logiciel ...

----------

## MasterPrenium

Oui ....

J'ai également vu çà :

dmraid -s

```
*** Group superset isw_cciffhceef

--> Active Subset

name   : isw_cciffhceef_Volume0

size   : 625154560

stride : 128

type   : raid5_la

status : ok

subsets: 0

devs   : 3

spares : 0

*** Set

name   : pdc_daaabaidcd

size   : 312581632

stride : 128

type   : stripe

status : ok

subsets: 0

devs   : 1

spares : 0
```

Et apparemment le truc pdc_XXXX

C'est bien mon hdb qui est dedans ... Sauf que j'ai jamais défini de raid dessus ... Je me répète mais bon xD ... Je comprends pas pourquoi il croit qu'il y a un raid :

```
DEBUG: checking pdc device "/dev/hda"

DEBUG: set status of set "pdc_daaabaidcd" to 16

DEBUG: checking pdc device "/dev/hda"

DEBUG: set status of set "pdc_daaabaidcd" to 16
```

On m'avait dit quelques posts plus haut que mdadm créait une array raid à partir de superblock inscrits sur un disque ... Qu'en est-il pour dmraid ? Il utilise le même genre de fonctions ? Si oui ... Comment faire pour supprimer ces superblocks? Histoire d'être bien sur qu'il n'y en a pas ^^

EDIT : Apparemment pdc_XXXX corresponds à promise, sauf que je n'ai pas de controleur promise dans lspci , et en plus, aucun support promise dans le kernel pour quelque controleur que ce soit ....

----------

## dapsaille

dmraid c'est pour gérer le fakeraid ..

 mdadm ca permet de créer un raid purement logiciel ..

 Donc backupe tes données du raid5, vas dans le bios virres toutes les options raid

ensuite avec mdadm recrées ton raid5 et tu verras ca ira mieux :p

Tu as beau avoir crée manuellement ton aggregat raid5, dans le bios tous tes disques sont dans le pool disponible pour le raid.

----------

## MasterPrenium

C'est quand même dommage d'avoir une CM qui gère du raid (même si c'est du fake xD) et de pas en profiter  :Sad: ... Surtout qu'il est plus rapide en fakeraid qu'en soft :p ( ~60Mo)

En plus en désactivant TOUTES les options de raid dans le bios, si je passe pas un nodmraid au kernel, çà me bloque mon disque système, et si y'a device-mapper dans le kernel çà me bloque quand meme mon hdb .... :/ malgré qu'il n'y ait aucune option de raid dans le bios etc :/ Moi pas tout comprendre

----------

## MasterPrenium

J'ai à présent mon système sur mon raid 5

Et mon accès à hdb est débloqué, cependant pas celui à hda xD maintenant c'est lui qui est blocké, et il apparait dans mapper : pdc_daaabaidcd

Apparemment dmraid me créer un périphérique dans /dev/mapper pour le premier disque ide qu'il détecte....

Autre problème toujours aussi étrange :

J'ai mis un 4° disque sata, qui dans le temps , était en raid0 sur une carte mère nividia fakeraid pareil, et maintenant ce disque je le vois :/dev/mapper/nvidia_gfjebjab ....A croire qu'il y a des infos de son passage sur Nvraid qui sont restées dedans ... Comment "supprimer" ces infos?

----------

## dapsaille

virres dmraid du boot

fdiskise tes disques comme il faut et virres toutes les options raid ..

 ne penses plus raid une fois ton disque fdiské et ensuite crée le manuellement

----------

## MasterPrenium

même après un coup de fdisk sur mes 2 disques IDE, si je lance un dmraid, toujours même problème : disque /dev/hd* qui se retrouve blocké, et un device bizare dans /dev/mapper :'(

----------

## dapsaille

tu as viré les superblock ? 

mdadm --zero-superblock /dev/$DEVICE

----------

## MasterPrenium

Si je tente sur /dev/hdX, je ne peux pas : device busy :

```
mdadm: Couldn't open /dev/hda1 for write - not zeroing
```

Et sur celui du mapper : /dev/mapper/XX

```
mdadm: Unrecognised md component device - /dev/mapper/pdc_daaabaidcd
```

----------

