서버간 파일 이전 #452
airman5573
started this conversation in
Today I Learned
서버간 파일 이전
#452
Replies: 1 comment
-
|
만약 한번에 옮기는게 가능하지 않은 경우라면 미국 서버를 임시로 띄워서 작업하는 것도 방법일것같네요~ |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
서버 간 대용량 파일 고속 이전:
ssh와rsync활용법두 개의 원격 서버 간에 대용량 파일을 이전할 때, 로컬 컴퓨터를 거치지 않고 서버끼리 직접 통신하게 하여 전송 속도를 극적으로 향상시킨 경험을 공유합니다.
1. 문제 상황
기존에는 다음과 같은 비효율적인 방식으로 파일을 이전했습니다.
두 서버가 모두 미국에 위치해 있어 다운로드 속도는 빨랐지만, 로컬에서 Target 서버로 업로드하는 속도가 매우 느렸습니다. 10GB 파일을 옮기는 데 40시간이 소요되는 문제가 발생했습니다.
2. 해결 방법
ssh의-A옵션(Agent Forwarding)과rsync를 활용하여 Target 서버에서 Source 서버로 직접 접속해 파일을 가져오는 방식으로 변경했습니다.결과: 40시간 걸리던 작업이 단 5분 만에 완료되었습니다.
실행 명령어
1. Local에서 Target 서버로 접속 (
-A옵션 사용)로컬 컴퓨터의 SSH 인증 정보를 Target 서버가 잠시 '빌려' 쓸 수 있도록
-A옵션을 추가하여 접속합니다.2. Target 서버에서
rsync로 Source 서버 파일 가져오기Target 서버에 접속된 상태에서,
rsync명령어를 실행하여 Source 서버의 파일을 직접 가져옵니다.예시:
3. 참고 설명
SSH
-A옵션 (Agent Forwarding)-A옵션은 현재 사용 중인 로컬 컴퓨터의 SSH 키 인증 능력을 다음 접속지(Target 서버)가 '빌려서' 사용할 수 있게 해주는 기능입니다. 이를 통해 Target 서버에서 Source 서버로 다시 SSH 접속을 할 때 비밀번호나 별도의 키 설정 없이 인증이 가능해집니다. (키 파일 자체가 복사되는 것이 아니므로 안전합니다.)rsync란 무엇인가? (What is rsync?)rsync는 'remote sync'의 약자로, 원격지의 파일과 디렉터리를 **'똑똑하고 효율적으로 동기화'**하는 명령어 도구입니다. 단순 복사(cp, scp)와는 차원이 다른 강력한 기능을 제공하여 '파일 동기화의 스위스 아미 나이프'라고 불립니다.rsync의 핵심 특징 및 장점1. 델타 전송 알고리즘 (Delta Transfer Algorithm) - 가장 중요한 특징!
rsync의 심장이자scp와의 가장 큰 차이점입니다.scp의 방식 (단순 전체 복사): 10GB 파일에 1MB의 작은 변화가 생겨도 파일 **전체(10GB)**를 다시 전송합니다.rsync의 방식 (지능적 증분 복사): 변경 사항이 생겼을 때, 원본과 대상 파일을 비교하여 변경된 1MB 조각만 전송합니다.2. 속도와 효율성
델타 전송 덕분에 두 번째 동기화부터는 비교할 수 없을 정도로 속도가 빠릅니다.
3. 유연성과 다양한 옵션
--exclude,--include로 특정 파일을 제외/포함하거나--delete옵션으로 원본에서 삭제된 파일을 대상에서도 삭제하는 등 다양한 제어가 가능합니다.4. 안정성 (이어받기 기능)
--partial또는-P옵션을 사용하면 대용량 파일 전송 중 네트워크가 끊겨도, 다음 실행 시 처음부터가 아닌 끊겼던 부분부터 이어서 전송할 수 있습니다.사용된
rsync옵션 상세 설명-a--archive-rlptgoD옵션을 모두 포함합니다. (권한, 소유자, 그룹, 수정 시간 등 파일 속성 보존)-v--verbose-z--compress--progress--progress옵션 출력 예시:cp,scp,rsync비교Beta Was this translation helpful? Give feedback.
All reactions