Избавиться от программного RAID.

Вопрос или проблема

Мы используем программный raid1 с помощью MDADM на Ubuntu 11.04. Как лучше избавиться от него, сохранив текущую систему?

Я хочу использовать аппаратный raid вместо этого.

Что я пытался сделать:
скопировал один диск программного raid с помощью HDClone. Настроил деградированный массив raid без второго диска. Затем скопировал все с /dev/md0 на запасной диск /dev/sdb с помощью утилиты dd. Однако копия была неточной, поэтому я не смог загрузиться. Я даже пытался переустановить grub, но ничего не помогло. Как лучше всего провести эту процедуру? Спасибо

Я бы перенес установку на другой диск. С помощью той же утилиты DD установил на него grub, чтобы он загружался нормально. После этого настройте аппаратный raid, а затем выполните DD с диска, который вы настроили, обратно на новый диск аппаратного raid и установите grub на этот диск, и все будет готово.

Создавая свой программный RAID, вы выбрали объединение нескольких дисков в один логический блок. В вашем случае RAID1 просто зеркалирует данные. Используя mdadm, вы сделали это путем разбиения на разделы и настройки ваших дисков соответствующим образом. Именно поэтому утилиты клонирования дисков, очевидно, не могут перенести ваши данные на другой диск.

Конечно, вы все еще можете скопировать (например, с помощью cp -a или любой другой утилиты копирования) ваши данные с RAID на любой другой запасной диск.

В случае, если нам нужно разрешить наш программный RAID, мы можем сделать это, например:

sudo umount /dev/md0
sudo mdadm --stop /dev/md0
sudo mdadm --zero-superblock /dev/sda1 /dev/sdb1

Адаптируйте настройки, показанные здесь для RAID /md0 и дисков /sda и /sdb под ваши настройки.

После этого нам нужно изменить тип раздела с RAID на обычный, установить Grub и обновить наш fstab.

Смотрите также этот вопрос

Это может немного запоздать…

dd — это лучший инструмент для клонирования сырых дисков (или разделов), и именно это он делает.

он копирует сырые данные без учета (и не зная) о файловой системе/структуре на источнике (данные + метаданные) > так что задумайтесь об этом на мгновение, так как это на самом деле означает, что он восстановит целевой объект точно таким же, как источник.
Или короче > dd’ing участника raid создаст участника raid …. что в вашем случае создаст второй деградированный массив….
И это определенно не то, что вы намеревались сделать…

также, хотя верно, что raid1 зеркалирует данные, это не значит, что сырые данные участников raid идентичны (некоторые метаданные будут различаться)

правильная процедура для повторного использования бывшего участника raid — это очистить его с помощью

dd if=/dev/zero of=/dev/sdb bs=4k (не копируйте и вставляйте это > измените выходное устройство в соответствии с вашими потребностями.)

это правильно обнулит любые данные/метаданные > это также хорошая идея для новых дисков…

если raid использовался как системный диск > запустите live cd (не копируйте с находящейся в работе системы)

разбейте/отформатируйте/смонтируйте очищенный диск
смонтируйте деградированный массив raid
и скопируйте содержимое raid с помощью

sudo rsync -HAXavx /media/raid1/ /media/newdisk/

следующее только когда raid был системным диском:

измените UUID в fstab на целевом томе (узнайте, каков новый UUID диска, запустив blkid)

скопируйте загрузочный сектор, запустив dd if=/dev/sda of=/dev/sdb bs=446 count=1 (а НЕ bs=512, как думают большинство людей > использование 512 перезапишет вашу таблицу разделов!!)

Сейчас я предполагаю, что целевой диск смонтирован как /media/newdisk

sudo mount –bind /dev /media/newdisk/dev

sudo mount –bind /sys /media/newdisk/sys

sudo mount –bind /proc /media/newdisk/proc

sudo chroot /media/newdisk/
(и после того как вы изменили UUID в fstab)

grub-install /dev/sdb (чтобы убедиться, что вы перезаписали свежий загрузчик)

update-grub

exit (это возвращает вас в ваше не chroot-окружение)

sudo reboot

🙂

.

Ответ или решение

Чтобы устранить программный RAID с использованием MDADM на Ubuntu 11.04 и перейти на аппаратный RAID, необходимо следовать определенной последовательности действий. Данная задача требует внимательного подхода, так как включает в себя работу с системой на уровне низкоуровневого доступа к данным.

Теория

Программный RAID1 обеспечивает зеркалирование данных, что делает ваши данные более защищенными от потери из-за отказа одного из дисков. Однако, некоторые пользователи предпочтительно использовать аппаратный RAID по ряду причин, таких как производительность или упрощение конфигурации. Переход от программного к аппаратному RAID включает перенос системных и пользовательских данных и переустановку загрузчика на новом массиве.

Пример

Вы уже попытались использовать HDClone и dd для переноса данных, но столкнулись с проблемами загрузки системы из-за несовпадения данных и метаданных. Инструмент dd, копируя данные на низком уровне, воспроизводит структуру исходного RAID, что не является желаемым в данном контексте.

Применение

Вот подробная инструкция по выполнению этой задачи:

  1. Подготовка аппаратного RAID:

    • Установите новый контроллер RAID и настройте его в BIOS или через утилиты контроллера.
  2. Резервное копирование данных:

    • Создайте резервные копии всех критичных данных на внешний носитель.
  3. Отключение программного RAID:

    • Остановите текущий программный RAID:
      sudo umount /dev/md0
      sudo mdadm --stop /dev/md0
      sudo mdadm --zero-superblock /dev/sda1 /dev/sdb1
    • Убедитесь, что вы указали правильные устройства, соответствующие вашей конфигурации.
  4. Очистка дисков:

    • Для удаления метаданных программного RAID используйте:
      dd if=/dev/zero of=/dev/sdb bs=4k
    • Примените это к каждому диску, который будет использоваться в новом массиве.
  5. Копирование данных:

    • Создайте новый раздел и файловую систему на одном из дисков или на другом запасном диске.
    • Смонтируйте старый и новый диски, затем скопируйте данные с помощью rsync:
      sudo rsync -HAXavx /путь/к/старому/разделу/ /путь/к/новому/разделу/
  6. Обновление системы и восстановление загрузки:

    • Измените UUID в файле fstab на новые значения (определите UUID с помощью blkid).
    • Восстановите загрузочный сектор:
      dd if=/dev/sda of=/dev/sdb bs=446 count=1
  7. Chroot и установка Grub:

    • Подключите системные директории для chroot:
      sudo mount --bind /dev /путь/к/новому/разделу/dev
      sudo mount --bind /sys /путь/к/новому/разделу/sys
      sudo mount --bind /proc /путь/к/новому/разделу/proc
    • Войдите в chroot и установите Grub:
      sudo chroot /путь/к/новому/разделу/
      grub-install /dev/sdb
      update-grub
      exit
  8. Финальные шаги:

    • Перезагрузите систему, чтобы убедиться в успешной загрузке с аппаратного RAID.

Следуя этим шагам, вы сможете успешно перейти с программного на аппаратный RAID, сохраняя текущую систему в работоспособном состоянии.

Оцените материал
Добавить комментарий

Капча загружается...