
답변1
growpart
공급자가 가상 디스크를 확장하면 파티션을 안전하게 확장하는 유틸리티가 있습니다 . 귀하의 경우 유일한 트릭은 필요하지 않을 때 확장/논리 DOS 파티션을 불필요하게 생성했다는 것입니다. 따라서 확장 파티션의 크기를 조정한 다음 확장 파티션에 포함된 논리 파티션의 크기를 조정해야 합니다.
sudo apt install cloud-guest-utils
유틸리티 growpart
는 디스크와 파티션 번호를 별도의 인수로 허용하므로 크기를 조정하려면 다음과 같이 /dev/vda2
작성합니다.
sudo growpart /dev/vda 2
먼저 확장 파티션의 크기를 조정한 /dev/vda2
다음 /dev/vda5
같은 방식으로 크기를 조정합니다.
sudo growpart /dev/vda 2
sudo growpart /dev/vda 5
이제 파일 시스템의 크기를 조정할 수 있습니다. ext4이면 resize2fs /dev/vda5
작동합니다. XFS의 경우 xfs_growfs /
.
답변2
출력 결과 에 따르면 fdisk
실제로 40GB의 80GB 디스크가 있는 것으로 보입니다.펼친/dev/vda2
40GB 내부를 포함하는 파티션( )논리적/dev/vda5
파일 시스템 을 보유하는 파티션 /
. 확장 파티션에는 실제로 파일이 포함되어 있지 않으며 아래에 언급된 4개의 파티션 제한을 극복할 수 있는 논리 파티션의 "컨테이너"일 뿐입니다. 그러면 fdisk
어떤 식으로든 표시되지 않는 할당되지 않은 공간이 40GB 있습니다 .
할당되지 않은 공간을 사용하는 방법에는 여러 가지 옵션이 있을 수 있습니다. LVM을 사용하지 않는 경우 LVM에는 볼륨 크기를 조정하는 자체 도구가 있으므로 절차가 완전히 다르기 때문에 LVM을 사용하지 않는다고 가정합니다. 그러나 fdisk
출력에는 LVM 파티션에 대한 언급이 표시되지 않습니다.
fdisk
파티션을 삭제하고 다시 만드는 것은 항상 데이터 손실의 위험이 있으므로 권장하지 않습니다 . 따라서 안전하게 수행하려면 다음을 시도해 볼 수 있습니다.
첫 번째 옵션은 두 개의 40GB 파티션을 갖고 이 두 파티션 간에 파일을 지능적으로 분할하는 것입니다. 예를 들어 에 대용량 파일을 많이 보관하는 경우 /home
새 파티션을 사용할 수 /home
있으며 그 외의 모든 항목은 /home
이전 파티션에 유지됩니다. 이것을하기 위해:
할당되지 않은 공간에
fdisk
또 다른 기본 파티션(아마도 !로 나타날 것임)을 생성 하고 . 총 4개의 기본 또는 확장 파티션이 있을 수 있으며, 그 중 최대 1개가 확장되므로 다른 파티션을 위한 공간이 있습니다. 기본 파티션이 제공되는 권장 파티션 레이아웃은 아닙니다./dev/vda3
mkfs /dev/vda3
~ 후에확장 파티션이 필요하지만 아마도 작동할 것입니다./home
디렉터리 이름을 다음으로 바꾸고/old_home
(현재 사용하고 있지 않은지 확인하고 일반 사용자가 로그인하지 않은 루트에서 수행)/home
이전 디렉터리와 동일한 소유자 및 권한을 가진 새 디렉터리를 만듭니다.다음 명령을 사용하여
/dev/vda3
파일 시스템 을 마운트하십시오 . 이것이 성공하면 시스템 부팅 시 새 파일 시스템이 적절하게 자동 마운트되도록 편집해야 합니다. 아마도 현재 vda1 및 vda5에 대해 다음과 같은 두 줄이 포함되어 있을 것입니다. (지금 작성 중이므로 사용자의 줄은 다를 수 있습니다.)/home
mount /dev/vda3 /home
/etc/fstab
/etc/fstab
/dev/vda5 / ext4 defaults 0 1
/dev/vda1 /boot ext4 defaults 0 2
예를 들어 vda3에 대해 유사한 줄을 추가합니다.
/dev/vda3 /home ext4 defaults 0 2
(파일에 "ext4" 또는 "defaults" 대신 다른 것이 있으면 이 매개변수를 새 줄에 복사하세요). 이제 새 디렉토리에 파일을 쓰고
/home
시스템을 재부팅하십시오. 재부팅 후에도 디렉토리에 넣은 파일이 여전히 존재한다면 부팅 시 올바르게 마운트되었음을/home
의미합니다 ./home
이제 모든 것을 에서 으로 이동
/old_home
한/home
다음 빈/old_home
디렉터리를 삭제할 수 있습니다.
나는 일반적으로 이 방법이 나에게 가장 안전하고 쉽다고 생각하며 여러 번 사용해 왔습니다. 그러나 단일 80GB 공간 대신 실제로 2x40GB를 갖는 단점이 있습니다. 이는 때로는 좋을 수도 있고 때로는 나쁠 수도 있습니다. 예를 들어 실수로 시스템 디스크가 사용자 파일로 채워지는 것을 방지하려는 경우에는 다음을 갖는 것이 좋습니다. /home
별도의 파티션으로.
그래서 또 다른 옵션은 GNU를 사용하는 것입니다.나뉜프로그램을 사용하여 vda2 및 vda5 파티션(첫 번째 vda2, 그 다음 vda5, 전자에 후자 포함)의 크기를 80GB로 조정합니다. parted
데이터 손실 없이 파티션을 수정하도록 특별히 설계되었으나 이는 fdisk
보장할 수 없습니다. 나는 parted
Debian 저장소에 있다고 확신하므로 apt
.
파티션 크기를 조정한 후 명령을 사용하여 파일 시스템을 전체 80GB로 resize2fs /dev/vda5
확장합니다 ./
답변3
일반적으로 이 경우에는 fdisk /dev/vda
.
- 파티션 2와 5의 시작 섹터를 기록해 두십시오.
- 파티션 5를 제거합니다.
- 파티션 2를 제거합니다.
- 이전 시작 섹터와 새 끝(기본값)을 사용하여 파티션 2를 다시 만듭니다. 이것은펼친분할.
- 이전 시작 섹터와 새 끝(기본값)을 사용하여 파티션 5를 다시 만듭니다. 이것은논리적분할.
테이블이 작성되고 활성화된 후에도(예: 재부팅) 해당 파티션의 파일 시스템에 적합한 파일 시스템을 /dev/vda5
사용하거나 무엇이든 확장해야 합니다 .resize2fs
무엇보다도 이 작업을 시도하기 전에 백업이 잘 되어 있는지 확인하세요.