Ubuntu LVM 논리 및 물리 볼륨을 축소하는 방법은 무엇입니까?


26

시스템에 유일하게 OS로 Ubuntu 12.10을 설치했습니다.

나는 Ubuntu에 서둘러 모든 것을 덮어 쓰라고 했으므로 Ubuntu가 생성하는 두 개의 파티션, 몇 백 MB의 부팅 파티션과 다른 모든 파티션 만 있습니다.

기본 파티션은 약 600GB입니다.

이 크기를 450GB로 조정하고 Windows 8을 이중 부팅으로 설치할 수 있습니다.

문제는 파티션을 축소하는 방법을 해결할 수 없다는 것입니다. 일반적으로 Gparted (gparted-live-0.14.1-6-i486.iso) 라이브 iso에서 괜찮습니다. 단순히 크기를 조정하면 좋습니다.

그러나 이번에는 우분투가 LVM과 함께 설치되었습니다.

따라서 우분투 파티션 옆에는 자물쇠 아이콘이 있습니다. 이것은 내가 아무것도하지 못하게하고, 파티션을 선택할 수 있으며, "비활성화"옵션이 있습니다. 정확하다면 스왑을 비활성화하고 있다고 생각합니까? 그렇게하면 파티션을 조작 할 수 있습니다.

시스템을 터뜨리기 전에 이것이 올바른 일인지 여기에 묻습니다.

  1. 라이브 gparted iso에서 부팅합니다.
  2. 우분투 파티션을 선택하십시오.
  3. 파티션을 "비활성화"하십시오.
  4. 파티션 크기를 조정하십시오.
  5. 파티션을 "활성화"하십시오.
  6. 대다.
  7. 이익???

내 생각이 맞습니까?

편집 # 1

그래서, 연장 된 대화 후 나는이 명령을 내렸다

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

논리 파티션을 성공적으로 축소했습니다.

Gparted New Shot

그러나 이제 어려운 부분이 있습니다.

이제 물리 분할을 축소하여 Windows 8을 설치할 공간이있는 새 물리 분할을 만들 수 있습니다.

그래서 나는 내가 달릴 수 있다고 생각

pvresize --setphysicalvolumesize {any size here} /dev/sda5

그러나 나는 돌아옵니다.

/ dev / sda5 : 나중에 할당 될 때 xxxxx 범위로 크기를 조정할 수 없습니다.

이 이미지로 인한 스왑 때문이라고 생각합니다.

대 스왑!다음 단계는 무엇입니까?

$: lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu/root
  LV Name                root
  VG Name                ubuntu
  LV UUID                G7Z3dA-xska-8QpO-Y5oD-aIVO-D8l1-22s6dO
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:02 +1300
  LV Status              available
  # open                 1
  LV Size                540.42 GiB
  Current LE             138348
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/ubuntu/swap_1
  LV Name                swap_1
  VG Name                ubuntu
  LV UUID                14qpRy-H5jl-dTAq-CVle-k7Bz-95Rm-Y46zOs
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:04 +1300
  LV Status              available
  # open                 2
  LV Size                7.97 GiB
  Current LE             2041
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

편집 전 추가 정보 # 1

Gparted 스크린 샷
위의 사진은 최신 버전이 아닌 Ubuntu Repositories의 Gparted 버전에서 가져온 것입니다.

matthew @ play : ~ $ sudo fdisk -l

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 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
Disk identifier: 0x000c5bec

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758  1465147391   732322817    5  Extended
/dev/sda5          501760  1465147391   732322816   8e  Linux LVM

Disk /dev/mapper/ubuntu-root: 741.3 GB, 741334843392 bytes
255 heads, 63 sectors/track, 90128 cylinders, total 1447919616 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
Disk identifier: 0x00000000

Disk /dev/mapper/ubuntu-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu-swap_1: 8560 MB, 8560574464 bytes
255 heads, 63 sectors/track, 1040 cylinders, total 16719872 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
Disk identifier: 0x00000000

Disk /dev/mapper/ubuntu-swap_1 doesn't contain a valid partition table

matthew @ play : ~ $ sudo lvs

  LV     VG     Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  root   ubuntu -wi-ao-- 690.42g                                           
  swap_1 ubuntu -wi-ao--   7.97g  

matthew @ play : ~ $ sudo vgs

  VG     #PV #LV #SN Attr   VSize   VFree
  ubuntu   1   2   0 wz--n- 698.39g    0 

matthew @ play : ~ $ sudo pvs

  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda5  ubuntu lvm2 a--  698.39g    0 

최신 GParted 버전을 실행해야합니다 ( 최근에 LVM지원 -다른 독자를위한 참고 사항 임). 비활성화는 vgchange -an myvgname물리 볼륨을 변경하려는 경우 필요할 수있는 볼륨 그룹 ( )을 비활성화하는 것입니다. :) 아, 거의 답입니다.
gertvdijk 2013

자세한 내용이 제공됩니다.
Hailwood

@gertvdijk 빠른 정보가 필요하면 채팅에 나를 핑 (Ping)하십시오.
Hailwood

이 문제가 해결 되었습니까? 다른 버전의 OS를 나란히 설치하기 위해 물리적 파티션을 줄이려고합니다.
Jamess

답변:


17

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

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

sudo pvresize --setphysicalvolumesize {any size here} /dev/sda5

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

LVM의 끝에 할당되지 않은 공간을 다시 정렬해야합니다. 이는 root 및 swap_1 파티션 이후를 의미합니다. 따라서 아래 명령을 사용하여 여유 공간을 이동해야합니다

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz swap 0 linear /dev/sda5:yyy-zzz

이제 아래 명령을 사용하여 외부 조각화를 제거하십시오.

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

이제 어떻게되는지 봅시다-

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn swap 0 linear /dev/sda5:xxx-yyy(-1)
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz 0 free

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


7

이제 더 작은 루트 LV, lvremove스왑 LV를 가져 와서 다시 작성했습니다. 이로 인해 위치 측면에서 루트 LV에 직접 추가됩니다. 이 작업이 완료되면 pvresize물리 볼륨 을 사용할 수 있어야합니다 . 그런 다음 파티션 테이블 ( fdisk)을 편집 할 때 파티션을 PV의 새로운 크기로 축소하여 Windows 설치 관리자가 사용할 공간을 확보하는 것은 무서운 부분입니다 .

파티션의 크기를 줄이려면 PV가보고하는 것보다 몇 MB 씩 약간 더 커져서 여유 범위를 채우기 위해 PV 및 루트 LV의 크기를 조정하는 것이 좋습니다. 그렇게하면 A) LVM에 모든 파티션 크기를 사용하고 액세스 할 수 없어 공간을 잃지 않으며 B) 십진 KB에 대해 바이너리 KiB / MiB / GiB를 잘못 해석하여 PV에서 중요한 데이터를 차단하지 않습니다. fdisk 조작 중에 / MB / GB 또는 그 반대의 경우.

새로운 스왑은 위에서 제안한 것처럼 루트 LV에 추가되도록 새 스왑을 만들면 다른 UUID를 가지므로 / etc / fstab이 일치하지 않습니다. 크기 조정이 모두 완료되면 mount /dev/ubuntu/root /mnt/ mnt ** / etc / fstab ** 을 편집 해야합니다 .

fstab 파일에서 아래와 비슷한 스왑 항목을 찾아서 UUID = 이후의 16 진수를로보고 된 값으로 업데이트해야합니다 blkid.

blkid내 시스템에서의 단계 는 다음과 같습니다.

  1. 운영

    blkid /dev/ubuntu/swap_1
    

    어떤 출력

    /dev/ubuntu/swap_1: UUID="9e99b37a-38af-4987-85eb-92048abd9825" TYPE="swap"
    
  2. UUID 값을 복사

    9e99b37a-38af-4987-85eb-92048abd9825

  3. 루트 LV에서 / etc / fstab을 편집하고 이전 UUID 대신 UUID 값을 삽입하십시오.

    발견

    UUID=**old-uuid** none swap sw 0 0
    

    기존 UUID 대신 새 UUID를 교체하십시오.

    UUID=9e99b37a-38af-4987-85eb-92048abd9825 none swap sw 0 0
    

    또는 UUID 메커니즘을 대체하고을 사용할 수 있습니다 /dev/ubuntu/swap_1.

    /dev/ubuntu/swap_1 none swap sw 0 0
    

문제의 편집과 함께이 절차를 수행하면 파티션 크기를 조정할 수있었습니다. lvdelete 명령 (12.04)을 찾을 수없고 lvremove를 사용하여 스왑 파티션을 제거했습니다. pvresize는 매력처럼 작동했습니다. 그런 다음 gparted live CD를 사용하여 부분 크기를 더 작은 크기로 조정했습니다. 작업을 완료하고 할당되지 않은 크기가 생성되었습니다. 나는 asker가 완전한 답을 만들어야한다고 제안한다.
Jamess

우연히 UUID를 사용하지 않았습니다 (변경 했습니까? 기억하지 않습니다). systyem은 UUID를 스왑에 사용하지 않았습니다. 따라서 UUID 편집 단계를 건너 뛸 수 있습니다.
Jamess

스왑 lv를 재 작성하는 방법 1. lvcreate -L 5G -n / dev / vg0 / swap_1 2. mkswap / dev / vg0 / swap_1, swapon -s / dev / vg0 / swap_1, / etc / fstab 항목의 유효성을 검사합니다. 필요한 변경 UUID.
제임스

lvdelete내 답변에 잘못된 내용을 언급 해 주셔서 감사합니다 . 나는 적절한 lvremove이름 을 인용하기 위해 텍스트를 수정했다 .
Daniel Llewellyn

6

소프트웨어 센터에서 KVPM을 사용하십시오. 전체 디스크 하나의 거대한 LVM (하나의 거대한 LVM의 요점을 알고 있음)을 사용하여 Ubuntu 14.10 LTS를 설치했지만 다른 OS 및 데이터 드라이브에 다른 두 개의 LVM을 추가하려고했습니다. KVPM을 사용했는데 설명에 KDE 파티션 관리자가 있지만 14.04에서 훌륭하게 작동합니다. 단계는 다음과 같습니다.

  1. 14.04LTS를 다운로드하여 부팅 가능한 USB를 만듭니다.
  2. USB 스틱에서 실행되도록 TRY UBUNTU 옵션을 사용하여 USB에서 부팅하십시오.
  3. 소프트웨어 센터에서 KVPM을 설치하십시오.
  4. 선택한 터미널에서 KVPM을 실행하십시오.

    sudo kvpm-방금 실행 kvpm하면 라이브 CD에 오류가 발생하고 중단됩니다.

  5. kvpm이 GUI를 열면 some_drive-vg 탭으로 이동하십시오.

  6. 크기를 조정할 볼륨을 강조 표시하고 마우스 오른쪽 버튼을 클릭하여 옵션을 선택한 다음 볼륨 줄이기를 선택하십시오.
  7. 새 크기를 입력하는 동시에 LVM에 레이블을 다시 지정할 수 있습니다.
  8. 프롬프트를 따라 변경 사항을 확인하고 여유 공간을 할당하십시오.
  9. 사용 가능한 공간으로 필요한만큼 새로운 LVM을 만들 수 있습니다. 내 디스플레이는 녹색 할당되지 않은 공간을 보여주었습니다. 녹색 공간을 마우스 오른쪽 버튼으로 클릭하면 "새 논리 볼륨 생성"옵션 만 가능합니다.

전체 프로세스를 실행하는 것보다 작성하는 데 시간이 더 걸렸습니다.

그건 그렇고, / root 파티션은 모든 변경 후에 완벽하게 기능을 변경했습니다. 선택한 OS에서 HDD로 재부팅하고 새로 발견 된 볼륨을 즐기십시오.


0

KVPM을 사용하면 재부팅 할 필요가 없습니다.

  1. 파티션 마운트 해제를 마우스 오른쪽 단추로 클릭하십시오.
  2. 크기를 줄이다
  3. 다른 파티션 확장 크기를 마우스 오른쪽 버튼으로 클릭
  4. 원래 파티션을 다시 마운트

끝난!

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