비 LVM ext4 파티션 크기 조정 / 확대 / 성장 방법


20

이미 포럼을 검색했지만 적절한 답변을 찾을 수 없습니다.

KVM 호스트 및 게스트 시스템으로 Ubuntu Server 10.04가 있으며 10.04도 실행됩니다. 호스트 시스템은 LVM을 사용하며 가상 블록 장치로 게스트에 제공되는 3 개의 논리 볼륨이 있습니다. 하나는 /, 하나는 / home, 하나는 스왑입니다. 게스트는 LVM없이 분할되었습니다.

호스트 시스템의 논리 볼륨을 이미 확대했습니다. 게스트는 더 큰 가상 디스크를 볼 수 있습니다. 그러나이 가상 디스크에는 하나의 "양호한"파티션이 포함되어 있으며이 파티션에는 여전히 오래된 작은 크기가 있습니다.

fdisk -l의 출력은

me@produktion:/$ LC_ALL=en_US sudo fdisk -l

Disk /dev/vda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c8ce7

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *           1        3917    31455232   83  Linux

Disk /dev/vdb: 2147 MB, 2147483648 bytes
244 heads, 47 sectors/track, 365 cylinders
Units = cylinders of 11468 * 512 = 5871616 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000f2bf7

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1               1         366     2095104   82  Linux swap / Solaris
Partition 1 has different physical/logical beginnings (non-Linux?):
     phys=(0, 32, 33) logical=(0, 43, 28)
Partition 1 has different physical/logical endings:
     phys=(260, 243, 47) logical=(365, 136, 44)

Disk /dev/vdc: 225.5 GB, 225485783040 bytes
255 heads, 63 sectors/track, 27413 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00027f25

   Device Boot      Start         End      Blocks   Id  System
/dev/vdc1               1        9138    73398272   83  Linux

부분 인쇄의 출력은 모두

Model: Virtio Block Device (virtblk)
Disk /dev/vda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  32.2GB  32.2GB  primary  ext4         boot


Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      1049kB  2146MB  2145MB  primary  linux-swap(v1)


Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 225GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  75.2GB  75.2GB  primary  ext4

내가 달성하고자하는 것은 파티션 / dev / vdc1을 단순히 늘리거나 크기를 조정하여 가상 블록 장치 / dev / vdc가 제공하는 전체 공간을 사용하도록하는 것입니다. 문제는 내가 parted로 그렇게하려고하면 불평한다는 것입니다.

(parted) select /dev/vdc                                                  
Using /dev/vdc
(parted) print                                                            
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 225GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  75.2GB  75.2GB  primary  ext4

(parted) resize 1                                                         
WARNING: you are attempting to use parted to operate on (resize) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs.  We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
Start?  [1049kB]?                                                         
End?  [75.2GB]? 224GB                                                     
Error: File system has an incompatible feature enabled.  Compatible features are has_journal, dir_index, filetype, sparse_super and large_file.  Use tune2fs
or debugfs to remove features.

그래서 내가 무엇을 할 수 있니? 이것은 헤드리스 생산 시스템입니다. 이 파티션을 확장하는 안전한 방법은 무엇입니까? 그래도 마운트를 해제 할 수 있으므로 문제가되지 않습니다.

편집 : Cfdisk는 작은 여유 공간으로 파티션되지 않은 공간을 표시 한 다음 파티션 ( "부팅"및 Linux / ext3으로 표시됨)과 나머지 파티션되지 않은 공간을 표시했습니다. cfdisk를 사용하여 파티션을 삭제하고 다시 생성 한 후-cfdisk는 하나의 큰 파티션 영역 (나에게 좋을 것입니다)과 파일 시스템 유형으로 "Linux"만 표시합니다.

Resize2fs는이 오류를 반환합니다 resize2fs 1.41.11 (14-Mar-2010) resize2fs: Bad magic number in super-block while trying to open /dev/vdc1 Couldn't find valid filesystem superblock

답변:


18

페이지는 마운트 해제, 삭제, 원하는 크기의 파티션을 재 작성하고 resize2fs를 사용하여 파티션을 확장하는 방법을 나타냅니다. resize2fs 매뉴얼 페이지가 동의합니다.

'파티션 삭제'가 무서운 것처럼 들리지만 데이터는 전혀 변경되지 않습니다. 컨테이너를 참조하는 것을 변경합니다. mkfs.ext4당신이 하지 않는 한 당신은 괜찮을 것입니다.

파티션 시작점이 원래와 같아야합니다. 그렇지 않으면 OS가 뒤에있는 것을 해석하는 방법을 모릅니다. 그러면 더 큰 파티션을 만들기 위해 끝점을 더 따라갈 수 있습니다.

주석의 오류는 시작점 이동과 관련이 있다고 생각합니다. 시작과 정확히 같은 시점에서 시작해야합니다. 끝 점이 움직일 수 있습니다.

cfdisk 대신 fdisk를 제안하고 시작점 문제를 확인한 것으로 psusi 에게 감사드립니다 .


cfdisk로 파티션을 삭제하고 새로운 파티션을 만들었습니다. 그러나 나는 그것을 resize2fs 할 수 없었고 더 이상 마운트 할 수 없습니다.
Mischa

resize2fs 1.41.11 (2010 년 3 월 14 일) resize2fs : / dev / vdc1을 열려고하는 동안 수퍼 블록에 잘못된 마법 번호가 있습니다. 유효한 파일 시스템 수퍼 블록을 찾을 수 없습니다.
Mischa

1
실제로 cfdisk는 작은 여유 공간의 파티션되지 않은 공간을 표시 한 다음 파티션 ( "부팅"및 Linux / ext3으로 표시됨)과 나머지 파티션되지 않은 공간을 표시했습니다. cfdisk를 사용하여 파티션을 삭제하고 다시 생성하면 cfdisk는 하나의 큰 파티션 영역 (나에게 좋을 것임)과 파일 시스템 유형으로 "Linux"만 표시합니다.
Mischa

8
원래와 동일한 섹터에서 시작되도록 파티션을 다시 만들어야합니다. cfdisk로는이 작업을 수행 할 수 없습니다. fdisk 또는 parted를 사용하여 섹터 모드로 두십시오.
psusi

1
파티션의 시작 부분이 이동되도록 ext4 파티션의 크기를 조정하는 방법이 있습니까? 현재 ext4 파티션 앞에 여유 공간이 있기 때문에 뒷면이 아니라 ... 아마도 파티션보다 큰 여유 공간이 있으므로 다음을 수행 할 수 있습니다. 전체 파티션을 앞면에 복사하십시오. 뒤쪽에있는 것을 제거한 다음 이동 한 것을 전체 크기로 조정하십시오. 하지만 그 순간에 나에게 끔찍한 해킹 ... 것 같아
codeling

6

예를 들면 :

/ dev / sdb2는 / boot 파티션입니다. 100MB로 다소 작습니다. 실행중인 시스템에서이 ext4 파티션을 늘리려면 (루트 또는 sudo로) 다음을 수행하십시오.

umount / boot

parted / dev / sdb

(일부) 프린트

모델 : ATA Patriot Torqx 2 (scsi)
디스크 / dev / sdb : 32.0GB
섹터 크기 (논리 / 물리) : 512B / 512B
파티션 테이블 : msdos

번호 시작 끝 크기 유형 파일 시스템 플래그
1 1049kB 12.9GB 12.9GB 기본 유형 = 83
2 12.9GB 13.0GB 107MB 기본 ext4 유형 = 83

(일부) rm 2

(부분) mkpart

파티션 타입? 기본 / 확장? 기본
파일 시스템 유형? [ext2]?
스타트? 12.9GB
끝? 13.4GB

(부분) 종료

resize2fs / dev / sdb2

resize2fs 1.42.6 (2012 년 9 월 21 일)
/ dev / sdb2의 파일 시스템은 / boot에 마운트됩니다. 온라인 크기 조정 필수
old_desc_blocks = 1, new_desc_blocks = 2
/ dev / sdb2의 파일 시스템 길이는 이제 498688 블록입니다.

끝난!

모든 데이터는 그대로 유지됩니다. / boot를 사용할 준비가되었으며 472MB가 큼 (부분 크기는 안전하지 않으므로 설명서를 읽고 이유를 확인하십시오)

모든 데이터는 이전에 백업되었지만 예방책으로 만 사용되었습니다. 나는 똑같이하는 것이 좋습니다.

실패 할 경우 / boot 마운트 해제를 중지하는 프로세스를 찾으려면 다음 명령을 사용하십시오.

lsof / boot

행운을 빕니다!


2
정확히 같은 위치에 놓이려면 GB가 아닌 섹터 단위를 사용해야합니다.
psusi

0

파티션을 삭제하고 다시 만들려고 할 때 파티션이 2048 미만으로 시작되면 나처럼 문제가 생길 수 있습니다 resize2fs.

Couldn't find valid filesystem superblock.

fdisk 버전 2.17.2 부터 fdisk IIUC는 하드 드라이브가 "정확하게 정렬"되도록하기 위해 2048 년부터 시작하도록합니다. 따라서 원래 파티션이 2048 년 이전에 시작된 경우 파티션을 다시 만들려고하는 경우가 있습니다.

가장 좋은 방법은 디스크를 복제 할 때 재 동기화하는 것 입니다.

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