[mac] TimeMachine のバックアップ先として Linux サーバを使う
netatalk のインストール
久々に日記書くから書き方わすれた…
Mac の Time Machine を使うには、一般的には外付けHDDやTime Capsuleを使うらしいですが、常に外付けHDDつけてるのも嫌だし、Time Capsule 買うのも嫌なので、どうこうして Linux サーバを Time Machine で使えないかと思ってましたら、どうやら出来るらしいのでセットアップしてみます。
Scientific Linux 5.6 に Netatalk 2.2-beta4 をインストール | 複眼中心
この記事によれば、netatalk というものを使えば、Time Machine のサーバとして使えるようです。インストールします。
% aptitude install netatalk -t sid
netatalk は、AFP 3.3 に対応していないといけないらしく、それは 2.2 beta4 かららしいです。Debian のパッケージには、netatalk 2.1 しかなかったので、sid のパッケージから 2.2 beta4 をインストールします。
あと、avahi-daemon もいるらしいですね。インストールします。
% aptitude install avahi-daemon
設定ファイル
インストールしたらば、設定ファイルを編集です。netatalk と一緒にインストールされた afpd の両方を設定します。
ここの記事の設定をほぼまるごと使わせていただきました。唯一違うのは AppleVolumes の設定だけ。自分のユーザのだけ公開されればいいので、以下の設定で ~/.AppleVolumes を作成しました。
# The line below sets some DEFAULT, starting with Netatalk 2.1. :DEFAULT: options:upriv,usedots dperm:0700 fperm:0600 maccharset:MAC_JAPANESE ea:sys # By default all users have access to their home directories. #~/ "Home Directory" # For TimeMachine directory /var/timemachine/hon_ya "Time Machine Vol for hon_ya" options:tm volsizelimit:190000
再起動
netatalk を再起動します。いちおう、avahi-daemon も(たぶん必要ない)
% sudo service avahi-daemon restart % sudo service netatalk restart
Time Machine の設定
やっとこさ Time Machine を設定します。まず、Finder のツールバーから [移動] -> [ネットワーク] を見ると、netatalk を設定したサーバが見えているはずなので、接続します。ユーザとパスワードは、サーバのユーザとパスワードと同じです。
これで接続できれば、Time Machine からも認識してくれるみたいです。[システム環境設定] -> [Time Machine] を選択します。
[ディスクを選択] を選ぶと、バックアップ先の候補として、サーバが出てきてくれるはずなので、あとは Time Machine を設定するだけです。
感想
Time Machine の UI はやたらかっこいいですね。時間軸を遡る感じが大変良いです。
DLNAサーバをセッティングしてみるよ
DLNA というのは、家庭内の映像とか音楽とかをサーバに貯めこんで、そのサーバにテレビとか PS3 とかアクセスできれば、それぞれが個別にデータを抱え込まずに楽しめて便利!という雰囲気のものらしいです。
ということで、この環境を自宅につくってみたいと思いましたので、つくります。
最終的な設定は?
最終的には、以下のような設定に落ち着きました。
[global] --- 省略 --- unix extensions = no [REGZA-REC] comment = REGZA REC path = /home/share/REGZA browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755 valid users = @share force group = share
unix extensions = no
上記設定からいくつかピックアップして設定していったところ、
以下の設定をするといけるようになりました。
[global] unix extensions = no
この設定の意味なのですが、
この真偽値パラメータは、Samba が HP 社によって定義された CIFS の UNIX拡張を利用するかどうかを制御する。 これらの拡張は、UNIX クライアントから UNIX サーバに対して接続する際に有用な CIFS を有効にし、 シンボリックリンクやハードリンクなどを利用可能にする。 これらの拡張により、Samba は UNIX の CIFS クライアントに対して、シンボ リックリンクやハードリンクといった機能を提供することが可能となる。これらの拡張は、同様の機能が有効になったクライアントを必要とし、現在のところ、Windows クライアントには使用できない。
ふむ、どうもこの値が有効だといかんようなのですが、見る限り”利用可能”にするので
あって、有効にしていても REGZA が使おうとしないかぎりは YES でも NO でも同じことなのでは?
と思うのは間違いなのだろう、よくわからないけど。
きちんとした説明が欲しいところですが、こんなときは解説してくれているサイトをさがすに限ります。
ふむ、やっぱりわからない。
また今度調べてみることにします。
/etc/samba/smb.conf
REGZA から参照する共有の設定を記述します。
share は共有用に作成したアカウントです。
[REGZA-REC] comment = REGZA REC path = /home/share/REGZA browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755 valid users = @share force group = share
REGZA から登録する
REGZA から LAN ハードディスクとして設定します。
[設定メニュー] -> [レグザリンク設定] -> [LAN ハードディスク設定] -> [機器の登録]を開きます。
レグザは、指定のユーザアカウントを使ってアクセス可能な機器を一覧表示しますので、まずはユーザ設定をします。
REGZA Z1 だと、[青]ボタンで [ユーザ切り替え]ができるので、そこで開くダイアログにユーザ名とパスワードを設定します。
今回だと、ユーザ名: share です。パスワードは smbpasswd で設定したものを。
正しく設定できると、"REGZA-REC(マシンのホスト名)"が一覧に表示されますので、これを登録します。
REGZA からテストする
[設定メニュー] -> [レグザリンク設定] -> [LAN ハードディスク設定] -> [動作テスト] を開いて、登録した
LAN ハードディスクをテストします。
なぜかうまくいかない…
ここまでの設定では、うまくいきませんでした。なぜだ…
Google 先生に頼んでいろいろ見て回った結果、以下の設定ならうまくいきました。
guest ok な設定にする
まず、パスワードが設定されてるのはだめなんだよー、なものが多かったので、
ゲストアカウントで読み書き可能な共有設定をがんばってみました。
- REGZA Z1と玄箱とのLAN接続(2) : 好きな事だけの日記
- パソコンとREGZAの共有2 (Ubuntu-Samba編) | デジ備忘
- http://tt.atnifty.com/solaris/regza-samba.html
[global] --- (略) --- null passwords = yes guest account = nobody map to guest = Bad User create mask = 0666 force user = nobody force group = nogroup directory mask = 0777 unix extensions = no [REGZA] path = /var/samba/regza read only = no guest ok = yes writable = yes browsable = yes
この設定にすると、録画できるようになりました。
でも、REGZA にはきちんとユーザ設定する方法があるのに、録画できないのが
納得いかないので、この設定を元に先の設定を修正してみます。
【Samba】REGZA で使える LAN ハードディスクを用意しようと頑張ってみる
いままで USB 接続した外付けHDD に録画していたのですが、せっかくのサーバなので LAN ハードディスクを用意してそちらに保存させるようにしようと Let's Try!!
新しく domain を作成する
LAN サーバ用に新しく domainU を作成しました。間違いなく不足すると思いますが、500G を割り当てて作りました。
仮想環境はいろいろ実験しやすくて便利だなーとしみじみ。
Samba をインストール
おなじみ Samba さんをインストールします。
$ sudo aptitude install samba
Xen4.0 の domainU の仮想ディスクを拡張する方法を試行錯誤しました。
とりあえず先人たちを参考に
domainU のディスク拡張はいろんな人がやってると思うので調べてみます。
とりあえずこちらのページを参考に作業してみます。
今回は、4G のディスクに 3G を拡張してみます。
hon-ya@debian:% ll [~/workspace/xen/vm-debian1] 合計 1384600 -rw------- 1 root root 4294967296 2011-05-23 23:09 disk.img -rw------- 1 root root 134217728 2011-05-23 23:09 swap.img hon-ya@debian:% mv disk.img disk.img.bak [~/workspace/xen/vm-debian1] hon-ya@debian:% qemu-img create -f raw zerofile.img 3G [~/workspace/xen/vm-debian1] Formatting 'zerofile.img', fmt=raw size=3221225472 hon-ya@debian:% ls [~/workspace/xen/vm-debian1] disk.img.bak swap.img zerofile.img hon-ya@debian:% sudo cp disk.img.bak disk.img2 hon-ya@debian:% sudo cat disk.img.bak zerofile.img > disk.img [~/workspace/xen/vm-debian1] hon-ya@debian:% ll [~/workspace/xen/vm-debia 合計 10115184 -rw-r--r-- 1 hon-ya hon-ya 7516192768 2011-05-23 23:20 disk.img -rw------- 1 root root 4294967296 2011-05-23 23:09 disk.img.bak -rw------- 1 root root 4294967296 2011-05-23 23:13 disk.img2 -rw------- 1 root root 134217728 2011-05-23 23:09 swap.img -rw-r--r-- 1 hon-ya hon-ya 3221225472 2011-05-23 23:12 zerofile.img hon-ya@debian:%
ディスク自体は拡張されたので、あとはパーティションなんかをどうこうする。
hon-ya@debian:% sudo losetup -f [~/workspace/xen/vm-debian1] /dev/loop2 hon-ya@debian:% sudo losetup /dev/loop2 ./disk.img [~/workspace/xen/vm-debian1] hon-ya@debian:% sudo fdisk /dev/loop2 [~/workspace/xen/vm-debian1] Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x30d4e8d4. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): p Disk /dev/loop2: 7516 MB, 7516192768 bytes 255 heads, 63 sectors/track, 913 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: 0x30d4e8d4 Device Boot Start End Blocks Id System Command (m for help):
と、なんか期待してた表示と違うんですけど…
fdisk でパーティション情報が表示されない
手順通りに作業していると、fdisk での処理につまずきました。
どうも fdisk さんではパーティション情報をうまく見れないようです。
2010年01月15日の記事 | 個人的健忘録 from 2009 - 楽天ブログ
いろいろ調べてみると、どうも GPT パーティションというのがあやしい。GPT パーティションは、大容量のHDDを扱えるタイプのパーティションで、2TB を超えるサイズを扱えるそうな。
parted の使用
どうも GPT なるパーティションテーブルになっているらしく、fdisk では歯がたたない。これを扱えるのは、gdisk とかあるらしいんですけど、stable のパッケージには入っていない。いざいれてみても、なんか使いづらい。
というので行き着いたのが上のリンクのページ下部で紹介されている parted なるツールでした。こちらは、stable のパッケージにも
入っているので早速 aptitude でインストール。
hon-ya@debian:% sudo parted /dev/loop2 [~/workspace/xen/vm-debian1] GNU Parted 2.3 Using /dev/loop2 Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Model: (file) Disk /dev/loop2: 7516MB Sector size (logical/physical): 512B/512B Partition Table: loop Number Start End Size File system Flags 1 0.00B 7516MB 7516MB ext3 (parted)
それっぽいものが見えます。これをみるかぎり、パーティションとしては拡張した分を認識してくれているようにみえます。
ファイルシステムのサイズ拡張
上記の状態で domainU を立ち上げてみたのですが、ファイルシステムが認識していないので、
相変わらず利用可能な領域は 4G でした。
ですので、ファイルシステム側を対処します。
hon-ya@debian:% sudo e2fsck -f /dev/loop2 [~/workspace/xen/vm-debian1] [sudo] password for hon-ya: e2fsck 1.41.12 (17-May-2010) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/loop2: 19971/262144 files (1.2% non-contiguous), 192245/1048576 blocks hon-ya@debian:% sudo resize2fs /dev/loop2 [~/workspace/xen/vm-debian1] resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/loop2 to 1835008 (4k) blocks. The filesystem on /dev/loop2 is now 1835008 blocks long. hon-ya@debian:%
拡張(リサイズ)されたようです。
domainU で確認してみる
拡張した disk.img を使って domainU を起動してみます。
すると、以下のようにたしかに 3+4=7G になっているようです。
ast login: Sun May 22 23:27:02 2011 from 192.168.1.129 hon-ya@vm-debian1:% df [~] Filesystem 1K-blocks Used Available Use% Mounted on /dev/xvda2 7224824 704212 6153616 11% / tmpfs 63916 0 63916 0% /lib/init/rw udev 47548 32 47516 1% /dev tmpfs 63916 4 63912 1% /dev/shm hon-ya@vm-debian1:%
おわりに
いまいち、GPT のこととかが分かっていないので、これで正しい手順なのかどうかがさっぱりです。今回はパーティションが1つだけでしたが、複数あったらどうなのかとか、いろいろ調べないといけないことが多そうです。