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라면 섹터 수 증가를보고하지 않을 것입니다. 플러스
pvs
와vgs
LVM에서 추가 할당되지 않은 공간을보고하지 않습니다 - 나는 이것을 가상 머신에서 드라이 런으로 실행했지만 이것을 경험하지 않았다. 그러나 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 오류?
답변
문제는 백업 파티션 테이블 위치였습니다. 일반적으로 시작시 기본 파티션 테이블과 끝에서 백업 파티션 테이블이 필요합니다. 디스크 크기를 조정하면 더 많은 섹터를 사용할 수 있었지만 백업 테이블은 이동하지 않았습니다. fdisk는 이것을 좋아하지 않았고 그것이 MyLBA mismatch with real position at backup header.
오류 메시지 라고 생각 합니다. 정확히 명확하지 않습니다.
I은 스위치 fdisk
로 gdisk
출력은 약간 달랐다. 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
답변
이 snafu의 핵심은 다음과 같습니다.
Last LBA: 39064698846
GPT 라벨에 변경된 중간 크기가 반영되지 않습니다. fdisk
완벽하지는 않지만 최소한 논리적 인 방식으로 여유 공간을 검색합니다. GPT Label의 첫 번째 LBA와 마지막 LBA 사이에서 사용 가능한 가장 큰 여유 공간에서 첫 번째로 사용 가능한 섹터를 찾습니다 .
한 가지 방법 sfdisk
은 레이블을 덤프하고, 중간 크기로 적절하게 편집하고 다시 쓰거나, parted
해당 문제 IMO를 처리하는 데 더 잘 사용 하는 것입니다.