Задать вопрос
@darkAlert

Как разделить два диска в RAID1 на два независимых?

Два HDD были объединены в RAID1 под ubuntu.
Теперь я хочу разделить их на два независимых диска с сохранением данных на них (содержат только файлы, ничего системного).

Я остановил md0:
mdadm --stop /dev/md0


fdisk показывает:
root@DeepLearning:~# fdisk -l
Disk /dev/sda: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 4E0BB34F-91D3-46B2-898F-3E60C180F1D0

Device     Start        End    Sectors  Size Type
/dev/sda1   2048 7814035455 7814033408  3.7T Linux filesystem


Disk /dev/sdb: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 8CC7B52A-3F9E-49C8-9A84-C1A15DD86737

Device     Start        End    Sectors  Size Type
/dev/sdb1   2048 7814035455 7814033408  3.7T Linux filesystem


Disk /dev/sdc: 447.1 GiB, 480103981056 bytes, 937703088 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x948a3a1f

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdc1        2048 937701375 937699328 447.1G 83 Linux


Далее, пытаюсь очистить суперблок на sdb1 но получаю:
root@DeepLearning:~# mdadm --zero-superblock /dev/sdb1
mdadm: Couldn't open /dev/sdb1 for write - not zeroing


Примонтрировать его как отдельный диск также не могу:
root@DeepLearning:~# mount /dev/sdb1 /media/HDD2/
mount: /media/HDD2: unknown filesystem type 'linux_raid_member'.


Помогите, пожалуйста!

===UPDATE1:
Так, кажется я сломал sdb1. Попробовал сделать так:
mdadm --zero-superblock /dev/sdb --force

Суперблок затерся. Пытаюсь смонтировать sdb1:
root@DeepLearning:~# mount /dev/sdb1 /media/HDD2/
mount: /media/HDD2: mount(2) system call failed: Structure needs cleaning.


Пытаюсь смонтировать нетронутый sdb1 в RAID1, но получаю:
root@DeepLearning:~# mdadm --assemble /dev/md0 /dev/sda1
mdadm: /dev/sda1 is busy - skipping


===UPDATE2:
Всётаки получилось смонитровать назад RAID из одного диска при помощи --run:
root@DeepLearning:~# mdadm --assemble /dev/md0 /dev/sda1 --run
mdadm: /dev/md0 has been started with 1 drive (out of 2).


===UPDATE3:
Пришлось форматнуть sdb1:
fsck.ext4 /dev/sdb1

В итоге, проблема решена частично:
- Осовбодил sdb1 (то что и хотел)
- Но sda1 остается как деградированный RAID1
  • Вопрос задан
  • 1287 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 3
Melkij
@Melkij
PostgreSQL DBA
linux raid (mdadm) использует начальную часть раздела под хранение метаданных данных массива. Поэтому файловая система непосредственно начинается немного позже. Обычно через 2048 секторов, можно посмотреть в mdadm -E /dev/том_массива, графа Data Offset.

Соответственно если вы больше не хотите использовать linux raid - то вам необходимо монтировать файловую систему со смещением (-o offset=...) либо передвинуть границу раздела в разметке диска (удалить раздел и создать такой же, но стартовый сектор указать на нужное число секторов позже).
Ответ написан
Комментировать
@zersh
По последнему update 3.
Можно изменить количество дисков в рейде, например так:
mdadm --grow --raid-devices=3 /dev/md0

Или монтируй его не по uuid рэйда, а по uuid файловой системы конкретного раздела. Посмотреть можно через :
lsblk - o name, uuid
Ответ написан
@darkAlert Автор вопроса
Т.е. они всёравно останутся как часть деградированного RAID1? А как-то можно заставить их забыть о том, что они когда то были частью RAID (с сохранением данных)?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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