SVN 백업에 대한 고민...덩치 큰 프로젝트의 경우 어떠신가요?

wooky81의 이미지

어쩌다 보니 회사에서 SVN 서버를 관리하고 있습니다.

SVN 서버만 6대 정도 돌아가고 있는데,
(윈도우 XP + 아파치 + svn 1.6)

한 프로젝트가 덩치가 너무커서 백업하는데 고민이 많네요

현재까지는 매일 Incremental로 백업을 하고 있고,

2주마다 전체 백업을 하고 있습니다.

문제는 dump로 전체 백업을 했을 때 현재 약 700GB나 되는 용량이 생겨버립니다...ㅡ_ㅡ;
(시간도 엄청 걸립니다..ㅜㅜ)

일주일에 약 1,000 리비전 정도가 쌓이고요, 현재 30,000 리비전을 향해 달려가고 있습니다.

전체 백업 시, dump 파일의 용량이 너무 커지면 메모리 문제로 복구가 안되는 증상이 있어서

대략 1,000 리비전 단위로 끊어서 백업을 하고 있습니다.

-----------------------------------------

예전에 다른 Repository에서 문제가 생겨서 dump 파일로 복구를 했는데

dump 파일 자체에 문제가 있어서 이슈가 된 경험이 있기 때문에 전체 백업된 dump 파일을

임의의 Repository에 복구시켜서 dump 파일을 검증하는 작업을 매번 하는데,

최근엔 이 큰 녀석이 복구가 잘 안되네요...ㅜㅜ
(백업 시, 리비전 Dependency가 없는 지 다 확인하면서 리비전을 끊었는데도

경로가 존재하지 않는다거나 파일이 존재하지 않는다거나 하는 에러 메시지가 뜹니다)

-----------------------------------------

그래서 다른 백업 방법이 있는지 찾아보고 있는데,

hotcopy를 하는게 좋을 지, 아니면 다른 좋은 방법이 없는지 의견 여쭤봅니다.

그럼 좋은 하루 보내세요

phonon의 이미지

실행화일이나 이미지들은 따로 백업을 하고,
소스도 적절한 시기에 릴리스를 하고 태그를 적용합니다.
즉, 가능하면 텍스트 화일만 SVN서버에 운영하는 것이 가장 안전합니다.
버클리디비가 오류를 발생하는 것을 간간히 보았던터라,
가볍게 가볍게 ~

그런데, 어떻게 700GB가 될 수 있지요?
이미지나 바이너리 화일도 버전 관리를 하시나요?

wooky81의 이미지

소스쪽은 별도의 Repository를 운영 중입니다.

도메인은 게임쪽이구요...ㅎ

Resource쪽 버전 관리도 필요하다는 요청이 있어서

시작한 건데 요즘 이건 아닌데 하는 생각이 계속 드네요

어쨌든 SVN은 계속 서비스되고 있으니 더 괜찮은 솔루션은 생각해봐야 할 것 같아서요

hotcopy는 차라리 어떨까요??

Jun92의 이미지

제가 하는 방법이 올바른 방법인지 모르겠으나, 그냥 svn디렉토리를 자체를 그냥 카피해서
백업합니다. xcopy 옵션 찾아보면 바뀐 파일만 카피해주는 옵션이 있더군요.
하드 디스크가 오류가 나면 곧바로 백업한 디렉토리로 설정 바꿔서 서버를 띄워도 되니
복구도 금방이고...

=============================
야후!

atdda의 이미지

hotcopy 사용중인데
repository와 동일하게 저장되니 (새 위치에도 같은 버전의 svn이 설치되어있다는 가정하에) 정상적으로 작업이 완료만 된다면 복구는 간편한 편입니다.
대신, 매일 반복해야하면 사용 용량이 만만치않을 겁니다.

Quote:
최근엔 이 큰 녀석이 복구가 잘 안되네요...ㅜㅜ
(백업 시, 리비전 Dependency가 없는 지 다 확인하면서 리비전을 끊었는데도
경로가 존재하지 않는다거나 파일이 존재하지 않는다거나 하는 에러 메시지가 뜹니다)

설정이나 스크립트에 아무 문제가 없는데 이런 일이 발생한다면 정말 심각한 문제인데요.
검토 후에 정말 문제가 있어 정식으로 버그 보고를 해주신다면 여러 사람이 감사할 일입니다. (저를 포함해서요.)

제 경우에는 bad sector나 전원 off등의 HW 문제나 free space의 문제 외에는 dump가 손상되는 경우는 없었습니다.
(큰 사이즈의 백업이 생성되는 중간에, 다른 요소에 의해 free space 관련 문제가 발생하는 경우는 아주 흔합니다.)
wooky81님의 문제가 혹시가 이런 것과 연관있다면 어떤 정책을 선택하시건 간에 계속 맞닥뜨리게 되실겁니다.
hotcopy냐 다른 좋은 방법이냐와 다른 관점의 이야기가 될 것입니다.

좋은 방안을 찾으시기 바랍니다.
저도 대용량의 svn 백업 문제에 무척 관심이 많은데, 방안 찾으시면 업데이트 해주시면 감사하겠습니다.
관심있게 지켜보겠습니다.

May The Force Be With You.

chadr의 이미지

원래 svn은 바이너리 버전관리에 취약합니다.
리소스만 따로 관리를 하신다면 다른 형상관리툴을 고려해보심이 어떤가합니다.

비록 상용이지만 바이너리까지 제대로 diff 떠서 관리를 해주는 상용 형상관리툴이 많습니다.

한번 상용쪽으로 알아보시고 구입요청을 해보시는건 어떤가 하네요.

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.