Я использовал свой жесткий диск как часть программного массива RAID 1, второе устройство отсутствует. Я настроил его таким образом, чтобы иметь возможность добавлять другой диск, когда у меня есть возможность. Теперь я купил второй диск и попытался запустить эту команду:

mdadm --add /dev/md0 /dev/sdb1

Но я получаю эту ошибку:

mdadm: /dev/sdb1 not large enough to join array

Выходные данные gparted:

Disk /dev/sda: 3907029167s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 
Number  Start  End          Size         File system  Name  Flags
 1      2048s  3907029133s  3907027086s  ext4

Disk /dev/sdb: 3907029167s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 
Number  Start  End          Size         Type     File system  Flags
 1      2048s  3907028991s  3907026944s  primary  ext4

Есть ли способ добавить второй диск в массив без потери данных на первом?

Следует ли изменить размер первого, чтобы он соответствовал новому диску?

2 ответа2

0

У меня только что была эта проблема. выполнить: sudo blockdev --report /dev /sdb1

sudo blockdev --report /dev /sdb2

Если sdb2 больше, запустите: попробуйте mdadm --add /dev /md0 /dev /sdb2

Работал на меня.

0

ПРИМЕЧАНИЕ: ВЫ ДОЛЖНЫ СОЗДАТЬ ВАШИ ДАННЫЕ ВПЕРВЫЕ - ЛЮБЫЕ ДЕЙСТВИЯ БЛОК-УСТРОЙСТВА БУДУТ РИСКОМ ПОТЕРЯ ДАННЫХ.

Мне кажется, что фактические размеры дисков идентичны, но первый разделен с использованием gpt, а второй разделен с помощью msdos - что делает его немного меньше (очевидно, на самом краю того, что может обрабатывать MBR). Попробуйте переформатировать диск как gpt в gparted.

Предполагая, что это новый диск - Если у вас возникли трудности, попробуйте обнулить первый бит диска, чтобы он выглядел унифицированным (и предполагая, что новый диск - /dev /sdb) с помощью dd if = /dev /zero of = /dev /sdb бс = 1024 кол = 1

Как только вы сделали это перераспределение диска в его полный размер, а затем добавьте его в массив.

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

Другой вариант (который будет нестандартным, но может работать) будет использовать /dev /sdb вместо /dev /sdb1 для второго диска - это может вызвать проблемы с загрузкой, если вы загружаетесь с разделов, связанных с RAID-массивом, и это не лучшая практика, но технически выполнимо.

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