카테고리 보관물: Linux

파일 전송속도와 삼바를 mount하기

해외 출장중에 한국에서 1.5GB가 넘는 대용량의 파일을 자주 끌어와야 할 상황이 생겼다. 한국에 있는 서버에 파일을 올려두고 몇 가지 시험을 해봤더니 FTP가 SMB보다 대략 4배 이상의 속도가 빠르다고 측정 된다. 그래봤자 450KB/s이긴 하지만, 산술적으로 계산해서 SMB로 4시간 걸리는게 FTP로 1시간에 된다는 것이니까 이득은 있다.

FTP(450KB/s) > SFTP/SCP(260KB/s) > SMB (100KB/s)

문제는 SMB를 제공하는 서버에서 FTP service를 제공하지 않는다는 것이다. smbget 등의 명령어로 다른 서버로 옮긴 다음에 이것을 다시 FTP로 끌어오는 방안이 있기도 했지만 무척 번거롭다. 가장 간단한 것은 서버 관리자가 FTP service를 설치해 주는 건데…

하지만 요청했더니 역시나 담당자는 이 서버가 “Storage 전용 장비여서 FTP를 설치할 수 없다”고 회신해 왔다. 사실 Storage 전용장비면 SMB는 service할 수 있고 FTP는 service할 수 없다는 게 이해되지는 않지만 중요한건 못해 주겠다는 거…

그러면서 생각지 못했던 단서를 하나 남겨 줬는데, FTP가 service되는 다른 서버에서 SMB를 mount해서 FTP service를 제공하면 되지 않느냐는 제안이었다. (IT 아저씨 떙큐!)

인터넷을 뒤적이고 몇번 삽질을 해서 이렇게 하면된다는 걸 알게됐다.

$> sudo mount -t cifs //SERVER_IP/PATH  /MOUNT_POSIITON -o username= USER_ID,codepage=949,iocharset=utf8,password=USER_PASSWORD,domain=USER_DOMAIN_NAME

FTP server가 SMB와 같은 위치에 있는 것이어서 SMB->FTP간의 전송속도는 크게 영향을 받지 않는 모양이다. 처음에 측정했던 450KB/s가 그대로 나오고 있었다. 야호!

하지만 FTP를 제공하는 server가 공개된 것이라면 이 방법을 쓸 때 조심해야 한다, mount command로 mount된 파티션과 옵션들을 볼 수 있는데 이때 도메인에 가입된 USER_ID 와 USER_PASSWORD가 노출되기 때문이다.

저걸 보고 나쁜짓 할 사람이 있겠는가 만은 기분은 좀 찜찜하다. mount 명령어에서 passwd option은 좀 가려주면 안되나 싶기도 하고… 어쨌든 출장 끝나고 unmount 해야겠다.