이 습격 정보 출력을 어떻게 읽나요?

이 습격 정보 출력을 어떻게 읽나요?

현재 원격 우분투 18.04 서버에서 작업 중이며 새 RAID 어레이(raid1)를 설정한 다음 이를 활성 파일 시스템에 여유 파티션으로 마운트해야 합니다. 나에게 첫 번째 단계는 지금 ​​무슨 일이 일어나고 있는지 이해하는 것입니다. 활성 시스템에는 RAID 1 어레이에 연결된 2개의 하드 드라이브가 있다는 것을 알고 있습니다. 나는 이 lsblk명령을 사용하여 몇 가지 정보를 수집합니다. 출력은 다음과 같습니다.

NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
nvme0n1     259:0    0 894,3G  0 disk  
├─nvme0n1p1 259:1    0     4G  0 part  
│ └─md0       9:0    0     4G  0 raid1 [SWAP]
├─nvme0n1p2 259:2    0   512M  0 part  
│ └─md1       9:1    0 511,4M  0 raid1 /boot
└─nvme0n1p3 259:3    0 889,8G  0 part  
  └─md2       9:2    0 889,6G  0 raid1 /

그렇다면 이것은 내 물리적 장치가 무엇인지를 의미합니까 nvme0n1? 3부분(스왑 영역, 부트 영역, /)으로 나누어집니다. 동일한 물리적 장치( nvme0n1)인 경우 파티션( nvme0n1p1,nvme0n1p2,nvme0n1p3)이 여전히 분할되어 있는 이유는 무엇입니까 md0,md1,md2? nvme0n1p1이들그리고 그리고 의 차이점은 무엇인가요 md0?

추가 로 cat /proc/mdstat다음과 같은 결과가 나오면:

md2 : active raid1 nvme0n1p3[1]
      932840768 blocks super 1.2 [2/1] [_U]
      bitmap: 7/7 pages [28KB], 65536KB chunk

md1 : active raid1 nvme0n1p2[1]
      523712 blocks super 1.2 [2/1] [_U]
      
md0 : active raid1 nvme0n1p1[1]
      4190208 blocks super 1.2 [2/1] [_U]

이는 3개의 활성 공격대 블록을 보여줍니다. 하나의 RAID 어레이만 실행 중입니다. 출력을 해석할 수 없습니다. 도움이 필요합니다.

감사해요

답변1

이것이 전체 lsblk출력이라면 유감스럽게도 하나의 물리적 저장 장치만 표시됩니다 nvme0n1.

파티션은 nvme0n1세 개의 파티션으로 나뉘며 각 파티션은 소프트웨어 RAID1 미러로 개별적으로 설정됩니다. 그러면 md0, md1및 의 세 가지 소프트웨어 RAID 장치가 제공됩니다 md2. 이들 각각은 전체 디스크가 아닌 소프트웨어 RAID 파티션에 해당합니다.

이와 같이 각 파티션에 대해 RAID를 설정하면 BIOS가 Linux 소프트웨어 RAID를 전혀 지원하지 않더라도 BIOS가 디스크를 파티션된 디스크로 인식할 수 있습니다. 이를 통해 부팅 및 특정 복구 시나리오를 더 쉽게 처리할 수 있으며 필요한 경우 비 RAID 구성으로 쉽게 복구할 수 있습니다.

정상적인 미러링 상태에서는 +의 미러 세트 , + 의 세트 등을 md0참조하게 됩니다 . 및 장치를 사용하여 파일 시스템을 마운트하고 스왑을 활성화할 수 있습니다. 이러한 장치를 사용하기 위해 열면 소프트웨어 RAID 하위 시스템은 배타적 액세스를 위해 기본 물리 파티션을 잠그므로 파티션에 대한 모든 액세스는 RAID 계층을 통과해야 합니다.nvme0n1p1nvme1n1p1md1nvme0n1p2nvme1n1p2md0md1md2

그러나 모든 소프트웨어 RAID 세트에는 RAID1 쌍의 후반부가 없습니다.이는 시스템이 두 개의 동일한 NVMe 장치에서 소프트웨어 RAID 설정을 사용하고 있지만 그 중 하나가 nvme1n1실패했음을 의미할 수 있습니다.또는 두 번째 NVMe 장치를 얻은 후 실제 RAID1로 쉽게 전환할 수 있도록 시스템이 단일 NVMe 디스크에 RAID1 세트의 절반으로 설정되었지만 어떤 이유로든 결코 발생하지 않았을 수도 있습니다.

가장 먼저 해야 할 일은 실패한 NVMe를 교체(또는 누락된 NVMe를 추가)한 다음 기존 RAID 쌍을 복원하는 것입니다.

  • 기존 디스크의 파티션 테이블을 새 디스크로 복사
  • mdN해당 장치의 예비 파티션 으로 새 디스크의 파티션을 초기화합니다.
  • 각 쌍에서 RAID1 복구 시작
  • MBR과 GRUB의 일부가 미러 파티션 외부에 있으므로 부트 로더의 두 번째 복사본을 두 번째 디스크에 설치합니다.
  • 물리적 장치 중 하나의 오류가 다시 발견되지 않도록 RAID 장치 모니터링을 설정합니다.

완료되면 새 RAID 어레이를 설정하는 원래 작업을 고려할 수 있습니다. 기존 물리적 스토리지가 nvme0n1완전히 사용된 것으로 나타나기 때문에 이를 위해 더 많은 물리적 스토리지가 필요합니다(현재 절반 미러가 완전히 복원되면 해당 미러 동반도 마찬가지입니다).

답변2

예, 출력에는 하나의 물리적 장치(nvme0n1)만 표시됩니다.

예, 출력에는 3개의 파티션이 있는 것으로 표시됩니다.

흥미로운 부분은 의 정보입니다 /proc/mdstat.구성된 RAID 장치가 모두 표시됩니다 [_U]. 이것은 건강한 시스템에서 말해야 할 것입니다 [UU]. 3개의 RAID 장치는 raid1(미러)로 구성되어 있으므로 두 번째 드라이브의 오류로 인해 아직 데이터 손실이 발생하지 않았습니다. 물론 두 번째 드라이브는 삭제되었기 때문에 감지되지 않을 수도 있습니다.

부팅 로그를 조사하면 두 번째 드라이브가 있는지 여부를 알 수 있습니다.

nvme0n1p1은 파티션입니다. 처음에는 레이드 헤더가 있습니다. 파티션의 나머지 섹터는 md0 장치의 데이터로 사용됩니다. 두 번째 드라이브(아마 기존 spinning rust하드 드라이브)가 연결되어 있는 경우 최소 3개의 파티션이 있을 것으로 예상합니다. 그 중 하나(관례적으로 첫 번째 파티션이 있으므로 /dev/hda1)에는 raid 헤더도 있습니다. 그런 다음 나머지 섹터는 /dev/md0 장치 데이터의 두 번째 복사본을 보관하는 데 사용됩니다.

관련 정보