Ubuntu 10.04 를 Mac 용 Timemachine Server 로 사용하기

다즐링의 이미지

백업만 테스트하고 복구는 테스트 하지 않았습니다.

서버 : 우분투 10.04 ( amd64 , i386 테스트 )
클라이언트 : mac os x snow leopard

기존방법

기존방법 url 에는 여러가지 정보가 있으므로 읽어보는것이 좋습니다.

netatalk 를 써본지 좀 오래되었습니다. TimeMachine 용도 ( 맥용 백업 ) 으로도 쓰이더군요.

우분투 10.04 에서는 다음과 같이 하면 사용이 가능합니다. ( 위의 링크에서는 컴파일 합니다. 않해도 되더군요. )

모든 명령어는 root 로 수행합니다.

1. netatalk 설치

apt-get install netatalk 

2. /etc/default/netatalk 수정

ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no

3. /etc/netatalk/afpd.conf 에 추가

- -transall -uamlist uams_dhx2.so -nosavepassword

4. /etc/netatalk/AppleVolumes.default 수정 ( username1 , username2 에 shell username 을 적어주면 됩니다. 당연히 하나만 적어도 되죠. 저의경우 dj,root )

~/ "$u" allow:username1,username2 cnidscheme:cdb
/Time/Machine/Directory TimeMachine allow:username1,username2 cnidscheme:dbd options:usedots

저의 경우
~/ "$u" allow:dj,root cnidscheme:cdb
/mnt/sdb1/mbp-backup TimeMachine allow:dj,root cnidscheme:dbd options:usedots

5. netatalk restart

/etc/init.d/netatalk restart

6. avahi 설치 ( 대부분은 깔려 있음 )

apt-get install avahi-daemon libnss-mdns

7. /etc/nsswitch.conf 의 hosts 설정

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

8. /etc/avahi/services/afpd.service 파일 만들기

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>

9. avahi 재시작

/etc/init.d/avahi-daemon restart

10. mac 에서 network volume 을 timemachine 에서 사용가능하게 설정

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

11. 테스트
맥에서 네트워크 볼륨으로 마운트하고 타임머신 백업을 해봅니다.

현재 100M 네트웍으로 25G 정도 백업하는데 2-4시간 정도 걸리더군요. 맥의 성능 및 네트워크 , 써버 성능에 따라 시간은 당연히 차이가 날것입니다.
그러나 외장디스크가 제일 빠르다는 진실 -_-;;;

댓글

hiseob의 이미지

기가비트가 아닌이상 어쩔수 없죠 ^^;

cypher의 이미지

복원도 아주 잘 됩니다.
굳이 비싼 돈 들여 TimeCapsule 이나 Airport Express Base Station+외장하드 조합을 구매할 필요가 없군요.

kiding의 이미지

좀 간단하게 구현을 했습니다.

1. 맥 터미널에서 defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1 를 하고,
http://www.insanelymac.com/forum/index.php?showtopic=184462 에 있는 makeImage.sh를 사용해서 파일 만든 후 외장하드로 복사
2. 외장하드를 USB로 CentOS 서버에 연결
3. SMB로 1TB 볼륨 설정 (물론 제 계정만 읽을 수 있도록...)
4. 맥에서 1TB 볼륨 마운트 (자동으로 안 잡힐 경우 Finder에서 '서버로 연결(Command+K)' 한 후 smb://(IP주소) 하면 됩니다.)
5. 시스템 환경설정에서 Time Machine 설정. 끗.

그 다음부터는 타임머신이 알아서 SMB 서버로 찾아 들어가서 로그인하고 백업하더군요.
1에서 만든 .sparsebundle이 dmg처럼 마운트가 되고, 그 안에 백업 파일들이 들어가는 형태인데요,
윈도우/리눅스에서 하드를 USB로 열어보니 .sparsebundle 폴더가 있고, 그 안에 데이터들이 모두 8메가 단위로 쪼개져 보관되더군요.

문제는 속도는 둘째치고 안정성인데요, 네트워크 문제인지, 아니면 해킨토시(...Mac OS X 업데이트를 못해서...?) 문제인지, 아니면 1TB 하드를 FAT으로(...) 포맷해놔서 그런건지,
여튼 백업 시작 전에 sparsebundle 마운트를 실패하게 되면 '... 사용 가능하게 하는 중'에서 멈추게 되더군요.
제가 이때 몇번 강제로 네트워크를 끊었던 적이 있었는데, 결국 파일 시스템 손상(sparsebundle 폴더 부분)이 초래됐고, 백업 해 놓은 분량을 지워버렸습니다.
실제로는 데이터가 8메가 단위로 잘려서 들어가는데, 이 작업에서 예기치 못한 오류가 발생할 경우 제대로 완료되지 못하고 sparsebundle이 통째로 마운트 되지 않는 현상이 생기지 않나 하는 생각이 들었습니다.

덧. ext와 HFS 사이에서 계속 고민하던 중 결국... ㅠㅠ

-----------
Kim, Dongsung
kiding.kmug.co.kr

-----------
Kim, Dongsung
kiding.kmug.co.kr

소타의 이미지

오.. 삼바로 다시 되는 모양이네요.
leopard beta 시절에는 삼바로 타임머신이 됐었는데 정식 출시 되고는 안됐었거든요.
언제부터 된건지 몰라도 좋은 소식이군요 >_<

댓글 달기

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