파티션 간에 여유 디스크 공간을 이동하는 방법

파티션 간에 여유 디스크 공간을 이동하는 방법

한 파티션에서 다른 파티션으로 빈 디스크 공간을 이동하고 싶습니다. 가능합니까?

아래 그림에서 /local(/dev/sda3) 아래에 여유 공간이 있습니다. 이 공간을 //dev/sda2의 공간 에 할당하고 싶습니다 .

어떻게 해야 하나요?

lsblk 출력

답변1

요청하신 작업을 수행하는 것은 쉽지 않습니다. 하지만 도움이 될 수 있는 두 가지 해결 방법이 있습니다.

두 개의 디스크가 있습니다. 첫 번째 디스크에는 기본 파티션으로 /boot 및 /가 있고, 세 번째 기본 파티션인 sda3은 남은 공간을 모두 차지하여 LVM에 제공합니다. 동일한 VG의 LVM에도 두 번째 디스크가 할당되어 있습니다. 문제는 기본 파티션 sda2의 크기를 늘리려면 sda3의 시작 부분을 이동해야 한다는 것입니다. 아마도아마도비슷한 것이 gparted이것을 할 수 있지만 솔직히 잘 모르겠습니다. (우분투에서는 / 파티션이 이미 LVM에 있으므로 /boot에만 문제가 있으며 이는 큰 문제가 아닙니다.)

따라서 첫 번째 가능성은 /local을 10G 이상 줄여 VG의 공간을 확보하는 것입니다. pvmovesda3의 모든 익스텐트를 sdb로 이동하는 데 사용됩니다 . sda3가 더 이상 사용되지 않으면 gpartedsda3 제거 및 sda2 확장과 같은 방법을 사용할 수 있습니다 .

lvs vgs그런데 저는 and 의 출력을 선호합니다 pvs. 마지막 출력은 sda3가 더 이상 사용되지 않을 때 (두려움이 덜함) 표시됩니다.

두 번째 가능성: /의 하위 트리가 다른 LV에 외부화됩니다. 내가 결정할 수도 있어요 /usr. VG의 공간을 확보하려면 최소한 이 하위 트리의 크기만큼 /local을 줄이세요. /usr이라는 이름의 새 LV를 생성하고, 파일을 복사하고, /usr 마운트를 해제하고, /usr 이름을 /usr.bak로 변경하고, mkdir /usr, 새 LV에서 /usr을 다시 마운트하고, 모든 것이 정상인지 확인합니다(다시 시작 등). /usr.bak를 삭제하여 공간을 확보할 수 있습니다. 이 솔루션의 경우 단일 모드에서 많은 작업을 수행해야 할 수 있으며 /usr의 바이너리에 액세스하지 않고 작업하는 것은 흥미로운 연습입니다. :)

관련 정보