Заменен контроллер SATA, программный RAID (mdadm) перестал загружаться: grub rescue> нет такого диска

У меня есть относительно старый сервер, у которого нет портов SATA на материнской плате (Dell Precision Workstaion 650). Также к контроллеру подключены дешевый контроллер FakeRAID (набор микросхем VIA VT6421) и два диска Seagate 3 ТБ (ST3000DM001). Контроллер был настроен на использование дисков в режиме Stripe (не RAID): я в основном использовал его как контроллер SATA, а не как контроллер RAID. Вместо этого мне удалось установить программный (mdadm) RAID в этой системе. Каждый из двух физических дисков разбит на разделы следующим образом:

Number  Start (sector)    End (sector)  Size        Code  Name
1                2048            4095   1024.0 KiB  EF02  BIOS boot partition
2                4096         3186687   1.5 GiB     EF00  EFI System
3             3186688      5856337919   2.7 TiB     FD00  Linux RAID
4          5856337920      5860532223   2.0 GiB     8200  Linux swap

Итак, имеется:

  1. 1 МБ нераспределенного свободного пространства в начале каждого диска, как Также есть дешевый контроллер FakeRAID (набор микросхем VIA VT6421) и два диска Seagate 3 ТБ ...

    У меня есть относительно старый сервер, у которого нет портов SATA на материнской плате (Dell Precision Workstaion 650). Также к контроллеру подключены дешевый контроллер FakeRAID (набор микросхем VIA VT6421) и два диска Seagate 3 ТБ (ST3000DM001). Контроллер был настроен на использование дисков в режиме Stripe (не RAID): я в основном использовал его как контроллер SATA, а не как контроллер RAID. Вместо этого мне удалось установить программный (mdadm) RAID в этой системе. Каждый из двух физических дисков разбит на разделы следующим образом:

    Number  Start (sector)    End (sector)  Size        Code  Name
    1                2048            4095   1024.0 KiB  EF02  BIOS boot partition
    2                4096         3186687   1.5 GiB     EF00  EFI System
    3             3186688      5856337919   2.7 TiB     FD00  Linux RAID
    4          5856337920      5860532223   2.0 GiB     8200  Linux swap
    

    Итак, имеется:

    1. 1 МБ нераспределенного свободного пространства в начале каждого диска, как Также есть дешевый контроллер FakeRAID (набор микросхем VIA VT6421) и два диска Seagate 3 ТБ ...

      У меня есть относительно старый сервер, у которого нет портов SATA на материнской плате (Dell Precision Workstaion 650). Также к контроллеру подключены дешевый контроллер FakeRAID (набор микросхем VIA VT6421) и два диска Seagate 3 ТБ (ST3000DM001). Контроллер был настроен на использование дисков в режиме Stripe (не RAID): я в основном использовал его как контроллер SATA, а не как контроллер RAID. Вместо этого мне удалось установить программный (mdadm) RAID в этой системе. Каждый из двух физических дисков разбит на разделы следующим образом:

      Number  Start (sector)    End (sector)  Size        Code  Name
      1                2048            4095   1024.0 KiB  EF02  BIOS boot partition
      2                4096         3186687   1.5 GiB     EF00  EFI System
      3             3186688      5856337919   2.7 TiB     FD00  Linux RAID
      4          5856337920      5860532223   2.0 GiB     8200  Linux swap
      

      Итак, имеется:

      1. 1 МБ нераспределенного свободного пространства в начале каждого диска, как

        У меня есть относительно старый сервер, на материнской плате которого нет портов SATA (Dell Precision Workstaion 650). Также к контроллеру подключены дешевый контроллер FakeRAID (набор микросхем VIA VT6421) и два диска Seagate 3 ТБ (ST3000DM001). Контроллер был настроен на использование дисков в режиме Stripe (не RAID): я в основном использовал его как контроллер SATA, а не как контроллер RAID. Вместо этого мне удалось установить программный (mdadm) RAID в этой системе. Каждый из двух физических дисков разбит на разделы следующим образом:

        Number  Start (sector)    End (sector)  Size        Code  Name
        1                2048            4095   1024.0 KiB  EF02  BIOS boot partition
        2                4096         3186687   1.5 GiB     EF00  EFI System
        3             3186688      5856337919   2.7 TiB     FD00  Linux RAID
        4          5856337920      5860532223   2.0 GiB     8200  Linux swap
        

        Итак, имеется:

        1. 1 МБ нераспределенного свободного пространства в начале каждого диска, как

          У меня есть относительно старый сервер, на материнской плате которого нет портов SATA (Dell Precision Workstaion 650). Также к контроллеру подключены дешевый контроллер FakeRAID (набор микросхем VIA VT6421) и два диска Seagate 3 ТБ (ST3000DM001). Контроллер был настроен на использование дисков в режиме Stripe (не RAID): я в основном использовал его как контроллер SATA, а не как контроллер RAID. Вместо этого мне удалось установить программный (mdadm) RAID в этой системе. Каждый из двух физических дисков разбит на разделы следующим образом:

          Number  Start (sector)    End (sector)  Size        Code  Name
          1                2048            4095   1024.0 KiB  EF02  BIOS boot partition
          2                4096         3186687   1.5 GiB     EF00  EFI System
          3             3186688      5856337919   2.7 TiB     FD00  Linux RAID
          4          5856337920      5860532223   2.0 GiB     8200  Linux swap
          

          Итак, имеется:

          1. 1 МБ нераспределенного свободного пространства в начале каждого диска, как Контроллер был настроен на использование дисков в режиме Stripe (не RAID): я в основном использовал его как контроллер SATA, а не как контроллер RAID. Вместо этого мне удалось установить программный (mdadm) RAID в этой системе. Каждый из двух физических дисков разбит на разделы следующим образом:

            Number  Start (sector)    End (sector)  Size        Code  Name
            1                2048            4095   1024.0 KiB  EF02  BIOS boot partition
            2                4096         3186687   1.5 GiB     EF00  EFI System
            3             3186688      5856337919   2.7 TiB     FD00  Linux RAID
            4          5856337920      5860532223   2.0 GiB     8200  Linux swap
            

            Итак, имеется:

            1. 1 МБ нераспределенного свободного пространства в начале каждого диска, как Контроллер был настроен на использование дисков в режиме Stripe (не RAID): я в основном использовал его как контроллер SATA, а не как контроллер RAID. Вместо этого мне удалось установить программный (mdadm) RAID в этой системе. Каждый из двух физических дисков разбит на разделы следующим образом:

              Number  Start (sector)    End (sector)  Size        Code  Name
              1                2048            4095   1024.0 KiB  EF02  BIOS boot partition
              2                4096         3186687   1.5 GiB     EF00  EFI System
              3             3186688      5856337919   2.7 TiB     FD00  Linux RAID
              4          5856337920      5860532223   2.0 GiB     8200  Linux swap
              

              Итак, имеется:

              1. 1 МБ нераспределенного свободного пространства в начале каждого диска, как требуется GRUB для дисков GPT в устаревшей версии BIOS
              2. Раздел № 1 (1 МБ): загрузочный раздел BIOS для GRUB
              3. Раздел № 2 (1,5 ГБ) для / boot => md0
              4. Раздел № 3 (2,7 ТБ) for / => md1
              5. Раздел № 4 (2 ГБ) для swap => md127

              Разделы № 2, № 3 и № 4 собраны в программные RAID-массивы md0, md1 и md127 (с использованием raid1):

              $ cat /proc/mdstat 
              Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
              md0 : active raid1 sdb2[2] sda2[3]
                  1590208 blocks super 1.2 [2/2] [UU]
              
              md1 : active raid1 sdb3[2] sda3[3]
                  2926444352 blocks super 1.2 [2/2] [UU]
              
              md127 : active raid1 sdb4[1] sda4[0]
                  2097088 blocks [2/2] [UU]
              

              Grub (версия 1.99) устанавливается индивидуально на каждый из двух физических дисков.

              Эта установка может загружаться и более или менее успешно работает (Ubuntu Server 12.04 i686) в течение последних двух лет, за исключением пары Отказы HDD (думаю, в основном из-за перегрева, охлаждение было не очень). Дважды отказавший диск удалялся, и новый диск был успешно добавлен и синхронизирован в массиве.

              Теперь я заменяю контроллер жесткого диска, дешевый FakeRAID (old_controller) с Supermicro SAT2-MV8 8 Port SATA HBA PCI-X (new_controller), который представляет собой чистый контроллер SATA, а не FakeRAID, потому что разъемы старых контроллеров действительно хлипкие и иногда вызывают ошибки интерфейса.

              ПРОБЛЕМА теперь в том, что я не могу загрузить систему без old_controller. В частности, если ни один из дисков не подключен к old_controller, это всегда приводит к ошибке «нет такого диска» и командной строке grub rescue. Затем в режиме восстановления команда «ls» не выводит (md / 0), пока отображаются разделы физического диска. Если, однако, один из дисков подключен к old_controller, система загружается нормально, и если в этом случае grub прерывается, команда «ls» показывает (md / 0) вместе с другими разделами диска.

              1. disk1 и disk2 на new_controller
              2. disk1 на new_controller
              3. disk2 на new_controller
              4. disk1 и disk2 на new_controller при полном удалении old_controller с материнской платы
              5. disk1 на new_controller при полном удалении old_controller с материнской платы
              6. disk2 на new_controller с полностью удаленным old_controller с материнской платы

              Команда GRUB "ls" в этих случаях НЕ перечисляет (md / 0)

              Почему GRUB не может собрать массив md, если ни один из дисков не подключен к old_controller? В целом, не могли бы вы помочь мне заставить систему работать без old_controller?

              Не могли бы вы порекомендовать хорошее место для подробного чтения о том, как программный RAID собирается при загрузке. Особенно с GRUB? Как диски для массива MD определяются GRUB? Как замененный контроллер SATA может повлиять на этот процесс?

              Спасибо!

2
задан 9 December 2015 в 19:44
1 ответ

Я отвечу на свой вопрос.

Вкратце: обновление с GRUB1.99 до GRUB 2.02 beta2 РЕШЕНО проблему .

Каким-то образом модуль GRUB mdraid1x из GRUB1.99 не мог правильно определять RAID, когда диски были подключены к новому контроллеру . Я не уверен, в чем точная разница между контроллерами SATA. Одна вещь, однако, заключается в том, что хотя ни один из них не смог определить правильный размер дисков 3 ТБ, их сообщенные значения были разными: 800 МБ на old_controller и 2 ТБ на new_controller. Возможно, это каким-то образом повлияло на способность mdraid1x обнаруживать разделы RAID.

Тем не менее, эта проблема, похоже, была исправлена ​​в GRUB 2.02 beta2.

1
ответ дан 3 December 2019 в 12:43

Теги

Похожие вопросы