100만개 이상되는 파일 백업...문제...

shacker의 이미지

안녕하세요..

kldp에서 도움을 받고 잇는 한 유저입니다.

제게 미션이 하나 있습니다 ㅡㅡ;
적게는 몇십만개 부터 많게는 몇백만게가 되는
파일을 동기화 해야합니다.

기존에 몇만에서 몇십만개는 ncftp 를 이용하여
백업을 하여도 큰 문제는 없었는데

시간이 가면서 파일갯수가 엄청나게 늘어나면서
문제가 발생하고 있습니다.

ncftp가 put또는 get을 하기전에 지정된 대상 디렉토리밑으로
full scan 하는 시간이 ftp 접속대기시간보다 길어서
ftp session이 자동으로 끊기는등에 문제에
시달리고 있습니다. 단순 connect idle time을 늘려주는건
일시적 해결방법에 해당하는것같습니다.

몇십만개 이상되는 파일 백업 또는 동기화를 해보셨던분들의
조언을 듣고싶습니다.

뭔가 방법이 없을까요?;

익명 사용자의 이미지

rsync 를 이용해 보세요
원하던 그것입니다.

익명 사용자의 이미지

나그네20051 wrote:
rsync 를 이용해 보세요
원하던 그것입니다.

멋져요.

shacker의 이미지

나그네20051 wrote:
rsync 를 이용해 보세요
원하던 그것입니다.

rsync 말고 별도의 프로그램이나 python app 같은거 없으까요 ㅡㅡa

다 마찬가지일라나 ㅡㅡ;

퍼미션.. uid, gid 등도 다 맞춰야하는데 ㅡ.ㅜ

정말 rsync밖에 방법이 없단 말인가..T_T;;

ps. rsync 보안 취약점 문제 있지 않나요?;

Prentice의 이미지

소유권, 퍼미션 모두 rsync로 보존할 수 있습니다.

보안을 위해서는 최신 버젼인 2.6.3을 설치하세요.

GoodWolf의 이미지

호스팅되는 여러 사용자들의 계정을 가진 웹서버 백업도 가능한가요? +_+?
..

백업하면서 압축을 할 수는 없을까요? +_+?

No pains! No gains!

bugfree의 이미지

tar + ssh 를 역어서 사용하면 어떻까요?
저는 tar cvfzp - /home | ssh bugfree@backup "cd /backup/home; cat > home_$(date +%Y%m%d).tar.gz"
로 백업합니다.
rsync 로하면 파일갯수가 많아지니깐 listbuilding 에만 몇시간씩 걸리더라구요..

ps. 물론 백업할때는 서비스용 네트웍이 아닌 사설단을 이용해서 백업합니다..

gilsion의 이미지

GoodWolf wrote:
호스팅되는 여러 사용자들의 계정을 가진 웹서버 백업도 가능한가요? +_+?
..

백업하면서 압축을 할 수는 없을까요? +_+?

간단한 쉘스크립트나 펄스크립트로 가능하겠지요.
전 그렇게 사용했었습니다. 코드는.... 기억이 나지않는군요
집에가서 찾으면 올려보도록 하겠습니다.

sh.의 이미지

bugfree wrote:
tar + ssh 를 역어서 사용하면 어떻까요?
저는 tar cvfzp - /home | ssh bugfree@backup "cd /backup/home; cat > home_$(date +%Y%m%d).tar.gz"
로 백업합니다.
rsync 로하면 파일갯수가 많아지니깐 listbuilding 에만 몇시간씩 걸리더라구요..

ps. 물론 백업할때는 서비스용 네트웍이 아닌 사설단을 이용해서 백업합니다..

제 경우는 몇Gb정도는 리스트 작성에 1분도 안걸리더군요.
다만 ssh를 통해서 보내게되면 cpu에 부담이 많던데요

익명 사용자의 이미지

bs0048 wrote:

제 경우는 몇Gb정도는 리스트 작성에 1분도 안걸리더군요.
다만 ssh를 통해서 보내게되면 cpu에 부담이 많던데요

파일갯수는 천만개이상 용량은 700G~800G
리스트빌딩만 대략 5~6시간정도..
데이터 넘기는데만 8~9시간정도 걸렸던거 같네요.
rsync로는 답이 없어서 tar로 넘겼던 기억이...

shacker의 이미지

음.. nfs... lufs... rsync.... ftp...

모두 검토해보았지만... 전부 장단점이 있어서..

최고의 방법을 찾기 힘들군요...

돈만 있으면 백업소프트웨어를 사는게 맞긴하지만 ㅡㅡ;

그럴 수도 없고 ..;;

100만개 되는 이상파일을 로컬에서 tar로 묶는다는것도

로컬 자체에 disk 여유가 없는이상 힘들꺼같고 ..;;

좀더 연구를 해봐야겠습니다

쭈압!

익명 사용자의 이미지

bs0048 wrote:
bugfree wrote:
tar + ssh 를 역어서 사용하면 어떻까요?
저는 tar cvfzp - /home | ssh bugfree@backup "cd /backup/home; cat > home_$(date +%Y%m%d).tar.gz"
로 백업합니다.
rsync 로하면 파일갯수가 많아지니깐 listbuilding 에만 몇시간씩 걸리더라구요..

ps. 물론 백업할때는 서비스용 네트웍이 아닌 사설단을 이용해서 백업합니다..

제 경우는 몇Gb정도는 리스트 작성에 1분도 안걸리더군요.
다만 ssh를 통해서 보내게되면 cpu에 부담이 많던데요

ss가 부하가 걸리면 tar + rsh 를 쓰면 될것같은데요...

cjh의 이미지

한번에 복사하려고 하지 마시고 디렉토리를 1-2단계 나누어서 하면
더 빠를 수 있습니다. 가령

/a/1
/a/2
/b/1
/b/2

이렇게 되어 있으면 /a/1 을 하나 묶고, /a/2 하나 묶고 이러면 rsync같이
리스트를 먼저 빌드하는 경우 리스트 빌드하는 시간을 크게 줄일 수 있겠죠.
파일 갯수가 가변적일 수 있으니 미리 디렉토리별 파일 갯수를 보고
나누면 좋습니다.

--
익스펙토 페트로눔

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.