하드웨어 RAID 어레이 확장 후 fdisk로 인해 사용 가능한 추가 섹터를 사용할 수 없습니다


10

Dell R720xd에는 ~ 18TB의 대용량 하드웨어 RAID 어레이가 있습니다. 현재 RAID5 어레이는 6x4TB로 구성되어 있으며이를 확장해야했습니다.

1 단계 하드웨어 RAID 어레이를 확장합니다.

Dell 관리 도구가 설치되어 있으면 간단합니다.

omconfig storage vdisk action=reconfigure controller=0 vdisk=1 raid=r5 pdisk=0:1:0,0:1:1,0:1:3,0:1:3,0:1:4,0:1:5,0:1:8,0:1:9

(새 디스크는 마지막 두 개였으며, omreport도구 를 사용하여 확인할 수 있습니다. ) 시간이 걸리더라도 문제가 없었으며 어레이가 확장되었음을 확인할 수있었습니다.

% omreport storage vdisk controller=0 vdisk=1

Virtual Disk 1 on Controller PERC H710P Mini (Embedded)

Controller PERC H710P Mini (Embedded)
ID                                : 1
Status                            : Ok
Name                              : bak
State                             : Ready
Hot Spare Policy violated         : Not Assigned
Encrypted                         : No
Layout                            : RAID-5
Size                              : 26,078.50 GB (28001576157184 bytes)
...
Device Name                       : /dev/sdb
...

2 단계 새 파티션

따라서 vdisk는 증가 된 (26TB) 크기를보고합니다. 그리고 fdisk동의합니다 ...

Disk /dev/sdb: 25.5 TiB, 28001576157184 bytes, 54690578432 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: gpt
Disk identifier: A2D20632-37D1-4607-9AA0-B0ED6E457F91

Device     Start         End     Sectors  Size Type
/dev/sdb1   2048 39064698846 39064696799 18.2T Linux LVM

그러나 디스크에 추가 파티션을 추가하려고하면 다음이 발생합니다 ...

Command (m for help): n
Partition number (2-128, default 2): 2
First sector (34-2047): 

디스크에 약 16 억 개의 섹터가 더 있지만 사용할 수 없습니다. 저는 34-2047 부문 만 제공됩니다. 현재 단일 파티션으로 설정되어 있어도 8TB의 새 공간을 할당 할 수 없습니다.

나를 이상하게 여기는 다른 것은 단순히 2-4가 아니라 2-128의 파티션 번호가 제공되었다는 사실이었습니다. 파티션 테이블에는 확장 파티션이 표시되지 않으므로 처음에는 4 개의 파티션으로 제한해야합니다.

누락 된 것이 있습니까?

  • 드라이브 어레이가 확장 된 후 시스템이 재부팅되었습니다. fdisk가 원래 18TB 만보고하기 전에
  • 시도는 cfdisk대신 전체 25TB를보고에도 불구하고 39 억 범위에서 사용할 수있는 2,015 섹터를보고합니다.
  • 모든 데이터를 잃을 수 있으므로 파티션을 피하고 피할 수 있다면 파티션을 삭제하고 다시 만들고 싶지 않습니다. 우리는 일단 새로운 파티션으로 LVM 볼륨 그룹을 단순히 확장하는 것을 선호합니다.
  • 다른 서버 오류 질문 과 비슷한 문제 이지만 파티션이 부족하여 제한 되지 않으며 확장 파티션에 의해 제한을 받지 않는다고 생각 합니다.
  • 드라이브 확장에 의해 섹터 크기가 확장 되지 않습니다 . 그것이 fdisk라면 섹터 수 증가를보고하지 않을 것입니다. 플러스 pvsvgsLVM에서 추가 할당되지 않은 공간을보고하지 않습니다
  • 나는 이것을 가상 머신에서 드라이 런으로 실행했지만 이것을 경험하지 않았다. 그러나 vm을 종료하고 디스크 장치 크기를 늘리고있었습니다. 따라서 크기가 증가하는 동안 온라인 상태가 아니 었습니다. 또한 vm의 경우 드라이브 크기가 수십 배 작아졌습니다.

Micheal이 요청한 1 'x'pert 모드 출력 업데이트 ...

Command (m for help): x

Expert command (m for help): p
Disk /dev/sdb: 25.5 TiB, 28001576157184 bytes, 54690578432 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: gpt
Disk identifier: A2D20632-37D1-4607-9AA0-B0ED6E457F91
First LBA: 34
Last LBA: 39064698846
Alternative LBA: 39064698879
Partitions entries LBA: 2
Allocated partition entries: 128

Device     Start         End     Sectors Type-UUID                            UUID                                 Name      Attrs
/dev/sdb1   2048 39064698846 39064696799 E6D6D379-F507-44C2-A23C-238F2A3DF928 E9CB58BF-F170-4480-A230-6E2A238367D1 Linux LVM 


Expert command (m for help): v
MyLBA mismatch with real position at backup header.
1 error detected.

가능한 LBA 오류?


2
에서 fdisk전자로하시기 바랍니다 이동 x건방진 모드, 다음, p다음, 다시 파티션 테이블을 RINT v를 erify.
Michael Hampton

누군가가 GPT를 지원하도록 fdisk를 수정 했습니까? 마지막으로 GPT 드라이브에서 시도했을 때 실제로 gnu parted를 사용해야한다고 경고했지만 오랜 시간이 걸렸습니다.
DerfK

예, 최신 버전의 fdisk는 GPT를 처리 할 수 ​​있습니다.
스풀러

GPT가 4 개의 파티션으로 제한되는 대신 파티션 수로 2-128을 제공 한 이유라고 생각합니다. 맞습니까?
Vagnerr

@Vagnerr 예, GPT는 이전 MBR 방식보다 더 많은 파티션을 지원합니다.
DerfK

답변:


6

문제는 백업 파티션 테이블 위치였습니다. 일반적으로 시작시 기본 파티션 테이블과 끝에서 백업 파티션 테이블이 필요합니다. 디스크 크기를 조정하면 더 많은 섹터를 사용할 수 있었지만 백업 테이블은 이동하지 않았습니다. fdisk는 이것을 좋아하지 않았고 그것이 MyLBA mismatch with real position at backup header.오류 메시지 라고 생각 합니다. 정확히 명확하지 않습니다.

I은 스위치 fdiskgdisk출력은 약간 달랐다. gdisk에서 당신은 ...

r       recovery and transformation options (experts only)

v그것에 들어가서 erify를 실행 하면 더 유용한 오류 메시지가 나타납니다 ...

Recovery/transformation command (? for help): v

Problem: The secondary header's self-pointer indicates that it doesn't reside
at the end of the disk. If you've added a disk to a RAID array, use the 'e'
option on the experts' menu to adjust the secondary header's and partition
table's locations.

Identified 1 problems!

에서 gdisk전문가 모드 다음과 같은 옵션이 있습니다 ...

e       relocate backup data structures to the end of the disk

... 성공적으로 실행되었고 이제 출력 확인 중 ...

Expert command (? for help): v

No problems found. 15625881566 free sectors (7.3 TiB) available in 2
segments, the largest of which is 15625879552 (7.3 TiB) in size.

파티션 테이블을 인쇄하면 마지막으로 사용 가능한 섹터가 39Billion이 아닌 56Billion으로 표시되고 새 파티션을 만들어 LVM에 추가 할 수있었습니다. 누구든지 그 단계에 관심이 있다면 ...

partprobe           <-- add the /dev/sdb2 device if you don't want to reboot 
pvcreate /dev/sdb2
vgextend bak /dev/sdb2
lvextend /dev/mapper/bak-bak -l 100%PVS -r

명확히하기 위해 백업 데이터 구조를 재배치 한 후 재부팅 할 필요가 없도록하기 위해 partprobe? 또한이 게시물은 생명의 은인 입니다. 기여해 주셔서 감사합니다.
Swivel

@Swivel 맞습니다. partprob를 실행하지 않거나 재부트하지 않으면 sdb2 장치가 / dev 디렉토리에 작성되지 않으며 그 뒤에 나오는 lvm 명령을 실행하려면 해당 디렉토리가 있어야합니다. 나는 게시물이 당신을 도와 줘서 기쁘다 :-)
Vagnerr

2

이 snafu의 핵심은 다음과 같습니다.

Last LBA: 39064698846

GPT 라벨에 변경된 중간 크기가 반영되지 않습니다. fdisk완벽하지는 않지만 최소한 논리적 인 방식으로 여유 공간을 검색합니다. GPT Label의 첫 번째 LBA와 마지막 LBA 사이에서 사용 가능한 가장 큰 여유 공간에서 첫 번째로 사용 가능한 섹터를 찾습니다 .

한 가지 방법 sfdisk은 레이블을 덤프하고, 중간 크기로 적절하게 편집하고 다시 쓰거나, parted해당 문제 IMO를 처리하는 데 더 잘 사용 하는 것입니다.

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