[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mdadm "not large enough to join array" et fdisk incohérent



Bonjour à tous,

J'ai deux problème qui sont liés l'un à l'autre :

J'ai un RAID 1 tout bête (en mirroring donc) depuis quelques mois qui
tournait pas mal mais il est un peu spécial : chacun des deux disques
est chiffré avec luks et le raid contient des LVM, c'est à dire un
empilement comme celui-ci :

[_ext3_____|_ext3__]
[_lvm_lv___|_lv____]
[_lvm_vg___________]
[_lvm_pv___________]
[_raid1_soft_______]
[_fd_____][_fd_____]
[_luks___][_luks___]
[_disk1__][_disk2__]

La semaine dernière, un de mes disques a commencer à déconner (erreurs
d'écritures diverses, erreurs visible avec smartmontools et l'outil
propriétaire du constructeur confirmait ça). J'ai donc sorti ce disque
de ma grappe avec mdadm :

# mdadm --manage /dev/md0 --set-faulty /dev/dm-4
mdadm: set /dev/dm-4 faulty in /dev/md0
# mdadm --detail /dev/md0
[...blabla...]
   Number   Major   Minor   RaidDevice State
     0       0        0        0      removed
     1     254        5        1      active sync   /dev/dm-5
     2     254        4        -      faulty spare   /dev/dm-4

# mdadm --manage /dev/md0 --remove /dev/dm-4
mdadm: hot removed /dev/dm-4 from /dev/md0
# mdadm --detail /dev/md0
[...blabla...]
   Number   Major   Minor   RaidDevice State
     0       0        0        0      removed
     1     254        5        1      active sync   /dev/dm-5


J'ai renvoyé le disque au constructeur qui m'en a renvoyé un neuf de
même capacité aujourd'hui.
En le recevant, j'ai refait comme j'avais fait lors de la création du
raid, j'ai créé une partition vide (Empty, type=0) puis chiffré
celle-ci et voulu l'intégrer dans le raid tout simplement :

# mdadm --manage /dev/md0 --add /dev/dm-4
mdadm: /dev/dm-4 not large enough to join array

Le message me dit que c'est un problème de taille mais si je vérifie
les tailles, je ne trouve pas ça,  au contraire je trouve une
différence entre gnu-fdisk et fdisk

gnu-fdisk me dit ça :

# fdisk -l /dev/dm-4
GNU Fdisk 1.2.4
Disk /dev/dm-4: 1000 GB, 1000194048000 bytes
255 heads, 63 sectors/track, 121600 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

# fdisk -l /dev/dm-5
GNU Fdisk 1.2.4
Disk /dev/dm-5: 1000 GB, 1000194048000 bytes
255 heads, 63 sectors/track, 121600 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes


Alors que le fdisk de base sur Debian me dit :

# /sbin/fdisk.distrib -l /dev/dm-4
Disk /dev/dm-4: 1000.2 GB, 1000201188352 bytes
255 heads, 63 sectors/track, 121600 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

# /sbin/fdisk.distrib -l /dev/dm-5
Disk /dev/dm-5: 1000.2 GB, 1000201712640 bytes
255 heads, 63 sectors/track, 121600 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes


Mes deux questions sont :
Qui dois-je croire ?
Si c'est fidsk.distrib qui a raison, comment je peux dire à mon raid
d'utiliser un disque légèrement plus petit ?

--
Kévin


Reply to: