文書の表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 ====== 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の詳細は[[https://hatx.blog.so-net.ne.jp/netatalk_samba_merge|HATさんの解説]]や[[https://www.samba.org/samba/docs/current/man-html/vfs_fruit.8.html|公式ドキュメント]]に譲るが、各種設定値はデフォルトのままで殆ど問題なさそうだ。 ==== 移行前の設定ファイル ==== 移行するNetatalkの設定は↓こんな感じ。ちょいちょいゴミが混じってるが、ユーザーのホームディレクトリ/一般共有フォルダ/Time Machine用の計4共有の、何の変哲もない設定である。 <file conf /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 </file> 現状のSambaの設定。こっちも色々ゴミがあるが、Netatalkと共通の共有はホームディレクトリとDataフォルダである。この2つの設定をどうするかが今回のキモかも? <file conf /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 </file> ===== 移行後のsmb4.confファイル ===== Mac用のファイル共有設定を加えたsmb4.confは↓こんな感じ。ついでにゴミ掃除も。 <file 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 </file> freebsd/migrate_netatalk_3_to_samba_48.1534003544.txt.gz 最終更新: 2018-08-12 01:05by Decomo