LVM과 포함 된 물리 볼륨 및 논리 볼륨으로 파티션을 확장하려면 어떻게해야합니까?


33

내 240GB SSD에서 처음에는 두 개의 파티션이 있었고 하나는 Linux Mint의 논리 볼륨을 포함하고 다른 하나는 Windows와 공유 할 NTFS 파티션을 포함했습니다. 이제 NTFS 파티션을 제거하고 릴리스 된 디스크 공간을 사용하도록 논리 볼륨 그룹을 확장하려고합니다.

내가 어떻게 할 볼륨 그룹을 확장 , 내 포함 / 집 논리 볼륨파일 시스템 (ext4가) 에 / 집? 온라인으로 가능합니까?

추신 : 예, 데이터를 백업해야한다는 것을 알고 있습니다 :)

/dev/sdb/  (240GB)
    linuxvg  (160GB) should use 100% of the disk space
        swap
        root
        home (ext4, 128GB) should be extended to use the remaining space

출력 sudo vgdisplay:

  --- Volume group ---
  VG Name               linuxvg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               160,00 GiB
  PE Size               4,00 MiB
  Total PE              40959
  Alloc PE / Size       40959 / 160,00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               ...

  --- Logical volume ---
  LV Path                /dev/linuxvg/swap
  LV Name                swap
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation host, time mint, 2013-08-06 22:48:32 +0200
  LV Status              available
  # open                 2
  LV Size                8,00 GiB
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/linuxvg/root
  LV Name                root
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation host, time mint, 2013-08-06 22:48:43 +0200
  LV Status              available
  # open                 1
  LV Size                24,00 GiB
  Current LE             6144
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

  --- Logical volume ---
  LV Path                /dev/linuxvg/home
  LV Name                home
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation host, time mint, 2013-08-06 22:48:57 +0200
  LV Status              available
  # open                 1
  LV Size                128,00 GiB
  Current LE             32767
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

  --- Physical volumes ---
  PV Name               /dev/sdb1     
  PV UUID               ...
  PV Status             allocatable
  Total PE / Free PE    40959 / 0

출력 sudo fdisk -l:

Disk /dev/sdb: 240.1 GB, 240057409536 bytes
255 heads, 63 sectors/track, 29185 cylinders, total 468862128 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

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1   468862127   234431063+  ee  GPT

Disk /dev/mapper/linuxvg-swap: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders, total 16777216 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/linuxvg-root: 25.8 GB, 25769803776 bytes
255 heads, 63 sectors/track, 3133 cylinders, total 50331648 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/linuxvg-home: 137.4 GB, 137434759168 bytes
255 heads, 63 sectors/track, 16708 cylinders, total 268427264 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

2
글쎄, 쉬운 방법은 vgextend파티션을 완전히 제거하는 대신 NTFS 파티션을 pvcreate하고 사용 하는 것입니다. 기존 PV 파티션을 늘리면 디스크를 사용하는 동안 Linux가 파티션 테이블을 다시 읽지 않기 때문에 재부팅해야 할 수도 있습니다. 이 온라인 문제를 해결하는 것은 어색합니다. -현재 파티션 테이블을 보여주십시오.
frostschutz

필요한 경우 재부팅 할 수 있습니다.
klingt.net

답변:


44

상당히 간단하게 할 수 있습니다. 킨다는 이미 여기에 대한 답변이 없다는 것에 놀랐습니다.

크기를 조정하려는 파일 시스템에서 실행하는 동안이 전체 프로세스를 수행 할 수 있습니다 (예, 안전하고 완벽하게 지원됩니다). 복구 CD 나 대체 운영 체제가 필요하지 않습니다.

  1. 파티션의 크기를 조정하십시오 (다시, 시스템이 실행중인 상태에서 수행 할 수 있습니다). GParted 는 사용하기 쉽고 크기 조정을 지원합니다.
    와 같은 하위 수준 도구를 사용할 수도 있습니다 fdisk. 그러나 파티션을 삭제하고 다시 만들어야합니다. 새 파티션이 정확히 같은 위치에서 시작되도록하십시오.
  2. 재부팅하십시오. 파티션 테이블은 실행중인 시스템에서 수정되었으므로 재부팅 할 때까지 적용되지 않습니다.
  3. pvresize /dev/sdXYLVM이 새 공간을 가져 오도록 실행하십시오 .
  4. 로 논리 볼륨의 크기를 조정하십시오 lvextend. 모든 것을 사용하려면 lvextend -r -l +100%FREE /dev/VGNAME/LVNAME. 은 -r뿐만 아니라 파일 시스템의 크기를 조정합니다.
    항상 전체 볼륨 그룹을 사용하지 않는 것이 좋습니다. 미래에 필요한 것이 무엇인지 모릅니다. 나중에 언제든지 확장 할 수 있으며 축소 할 수 없습니다.

3
답변을 수락하고 싶지만 GParted가 실행중인 시스템 (최소한 경우)에서 루트 파티션의 크기를 조정할 수 없기 때문에 제안한대로 작동하지 않았습니다.
klingt.net

@HalosGhost 편집 내용을 되돌 렸습니다. partprobe -s당신이 생각하는 것을하지 않습니다. 커널은 사용중인 파티션의 크기를 조정하지 않습니다. partprobe -s크기 조정 중에 파티션이 사용 중일 때만 작동하므로 (fdisk가 커널에이를 알리면 실패했습니다).
Patrick

@ 패트릭, 나는 그것에 대한 아이디어를 추가하지 않았다; 나는 명령을 백틱에 넣음으로써 편집을 "개선했다"(코드 전쟁은 임금을 피한다!).
HalosGhost

죄송합니다. 잘못된 기록 이벤트에서 이름을 읽으십시오. 다음에 적용되는 @Qetesh :-)
Patrick

1
2 단계에서 "partx -u"를 사용하여 다시 부팅하지 않고 커널에 파티션 크기를 업데이트하도록 지시 할 수 있습니다. 활성 파티션에서도 작동하며 /sys/.../sdXY/size를 확인하여 확인할 수 있습니다. 후.
AB

11

LVM의 힘에 대한 정의는 없습니다.

(이것은 위의 질문에 대한 @frostchutz 의견을 기반으로합니다.)

사실을 알아 봅시다 :

  • OP에는 두 개의 파티션이 있는데, sdb1과 sdb2는 LVM의 물리적 볼륨입니다.
  • sdb1은 현재 ntfs이므로 해당 공간을 볼륨 그룹 home내의 논리 볼륨 에 제공해야합니다 linuxvg.

"실용적인 방법"을 사용한 LVM 단계 :

  • sdb1에 물리 볼륨을 작성하십시오. pvcreate /dev/sdb1
  • sdb1을 linuxvg다음에 추가하십시오 .vgextend linuxvg /dev/sdb1
  • home모든 여유 공간으로 논리 볼륨 을 확장하십시오 .lvextend -l +100%FREE /dev/linuxvg/home
  • ext4 fs를 확장하십시오 : resize2f /dev/linuxvg/home

LVM은 큰 수준의 간접 지향을 허용합니다. 논리 볼륨이 여러 디스크를 사용하는 볼륨 그룹 내에 있습니다.

홈-> linuxvg-> (sdb1, sdb2, sdc1)

http://tldp.org/HOWTO/LVM-HOWTO/createvgs.html


10

블로그 게시물 을 읽은 후 문제가 해결 되었습니다. 나는 짧은 형식으로 해결책을 쓸 것이다.

  • 와 함께 라이브 CD에서 부팅
  • 사용 gdisk(당신은 GPT를 사용하는 경우) 그렇지 않으면 당신은 좋은 오래된로 갈 수있다fdisk
  • 내 경우에는 파티션 설정을 적어 두십시오. gdisk -l /dev/sdb
  • 와 파티션을 삭제
  • 이전 파티션과 정확히 동일한 정렬로 새 파티션을 만듭니다 (예제에서 블록 2048에서 시작)
  • 새 파티션 테이블을 작성하십시오
  • partprobe -s재부팅하지 않고 파티션 테이블을 새로 고치기 위해 실행
  • pvresize /dev/sdb1PV가있는 곳이나 어디에 있든 물리적 볼륨의 크기를 조정하십시오 ( pvs알 수 없는지 판단 하는 데 사용 )
  • lvextend -l +100%FREE /dev/file/of/your/lv내 경우에는로 논리 볼륨의 크기를 조정하십시오.sudo lvextend -l +100%FREE /dev/linuxvg/home
  • 파일 시스템의 크기를 조정하십시오 sudo resize2fs /dev/linuxvg/home
  • 먼저 일관성을 확인하십시오 sudo e2fsck -f /dev/linuxvg/home
  • 즐겨 :)

실제로 이러한 단계의 약 절반을 잘라 내고 한 번만 재부팅하면됩니다.
Patrick

GParted는 파티션이 잠겨 있기 때문에 파티션 크기 조정을 거부했습니다 (이 키 기호).
klingt.net

4

좋은 답변이 이미 있습니다.

xfs를 사용하는 경우 다음 명령을 사용하십시오.

xfs_growfs /mountpoint

resize2fs보다는. 루트 파티션을 키우고 다시 부팅 할 필요가없는 경우와 같이 마운트 지점이 활성화되어있는 동안 그렇게 할 수 있습니다.

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