2

У меня есть пять необработанных образов дисков сервера (хранятся на одном внешнем жестком диске). Каждый из этих дисков содержит два раздела, которые называются "Linux raid autodetect" (fd) и являются членами RAID1 (связанные с загрузкой; 3 устройства (2 активных + 1 резервный)) и RAID5 (другие данные; 5 устройств).

Сопоставив устройства с помощью kpartx (или losetup , не имеет значения), я запускаю mdadm для сборки RAID-массивов. RAID1 успешно собран, и я могу монтировать его обычным способом. RAID5 собирается (на самом деле "активный", согласно /proc/mdstat), но:

  1. Все устройства « неисправны » и « удалены »;
  2. Я вижу дополнительные ошибки в dmesg (blk_update_request: I/O error, dev loop4, sector 16), после которых я получаю больше ошибок (md: super_written gets error=-5 ; md/raid:md0: Disk failure on loop5, disabling device.);
  3. Я не могу смонтировать массив RAID5 (достаточно справедливо).

Я перепробовал все предложения, которые мог найти в Интернете:

  1. Используйте ключ --force -> не будет работать;
  2. Используйте --create и --assume-clean -> не будет работать;
  3. Используйте --zero-superblock (который похож на 2) -> не будет работать.
  4. Если проверить с помощью --examine - все устройства-члены находятся в чистом состоянии, контрольная сумма верна и номера событий равны.

Что касается 2 и 3 - кажется, что я не могу писать на эти подключенные устройства. Я strace «d --zero-superblock и, при write() системный вызов, я получил EPERM (Operation not permitted) Не представляю, что мешает мне писать на подключенные устройства (согласно lsblk --fpm RAID5 устройство доступно для записи brw-rw----).

Еще одна своеобразная деталь. Выше я упомянул, что я получаю I/O error в секторе 16. Я проверил, что находится в секторе 16 (смещение 8192 байта) в каждом цикле (сопоставленном) устройстве RAID5. Оказалось, что он начинается с магического номера 0x6d746962 (ASCII: « bitm ») - вероятнее всего, связано bitmap :

00002000  62 69 74 6d 04 00 00 00  48 a7 15 94 56 79 23 ed  |bitm....H...Vy#.|<br/>
00002010  7d 7b 33 bc b9 f8 71 7a  d0 03 00 00 00 00 00 00  |}{3...qz........|<br/>
00002020  d0 03 00 00 00 00 00 00  00 b0 d8 0d 00 00 00 00  |................|

Я не уверен, связано ли это (по крайней мере, я не знаю, как играть с растровым изображением при сборке массива), но ясно, что система не может преуспеть с операцией blk_update_request (вероятно, она либо не имеет некоторых прав, либо не может найти то, что требуется).

Я специально не буду публиковать стену логов - пожалуйста, дайте мне знать, если это необходимо. Я приложу некоторую информацию, которая лучше описывает ситуацию.

md0 : active raid5 dm-6[5](F) dm-8[4](F) dm-2[3](F) dm-4[2](F) dm-10[1](F)
      464609280 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/0] [_____]
      bitmap: 0/1 pages [0KB], 65536KB chunk

А вот из - --detail вывода:

Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       2       0        0        2      removed
       4       0        0        4      removed
       6       0        0        6      removed
       8       0        0        8      removed

       1     252       10        -      faulty   /dev/dm-10
       2     252        2        -      faulty   /dev/dm-2
       3     252        4        -      faulty   /dev/dm-4
       4     252        8        -      faulty   /dev/dm-8
       5     252        6        -      faulty   /dev/dm-6

Сегодня третий день подряд моих "старается" ... Буду признателен за любые ваши советы. Благодарю.

1 ответ1

0

Итак, наконец, мне удалось собрать RAID5. Как оказалось, проблема была в следующем (я не упомянул об этом в своем вопросе). Образы дисков, которые у меня были, были в формате E01, разбитые на количество частей. Перед отображением разделов я использовал ewfmount (включая -X allow_root), чтобы "собрать" несколько E01 в один файл. Оказалось, что FUSE, несмотря на то, что вы видите ваши изображения, смонтированные как RW , каким-то образом блокирует их, делая устройства read-only (даже если вы редактируете /etc/fuse.conf).

Одна из моих попыток при устранении неполадок заключалась в том, чтобы экспортировать несколько E01 в пять обычных изображений в формате dd/raw и работать с ними напрямую, исключая ewfmount из «схемы».

Когда экспорт был завершен, я подключил сырые диски с помощью kpartx и смог собрать RAID5 без проблем.

Множественная Operation not permitted или проблемы с I/O error были очевидны и должны были дать подсказку, но я, по неизвестным причинам, отказал им (пока я не попытался изменить некоторые сектора на подключенных устройствах с помощью dd напрямую и не смог).

Вот и все.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .