2012年8月31日金曜日

timemachineサーバーon Ubuntu自作!

timemachineサーバーを自作しようという試みです。(見た目じゃなくて中身を。)

ということでまずはサーバー自作です。
今回の目標はやはり、LANハブとか無線LANとか余計なものを付けないことで純正のtime capsuleより安価&省電力を目指す、ということでゆこうと思います。

アップル純正time capsule
容量 2TB 価格 ¥26,400- 最大消費電力(連続使用時): 34W

これに勝てるようにがんばろー(´ω`)ノ

今回用意したのはこちらです。
・インテル D525MW
部屋にころがってた2GBのメインメモリ
・picoPSU-150-XT
・部屋にころがってた適当なACアダプタ WD-12500
・余ってた2TBHDD WD20EARSと1.5TBHDD WD15EARS
・高速(らしい)USBメモリ  Transcend JetFlash 700 SuperSpeed

です。余っているパーツを活用すれば2万もかからないと思います。
ACアダプタは抵抗が少ないように4pinに改造してます。もとのアダプタを変換する形だと抵抗が大きくて触れないくらいまで熱くなってしまうので…

それと、今回は個人的に気になっていたHDDを冷却してくれるやつをヤフオクで安くゲットしたので使ってみました。

こんな風にHDDをセットして使うと冷やされるらしいです。
HDDが長持ちするのなら藁にもすがる思いですね!

こんなふうに組み立てました!
うおぉーファンレスサーバー!
HDDさえSSDだったなら無音PCだったのに!
ファイルボックスに入れたり。
本棚に隠したり。
小物入れに入れたり。

ちなみにネットで似たような構成の人のブログを見ると、消費電力は17W~19Wくらいだそうで。
こんなもんなんじゃないでしょうか。

ではインストールを始めます。
今回はOSはサーバー版のUbuntu12.04でゆきます。 
本当はDebian6でゆきたいのですが、afpdのバージョンが2.1.2でしたのでMac OS X LionのTimemachineには対応していません。
ちなみに2.1.2だと
「ネットワーク・バックアップ・ディスクは、必要なAFP機能に対応していません。」みたいなエラーが出ます。

なので今回はUbuntu12.04です。Ubuntuのafpdのバージョンは2.2.1なのでバッチシです。
もちろん、Debian6でもどっかから最新バージョンを拾ってくればいいのですが、まぁ今回はaptから簡単に取ってこれるUbuntu12.04でゆきます。


 LanguageはEnglishでゆきましょう。最近のLinuxは日本語に対応が進んできているとはいえ、サーバー用途のサーバーで日本語の設定にしてしまうと、やはり余計な苦労をすることは間違いないでしょう。なので英語です。



はい。そしてこちらがインストールできたOSになります。
OSは16GBのUSBに入れて、データディスクとは別にする方式です。

はい、でもって次はtimemachineサーバーをインストールするまでの全手順です。
ちょっと詳しくしすぎで間延び気味ですが、まぁこんなものでしょうな。

rootを取ります。
$ sudo su -


必要なものを取ってきます。
# apt-get update
# apt-get install netatalk avahi-daemon

もちろん他に、
# apt-get install vim openssh-server

とか取っておくべきです。

あ、ちなみにバージョンを確認して
# afpd -v
afpd 2.2.1 - Apple Filing Protocol (AFP) daemon of Netatalk
と2.2.1以上なら多分大丈夫です。
これが2.2.1以下だと、先述したエラーが出ます。

次に設定します。
あ、その前にIPアドレスを固定しなきゃですね。
IPアドレスを固定すればSSHから接続できますし。
# vim /etc/network/interfaces

#iface eth0 inet dhcp ←コメントアウトして以下を追記
iface eth0 inet static
address 192.168.0.254
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1
auto eth0
最低、addressだけ指定しても大丈夫っぽいです。
そしてIPアドレスを反映です。
# /etc/init.d/networking restart


はい、そしたらtimemachineの設定です。

# mkdir -p /etc/avahi/services
# vim /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>

↑これで、Macのtimemachineから%hという名前が見えるようになるはずです。

# mkdir /var/timemachine
# touch /var/timemachine/.com.apple.timemachine.supported

# vim /etc/netatalk/AppleVolumes.default
:DEFAULT: options:upriv,usedots dperm:0700 fperm:0600 maccharset:MAC_JAPANESE ea:sys
/mnt/timemachine                   "timemachine" options:tm volsizelimit:300000

↑AppleVolumes.defaultの内容は全て削除しちゃっていいです。
2行目が使用するフォルダの設定です。今回は/mnt/timemachineというフォルダにしました。サイズは300GBを上限にしました。ちなみにMacからは314.57GBに見えます。


# /etc/init.d/avahi-daemon restart
# /etc/init.d/netatalk restart


あと、/mnt/timemachineを用意します。

# mkdir /mnt/timemachine
# chown time:time /mnt/timemachine
もちろん、「time」のところは自分がつくったユーザー名にしてください。
あれ、所有者rootでも大丈夫だったかな?どうだったっけ…

あれ、そんでもって2TBのHDDはどこだったかしらと。

# fdisk -l
Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

sdaでした。
フォーマットします。
# mkfs.ext4 /dev/sdb
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
今回はディスク全体を余すところ無く使うのでyで。

マウントします
# mount /dev/sdb /mnt/timemachine

できたかどうか確認します
# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              14G  1.2G   13G   9% /
tmpfs                 998M     0  998M   0% /lib/init/rw
udev                  994M  160K  994M   1% /dev
tmpfs                 998M     0  998M   0% /dev/shm
/dev/sdb              1.8T  176K  1.8T   0% /mnt/timemachine

できてました。

というわけで、無事サーバーができました。
あと、Mac側での設定が必要です。
$ defaults write com.apple.systempreferences

それと、Finderのメニューバーのツールから「サーバーに接続」で接続してなきゃいけないかな?

これで完成です。

ここにUbuntuのユーザーとパスワードを入れれば、完成です。
バッチシ!(*´ω`*)

さて、これは余ってるパーツを活用したのでこんな構成になっていますが、今から何もない状態から作るとしたら?

インテル D525MW ヤフオクで4~5千円くらい
・DDR3のSO-DIMMメモリ2GB ヤフオクで千円くらい
・電源 ヤフオクで2千円くらい
・2TBのHDD WD20EARX 7千円くらい
ええっ!1万5千円くらいでtimemachineサーバーができるのかい!?
Appleのtime capsuleより1万はお買い得!しかも各種サーバーにもできる!キタコレ!

そんな感じでした!こんどこのサーバーをいじる時はゆっくり霊夢型PCケースを自作する時です!それではアディオス!

0 件のコメント:

コメントを投稿