/dev/md1
20GB FS가 설치되어 있고 /
~200GB FS가 설치된 컴퓨터가 있습니다. 곧 많은 데이터가 저장될 것입니다. 시스템을 삭제하지 않고 이 두 파티션을 하나의 더 큰 파티션으로 병합하는 방법은 무엇입니까? 이것이 달성하기 쉽지 않다면 사용자 데이터 및 이미 존재하는 모든 것을 손상시키지 않고 이를 수행하는 가장 쉬운 방법은 무엇입니까?/dev/md2
/home
/var
/var
/
/var
이 머신은 Debian 7.10을 실행하고 있습니다. 차이가 크지는 않지만 실제로 두 대의 거의 동일한 컴퓨터에서 이 문제가 발생했습니다. 나는 실제로 그들 중 어느 것에도 손을 댈 수 없었습니다. 아직 "실시간"이거나 프로덕션 상태는 아니지만 필요할 때마다 다시 시작할 수 있습니다.
답변1
귀하의 md2
파티션이 비어 있지 않으므로 가장 쉬운 방법은 rsync
데이터를 /var
새 파티션에 복사한 다음 소프트 링크를 만드는 것입니다.
rsync -xav /var /home/VAR
mv /var /var.org
ln -s /home/VAR /var
md1
라이브 배포(경로 설치 및 조정) 에서 부팅하는 동안 이 작업을 수행하는 것이 가장 좋습니다. md2
이것이 가능하지 않은 경우 rsync
rsync 중에 변경 사항을 캡처할 수 있도록 다른 시간이 필요할 수 있습니다(라이브 시스템에서 부팅하는 것이 더 좋습니다). 라이브 배포에서 이 작업을 수행하는 경우 rsync
작업 시스템에서 초기 작업을 수행하여 라이브 시스템을 다시 시작한 후 변경된 파일만 동기화하면 가동 중지 시간을 줄일 수 있습니다(@cas 제안).
소프트 링크를 만드는 대신 bind
mount /home/VAR
/on 사용을 고려할 수 있습니다 /var
. 이것이 장점인지 잘 모르겠습니다.
확인한 모든 사항이 제자리에 있고 올바르게 작동하면 제거할 수 있습니다./var/org
답변2
다음과 같은 간단한 솔루션DeRobert가 댓글에서 제안했습니다., (대부분) 기존 파일을 그대로 두고, 대용량 파일을 받을 디렉터리 하나만 이동하고, 파일이 실제로 저장된 위치를 예상 경로로 가리키도록 심볼릭 링크를 만드는 것입니다. 예를 들어, 이 서버를 대량의 메일을 보관하도록 변환하려는 경우 다음을 수행할 수 있습니다.
service postfix stop # or whatever you need to do to stop writing to /var/mail
mv /var/mail /home
ln -s ../home/mail /var/mail
service postfix start
파일이 새 디렉터리로 이동하는 경우 아무 것도 이동할 필요가 없습니다. 큰 파티션에 디렉터리를 만들고 /var
.
파일이 실제로 거기에 있어야 한다면 작은 파티션으로 이동한 다음 큰 파티션으로 /var
이동할 수 있습니다 . 하지만 안전하게 수행하려면 이동 중인 파일을 사용하는 것이 없는지 확인해야 하며, 이는 물리적으로 접근할 수 없는 경우 문제가 될 수 있습니다./home
/var
답변3
내가 찾은 수정 사항은 @Anthon이 게시한 수정 사항과 유사했습니다.
결국 VAR
. 에 /home
내용을 복사한 다음 에 설치 하도록 변경했습니다 . 그런 다음 시스템을 다시 시작했습니다. 돌아왔을 때 새 디렉터리(현재는 로 끝남 )를 만들고 각 사용자 계정(에서 )을 로 이동한 다음 내용(현재) 을 로 이동했습니다 . 그런 다음 관련 되고 혼란스러운 문제를 해결하기 위해 컴퓨터를 재부팅했습니다 ./var
/etc/fstab
/dev/md2
/var
/home
/dev/md1
/var
/home
/var/VAR
/var
/var/lock
/var/run
이것은 매우 지저분하지만 심볼릭 링크 및 /home
.