할당되지 않은 공간이있는 Centos 7 확장 파티션


15

centos 7 서버 (CentOS Linux release 7.3.1611 (Core))가 있습니다. 서버를 업데이트 할 때 추가 공간이 필요하다는 오류가 표시되었습니다. 그러나 디스크 공간을 확인할 때 서버에 20GB 디스크가 있었는데 4.5GB 파티션 만 생성되었고 16GB 파티션은 여유 공간이 할당되지 않았습니다. 16GB의 여유 공간에서 파티션을 확장하는 방법은 무엇입니까?

lsblk :

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk
sda               8:0    0   20G  0 disk
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0  4.5G  0 part
  ├─centos-root 253:0    0    4G  0 lvm  /
  └─centos-swap 253:1    0  512M  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom

여기에 이미지 설명을 입력하십시오


do man lvm또는 tldp.org/HOWTO/LVM-HOWTO
alexus

답변:


21

세 가지 단계가 있습니다.

  1. 파티션 테이블을 변경하여 sda2디스크 끝에서 끝남
  2. 파티션 테이블을 다시 읽습니다 (다시 부팅해야 함)
  3. 를 사용하여 LVM pv 크기를 조정하십시오 pvresize

1 단계-파티션 테이블

를 실행하십시오 fdisk /dev/sda. 문제는 p현재 파티션 테이블을 인쇄하고 일부 안전한 곳으로 그 출력을 복사합니다. 이제 교부 d다음에 2두 번째 파티션을 제거 할 수 있습니다. n새 두 번째 파티션을 만들려면 발행하십시오 . 시작이 이전에 인쇄 한 파티션 테이블의 시작과 같아야합니다. 끝이 디스크 끝에 있는지 확인하십시오 (일반적으로 기본값).

문제는 t그 다음 2다음 8e8E에 새 두 번째 파티션의 파티션 형식 (리눅스 LVM) 전환합니다.

문제는 p새 파티션 레이아웃을 검토하고 기존의 두 번째 파티션이 어디에 있는지 새로운 두 번째 파티션의 시작은 정확히 확인합니다.

모든 것이 올바르게 보이면 w파티션 테이블을 디스크에 쓰십시오. 디스크가 사용 중이므로 파티션 테이블을 다시 읽을 수 없다는 오류 메시지가 partprobe에서 나타납니다.

시스템을 재부팅

이 단계는 필수이므로 파티션 테이블을 다시 읽습니다.

LVM PV 크기 조정

시스템이 재부팅 된 후를 호출하십시오 pvresize /dev/sda2. 실제 LVM 볼륨은 이제 나머지 드라이브에 걸쳐 있으며 논리 볼륨을 생성하거나 해당 공간으로 확장 할 수 있습니다.


훌륭한 솔루션, 그것은 완벽하게 작동합니다. 여전히 논리 볼륨을 확장하는 방법의 일부입니다.
Mimouni

1
이 탁월한 답변은 결승선 바로에서 멈췄습니다! 나는 그것을 끝내는 방법을 알아 냈습니다. 질문에서 공유의 예는 underneith 두 개의 논리 볼륨을 보여 주었다 sda2: centos-rootcentos-swap. 이 경우 볼륨 그룹은 centos이고 해당 그룹 내의 두 논리 볼륨은 rootswap입니다. centos-root이 예에서 새로 확장 된 sda2파티션 에서 사용 가능한 공간의 50 %로 볼륨 을 확장하려면 을 사용 lvextend -r -l +50%FREE /dev/centos/root합니다. -r확장 된 논리 볼륨과 일치하도록 기본 파일 시스템 의 크기를 조정합니다.
Shadoninja

@Shadoninja은 원래 질문의 범위를 벗어났습니다. 그래서 나는 그것을 추가하지 않았으며 앞으로이 질문에 추가하지 않을 것입니다.
Andreas Rogge

@AndreasRogge 나는이 공간의 용어가 혼란스럽고 혼동하기 쉽기 때문에이 질문의 범위 내에 완전히 있다고 주장합니다. 파일 시스템에서 할당되지 않은 디스크 공간을 사용하는 방법에 대한 완전한 요약을 게시하는 것이 좋습니다. 왜냐하면 사람들이이 질문을 찾는 매우 일반적인 이유이기 때문입니다.
Shadoninja

14

CentOS 7에서 재부팅하지 않고도이 작업을 수행 할 수 있습니다. 디스크가 / dev / vda이고 표준 RHEL / CentOS 파티션이라고 가정합니다.

파티션 확장

# fdisk /dev/vda

p초기 파티션 테이블을 인쇄하려면 입력하십시오 .

기존 파티션 정의를 삭제하려면 d(삭제)를 입력 2하고 파티션 1은 일반적으로 / boot이고 파티션 2는 루트 파티션입니다.

파티션 번호 2를 다시 작성 하고 시작 블록 을 승인하고 디스크의 끝으로 기본 설정되는 종료 블록을 다시 승인하려면 n(신규), p(기본)을 차례로 입력하십시오 .2enterenter

t(type)을 입력 한 2다음 8e새 파티션 유형을 "Linux LVM"으로 변경하십시오.

입력 p하여 새 파티션 테이블을 인쇄하고 위의 인쇄 초기 파티션 테이블에 무엇이 있는지 시작 블록 일치를 만들기 위해.

w파티션 테이블을 디스크에 쓰려면 입력하십시오 . Device or resource busy무시할 수 있는 오류가 표시됩니다 .

커널 인 메모리 파티션 테이블 업데이트

파티션 테이블을 변경 한 후 다음 명령을 실행하여 커널 인 메모리 파티션 테이블을 업데이트하십시오.

# partx -u /dev/vda

물리 볼륨 크기 조정

여분의 공간을 인식하도록 PV 크기 조정

# pvresize /dev/vda2

LV 및 파일 시스템 크기 조정

이 명령 centos에서 PV root는 LV이며 /dev/vda2확장 된 파티션입니다. 사용 pvs하고 lvs당신이 그들을 모르는 경우 명령은 물리적 및 논리적 볼륨 이름을 볼 수 있습니다. -r이 명령 의 옵션은 파일 시스템의 크기를 적절히 조정하므로 별도로 호출 resize2fs하거나 호출 할 필요가 없습니다 xfs_growfs.

# lvextend -r centos/root /dev/vda2

더 복잡한 답변은 "선택된 답변"하나!
Furkat U.

훌륭합니다. 감사합니다! 이것은 정답입니다. lv 및 파일 시스템의 크기를 조정하는 마지막 단계가 누락되었습니다!
Skinner927

4

나와 같은 논리 볼륨을 확장하는 데 문제가있는 사용자에게는 이 게시물을 읽는 것이 도움이 될 수 있습니다. 요약하면 lvextend논리 볼륨을 확장 하는 데 사용할 lvextend -l +<PE> <LV_PATH> 수 있습니다. 남은 PE ( <PE>) 수는 다음과 같습니다.vgdisplay 확보하고로 논리 볼륨 ( LV_PATH) 경로를 확보lvdisplay .

그런 다음 배포판에 따라 xfs_growfs <LV_PATH>(Centos 7) 또는 resize2fs <LV_PATH>크기 조정을 원합니다 .


0

한 줄에 모든 내용이 있습니다.

parted —pretend-input-tty /dev/vda resizepart 2 100%;
partx -u /dev/vda; pvresize /dev/vda2;
lvextend -r centos/var /dev/vda2

설명과 환경 추가를 고려해야합니다. 예를 들어, partx에는 옵션이 없습니다 -u(Centos6.7 util-linux-ng-2.17.2-12.28.el6).
Boop
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.