기존 어레이의 메타 데이터 버전을 변경할 수 있습니까?


21

따라서 grub에는 메타 데이터 버전 0.90이 필요합니다. 기본 배열 인 1.2 대신 기존 배열을 사용하도록 기존 배열을 변경할 수 있는지 궁금합니다. 그렇게하면 다시 설치할 필요가 없습니다. 그렇다면 어떻게해야합니까?

답변:


5

GRUB 위키 확인한다 :

또한 (1.96 + 20080724 기준) GRUB은 버전 0.90 메타 데이터 수퍼 블록 (즉, --metadata = 0.90 옵션으로 mdadm에 생성 된 것)을 사용하는 RAID에서만 부팅 할 수 있습니다.

호기심의 mdadm를위한 매뉴얼 페이지 말한다

-e, --metadata =

사용할 수퍼 블록 스타일 (공격 메타 데이터)을 선언하십시오. --create의 경우 기본값은 0.90이고 다른 작업의 경우 추측 할 수 있습니다.

mdadm -Q -D <device>확실하게 다시 확인하겠습니다 .

그 후, 어떤 RAID 레벨을 실행하고 있습니까? 미러 (RAID 1)에 대해 생각할 수있는 가장 좋은 시나리오는 다음과 같습니다.

  1. 백업 받기
  2. 어레이 0 마운트 해제
  3. 어레이 0 장치 (A)를 분리 n장치
  4. 장치 A의 제로 수퍼 블록
  5. 장치 A와 n-1스페어를 사용하여 기존 수퍼 블록 형식을 사용 하여 어레이 1을 만듭니다.
  6. n-1장치를 통해 나머지 B에 대해 반복
  7. (선택 사항) 배열 번호를 다시 매 깁니다

...하지만 반드시이 작업을 수행해야한다는 것을 확실히 확인하십시오!


오래 전에 확인했습니다. raid10, f2를 실행 중입니다. 분명히 배열을 다시 만드는 것은 내가 피하려고했던 것입니다.
xenoterracide 2016 년

linux-raid at vger.kernel.org메일 링리스트 를 사용해 보셨습니까 ?
Andrew

이것에 대해 알림을받지 못한 것이 이상합니다. 아니, 시도하지 않았다. 방금 닦아서 배열을 다시 만들었습니다. 나는이 대답을 NO 또는 아마도 (거의 어려울 정도로) 짧은 해결책으로 받아 들일 것입니다.
xenoterracide

16

이 정보는 영업 시간을 돕기에는 너무 늦었지만 다른 사람에게는 도움이 될 수 있습니다.

첫 번째 명령은 수퍼 블록을 지우고 두 번째 명령은 새 배열을 생성하지만 장치는 깨끗하다고 ​​가정합니다. 방금 이것을 수행했으며 모든 것이 정상으로 보입니다. 이 작업을 수행하기 전에 반드시 백업을 권장합니다. 잃어 버릴 데이터가 없었으므로 확인할 무결성이 없었습니다. 나는 단지 4 시간의 재 동기화를 피하고 싶었다.

$ mdadm --zero-superblock /dev/sd[a-z]1
$ mdadm --create /dev/md0 --assume-clean \
    --level=10 --raid-devices=10 /dev/sd[a-z]1 --metadata=0.90

1
아마도 OP에 너무 늦었지만 당신의 대답에 감사합니다.
neofutur

7

위에서 제안한대로 깨끗하고 일관되지 않은 메타 데이터로 배열을 생성하면 0.90 및 1.2 메타 데이터 블록의 크기뿐만 아니라 위치도 다르기 때문에 기존 데이터가 손상 될 수 있습니다.

0.90 <-> 1.0에서는 작동하지만 예외입니다.

https://raid.wiki.kernel.org/index.php/RAID_superblock_formats

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.