自宅のMacはminiなのでHDDの容量も少なく、デジタル一眼のRAWデータの処理に困っていました。外付けHDDで対応はしていたのですがRAIDではないし。それを一時しのぎでsamba経由でつないでいました。
でもどうせならと思い、Server入れ直しついでにNFS経由にかえました。が、トラブルが発生。その対応記録です。
/fsにRAIDを組んだアーカイブ用のディスクがLinux上にあります。
まず、/etc/exportsを編集。
/fs 192.168.0.0/24(rw,root_squash,sync)
サービスを起動してきます。
# /etc/rc.d/init.d/portmap start # /etc/rc.d/init.d/nfs start # /etc/rc.d/init.d/nfslock start
サービス自動起動の登録。
# chkconfig nfs on # chkconfig nfslock on # chkconfig portmap on
サーバ側はこれでおしまい。
Mac側にマウントしたいところのディレクトリを作成する。
$ mkdir ~/fs
実際にマウントする。
$ sudo mount -oresvport,intr,soft,tcp SERVER:/fs ~/fs
で、ここで発覚。今まであたりまえにアカウントとuid、gidをそろえてきていたのですがMacはデフォルトのまま(そもそも変えられるのかしら?)。uidとgidをマッピングさせる機能があると日本語manにはあるのですがこれは嘘。嘘というよりは日本語manの更新がされていないだけで今は使えなくなっている機能らしい。あきらめてMac側のuidとgidを変えることにしました。
CentOS側はuid:500(xxxx) gid:500(staff)、Mac側はuid:501(xxxx) gid:20(staff)。staffの名前がMac側で使われてしまっているので仕方なく500でusersにすることにしました。名称は不一致だけどgidではかわらないので許容範囲。先にわかってたらCentOS側を変えてたのになぁ。
# dscl . -change /Users/xxxx UniqueID 501 500 # dscl . -change /Users/xxxx PrimaryGroupID 20 500 # dscl . create /groups/users gid 500
所有権が501だったものをすべて500に変更。ただしやるまえにnfsはいったん解除しておかないとnfs先まで探しにいっちゃうので時間がかかる。
# find / -xdev -user 501 -exec chown xxxx:500 {} \;
これでおしまい。
コメント
[…] その後再びネットの海で情報を収集したところ、こちらにたどり着きました。なんとそちらでは僕と同様、Macをクライアント、CentOSをNFSサーバとして接続していたのです。そして僕と同 […]