SSブログ
エステ

まじめにベンチマーク5。。の前にnetatalkのインストール作業♪ [Netatalk]


2010/2/13 追記
その後わかったのですが、おそらく、CJK対応はされていないようです。
下記のインストール時はなぜかエラーが出なかったのですが、後日、
別にインストールした際には

Fatal error: mac charset MAC_JAPANESE not supported

なるエラーがでました。。
以下は(自分の)参考のため残しておきますが、CJK対応できないので、
ご承知おきを。
CJK対応にはnetatalk2.0.4をお使いください。


以下、原文
afpでのベンチマークの前に、、まずは、netatalkをインストールします。

ちなみに・・・
AFP:Apple Filing Protocol

Netatalk
http://ja.wikipedia.org/wiki/Netatalk

最新は、2.0.5rc2のようですが、Ubuntuのリポジトリには、
2.0.4~beta2-5ubuntu1 なるちょっと古めなものしかありません。
(後でわかったことですが、実は、これがよかった。Ubuntu9.04でよかった!のです。)

ま、我慢してインストールします。

$ sudo apt-get install netatalk

[以下、インストール処理 (てきとーに読み飛ばしてください)ここから]

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  cracklib-runtime db4.7-util dictionaries-common libcrack2 libpam-cracklib rc wcatalan
提案パッケージ:
  ispell emacsen-common jed-extra tetex-bin quota timeout db4.2-util
推奨パッケージ:
  wordlist
以下のパッケージが新たにインストールされます:
  cracklib-runtime db4.7-util dictionaries-common libcrack2 libpam-cracklib netatalk rc wcatalan
アップグレード: 0 個、新規インストール: 8 個、削除: 0 個、保留: 4 個。
3061kB のアーカイブを取得する必要があります。
この操作後に追加で 11.9MB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://jp.archive.ubuntu.com jaunty/main libcrack2 2.8.13-7build1 [181kB]
取得:2 http://jp.archive.ubuntu.com jaunty/main cracklib-runtime 2.8.13-7build1 [25.5kB]
取得:3 http://jp.archive.ubuntu.com jaunty/universe db4.7-util 4.7.25-6ubuntu1 [107kB]
取得:4 http://jp.archive.ubuntu.com jaunty/main dictionaries-common 1.0.0ubuntu1 [281kB]
取得:5 http://jp.archive.ubuntu.com jaunty/main wcatalan 0.6-5 [1522kB]
取得:6 http://jp.archive.ubuntu.com jaunty-updates/main libpam-cracklib 1.0.1-9ubuntu1.1 [73.6kB]
取得:7 http://jp.archive.ubuntu.com jaunty/universe rc 1.7.1-3 [75.2kB]
取得:8 http://jp.archive.ubuntu.com jaunty/universe netatalk 2.0.4~beta2-5ubuntu1 [795kB]
3061kB を 3s で取得しました (1014kB/s)
パッケージを事前設定しています ...
未選択パッケージ libcrack2 を選択しています。
(データベースを読み込んでいます ... 現在 26216 個のファイルとディレクトリがインストールされています。)
(.../libcrack2_2.8.13-7build1_i386.deb から) libcrack2 を展開しています...
未選択パッケージ cracklib-runtime を選択しています。
(.../cracklib-runtime_2.8.13-7build1_i386.deb から) cracklib-runtime を展開しています...
未選択パッケージ db4.7-util を選択しています。
(.../db4.7-util_4.7.25-6ubuntu1_i386.deb から) db4.7-util を展開しています...
未選択パッケージ dictionaries-common を選択しています。
(.../dictionaries-common_1.0.0ubuntu1_all.deb から) dictionaries-common を展開しています...
`diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' を追加しています
未選択パッケージ wcatalan を選択しています。
(.../wcatalan_0.6-5_all.deb から) wcatalan を展開しています...
未選択パッケージ libpam-cracklib を選択しています。
(.../libpam-cracklib_1.0.1-9ubuntu1.1_i386.deb から) libpam-cracklib を展開しています...
未選択パッケージ rc を選択しています。
(.../archives/rc_1.7.1-3_i386.deb から) rc を展開しています...
未選択パッケージ netatalk を選択しています。
(.../netatalk_2.0.4~beta2-5ubuntu1_i386.deb から) netatalk を展開しています...
man-db のトリガを処理しています ...
libcrack2 (2.8.13-7build1) を設定しています ...

cracklib-runtime (2.8.13-7build1) を設定しています ...

db4.7-util (4.7.25-6ubuntu1) を設定しています ...
dictionaries-common (1.0.0ubuntu1) を設定しています ...

wcatalan (0.6-5) を設定しています ...

libpam-cracklib (1.0.1-9ubuntu1.1) を設定しています ...

rc (1.7.1-3) を設定しています ...

netatalk (2.0.4~beta2-5ubuntu1) を設定しています ...
Starting Netatalk services (this will take a while):  atalkd afpd papd.

libc6 のトリガを処理しています ...
ldconfig deferred processing now taking place

[ここまで]

はい、netatalkのインストール「は」完了です。

設定は、/etc/netatalk 以下の

AppleVolumes.default
AppleVolumes.system
afpd.conf
atalkd.conf
papd.conf

あたりを設定するようです。

え〜。お断りしておきますが。。Netatalkは初体験ですので、参考程度でお願いします。
(^^;)
正直言って、Netatalkは考慮する項目が多くてひじょーに混乱しました。。

ですが、結果としては、Ubuntu 9.04サーバー版では、「ほぼ」ちゃんとした状態で
パッケージングされているので、それでも手数は少なくて済んだようです。

以下は、Ubuntu の標準リポジトリからとれるNetatalkについての設定ですので、
それ以外のディストリビューションやOSなどでは大幅に異なります。
つまり、ほとんど参考にはなりません。

Netatalkに関して、詳しく説明されているサイトは少なく、
またあっても、最新の情報を反映していないことがおおいですね。。
その中にあって、こちらのサイトは、最新の情報が常に掲載されており、
大変参考にさせて頂きました [目]


最初は、斜め読みしつつ、設定ファイルをこつこつ、おさえていきます♪

◆AppleVolumes.default について
ユーザーローカルに設定ファイルがない場合に読み込まれる設定ファイルのようです。 
デフォルトでは、
~/ "Home Directory"
などの記述が最終行にありますが、この共有は好きにしてもらって、下記を追記します。

:DEFAULT: maccharset:MAC_JAPANESE volcharset:UTF8 options:usedots,upriv dperm:0700 fperm:0600 cnidscheme:dbd

/dev/shm "ramdisk" allow:nao cnidscheme:dbd
/st1/nao "nao" allow:nao cnidscheme:dbd

◆AppleVolumes.system について
このファイルはいぢりません。

◆afpd.conf について
利用するプロトコル、ユーザー認証方式、文字コードなどなどなどの設定ファイルのようです。

最終行
# - -transall -uamlist uams_clrtxt.so,uams_dhx.so -nosavepassword

を以下の通り書き換えます。

- -tcp -uamlist uams_clrtxt.so,uams_dhx2.so -nosavepassword
- -maccodepage MAC_JAPANESE -unixcodepage UTF8

Ubuntuで標準で入っているユーザー認証方式はDHX2(libgcrypt)ですので、
uams_dhx.so ではユーザー認証できません。
Mac OS X ではクリアテキストでの認証を標準では認めていないので、
uams_clrtxt.soは消してもOKだと思われますが、とりあえずそのままで。

ちなみに、ここを直しておかないと、こんなことを言われたりします♪

接続に失敗しました
サーバ"192.168.1.15"への接続中にエラーが起きました。
サーバ名またはIPアドレスを確認して、もう一度やり直し
てください。

問題を解決できない場合は、システム管理者に問い合わせ
てください。

認証エラー.png



◆atalkd.confとpapd.conf について
いぢりません♪

◆/etc/default/netatalk について
文字コードと起動するデーモンの設定などなどを行います。

(デフォルト)
ATALK_MAC_CHARSET='MAC_ROMAN'
ATALK_UNIX_CHARSET='LOCALE'
 ↓
(修正後)
ATALK_MAC_CHARSET='MAC_JAPANESE'
ATALK_UNIX_CHARSET='UTF8'

(デフォルト)
ATALKD_RUN=yes
PAPD_RUN=yes
CNID_METAD_RUN=no
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no
 ↓
(修正後)
ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no

こんなところでしょうか。
早速、Finderの移動からサーバに接続します。

サーバアドレスに
afp://192.168.1.15
と入力して、(接続)ボタンをぽちっと。

はい、またきました。エラーです。

"nao"のオリジナルの項目が見つからないため、
操作を完了できません。


な、なんですか??オリジナルの項目って??(^^;)

よくわかりません。

Zeroconfデーモンは必要ないと思って、インストールしなかった
のですが、入れてみます。

$ sudo apt-get install avahi-daemon

[以下、インストール処理 (てきとーに読み飛ばしてください)ここから]

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  libavahi-common-data libavahi-common3 libavahi-core5 libdaemon0 libnss-mdns
提案パッケージ:
  avahi-autoipd
以下のパッケージが新たにインストールされます:
  avahi-daemon libavahi-common-data libavahi-common3 libavahi-core5 libdaemon0
  libnss-mdns
アップグレード: 0 個、新規インストール: 6 個、削除: 0 個、保留: 0 個。
270kB のアーカイブを取得する必要があります。
この操作後に追加で 1139kB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://jp.archive.ubuntu.com jaunty/main libavahi-common-data 0.6.23-4ubuntu4 [31.8kB]
取得:2 http://jp.archive.ubuntu.com jaunty/main libavahi-common3 0.6.23-4ubuntu4 [23.2kB]
取得:3 http://jp.archive.ubuntu.com jaunty/main libavahi-core5 0.6.23-4ubuntu4 [113kB]
取得:4 http://jp.archive.ubuntu.com jaunty/main libdaemon0 0.13-2 [13.7kB]
取得:5 http://jp.archive.ubuntu.com jaunty/main avahi-daemon 0.6.23-4ubuntu4 [63.1kB]
取得:6 http://jp.archive.ubuntu.com jaunty/main libnss-mdns 0.10-3ubuntu2 [25.2kB]
270kB を 0s で取得しました (758kB/s)
未選択パッケージ libavahi-common-data を選択しています。
(データベースを読み込んでいます ... 現在 29418 個のファイルとディレクトリがインストールされています。)
(.../libavahi-common-data_0.6.23-4ubuntu4_i386.deb から) libavahi-common-data を展開しています...
未選択パッケージ libavahi-common3 を選択しています。
(.../libavahi-common3_0.6.23-4ubuntu4_i386.deb から) libavahi-common3 を展開しています...
未選択パッケージ libavahi-core5 を選択しています。
(.../libavahi-core5_0.6.23-4ubuntu4_i386.deb から) libavahi-core5 を展開しています...
未選択パッケージ libdaemon0 を選択しています。
(.../libdaemon0_0.13-2_i386.deb から) libdaemon0 を展開しています...
未選択パッケージ avahi-daemon を選択しています。
(.../avahi-daemon_0.6.23-4ubuntu4_i386.deb から) avahi-daemon を展開しています...
未選択パッケージ libnss-mdns を選択しています。
(.../libnss-mdns_0.10-3ubuntu2_i386.deb から) libnss-mdns を展開しています...
man-db のトリガを処理しています ...
libavahi-common-data (0.6.23-4ubuntu4) を設定しています ...
libavahi-common3 (0.6.23-4ubuntu4) を設定しています ...

libavahi-core5 (0.6.23-4ubuntu4) を設定しています ...

libdaemon0 (0.13-2) を設定しています ...

avahi-daemon (0.6.23-4ubuntu4) を設定しています ...
 * Reloading system message bus config...
   ...done.
 * Starting Avahi mDNS/DNS-SD Daemon avahi-daemon
   ...done.

libnss-mdns (0.10-3ubuntu2) を設定しています ...
First installation detected...
Checking NSS setup...

libc6 のトリガを処理しています ...
ldconfig deferred processing now taking place

[ここまで]

設定ファイルをひとつ作ります。

/etc/avahi/services ここに afpd.service という名前で。

$ sudo vi /etc/avahi/services/afpd.service

このファイルに以下のおまじないを書き込んで保存します。

<?xml version="1.0" standalone='no'?>
<!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-group>

このタイミングで、当初は、
AppleVolumes.defaultファイルに

/dev/shm "ramdisk" allow:nao
/st1/nao "nao" allow:nao

と、記載していたのを

/dev/shm "ramdisk" allow:nao cnidscheme:dbd
/st1/nao "nao" allow:nao cnidscheme:dbd

と変更しました♪

avahi,netatalkデーモンを再起動します。

わっ!
Finderに勝手にサーバー名が表示されて、、クリックすると、
認証画面が表示され、Linux箱のユーザー名、パスワードを
入力すると。。。

つながりました[黒ハート]

何が効いたのかは、わかりませんが。。


Ubuntu9.04のリポジトリからとれるnetatalk 2.0.4~beta2-5ubuntu1は
優秀?で、OpenSSLやLibgcryptやBarkley DBなどをコンパイルしてインストール
する必要がありません♪

Ubuntuで結果、おーらいでしたね。


まじめにベンチマーク4 Mac ⇔ Linux箱=RAID箱 こんどはFTPでも [Benchmark]

TCPレイヤーで117MB/sec
Sambaで50MB/sec

RamディスクからRamディスクへの転送で、これですから、
HDDからの転送にするともっと落ちるんでしょうね。

Sambaにはちょっとなっとくできないので、FTPでも
ベンチマークしてみます♪

Linux箱にはFTPサーバが入っていないので、proFTPでも
いれてみます。

$ sudo apt-get install proftp

とくに設定は不要です。

Mac側では、

$ ftp 192.168.1.15 ←Linux箱のIPアドレス

とすれば、こんな感じでレスポンスが返ってきます。

Connected to 192.168.1.15.
220 ProFTPD 1.3.1 Server (Debian) [192.168.1.15]
Name (192.168.1.15:nao): nao
331 Password required for nao
Password: 
230 User nao logged in
Remote system type is UNIX.
Using binary mode to transfer files.

ftp> get /dev/shm/100m_1 /Volume/ramdisk/100m_1

ftpでもまた、get(あっち)(こっち)な具合で、ファイルを転送します。
ftpコマンドの場合、自動的に転送速度も表示してくれます。
上記の結果はこんな感じです。

local: 100m remote: 100m
229 Entering Extended Passive Mode (|||19385|)
150 Opening BINARY mode data connection for 100m (100100001 bytes)
100% |***********************************| 97753 KiB   99.11 MiB/s    00:00 ETA
226 Transfer complete
100100001 bytes received in 00:00 (98.09 MiB/s)

10回繰り返した結果は。。

No 転送速度(MB/sec)
  1 98.09
  2 99.12
  3 98.35
  4 99.20
  5 99.00
  6 99.30
  7 100.22
  8 99.76
  9 99.27
 10 99.25
平均 99.12

10Mbyteのファイルでも。。

No 転送速度(MB/sec)
  1 99.65
  2 101.88
  3 102.05
  4 102.64
  5 98.71
  6 101.88
  7 102.35
  8 105.09
  9 102.70
 10 98.81
平均 101.58

おもしろい結果がでてきました☆

TCP stream by iperf → 117MB/sec
ftp by proftp → 100MB/sec
cifs by samba → 50MB/sec

すべてRamディスクからRamディスクへの転送です。
CIFSはだいぶんオーバーヘッドがあるんですね。。

つぎは、afp by netatalkやります〜(^^;)


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。