サブタイトル: Mac OS XでもSMB2/3で接続したい!
SMB 1.0でつないでいたけど、遅い上にたまに項目””が使用中なため、操作は完了できません
が出てきて悲しくなるので、SMB2/3を試したくなった。
事前調査
基本的に、以下の記事で状況などを調査。
- その知識、ホントに正しい? Windowsにまつわる都市伝説(23):ファイル共有プロトコル、SMBとCIFSの違いを正しく理解できていますか?(前編) - @IT
- その知識、ホントに正しい? Windowsにまつわる都市伝説(24):ファイル共有プロトコル、SMBとCIFSの違いを正しく理解できていますか?(後編) - @IT
- その知識、ホントに正しい? Windowsにまつわる都市伝説(25):Linuxはサンバ(Samba)で踊る――WindowsとLinuxのファイル共有のいま (1/2) - @IT
- その知識、ホントに正しい? Windowsにまつわる都市伝説(26):SMBに乗り換えたMac――WindowsとMacのファイル共有のいま(前編) (1/3) - @IT
- その知識、ホントに正しい? Windowsにまつわる都市伝説(27):SMBに乗り換えたMac――WindowsとMacのファイル共有のいま(後編) (1/2) - @IT
サーバー側
2011年8月リリースのSamba 3.6でSMB 2.0への対応が実験的に追加されました。また、2012年12月にリリースされたSamba 4からはSMB 2.1やSMB 3.0に正式に対応し、
その知識、ホントに正しい? Windowsにまつわる都市伝説(25):Linuxはサンバ(Samba)で踊る――WindowsとLinuxのファイル共有のいま (1/2) - @IT
ということなので、SMB2/3を使うにはSamba 4を使う必要あり。
クライアント側
MacのSMBクライアント機能は、OS X 10.9 MavericksでSMB 2.0およびSMB 2.1に、OS X 10.10 YosemiteでSMB 3.0およびSMB 3.02に対応しました。
その知識、ホントに正しい? Windowsにまつわる都市伝説(27):SMBに乗り換えたMac――WindowsとMacのファイル共有のいま(後編) (1/2) - @IT
ということなので、Client側は最新のOSXならSMB3が使える。
実作業
実機でやるのは面倒なのでVirtualBoxで作業する。
VirtualBoxでUSBからブートできない!
VirtualBoxみたいな仮想化マネージャから直接USBブートはできない。仮想化マネージャは汎用性を上げるため、比較的古い枯れたチップセットをエミュレートしているため。なので、Plop Boot Managerをlive CDとして起動させて、そこからUSBをターゲットにしてブートさせる。
ネットワークはブリッジにして、ホストと同じネットワークに存在するようにする。
OSインストール
サーバーOSはなんかCentOSのほうが日本語の情報が多い気がしたので、CentOSにしてみる。
CentOS 7のネットワーク設定はこちらを参考に。とはいえ、実機につないだらネットワークデバイスが変わっちゃうんだけど。
Samba4
yumでインストールするとADが動かないらしいんだけど使わないので気にせずyumからインストール。
Samba4の設定は結局smb.confが一番参考になった。設定してみた系の記事は余計な設定が入っててよくないけど、そのなかではこれが一番参考になった。
おそらく最小設定はこんな感じ。
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
dns proxy = no
load printers = no
dos charset = CP932
unix charset = UTF-8
map to guest = Bad User
[share]
comment = Shared Directories
path = /tmp/share
guest ok = yes
writable = yes
samba用ユーザー作成
システムのユーザーである必要はある。
pdbedit --create --user=test-user
クライアント側から確認
Finderで接続して確認。
$ smbutil statshares -a
==================================================================================================
SHARE ATTRIBUTE TYPE VALUE
==================================================================================================
share
SERVER_NAME 192.168.xxx.xxx
USER_ID 501
SMB_NEGOTIATE AUTO_NEGOTIATE
SMB_VERSION SMB_3.0
SMB_SHARE_TYPE DISK
SIGNING_SUPPORTED TRUE
EXTENDED_SECURITY_SUPPORTED TRUE
LARGE_FILE_SUPPORTED TRUE
FILE_IDS_SUPPORTED TRUE
DFS_SUPPORTED TRUE
MULTI_CREDIT_SUPPORTED TRUE
ENCRYPTION_SUPPORTED TRUE
--------------------------------------------------------------------------------------------------
SMB_3.0になってました。よかったですね。
HP Proliant MicroserverでCentOSが起動しない!
SambaとAvahiの設定が一通りできて実機に刺して確認。が、ブートでこけて起動しない!
いろいろ調べてみるとCent OS7 7.2.1511 でAMD Neoプロセッサーだと起動でクラッシュするようだ。
- tire.retire: HP ProLiant MicroServerでカーネルバージョン 3.10.0-327.3.1でパニック
- Kernel 3.10.0-327 issue on AMD Neo processor | Arrfab's Blog
- 0009860: 3.10.0-327.el7 crashes on boot - CentOS Bug Tracker
latestの3.10.0-327.10.1.el7.x86_64 x86_64だと直っているみたいだけど、このバージョンのままとりあえず直すなら、GRUB_CMDLINE_LINUX
にinitcall_blacklist=clocksource_done_booting
を追加すれば起動する。
とりあえずOK。