시스템이 실행되는 동안 Linux 파티션의 크기를 조정하는 방법은 무엇입니까?

시스템이 실행되는 동안 Linux 파티션의 크기를 조정하는 방법은 무엇입니까?

가상 머신 중 하나(OpenSUSE LEAP 15.3 실행)의 파일 시스템은 원래 10GB로 설정되었지만 꽉 찼을 뿐입니다. 그래서 vSphere에서 20GB를 확장했습니다. 내가 찾은 설명에 따르면 먼저 /dev/sda3해당 디스크 끝에 있는 20GB에서 새 파티션을 만들었습니다.

~ # fdisk -l   

Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000845f1

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        2048  1026047  1024000  500M 83 Linux
/dev/sda2        1026048 20971519 19945472  9.5G 83 Linux
/dev/sda3       20971520 62914559 41943040   20G 83 Linux
~ #

그런데 그때 나는 의문이 생겼습니다. 실제로 새로 생성된 파티션을 다시 삭제하고 기존 파티션을 확장하는 것이 더 낫다고 생각합니다 /dev/sda2.

어떻게 하면 가장 좋고 쉽게 이 작업을 수행할 수 있습니까? 즉, 어떻게 /dev/sda3다시 삭제하고 /dev/sda2끝 섹터를 62914559로 변경합니까? 나에게 문제는 파일 시스템을 손상시키지 않고 실행 중인 가상 머신 자체에서 이 작업을 수행해야 한다는 것입니다. 즉, 일부 파티션 편집 도구가 포함된 CD나 메모리 스틱에서는 시스템을 부팅할 수 없지만 시스템이 실행되는 동안 이 작업을 수행해야 합니다. 가능하다고 생각합니다. 하지만 저는 분명히 Linux 전문가는 아니므로 양해해 주시기 바랍니다.

여기에 관련된 경우: /dev/sda2형식 지정에 btrfs를 사용하십시오.

답변1

게으른 방법: btrfs 기능을 사용하여 sda3기존 파일 시스템에 병합

결과에만 관심이 있는 경우(즉, 파티션의 디스크 용량이 sda3기존 파일 시스템의 일부가 됨) 간단히 다음을 수행할 수 있습니다.

sda2(이것이 루트 파일 시스템이고 실제로 확장하려는 파일 시스템이라고 가정 )

btrfs device add /dev/sda3 /   # this makes the new capacity available

그 다음에

btrfs filesystem balance /     # this optimizes things but can take a long time

이제 끝났습니다.

예, 단일 btrfs파일 시스템이 여러 파티션을 차지할 수 있습니다.


근본적인 해결책: 실제로 sda3파티션을 삭제하고 확장합니다.sda2

sda3먼저 생성한 파티션을 삭제해야 합니다 . 아직 설치하지 않았거나 기존 파티션에 추가했거나 btrfs다른 방법으로 사용한 경우 간단히 실행 하고 "파티션 제거"를 입력한 다음 삭제하려는 파티션 수를 fdisk /dev/sda입력 하고 마지막으로 변경 사항을 디스크에 쓰고 종료할 수 있습니다 .d3wfdisk

그런 다음 실행 cat /proc/partitions하여 더 이상 나열되지 않는지 확인하세요 sda3. 그렇다면 실행 partprobe /dev/sda하고 다시 확인하세요.

아마도 기존 파티션을 확장하는 가장 간단한 도구는 growpartOpenSuSE 15.3에서는 표준으로 사용할 수 없는 것 같지만 여기에서 얻을 수 있습니다.https://software.opensuse.org/download.html?project=Cloud%3ATools&package=growpart

sda2디스크에서 파티션 뒤의 연속적이고 분할되지 않은 여유 공간을 차지하도록 파티션을 확장하려면 :

growpart /dev/sda 2

그런 다음 btrfs파일 시스템의 크기를 조정하여 이제 더 큰 파티션을 채웁니다. ( sda2이것이 루트 파일 시스템이라고 가정)

btrfs filesystem resize max /

관련 정보