mdadm
похоже, не поддерживает рост массива с уровня 1 до уровня 10.
У меня есть два диска в RAID 1. Я хочу добавить два новых диска и преобразовать массив в массив RAID 10 с четырьмя дисками.
Моя текущая стратегия:
- Сделайте хорошую резервную копию.
- Создайте поврежденный массив RAID 10 с 4 дисками и двумя отсутствующими дисками.
rsync
the RAID 1 array with the RAID 10 array.
один диск из массива RAID 1.fail
and remove- Добавьте доступный диск в массив RAID 10 и дождитесь завершения повторной синхронизации.
- Уничтожьте массив RAID 1 и добавьте последний диск в массив RAID 10.
Проблема заключается в отсутствии избыточности на шаге 5.
Есть ли способ лучше?
linux
software-raid
mdadm
Ганс Малербе
источник
источник
Ответы:
С помощью linux softraid вы можете создать массив RAID 10 только с двумя дисками.
Названия устройств, используемые ниже:
md0
старый массив типа / уровня RAID1.md1
это новый массив типа / уровня RAID10.sda1
иsdb2
являются новые , пустые разделы (без данных).sda2
иsdc1
старые разделы (с важными данными).Замените имена в соответствии с вашим вариантом использования. Используйте, например,
lsblk
для просмотра вашего текущего макета.0) Резервное копирование, Резервное копирование, Резервное копирование, Резервное копирование ой и BACKUP
1) Создайте новый массив (4 устройства: 2 существующих, 2 отсутствуют):
Обратите внимание, что в этом примере макет
sda1
содержит отсутствующий аналог иsdb2
имеет другой отсутствующий аналог. Ваши данные наmd1
этом этапе небезопасны (фактически это RAID0, пока вы не добавите отсутствующие элементы).Для просмотра макета и других деталей созданного массива используйте:
Заметка! Вы должны сохранить макет массива:
2) Форматировать и монтировать. Они
/dev/md1
должны быть немедленно использованы, но должны быть отформатированы и затем смонтированы.3) Копировать файлы. Например, используйте rsync для копирования данных со старого RAID 1 на новый RAID 10. (это только примерная команда, прочитайте справочные страницы для rsync)
4) Сбой 1-й части старого RAID1 (md0) и добавление его в новый RAID10 (md1)
Заметка! Это сотрет данные с
sda2
. Ониmd0
все еще могут быть использованы, но только если другой участник рейда был в полном рабочем состоянии.Также обратите внимание, что при этом начнутся процессы синхронизации / восстановления
md1
. Для проверки состояния используйте одну из следующих команд:Подождите, пока восстановление не закончится.
5) Установите GRUB на новый массив (при условии, что вы загружаетесь с него). Некоторые Linux Rescue / Boot CD работает лучше всего.
6) Загрузиться на новом массиве. ЕСЛИ ЭТО РАБОТАЛО ПРАВИЛЬНО Уничтожить старый массив и добавить оставшийся диск в новый массив.
ТОЧКА НЕВОЗВРАТА
На этом этапе вы уничтожите данные о последнем члене старого массива md0. Будьте абсолютно уверены, что все работает.
И снова - дождитесь
md1
окончания восстановления .7) Обновление конфига mdadm
Не забудьте обновить
/etc/mdadm/mdadm.conf
(удалить md0).И сохраните конфигурацию в initramfs (будет доступна после перезагрузки)
источник
Выполните ту же процедуру, что и у Марка Тернера, но при создании массива raid укажите 2 отсутствующих диска.
А затем перейдите к другим шагам.
Короче говоря, создайте RAID10 с общим количеством 4 дисков (из которых 2 отсутствуют), выполните повторную синхронизацию, добавьте два других диска после этого.
источник
Только что закончил переход от LVM на двух дисках mdadm RAID 1 объемом 2 ТБ к LVM на четырех дисках RAID 10 (два оригинальных + два новых диска).
Как отметил @aditsu, порядок создания дисков важен при создании массива.
Приведенный выше код дает полезный массив с двумя отсутствующими дисками (добавьте номера разделов, если вы не используете целые диски). Как только третий диск будет добавлен, он начнет синхронизироваться. Я добавил четвертый диск до того, как третий закончил синхронизацию. Он показывался как запасной, пока не закончился третий диск, затем началась синхронизация.
Шаги для моей ситуации:
Сделайте хорошую резервную копию.
Создайте деградированный массив RAID 10 с четырьмя дисками и двумя отсутствующими дисками (назовем отсутствующие диски № 2 и 4).
Скажите жене, чтобы она не меняла / добавляла файлы, которые ей небезразличны
Сбой и удаление одного диска из массива RAID 1 (диск 4).
Переместите физические экстенты из массива RAID 1 в массив RAID 10, оставив диск 2 пустым.
Убейте активный массив RAID 1, добавьте этот пустой диск (диск 2) в массив RAID 10 и дождитесь завершения повторной синхронизации.
Добавьте первый диск, удаленный из RAID 1 (диск 4), в массив RAID 10.
Дай жене идти вперед.
На шаге 7 я думаю, что диск 1, 2, ИЛИ 4 может выйти из строя (во время повторной синхронизации диска 4) без уничтожения массива. Если диск 3 выходит из строя, данные в массиве являются тостами.
источник
Я переместил свой raid1 в raid10 сейчас, и хотя эта страница помогла мне, но в ответах выше не хватает некоторых вещей. Особенно моей целью было сохранить время рождения ext4.
установка была:
как уже говорилось ранее: нулевой шаг должен быть резервным, и в этом процессе всегда может произойти что-то не так, что приведет к чрезвычайным потерям данных
РЕЗЕРВНЫЙ
настройка нового рейда
создать новый рейд
(я обнаружил, что макет важен .. 2-й и 4-й, похоже, являются дубликатами в рейде по умолчанию «рядом»)
мигрирует
теперь получаю данные ... я сначала пытался использовать rsync, который работал, но не смог сохранить время рождения ... используйте dd для клонирования из старого рейда в новый
ЖДИТЕ ЭТОГО
вы можете проверить отправив USR1 на этот процесс
fix raid
gparted - отличный инструмент: вы говорите ему проверить и исправить раздел и изменить его размер до полного размера диска всего несколькими щелчками мыши;)
установите новый uuid для этого раздела и обновите свой fstab с его помощью (измените uuid)
сохранить ваш рейд в конф
и удалить старый
уничтожая старый
проваливай первый и добавь его в новый рейд
затем сделайте gpt на этом устройстве и установите новый пустой раздел
ЖДИТЕ ЭТОГО
вы можете проверить с
остановить второй
затем создайте gpt на последнем устройстве и снова установите новый пустой раздел
ЖДИТЕ ЕГО снова
источник
Я сделал это с LVM. Начальная конфигурация: - sda2, sdb2 - и создан raid1 md1 сверху. sda1 и sdb1 использовались для второго raid1 для / boot раздела. - md1 был pv в групповом пространстве тома, с некоторыми значениями lvm.
Я добавил диски sdc и sdd и создал там разделы, как в sda / sdb.
Так:
создал md10 как:
mdadm --create / dev / md10 --level raid10 --raid-devices = 4 / dev / sdc2 отсутствует / dev / sdd2
расширить VG на это:
pvcreate / dev / md10 vgextend space / dev / md10
перемещены тома с md1 на md10:
pvmove -v / dev / md1 / dev / md10
(дождитесь окончания) 4. уменьшите группу громкости:
остановить массив md1:
mdadm -S / dev / md1
добавить диски из старого md1 в md10:
mdadm -a / dev / md10 / dev / sda2 / dev / sdb2
обновить конфигурацию в /etc/mdadm/mdadm.conf:
mdadm -E --scan >> / dev / mdadm / mdadm.conf
(и убери туда старый мд1)
Все сделано на живой системе, с активными томами, используемыми для KVM;)
источник