Задать вопрос
@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
  • Вопрос задан
  • 1309 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 3
Melkij
@Melkij
DBA Team для вашего PostgreSQL?
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 (с сохранением данных)?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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