最近の変更サイトマップ

以前のリビジョンの文書です


Macのファイル共有をNetatalk 3.1.11からSamba 4.8.2に移行する

家のメインのMacをようやくMavericks (10.9)からHigh Sierra (10.13)にしたので、家鯖のMac用ファイル共有サービスをNetatalk 3からSamba 4.8に移行した。

試した環境

  • クライアント
    • macOS High Sierra 10.13.6
  • サーバ
    • FreeBSD 11.1-RELEASE-p4
      • Netatalk 3.1.11
      • Samba 4.8.2

移行方針

  • Netatalkで提供していたファイル共有サービスから必要なものを移植する。
  • Netatalkによるファイル共有サービスは停止する。

なお、Sambaのインストールはportsなりpackagesなりでふつーに入れるだけなので割愛。

移行

SambaでMac向け共有フォルダサービスにはvfs_fruitモジュールを使う。

ポイントとしては以下の2点。

  • 各共有の vfs objects に catia fruit streams_xattr を加える
  • Time Machine用には上記に加え fruit:time machine = yes を追加する

fruitを使わずとも共有自体は行われてしまう。この場合、Mac特有の情報を上手く扱えない事になる(かといって即座に問題になる事も稀だと思われる)ので注意が必要である。また、Netatalkの方で作成したメタデータ(ファイルのカラーラベル情報など)が引き継がれないため、fruitの設定は忘れずに行うこと。

もし、fruitが有無の共有フォルダを混在させる場合は、Macから接続する共有フォルダの順番が重要になってくる。CIFSの共有フォルダに接続する際、macOSは接続先がmacOS固有の情報を扱えるかどうかを確認し、扱えないと判断した場合はそのサーバ全ての共有で固有情報を使わないようにするらしい。よってfruitは必ず指定した方が無用な混乱は避けられるだろう。ちなみに、接続先の能力判定はCIFSのtree connection (tcon)のフェーズで行われる模様。

fruitの詳細はHATさんの解説公式ドキュメントに譲るが、各種設定値はデフォルトのままで殆ど問題なさそうだ。

移行前の設定ファイル

移行するNetatalkの設定は↓こんな感じ。ちょいちょいゴミが混じってるが、ユーザーのホームディレクトリ/一般共有フォルダ/Time Machine用の計4共有の、何の変哲もない設定である。

/usr/local/etc/afp.conf
;
; Netatalk 3.x configuration file
;
 
[Global]
; Global server settings
afpstats = yes
vol preset = DEFAULT
log file = /var/log/netatalk.log
;log level = default:debug
 
[DEFAULT]
file perm = 0600
directory perm = 0700
 
[Homes]
home name = $u
basedir regex = /usr/home
 
[Data]
path = /Volumes/Data
 
[PUBLIC]
path = /usr/home/PUBLIC
file perm = 0777
directory perm = 0777
 
[Time Machine]
;path = /zdata/NFC/backup/TimeMachine/
path = /zbackup/R/NFC/TimeMachine/
time machine = yes
 
;[Time Machine 2]
;path = /zdata/NFC/backup/TimeMachine/2
;time machine = yes

現状のSambaの設定。こっちも色々ゴミがあるが、Netatalkと共通の共有はホームディレクトリとDataフォルダである。この2つの設定をどうするかが今回のキモかも?

/usr/local/etc/smb4.conf
[global]
	workgroup = WORKGROUP
	server string = Samba Server
	security = user
	map to guest = Bad User
	invalid users = root
	load printers = no
 
	# add the uid to the log
	debug uid = yes
	# add microsecond resolution to timestamp
	debug hires timestamp = yes
	ea support =  yes
	acl check permissions = yes
	inherit acls = yes
	csc policy = disable
	store dos attributes = yes
	dos filemode = no
	map read only = no
	# added to allow asynchronous I/O (make sure to load the kernel module aio)
	aio read size = 16384
	aio write size = 16384
	# added to enhance the network performance of samba
	socket options = TCP_NODELAY SO_SNDBUF=131072 SO_RCVBUF=131072
 
[homes]
	browseable = no
	writable = yes
	public = no
        vfs objects = zfsacl shadow_copy2
	shadow: snapdir = .zfs/snapshot
	shadow: sort = desc
	shadow: format = %Y-%m-%d-%H%M
	nfs4:mode = special
	nfs4:acedup = merge
	nfs4:chown = yes
 
[Data]
	path = /Volumes/Data
	writable = yes
        vfs objects = zfsacl shadow_copy2
	shadow: snapdir = .zfs/snapshot
	shadow: sort = desc
	shadow: format = %Y-%m-%d-%H%M
	nfs4:mode = special
	nfs4:acedup = merge
	nfs4:chown = yes
 
[VNTApp]
	path = /Volumes/VNTApp
	writable = yes
	vfs objects = zfsacl shadow_copy2
	shadow: snapdir = .zfs/snapshot
	shadow: sort = desc
	shadow: format = %Y-%m-%d-%H%M
	nfs4:mode = special
	nfs4:acedup = merge
	nfs4:chown = yes

移行後のsmb4.confファイル

Mac用のファイル共有設定を加えたsmb4.confは↓こんな感じ。ついでにゴミ掃除も。

/usr/local/etc/smb4.conf
[global]
	workgroup = WORKGROUP
	server string = Freyja
	security = user
	map to guest = Bad User
	invalid users = root
	load printers = no
 
[homes]	
	browseable = no
	writable = yes
	public = no
        vfs objects = zfsacl shadow_copy2 catia fruit streams_xattr
	shadow:snapdir = .zfs/snapshot
	shadow:sort = desc
	shadow:format = %Y-%m-%d-%H%M
	nfs4:mode = special
	nfs4:acedup = merge
	nfs4:chown = yes
 
[Data]
	path = /Volumes/Data
	writable = yes
        vfs objects = zfsacl shadow_copy2 catia fruit streams_xattr
	shadow:snapdir = .zfs/snapshot
	shadow:sort = desc
	shadow:format = %Y-%m-%d-%H%M
	nfs4:mode = special
	nfs4:acedup = merge
	nfs4:chown = yes
 
[VNTApp]
	path = /Volumes/VNTApp
	writable = yes
	vfs objects = zfsacl shadow_copy2 catia fruit streams_xattr
	shadow:snapdir = .zfs/snapshot
	shadow:sort = desc
	shadow:format = %Y-%m-%d-%H%M
	nfs4:mode = special
	nfs4:acedup = merge
	nfs4:chown = yes
 
[Time Machine]
	path = /zbackup/R/NFC/TimeMachine/
	browseable = no
	writable = yes
	public = no
        vfs objects = catia fruit streams_xattr
	fruit:time machine = yes

コメント

コメントを入力. Wiki文法が有効です:
 
freebsd/migrate_netatalk_3_to_samba_48.1534003544.txt.gz · 最終更新: 2018-08-12 01:05 by decomo
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0