Вопрос или проблема
Недавно один из моих дисков RAID1 вышел из строя. Я купил замену, подключил его и отформатировал как Linux RAID
с помощью cfdisk
.
- Новый диск –
/dev/sdc
- Старый диск –
/dev/sdd
Они, похоже, имеют одинаковое количество байтов и секторов в целом, но отформатированные разделы отличаются по размеру…
# fdisk -l /dev/sd{c,d}
Диск /dev/sdc: 7.28 TiB, 8001563222016 байт, 15628053168 секторов
Модель диска: ST8000VN0022-2EL
Единицы: сектора по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер ввода-вывода (минимальный/оптимальный): 4096 байт / 4096 байт
Тип метки диска: gpt
Идентификатор диска: 952AC4E6-20B9-408D-83CE-AC4AEFBC1075
Устройство Начало Конец Секторы Размер Тип
/dev/sdc1 2048 15628052479 15628050432 7.3T Linux RAID
Диск /dev/sdd: 7.28 TiB, 8001563222016 байт, 15628053168 секторов
Модель диска: ST8000VN004-2M21
Единицы: сектора по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер ввода-вывода (минимальный/оптимальный): 4096 байт / 4096 байт
Тип метки диска: gpt
Идентификатор диска: 4069B8CB-4C43-304B-B872-DDB89C0E0AA1
Устройство Начало Конец Секторы Размер Тип
/dev/sdd1 2048 15628053134 15628051087 7.3T Linux RAID
Конкретно…
/dev/sdc1 2048 15628052479 15628050432 7.3T Linux RAID
/dev/sdd1 2048 15628053134 15628051087 7.3T Linux RAID
Новый раздел /dev/sdc1
меньше существующего раздела. В результате…
# mdadm --manage /dev/md127 --add /dev/sdc1
mdadm: Значение "kimura:0" не может быть установлено как devname. Причина: несовместимо с POSIX. Значение игнорируется.
mdadm: /dev/sdc1 недостаточно большой, чтобы присоединиться к массиву
Я нашел тему, которая предполагает, что один из них (/dev/sdd
, который является ST8000VN004
) использует 512E для эмуляции 512 байт на логический сектор, несмотря на то что физический сектор составляет 4096 байт.
Теперь я опасаюсь изменить размер существующего раздела на /dev/sdd1
, чтобы он совпадал с размером /dev/sdc1
, так как это часть массива RAID1 с тремя логическими томами наверху.
Я нашел связанную тему, но проблема там другая, так как у них RAID на 3 ТБ, и они хотят разделить новый на 14 ТБ, так что проблема пространства не актуальна, а в моем случае новый раздел меньше существующего.
Буду признателен за любые мысли или советы о том, как поступить дальше.
Ответ или решение
Для решения проблемы с заменой диска в RAID1, когда размеры разделов различаются, вы можете следовать нескольким шагам. Прежде всего, важно выяснить, какова причина различия в размерах разделов, а затем правильно выполнить настройки, чтобы RAID1 продолжал работать корректно.
Шаг 1: Анализ причин различия
Вы уже выяснили, что один из дисков использует 512E и эмулирует 512 байт на логическом уровне, тогда как нa новом диске размер сектора физически составляет 4096 байт. Этот факт может объяснять, почему вы видите различия в размерах разделов. Однако не стоит сбрасывать со счетов возможность того, что параметры, заданные инструментом cfdisk
для нового диска, также могут влиять на результат.
Шаг 2: Создание раздела аналогичного существующему
Вам необходимо привести новый раздел к размерам, сопоставимым с уже существующим. В вашем случае, новый раздел /dev/sdc1
меньше, чем /dev/sdd1
. Вот как это можно сделать:
-
Резервное копирование данных: Перед любыми изменениями лучше всего создать резервные копии всех важных данных из существующих логических томов.
-
Удаление раздела на новом диске: Используйте
cfdisk
илиgdisk
, чтобы удалить текущий раздел/dev/sdc1
. -
Создание нового раздела: Воссоздайте раздел с теми же параметрами, что и на старом диске
/dev/sdd1
. Убедитесь, что:- Начальный сектор совпадает (2048).
- Конечний сектор соответствует (15628053134).
-
Форматирование нового раздела: После создания деления убедитесь, что новый раздел отформатирован в формате Linux RAID.
Шаг 3: Добавление нового диска в RAID
После того как новый раздел будет создан с правильными размерами, можно снова попытаться добавить его в массив RAID:
mdadm --manage /dev/md127 --add /dev/sdc1
Следите за сообщениями в командной строке. Если всё сделано правильно, новый раздел должен добавиться без проблем.
Шаг 4: Проверка статуса массива
После выполнения этих шагов обязательно проверьте статус RAID массива с помощью команды:
cat /proc/mdstat
mdadm --detail /dev/md127
Это позволит вам убедиться в том, что новый диск включен в массив и находится в состоянии синхронизации.
Заключение
В случае возникновения каких-либо дальнейших вопросов или сомнений, не стесняйтесь обращаться к документации mdadm
, а также к специалистам в области хранения данных. Работая с RAID, всегда важно обеспечивать безопасность данных и иметь резервные копии, прежде чем выполнять кардинальные изменения.