sda et sdb specials de bloc pointer vers le même périphérique et se mélanger (RAID matériel ne fonctionne pas après une nouvelle installation de 12.04)

Je viens d'installer la dernière version d'Ubuntu 12.04 et visiblement il y a un problème. Je ne suis pas sûr si cela a quelque chose à voir avec le fait que j'ai un Raid 1 mais pour l'instant, j'ai sda et sdb qui pointent vers le même périphérique:

# blkid /dev/sda1: UUID="88aa922a-4304-406e-8abd-edc2e9064d79" TYPE="ext2" /dev/sda2: UUID="22b881d5-6f5c-484d-94e8-e231896fa91b" TYPE="swap" /dev/sda3: UUID="e1fa161b-b014-4a6b-831a-9d8f9e04be07" TYPE="ext3" /dev/sda5: UUID="6ed19886-1cba-47b2-9ce0-7c2ea8f9c3c9" SEC_TYPE="ext2" TYPE="ext3" /dev/sdb1: UUID="88aa922a-4304-406e-8abd-edc2e9064d79" TYPE="ext2" /dev/sdb2: UUID="22b881d5-6f5c-484d-94e8-e231896fa91b" TYPE="swap" /dev/sdb3: UUID="e1fa161b-b014-4a6b-831a-9d8f9e04be07" SEC_TYPE="ext2" TYPE="ext3" /dev/sdb5: UUID="6ed19886-1cba-47b2-9ce0-7c2ea8f9c3c9" TYPE="ext3" 

Mais je n'ai qu'un disque dur "visible", donc cela devrait être sda. Dans ma version précédente (10.10) / dev / mapper en a pris soin. Regardez les points de assembly ci-dessous. Dans la version actuelle, cela ne fonctionne plus, donc j'ai entré des points de assembly sda ​​à fstab au début, ce qui semblait fonctionner, mais quand j'ai exécuté la command mount, j'ai vu qu'une partition était montée en sdb au lieu de sda. J'ai donc essayé d'utiliser l'UUID comme système de files dans fstab mais le problème existe toujours. Ce qui est encore pire: il mélange les deux appareils. Cela signifie qu'il monte parfois une partition comme sda, au prochain redémarrage c'est soudain sdb. Et il se comporte comme il monterait différents disques durs, parce que ma partition / home était montée une fois comme sda, maintenant comme sdb et les changements et les réglages que j'ai fait dans le système de files ont été soudainement "réinitialisés". Que puis-je faire? Devrais-je supprimer toutes les promotions de blocs sdb?

 # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc nodev,noexec,nosuid 0 0 #/dev/mapper/pdc_ccfhbjbeeg3 / ext3 errors=remount-ro 0 1 #/dev/mapper/pdc_ccfhbjbeeg1 /boot ext2 defaults 0 2 #/dev/mapper/pdc_ccfhbjbeeg5 /home ext3 defaults 0 2 #/dev/mapper/pdc_ccfhbjbeeg2 none swap sw 0 0 #/dev/sda1 /boot ext2 defaults 0 2 #/dev/sda2 none swap sw 0 0 #/dev/sda3 / ext3 errors=remount-ro 0 1 #/dev/sda5 /home ext3 defaults 0 2 UUID=e1fa161b-b014-4a6b-831a-9d8f9e04be07 / ext3 errors=remount-ro 0 1 UUID=88aa922a-4304-406e-8abd-edc2e9064d79 /boot ext2 defaults 0 2 UUID=6ed19886-1cba-47b2-9ce0-7c2ea8f9c3c9 /home ext3 defaults 0 2 UUID=22b881d5-6f5c-484d-94e8-e231896fa91b none swap sw 0 0 

METTRE À JOUR
en passant, le programme d'installation Ubuntu affiche le tableau RAID et non les partitions. Voir aussi https://bugs.launchpad.net/ubuntu/+bug/973147

Regardez si vous pouvez cacher vos vrais disques si vous activez un raid. C'est peut-être un paramètre dans le BIOS RAID ou principal de votre PC.

J'ai eu des problèmes similaires avec CentOS 5.5 qui est parti après une mise à niveau à 5.6.

Après avoir parcouru un peu le web sur ces pseudo-raid-devices, j'ai suivi les conseils donnés et je les ai désactivés. Ensuite, je reconstruis à un pur raid logiciel avec des moyens Linux purs ( man mdadm ).

Sur le path, je n'ai pas perdu de données et j'ai gagné beaucoup d'espace – j'ai placé certaines de mes partitions dans une configuration RAID0 pour des données qui doivent être rapides et peuvent être restaurées très facilement.

Je soupçonne que vous avez un controller "faux RAID" . Ces controllers RAID ne fournissent qu'un support minimal dans le BIOS; la majeure partie du travail est effectuée dans un pilote Windows. Linux gère souvent mal ces controllers car il manque de pilotes Windows. Voir un seul UUID mais deux disques est un symptôme commun de faux RAID (le pilote Windows sait qu'il y a deux disques mais ils sont supposés avoir un contenu identique).

Si vous avez un faux périphérique RAID (et vous le faites probablement: les controllers RAID grand public sont presque toujours de faux RAID) et que vous ne partagez pas les disques avec Windows, désactivez le RAID dans le BIOS. Ensuite, activez le RAID logiciel de Linux, qui pour RAID-1 est supérieur à tous égards (sauf lorsque vous partagez les disques avec Windows).

Voir aussi le howto Ubuntu faux RAID , Comment différencier "faux RAID" du vrai RAID?

J'ai trouvé une solution très simple pour que mon RAID matériel (évidemment faux) fonctionne à nouveau.

Après avoir réinstallé Ubuntu 12.04, je n'ai pas redémarré mais je suis resté en mode d'essai. Ensuite, j'ai monté / et édité

 /usr/share/initramfs-tools/scripts/local-top/dmraid 

J'ai rajouté dmraid -ay après le dernier commentaire:

 # Activate any dmraid arrays that were not identified by udev and vol_id. dmraid -ay if devices=$(dmraid -r -c); then for dev in $devices; do dmraid-activate $dev done fi 

Je pense que c'est tout, mais j'ai d'abord ajouté

 dm-raid45 dm-mirror dm-region-hash 

à

 /etc/modules 

Je ne suis pas sûr si cela est important du tout, car après le premier démarrage (qui a finalement fonctionné sans retomber dans la console de maintenance), / etc / modules ne contenaient plus ces 3 modules, donc je suppose que vous pouvez l'omettre.

Quand j'exécute mount, je vois / dev / mapper monté à nouveau:

 /dev/mapper/pdc_ccfhbjbeeg3 on / type ext3 (rw,errors=remount-ro) /dev/mapper/pdc_ccfhbjbeeg1 on /boot type ext2 (rw) /dev/mapper/pdc_ccfhbjbeeg5 on /home type ext3 (rw) 

/dev/md* sont des périphériques RAID. Si vous avez configuré raid comme vous le prétendez, vous ne devez pas accéder directement aux disques sous-jacents ( /dev/sd* ).

Sortie blkid de ma configuration RAID (5):

 /dev/sda1: UUID="aac68ff3-3351-4a2a-82ea-7e897a1ad340" TYPE="swap" /dev/sda2: UUID="aadb3ed5-2365-04e5-b346-60fb1d3e86d5" UUID_SUB="10f3563d-0192-de95-5ca2-f72389ba2ea4" LABEL="localhost.localdomain:0" TYPE="linux_raid_member" /dev/sda3: UUID="401bb12a-05ca-74a0-24bc-a3406d480931" UUID_SUB="36083341-9766-5646-dc70-e58fb031c078" LABEL="localhost.localdomain:1" TYPE="linux_raid_member" /dev/sdc1: UUID="7981b4e0-a056-4eeb-98d7-a50a86e6f214" TYPE="swap" /dev/sdc2: UUID="aadb3ed5-2365-04e5-b346-60fb1d3e86d5" UUID_SUB="43ef231e-baf7-ddd5-c5ff-9415b328dd1a" LABEL="localhost.localdomain:0" TYPE="linux_raid_member" /dev/sdc3: UUID="401bb12a-05ca-74a0-24bc-a3406d480931" UUID_SUB="e034768e-8c1d-47c9-67f1-7f9dd255221c" LABEL="localhost.localdomain:1" TYPE="linux_raid_member" /dev/sdb1: UUID="d4d654c8-9eba-4c06-93b0-f4e753031950" TYPE="swap" /dev/sdb2: UUID="aadb3ed5-2365-04e5-b346-60fb1d3e86d5" UUID_SUB="033c2e47-f5e2-d3e6-193f-b528ded6781d" LABEL="localhost.localdomain:0" TYPE="linux_raid_member" /dev/sdb3: UUID="401bb12a-05ca-74a0-24bc-a3406d480931" UUID_SUB="409f0399-657b-39a3-9809-a8142e6f11cf" LABEL="localhost.localdomain:1" TYPE="linux_raid_member" 

Ce sont les partitions physiques

 /dev/md0: UUID="2a535ad6-130b-4d4a-b71c-04a708d24dbf" TYPE="ext4" /dev/md1: UUID="uHEOea-lPCj-XbNi-afv5-rL4o-2Kda-00Zec0" TYPE="LVM2_member" 

Ce sont les périphériques RAID, ils sont utilisés comme volumes physiques pour le LVM ci-dessous

 /dev/mapper/vg0-root: LABEL="Fedora-13-x86_64" UUID="791ec0fb-6fcd-42c7-9d47-f2fdf2d0ad8b" TYPE="ext4" /dev/mapper/vg0-tmp: UUID="32d0abc7-e035-4acf-a0fa-95109f6ef4e2" TYPE="ext4" /dev/mapper/vg0-mail: UUID="c6779ecb-bc95-4af7-8c10-b749b37d5989" TYPE="ext4" /dev/mapper/vg0-mm: UUID="f317f0be-971e-4d53-a8d0-cd7e685fb444" TYPE="ext4" /dev/mapper/vg0-data: UUID="c3f37fd7-4c21-4423-b33a-faf384386a4d" TYPE="ext4" /dev/mapper/vg0-srv: UUID="ebb588ea-53fc-4fba-90a9-47190823cec4" TYPE="ext4" /dev/mapper/vg0-virt: UUID="dd77de03-61b5-403b-ac23-a61fdbf1749a" TYPE="ext4" /dev/mapper/vg0-var: UUID="be092184-dd3a-4be1-83a0-624f01d25431" TYPE="ext4" /dev/mapper/vg0-home: UUID="88462fa0-2e4c-4b8b-971b-c014f15a2ec8" TYPE="ext4" 

Vous pouvez voir quels périphériques RAID sont disponibles en cochant /proc/mdstat , il devrait contenir quelque chose comme:

 $ cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] md1 : active raid5 sda3[0] sdc3[3] sdb3[1] 1950372864 blocks super 1.1 level 5, 512k chunk, algorithm 2 [3/3] [UUU] bitmap: 2/8 pages [8KB], 65536KB chunk md0 : active raid1 sda2[0] sdc2[2] sdb2[1] 524276 blocks super 1.0 [3/3] [UUU] unused devices: <none> 

Ici aussi, vous voyez les périphériques md* . Si vous ne les avez pas, vous n'utilisez pas vraiment RAID.

Le HOWTO RAID logiciel est une très bonne reference pour en savoir plus à ce sujet.

Puisque vous n'avez pas le double démarrage avec Windows, vous devriez cesser d'utiliser le fakeraid et rebuild le système en utilisant le raid du logiciel mdadm. Depuis que vous avez monté les disques individuels, vous avez corrompu le tableau de RAID, en obtenant les deux copys désynchronisées les unes avec les autres. Même si vous montez correctement le tableau, les lectures peuvent parfois renvoyer des données désynchronisées de l'autre disque, ce qui pourrait causer une corruption massive du système de files.

Notez que vous devez réellement supprimer le tableau raid pour le supprimer, pas simplement revenir en mode RAID, sinon Ubuntu reconnaîtra et essaiera de l'utiliser.

Rappelez-vous également que le raid ne remplace pas les sauvegardes. Il est destiné à augmenter la vitesse et / ou réduire les time d'arrêt en cas de défaillance matérielle; il ne protège pas contre la perte de données.