[NAS] 安物買いの銭失い [samba]

三が日も今日で終わりですね。明日から仕事する人多そうですね。

KIM150922597486 TP V

まぁ、俺様の初出勤は 10日(火)なので、まだ1周間お休みだけどな!!( ゚д゚ )クワッ!!

FreeNAS + samba で稼働するNAS

HP社のちっこいサーバで NASもろもろを運用しているわけですが、稼働しているソフトウェアはFreeNASです。フリーにしては、とても良くできたソフトウェアでして、多くの機能を持ちつつも、Plugin や FreeBSDの Jail使えば、無限大の可能性を秘めてます。大抵はGUIで設定もできるし、およそ最新のバージョンのミドルウェアが搭載されて提供されています。おかげさまで、この組み合わせは圧倒的に安く、大容量の NASを構成させやすいときています。

余計なことをしなければ。

エンジニアの悪い癖でして、する必要がないのに、Active Directory で構成して管理しようとかしてしまうわけです。ちょっと、ファイルが共有できればいいのに、やたらと難解な構成にしてみたり、ありとあらゆるものを NAS側に配置して自動化させたりするわけです。ちゃんと動けばすごく便利です。

samba4 + Active Directory + zfsacl + nfsv4acl + Mac

ただ、普段使ったことのない FreeBSD 上で、zfs を利用してストレージを構成しているわけです。もうこの時点でなにかがあったら、個人的にアウトです。なので、バックアップ先は自分で対処のできるフォーマットやクラウドドライブしか使っていません。データロストしても、zfs のファイルシステムなんてあたしに追う力はありません。

それでいて、なぜか、nfs をつかって各サーバと /home を共有したりしちゃったりするわけです。まぁご多分に漏れず、Mac でもそのホームディレクトリをどっかでマウントして再利用したりするわけですよ。

zfs 上に nfsv4 と samba が同居して、それぞれが、それぞれの定義に従って ACL を使っているため、想定していない動きはよく起こるわけです。いわゆる伝統的な unixアクセス権限であれば、流石に問題はないのですが、標準で zfsacl なるものが動き、今まで見たことのないACL定義上で、各ファイルのアクセス制御が行われています。

残念ながら、あたしにゃ無理です。

とは言え、せっかくの機能ですから、なんとか利用してやろうと 1年以上対決を試みましたが、次の状態のときだけまともな ACLにならないという状況でハマったままです。さすがに、こんなことで休みも潰したくないですし、もっとやりたいことはたくさんあります。流石に諦めようとしています。

ある特定の条件で誰もアクセスできないファイルが作成される

  • Macで Active Directoryt ログオン
  • Macのユーザ名・パスワードと、ADのユーザ名・パスワードはもちろん同じ1
  • Mac の automounter を使っている
  • cp -a で、共有ドライブへファイルをコピーすると、誰もアクセスできないファイルが完成する
  • 同様に、Mac で別のドメインの共有ドライブ、ADログオンせずに、同じ共有ドライブへ cp -a しても、想定していたとおりのアクセス権が設定されて、ちゃんとアクセスできる

謎すぎる

挙動がわからない。

cp -a の挙動を見ていると、一旦、ファイルをコピーしてから改めてアクセス権限の変更をするように見えます。否、cp -aにかぎらず、ファイルをコピーすると、ユーザ・グループなどが、少し間を置いてからADで定義されているドメイン権限者へ変更されているのか、そのように見えるのかしてます。

とは言え、ソースコードを読んで、どんなふうにやりとりしているかとかは流石にやってません(時間がもったいない)。samba で debugログは拾ってたんだけれども、まぁ、よくわからん。すげーわからん。

時間がもったいない

結局、検証やらなんやらとかし始めると、時間ばっかり過ぎ去ってしまい、cp -a したいがためだけに2、何十時間も時間を費やすとか馬鹿らしく。その時間があれば、なんかもっと別のことができて、コストが削減できたり、新たなお金を生んでいたかもしれない。もう、そう考えると、なぜ Windowsでファイルサーバを作ったり、できることが制限されまくっているけれどもあまり失敗のない、業務用、または個人用の完成したNASを作って、適当な機能の中で甘んじなかったのか。

結局、nfs での各サーバでの /home マウントしたいとか、ldap でユーザ制御したいとかは、自己中の領域なので、家でちょっとやる程度でははっきりいって不要です。大抵において。

であれば、適当に動くちょっとしたものを、ある程度自動化して、なにかあっても再起動すればいいじゃんくらいのものを並べておくことが、つつましく生活するにしては上出来じゃないかなーと考えています。

インフラのエンジニアを続けていて、仕事で NAS を作るようなケースがあるかもしれないとか、それを準備すれば評価の対象になるならまだしも、すでにインフラのエンジニアですらなくて。そこまで sambaを必死にやろうってモチベーションも発生しないわけです。「楽に」実装がしたいだけなんです。イージーモードほしい。

結局、何が言いたいのかというと

誰か、samba 詳しい人来てください(´;ω;`)ブワッ


NewImage

あと、いらすとや使いやすすぎるの反則だと思う。


  1. 同期してるはずだけど、そこまで試してない 

  2. rsync したいってのもあるわけだけど。