LVM 파티션의 크기를 어떻게 조정할 수 있습니까? (예 : 물리량)


89

새로 확보 한 공간에 새 파티션을 작성하기 위해 두 번째 (LVM) 파티션을 축소하고 싶습니다. Live CD를 사용하고 있습니다. 사용중인 동안이 파티션의 크기를 조정하거나 이동할 수 없다는 것을 알고 있기 때문입니다. Live CD에서 GParted를 열면 마우스 오른쪽 단추로 클릭하면 "크기 조정 / 이동"옵션이 비활성화되어 파티션 크기를 조정할 수 없다는 것을 알았습니다.

마운트를 해제하고 "게으른"마운트 해제 ( umount -l /dev/sda2)하려고했지만 작동하지 않았습니다.

GParted의 스크린 샷 :

GParted 스크린 샷

답변:


49

사람들이 비슷한 문제를 겪은 결과가 Google에 많이있는 것 같습니다. 예를 들면 :

시도하기 전에 중요한 데이터를 모두 백업하십시오. 파티션 크기를 조정할 때 항상 모든 데이터를 잃을 수 있다고 가정하십시오.

데이터 손실없이 LVM 축소

이 포럼 스레드는 다음 절차를 제안합니다.이 예에서는 파티션을 10G에서 9G로 축소합니다.

먼저 마운트를 해제합니다.

sudo umount /dev/vg_blah/lv_blah

파일 시스템을 확인하십시오.

sudo e2fsck -f /dev/vg_blah/lv_blah

파일 시스템 및 논리 볼륨의 크기를 조정하십시오. 한 번에이 작업을 수행하면 데이터 손실을 유발하는 실수를 피할 수 있습니다. (참고 lvreduce 매개 변수 는 2 ^ 30 바이트 및 10 ^ 9 바이트로 -L해석 G됩니다 g.)

sudo lvreduce --resizefs -L 9G /dev/vg_blah/lv_blah

(선택 사항) 원하는 경우 볼륨 그룹에서 물리적 드라이브를 제거하십시오 (이제 사용하지 않는 드라이브가있는 경우).

sudo vgreduce vg_blah /dev/sdxy

모든 크레딧은 brianmcgee 에게 전달 됩니다.

참고 : 디스크 끝에 다른 lv가 있으면 vgreduce실패 cannot resize to xxxxx extents as later ones are allocated합니다. 스왑 lv가있어서 삭제했습니다. Ubuntu LVM 논리 및 물리 볼륨을 축소하는 방법을 참조하십시오 . 그 상황에 대한 도움.


1
e2fsck -f /dev/vg_blah/lv_blah"e2fsck : / dev / sda2 파일 시스템을 열려고 시도하는 동안 다른 프로그램에 의해 독점적으로 열려 있거나 열려있는 장치 또는 자원이 사용 중입니까?", resize2fs와 동일 ...
Idan Yadgar

12
물리 볼륨의 크기를 조정하는 방법에 대한 답변이 없습니다. 또한 두 개의 크기 조정 단계를와 하나로 결합하는 것이 좋습니다 lvreduce -r.
Flimm

4
또한, 당신은 것을 깨달을 필요 1G에가 lvreduce에있는 반면, 1,000,000,000 바이트 resize2fs그것은 기비 바이트입니다. 에 1 gibibyte를 전달 lvreduce하려면 1g대신 사용하십시오.
Flimm

1
당신은 사용하지 않습니다 vgreduce; 이는 볼륨 그룹에서 pv 를 제거 하기 위한 것입니다 .
psusi

2
난 강력하게 의심 lvreduce차동 모드에서 G = 기비 바이트를 사용합니다. 확실히 절대 모드에서 수행됩니다. 매뉴얼 페이지는 잘 작성되지 않았으며, 그들의 단위가 무엇을 의미하는지 설명하지 않습니다.
Urhixidur

45

GUI 도구를 사용하여 논리 볼륨을 매우 쉽게 축소 / 확장 할 수 있습니다 system-config-lvm. 때문에 system-config-lvm한 번, 사전 설치 라이브-CD로 부팅 오지 않는다, 당신은 그것을 설치해야합니다 :

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install system-config-lvm

설치가 완료되면 프로그램을 실행하고 왼쪽 패널에서 변경하려는 논리 볼륨을 선택하고 '속성 편집'을 클릭하십시오.

기본 논리 볼륨 관리 프로그램 GUI

이제 원하는대로 매개 변수를 변경하십시오!

논리 볼륨 편집 창

한 가지 좋은 점은 system-config-lvm새로운 파티션 크기가 기존의 모든 데이터를 합한 것보다 작 으면 계속 진행할 수 없다는 것입니다 (방금 시도한 결과 직접 보았습니다).

참고 문헌 :

  1. How-To Geek 튜토리얼 (이것은 이미지의 원점입니다).
  2. 프로그램에 대한 Red Hat의 완전한 안내서 .

2
GUI는 확실히가는 길이지만 라이브 CD에서 실행해야 할 것입니다.
Mike

10
왜 또는 system-config-lvm보다 위험한 가요? lvresizelvresize -r
Thufir

1
LVM 드라이브를 처리하는 차세대 파티션 관리자 인 blivet-gui ( github , Ubuntu PPA )를 사용해 볼 수도 있습니다 .
bain

5
(잘못된) '기가 바이트'문구를 사용하더라도 system-config-lvm은 1024의 제곱을 사용합니다. 실제로 palimpsest(디스크 유틸리티)와 같이하고 의미를 모호하지 않은 바이트로 지정해야합니다.
Urhixidur

4
17.10 및 18.04의 @Suncatcher에는 Xenial 리포지토리를 추가해야합니다. sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu xenial universe"
m93a

24

참고 : Live CD를 사용하여 다음 명령을 거의 모두 실행해야합니다. 때로는 /에 이미 마운트 된 파티션을 마운트 해제하려고 할 때도 있습니다 (이 경우 마운트 해제 할 수 없음).

다음은 LVM 또는 LVM2 파티션의 크기를 조정하는 데 필요한 모든 단계입니다.

sudo lvresize --verbose --resizefs -L -150G /dev/mapper/ubuntu

sudo pvresize --setphysicalvolumesize {some-space} /dev/sda5

두 번째 명령이 다음과 같은 것을 생성하는 경우 :

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

그런 다음 LVM 끝에 할당되지 않은 공간을 다시 정렬해야합니다. 이는 root 및 swap_1 파티션 이후를 의미합니다. 따라서 처음에는 아래 명령을 사용하여 물리 볼륨의 정보를 확인해야합니다.

sudo pvs -v --segments /dev/sda5

다음과 같은 출력이 표시됩니다.

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx sss 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g zzz ttt swap 0 linear /dev/sda5:yyy-www

yyy-www 참고하십시오 . 외부 조각화를 제거하려면 다음 명령을 사용하십시오.

sudo pvmove --alloc anywhere /dev/sda5:yyy-www

이제 어떻게 진행되는지 봅시다 :

sudo pvs -v --segments /dev/sda5

다음과 같이 출력이 표시됩니다 (변경 사항 참고).

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx ttt swap 0 linear /dev/sda5:xxx-sss
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy www 0 free

그런 다음 GParted를 사용하고 LVM의 크기를 최대 사용 영역으로 조정하면 나머지는 할당되지 않은 공간에있게됩니다. 즐겨...


16

다른 GUI 도구 인 KVPM을 추천 합니다. GParted와 system-config-lvm의 기능을 결합합니다. 또한 system-config-lvm 이 허용하지 않는 라이브 (마운트 된) 파티션에서 일부 작업을 수행 할 수 있지만 볼륨을 줄이려면 볼륨을 마운트 해제해야합니다.

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

Ubuntu 12.04 이후의 유니버스 저장소에 있으므로 그렇게하십시오. sudo apt-get install kvpm

참고 : 루트 권한으로 시작하십시오 sudo kvpm


그것은 우주 저장소에 없다 :E: Unable to locate package kvpm
Jeff Puckett


이것은 "system-config-lvm"이 연결된 장치 / 드라이브 / 파일 시스템을로드하지 않은 저에게 효과적이었습니다. 추가 저장소 및 추가 저장소가 필요 없으며 Ubuntu 시스템에서 사전 구성되는 추가 보너스. 또한 파일 시스템이 너무 줄어든다는 오류 때문에 Gparted에서 작업했습니다. (I는 백업 목적으로 8GB의 32기가바이트에서 아래로 RetroOrangepi SD 카드의 크기를 조정하고 있습니다)
BiTinerary

이미 KDE를 사용하지 않는 경우 좋은 같은데, 그것은 다른 모든 K 종속성을 추가 ~ 100M를 할 수 있습니다 생각했다
Xen2050

12

최신 버전의 Gparted (0.14) 만 LVM 물리 볼륨 크기 조정을 지원합니다. Ubuntu 12.10 또는 13.04와 함께 제공되는 버전은이를 지원하지 않습니다.

LVM 물리 볼륨의 크기를 조정하는 방법은 다음과 같습니다.

  1. LVM 물리 볼륨과 관련된 볼륨 그룹에 할당되지 않은 공간이 충분하지 않으면 논리 볼륨을 줄여서 볼륨 그룹을 만들어야합니다. 이를 수행하는 방법에 대한 지시 사항 은 bigbadonk420의 답변 을 참조하십시오. GUI를 선호하는 경우 일부 단계에 그놈 디스크 (우분투에 포함)를 사용할 수도 있습니다.

  2. 레코딩 GParted와 웹 사이트에서 최신 .ISO 이미지를 , 그리고 CD에 굽거나 USB 스틱에 넣어. CD 또는 USB 스틱에서 부팅하십시오. 또는 소스에서 최신 버전의 GParted를 컴파일 할 수 있습니다.

  3. GParted를 사용하여 LVM 물리 볼륨의 크기를 조정하십시오. GParted를 사용하면 LVM 물리 볼륨을 할당되지 않은 공간이 허용하는 것보다 작은 크기로 줄일 수 없습니다.


고마워요 Flimm. 나는 12.10이 최근 충분한 버전의 gpart를 가질 것으로 기대했다. 당신의 대답은 올바른 방향으로 나를 가리 켰습니다.
Martijn Heemels

1
최신 gparted를 얻었지만 파티션 크기를 변경할 수는 없습니다. ext2 유형의 / dev / sda2가 있고 그 아래에 lvm2 유형의 / dev / sda5가 있습니다. 그러나 gparted는 최소 및 최대 크기가 동일하므로 변경할 수 없다고 말합니다 ... :-(
Paul

아니면 pvresizeLVM2 제품군을 사용 합니까?
203967

@ 폴 당신은 그것을 해결 했습니까? 나는 정확히 같은 문제가 있습니다 : S
Castiblanco

@ Castiniblanco 나는 그것을 해결하지 못했고, LVM없이 모든 것을 닦고 다시 설치하게되었습니다. 저에게는 한 가지 교훈이 있습니다. 표준 데스크탑 설치에는 LVM을 사용하지 마십시오.
Paul

9

나는 우연히이 대답을 찾았지만 적어도 나를 위해 일했다. 필자의 경우 루트 이후에 할당되지 않은 디스크 공간이 이미 할당되어 있으므로 더 많은 공간을 확보하는 방법을 건너 뛰고 부팅하지 않고 루트에서 디스크를 어떻게 사용했는지 설명합니다.

참고 :을 사용하는 대신을 사용하는 gparted것이 좋습니다 system-config-lvm. 다음 번에 대신 사용하겠습니다. 내 gparted 버전은 0.18입니다.

  1. 먼저 gparted루트 파티션을 최대한 확장했습니다. 놀랍게도 물리적 크기 만 확장하고 논리적 부분에는 아무것도하지 않았습니다. 그래서 df -k명령은 디스크가 여전히 가득 차 있다고 말했습니다.
  2. lvresize -l +100%FREE /dev/ubuntu-vg/root논리 파티션을 가능한 한 확장합니다. 다양한 방법으로 GB 또는 블록을 확인하고 계산할 필요가 없습니다.
  3. resize2fs /dev/ubuntu-vg/root 그런 다음 내가 한 세 번째 단계입니다. 파일 시스템을 논리 파티션의 크기로 확장합니다.

마지막 단계는 두 번째 단계로 병합 될 수 있습니다.

lvresize -l +100%FREE --resizefs /dev/ubuntu-vg/root


이를 통해 논리적 볼륨을 줄일 수 있지만 OP의 문제는 물리적 볼륨을 줄이는 것입니다.
Stefan

당신은 내 생명을 구했습니다
Quang Hà

1

@ bigbadonk420답변 외에도 다음을 수행하는 대신 :

resize2fs -p /dev/vg_blah/lv_blah 9G
lvreduce -L -1G /dev/vg_blah/lv_blah

하다:

lvreduce -r -L 9G /dev/vg_blah/lv_blah

메모 -r동시에 파일 시스템을 줄이고 안전하다입니다.


그러나 이것이 물리적 볼륨을 축소 시키지는 않습니다 .
Stefan

0

현재 가장 많이 투표 된 답변 에 대한 경고 : LVM 옵션 (14.04 Trusty Tahr)을 사용하여 새로운 기본 설치를 중단 하지 않으려면 1) 전체 페이지를 읽고 2) 스왑을 삭제하십시오 3) "논리 크기를 줄이십시오. volume "과 같이 :

lvreduce -L -1g /dev/vg_blah/lv_blah

나는 강력히 추천한다 system-config-lvm.


다시 한 번 OP는 물리적 볼륨 을 줄이려고합니다 .
Stefan

0

GParted를 사용하려면 dev / sda2 (축소하려는)를 마우스 오른쪽 버튼으로 클릭하십시오. '비활성화'를 선택하십시오. 이제 lvm 파티션의 크기를 조정할 수 있습니다.

업데이트 : @Cao Min Tu 솔루션이 훨씬 좋습니다. 크기를 조정 한 후 GParted에 문제가 거의 없었습니다.

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