재부팅 후 LVM이 포함된 베어 메탈 RAID 어레이가 사라짐

재부팅 후 LVM이 포함된 베어 메탈 RAID 어레이가 사라짐

간단히 말해서:

다시 시작하면 RAID 어레이 + LVM이 사라집니다.

세부 사항

다음을 기반으로 암호화된 RAID 어레이를 구축하고 싶습니다.이는 이유.

RAID 어레이를 설정했습니다"베어메탈"(즉, 파티션이 아닌 디스크에 있음) 어레이가 구축된 후 포맷하지 않고 실행했습니다 pvcreate. 그런 다음 일반적인 방법으로 LVM과 암호화를 설정했습니다. (바라보다디지털 오션 RAID 가이드,RAID의 LVM에 대한 아키텍처 지침.

암호화 설정 후 실행 mdadm --detail --scan | tee -a /etc/mdadm/mdadm.conf하고 update-initramfs -u재부팅했습니다. /dev/md0그런 다음 사라졌습니다. 내가 뭘 잘못했나요?

디버깅 단계.

비슷한 질문이 많이 있는데, 이것이 내가 읽은 내용을 바탕으로 지금까지 시도한 것입니다.

  • 출력이 mdadm --examine --scan비어 있습니다.
  • 주석 처리되지 않은 콘텐츠 /etc/mdadm/mdadm.conf: HOMEHOST <system>,,, 일부 SO 답변에서 제안한 중복 항목이 없습니다 MAILADDR root.ARRAY /dev/md0 metadata=1.2 name=server:0 UUID=xxxxx
  • 발행 service mdadm status수익률Loaded: masked (Reason: Unit mdadm.service is masked.)
  • 발행 cat /proc/mdstat수익률Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] \n unused devices: <none>
  • 나는 달리기를 시도했고 dpkg-reconfigure mdadm조언 update-initramfs -u을 따랐다.여기"모두"를 활성화하는 옵션을 찾을 수 없습니다. 이후 재부팅을 시도했지만 역시 작동하지 않습니다.

최후의 수단으로 나는 그것을 시도했다 mdadm --assemble --scan.

이상하게 이런 타입은 TYPE="linux_raid_member"내 기대와 안맞아이는 이유

root@server:/home/user# blkid
/dev/sda1: UUID="xx" TYPE="ext2" PARTUUID="xx-xx"
/dev/sda5: UUID="xx" TYPE="LVM2_member" PARTUUID="xx-xx"
/dev/mapper/server--vg-root: UUID="xx" TYPE="ext4"
/dev/mapper/server--vg-swap_1: UUID="xx" TYPE="swap"
/dev/sdb: PTUUID="xx" PTTYPE="gpt"
/dev/sdc: PTUUID="xx" PTTYPE="gpt"
/dev/sdd: PTUUID="xx" PTTYPE="gpt"

이 배열은 sd[bcd]에 있으며 /dev/sda는 루트 파일 시스템을 보유합니다. 이 어레이 드라이브는 데이터용으로 사용됩니다.

다시 만드는 단계.

완전성과 경우에 대비해 유용합니다.

  • mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd배열 생성
  • pvcreate /dev/md0물리 볼륨 만들기
  • vgcreate data_group /dev/md0볼륨 그룹 생성
  • lvcreate -n secure data_group -L +900G볼륨 생성
  • cryptsetup -v luksFormat /dev/data_group/secure암호화 설정
  • cryptsetup luksOpen /dev/data_group/secure cryptvault암호화된 볼륨 열기
  • mkfs.ext4 /dev/mapper/cryptvault분할
  • mkdir /mnt/vault마운트 지점 만들기
  • mount /dev/mapper/cryptvault /mnt/vault
  • mdadm --detail --scan | tee -a /etc/mdadm/mdadm.conf배열 레이아웃 저장
  • update-initramfs -u새로운 구성으로 init 업데이트
  • reboot

답변1

이것은 단지 이론일 뿐입니다.mdadm 메타데이터 버전 1.2는 장치 부팅에서 4K 떨어져 있으며 어레이를 생성할 때 디스크에 이미 기존 GPT 파티션 테이블이 있습니다. 이는 mdadm에 의해 삭제되지 않았습니다(mdadm이 기존 서명을 모두 삭제할 것으로 예상했지만 이는 서명 존재에 대한 GPT 설명). 모든 도구(mdadm 포함)에서 이것은 mdmember 대신 GPT 파티션 테이블이 있는 빈 디스크처럼 보이기 때문에(blkid가 디스크 끝 근처의 헤더 백업을 감지할 수도 있음) 배열이 이제 어셈블되지 않습니다. 소홀히 하다.

wipefs사용해 볼 수 있습니다. 먼저 wipefs /dev/sdb모든 서명을 감지하고 인쇄한 다음 wipefs -o <offset>이전 명령으로 인쇄된 GPT 서명의 오프셋을 사용하여 파티션 테이블을 삭제합니다. 이는 시스템이 디스크를 mdmeber 장치로 감지하는 데 도움이 될 수 있습니다.

그래도 도움이 되지 않으면 처음부터 다시 시작해 메타데이터 버전 1.1( --metadata=1.1mdadm 옵션, 1.1에서는 메타데이터를 장치 시작 부분에 넣음)을 선택하거나 파티션 위에 배열을 생성하는 것이 좋습니다(디스크 사용 시 이점 없음). ) IMHO, 파티션 테이블이 없습니다). 아니면 다른 사람이 더 나은 제안을 할 때까지 기다릴 수도 있습니다. :-)

그런데. 이것은 완전히 새로운 설정이므로 장치에 귀중한 데이터가 없다고 가정합니다. 그러나 되돌릴 수 없는 변경을 하기 전에 디스크의 처음 몇 MiB를 백업하는 것이 유용할 수 있습니다.

관련 정보