기존 어레이에 linux md raid 쓰기 로그 추가

기존 어레이에 linux md raid 쓰기 로그 추가

상당히 큰 디스크가 포함된 raid5 어레이가 있으므로 정전 시 재구축이 매우 느립니다. 다행히도 --write-journallinux md raid에 대한 옵션이 있습니다 . 매뉴얼 페이지에는 --write-journal옵션이 나열되어 있습니다.생성, 구축 또는 성장의 경우:섹션을 참조하여 성장 모드에서 작동해야 한다고 생각하고 쓰기 로그를 동적으로 추가해 보았습니다.

# mdadm --grow /dev/md1 --write-journal /dev/ssd/md1-journal
mdadm: :option --write-journal not valid in grow mode

기존 어레이에 쓰기 로그를 추가할 수 있는지 아는 사람이 있습니까? 그렇다면 어떻게 해야 할까요?

답변1

다음과 같이 작동해야 합니다:

# mdadm --manage /dev/md42 --readonly --add-journal /dev/loop3
mdadm: Journal added successfully, making /dev/md42 read-write
mdadm: added /dev/loop3

그러나 현재(커널 4.18, mdadm 4.1-rc 사용) 먼저 로그로 생성된 배열에서만 작동하는 것 같습니다. 위의 출력은 다음 이후에 생성됩니다.

# mdadm --create /dev/md42 --level=5 --raid-devices=3 /dev/loop[012] --write-journal /dev/loop3
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md42 started.
# mdadm --manage /dev/md42 --fail /dev/loop3 --remove /dev/loop3
mdadm: set /dev/loop3 faulty in /dev/md42
mdadm: hot removed /dev/loop3 from /dev/md42

로그 없이 배열을 생성하면 로그를 추가하려는 모든 시도가 실패합니다.

# mdadm --create /dev/md42 --level=5 --raid-devices=3 /dev/loop[012]
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md42 started.
# mdadm --manage /dev/md42 --readonly --add-journal /dev/loop3
mdadm: /dev/md42 does not support journal device.
# mdadm --manage /dev/md42 --readwrite --add /dev/loop3
# echo journal > /sys/block/md42/md/dev-loop3/state
bash: echo: write error: Invalid argument

그래서 이것은 아직 가능하지 않은 것 같습니다.

내가 찾았어linux-raid 메일링 리스트에 대한 토론이는 계획된 기능입니다. 이것이 그 이후로 구현되었다면 어떻게 구현되었는지 모르겠습니다. 아마도 메일링 리스트에 직접 연락하여 이 기능이 작동하길 원하는 사람들이 있다는 것을 mdadm 개발자에게 알릴 수도 있습니다!

당신은 의지해야 할 수도 있습니다mdadm --create공격대를 재현하세요또는 어레이의 메타데이터를 편집합니다. 두 옵션 모두 약간 위험합니다.

답변2

이 PDF에는 이것이 가능하다고 명시되어 있습니다.https://events.static.linuxfound.org/sites/events/files/slides/2016_vault_write_journal_cache_v2.pdf

mdadm --manage /dev/md0 --add-journal /dev/sdf

답변3

raid는 읽기 전용 상태여야 합니다. --add-journal을 참조하세요. http://man7.org/linux/man-pages/man8/mdadm.8.html

시도: mdadm --manage /dev/md0 --readonly --add-journal /dev/sdf

관련 정보