Samba4をインストールしてみた

Samba4ではSMB 2.1がサポートされ、対応するWindowsからのアクセスが高速化するはずなのでソースコードからコンパイルしてインストールしてみました。


インストールはAMDAthlon II X4 Quad-Core 615eを搭載している現在のファイルサーバに対して行いました。このサーバはSamba3.5.6が動作しています。2.5インチのHDDが接続されています。


まずはaptの情報を更新してコンパイルに必要なパッケージをインストールします。ネット上にある情報を元にインストールしましたが、いらないパッケージもあるかもしれません。

# apt-get update
# apt-get upgrade
# apt-get install python-dev libacl1-dev libblkid-dev build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev  python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user  docbook-xsl

ケルベロス認証の関連のダイアログが表示されましたが、使わないので適当に答えておきました。


適当にディレクトリを作成してソースをここから取得します。

# mkdir -p /opt/src
# cd /opt/src
# wget -c http://ftp.samba.org/pub/samba/samba-4.0.3.tar.gz

ソースの取得が終わったら展開してコンパイル・インストールを行います。

# ./configure  --enable-debug --enable-selftest
# make
# make install

設定ファイルは/usr/local/samba/etc/にあるsmb.confを使うらしいので現在のsmb.confをコピーして利用します。

# cp /etc/samba/smb.conf /usr/local/samba/etc/smb.conf

現在のサービスを停止してSamba4を起動しようとしましたが/usr/local/samba/sbin/sambaを実行してもなにもおこりません。
試しに/usr/local/samba/sbin/にあったsmbdをstartしたらSamba4が起動したようです・

# /usr/local/samba/sbin/smbd start

ユーザの情報を追加してアクセスしようとしましたがsmbpasswdでユーザを追加してもユーザ認証が通りませんでした。何度か試してみたのですが、一向に認証が通らずとりあえずググってみたところpdbeditを使う方法があったので、そちらを試してみたところユーザを追加することができたようです。
また、単にpdbeditを実行するとaptでインストールされたSamba 3.5.6のpdbeditが呼び出されてしまうので、インストールしたディレクトリにあるpdbeditを実行するように注意が必要です。

# /usr/local/samba/bin/pdbedit -a -u %ユーザ名%

これでファイルサーバにSamba4でアクセスできるようになったはずです。
早速速度の測定をしました。
まずはWindows8からファイルサーバへのベンチマークです。ただし、両マシン間は無線LAN 54Mbpsで接続されています。
Samba 3.5.6の状態

Samba 4.0.3の状態

…無線のせいでしょうか、速度に有意な差がみられません。

続いてファイルサーバの上でKVMを使って動いているWindowsXPからベンチマークを取ってみました。
Samba 3.5.6の状態

Samba 4.0.3の状態

WindowsXPがSMB 2.1に対応してないので速度に差は現れませんでした。


というわけで、せっかくSamba4をインストールしましたがPDCにでもしない限りウチの環境ではメリットが活かせないかもしれません。
実験の後Samba4は停止してSamba 3.5.6のサービスに戻しています。
今度はWindows8−ファイルサーバ間を有線LANで接続してベンチマークを取ってみないといけませんね。