После обновления до Ubuntu 12.04 LTS в моем сервере grub начал жаловаться и выдавать ошибки о моем raid-массиве, все, похоже, все еще работает, но это немного расстраивает из-за того, что grub дает ошибки.
Setting up grub-pc (1.99-21ubuntu3.7) ... error: found two disks with the index 2 for RAID md0. error: superfluous RAID member (3 found).
Я получаю много таких ошибок при обновлении grub.
Факты таковы: у меня три идентичных диска в наборе raid5, на двух дисках есть один основной раздел, который добавляется в массив, но третий диск добавляется без основного раздела. то есть. mdam --manage /dev/md_d0 --add /dev/sdc
Я предполагаю, что это причина жалобы личинки.
С момента обнаружения этой проблемы я отключил диск, на котором отсутствует основной раздел, создал основной раздел, проверил, что он выглядит так же, как в cfdisk /dev/xxx
, а затем Print Partition table
. И попытался добавить новый раздел в массив raid, и тогда я получаю сообщение о том, что раздел слишком мал для добавления в массив raid.
> sudo mdadm /dev/md_d0 --add /dev/sdc1
mdadm: /dev/sdc1 not large enough to join array
Все таблицы разделов выглядят одинаково,
Partition Table for /dev/sdc First Last # Type Sector Sector Offset Length Filesystem Type (ID) Flag -- ------- ----------- ----------- ------ ----------- -------------------- ---- Pri/Log 0 2047* 0# 2048*Free Space None 1 Primary 2048* 3907029167* 0 3907027120*Linux raid auto (FD) None Partition Table for /dev/sdd First Last # Type Sector Sector Offset Length Filesystem Type (ID) Flag -- ------- ----------- ----------- ------ ----------- -------------------- ---- Pri/Log 0 2047* 0# 2048*Free Space None 1 Primary 2048* 3907029167* 0 3907027120*Linux raid auto (FD) None Partition Table for /dev/sde First Last # Type Sector Sector Offset Length Filesystem Type (ID) Flag -- ------- ----------- ----------- ------ ----------- -------------------- ---- Pri/Log 0 2047* 0# 2048*Free Space None 1 Primary 2048* 3907029167* 0 3907027120*Linux raid auto (FD) None
Или действительно, если вывести таблицу разделов в формате raw Данные в cfdisk есть некоторые различия, но я не могу понять, что это значит.
-> diff sde.raw sdc.raw 1c1 Disk Drive: /dev/sde --- Disk Drive: /dev/sdc 30c30 0x1B0: 00 00 00 00 00 00 00 00 B7 E9 70 74 00 00 00 20 --- 0x1B0: 00 00 00 00 00 00 00 00 4B 0C 58 1C 00 00 00 20
Я понял, что могу попытаться скопировать mbr с одного из рабочих дисков, используя dd, но все равно получаю ту же ошибку, даже если таблица разделов идентична в необработанном выводе cfdisk.
$ sudo dd if=/dev/sdd of=/tmp/sdd-mbr.bin bs=512 count=1 $ sudo dd if=/tmp/sdd-mbr.bin of=/dev/sdc bs=512 count=1
$ cat /proc/partitions major minor #blocks name 8 48 1953514584 sdd 8 49 1953513560 sdd1 8 32 1953514584 sdc 8 33 1953513560 sdc1 8 64 1953514584 sde 8 65 1953513560 sde1
Теперь необработанное сравнение таблицы разделов дает идентичный вывод, и разделы, похоже, имеют одинаковый размер, но я все еще получаю ту же ошибку при попытке добавить /dev/sdc1
в массив ,
Наверное, мой вопрос: есть ли способ исправить это, не разбирая весь массив и не создавая его заново?
Вывод из mdadm -D /dev/md_d0
массива все еще перестраивается так как я снова добавил / dev / sdc.
/dev/md_d0: Version : 0.90 Creation Time : Sat Aug 14 21:06:13 2010 Raid Level : raid5 Array Size : 3907028992 (3726.03 GiB 4000.80 GB) Used Dev Size : 1953514496 (1863.02 GiB 2000.40 GB) Raid Devices : 3 Total Devices : 3 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Fri Jan 11 18:36:06 2013 State : clean, degraded, recovering Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 64K Rebuild Status : 53% complete UUID : 74998045:22316376:01f9e43d:ac30fbff (local to host server) Events : 0.19988 Number Major Minor RaidDevice State 3 8 32 0 spare rebuilding /dev/sdc 1 8 64 1 active sync /dev/sde 2 8 48 2 active sync /dev/sdd
Теперь я понимаю, что похоже, что весь массив состоит из реальных устройств, а не из разделов, тогда возникает вопрос, почему sdd1 & amp; Разделы sde1 остаются на жестких дисках и перезаписываются в / dev / sdc, как только я добавляю их в массив.
Вам необходимо отключить HPA на вашем диске.
$ hdparm -N /dev/sdc
/dev/sdc:
max sectors = 586070255/586072368, HPA is enabled
$ hdparm -N p586072368 /dev/sdc
«p» необходимо для сохранения после перезагрузки. Чем вам нужно перезагрузить компьютер и добавить диск в RAID
Хорошо, что происходит, вы изначально создали массив из целых дисков без каких-либо разделов. Похоже, что вы, возможно, позже добавили таблицу разделов, которая повреждает массив. Вы не можете добавить раздел диска сейчас, потому что он слишком мал, так как mdadm ожидает весь диск.
Ошибки, которые вы видите в grub, связаны с тем, что в формате метаданных 0.9 он не может определить, должны ли метаданные raid применяться ко всему диску или разделу. Вам следует перестроить массив, используя более новый формат метаданных, и желательно на этот раз сначала разбить отдельные диски.