Samba carnival

 仮想マシンを複数セットアップするのはいいのだけど、データを共有できないのはつらい。VirtualBoxの共有ファイルでいいかなと思っていたのだが、前提となるFreeBSDのGuestAdditionは、FreeBSDでは制限があるようで、上手くいかなかった。

 ネットワークは苦手だ。Windowsが絡んでくると訳が判らないなる。だから共有ファイルに目をつけたのだが、それがダメなら仕方がない。大切な事なので、再確認しておく、ネットワークに関しては、30年以上前に、OSIのレイヤーがどうのこうのという解説書をちらっと読んで以来、その後は場当たり的に対応して、まともな知識は獲得していない。ネットワークは苦手だし興味はない。

 どうせ、プライベートなネットワークなのだから、ftpとかtelnaetとかnfsとかrsyncとかを有効にして誤魔化した方が、それっぽくていいのだけど、NASの必要性は感じている。出来合いのものを買ってくるという手もあるが、柔軟性を考えると自分でなんとかした方がいい。

 

 というわけで、共有ファイルの代わりにSamba用の仮想マシンを立ち上げる。

 unboundの設定で、ネットワークに対する無知さを痛感した余韻がまだ残っている状態で、Sambaに興味を持つ事は悪い事ではない。Windowsのネットワークというより、市販されているネットワークにぶらさがるタイプのデバイスへの対応と考えれば、納得できない事はない。

 

 これを機会にネットワークに興味を持てればいいのだけれど、、、。

 

 FBSD111C-NOXのリソースを制限してみた。

 メモリーを512KBに減らしてもそこそこ動く。1CPUで使用率制限を50%にすると、モッサリ感は出てくる。uim-fepの立ち上がりまで30秒くらい待たされる。Emacsのファイルの読み込みも一呼吸待たされる感じだが、使えないわけではない。ZaurusEmacsと同等か少しマシ程度。BBBとかラズパイで運用したら、これくらいか。

 ここまで絞れば、仮想マシンの3つくらいは、同時に立ち上げる事も可能だろう。

 

 Samba用の仮想マシンは、FBSD111C-NOXをクローンして作成する。uim-fepは必要ないのだが、わざわざアンインストールする必要はないだろう。

 

 Samba3からSamba4になって、色々変わったらしい。パッケージにSamba3は見当たらない。

 ActiveDirectoryとDomainControllerなんか好きじゃないし、良く知らない。個人のネットワークには必要ないのだけど、これも時代の流れ。手を出すのが、ちょっと遅すぎた。

 

 公式のサポートページはこちら→Setting up Samba as an Active Directory Domain Controller - SambaWiki

 

 パッケージからのインストールは特に何のアラートも出ず無事終了したが(# pkg install samba48)、設定が面倒臭そう。

 

 エンタープライズ規模の大袈裟なものではなく、もっとプライベートなシステムを目指しているのだが、NASのセットアップを考慮すれば、避けて通れない。FreeNASとかはどうなっているのだろうか?

 

 ちょっとだけググって、印象としては、現状ではFreeNASよりNAS4Freeの方がユーザーフレンドリーな感じ。ARM系に対応しているのもいい。

 

NAS4Freeをインストールして中古PC/サーバでNASを作ってみよう:中古PC活用 - @IT

 

互換性リストでVirtualbox 3は問題なしになっているので、たぶん大丈夫だろう。

 

NAS4Free-x64-LiveCD-11.1.0.4.5321.isoをダウンロード。

Install from scratch:

=====================

Download NAS4Free livecd or liveusb and boot from it. The compressed LiveUSB.img.gz needs to be extracted first before you can write it to usb media, You can use it with Win32DiskImager or other tool. Press 9 for the install menu, we recommand an embedded installation, never an direct dd.

 

 最初はテストなので、仮想マシンの設定は適当。ストレージは可変容量で32GBの可変容量にした。

 virtaulboxを32bitのままでセットアップしたら失敗。

 →母艦のBIOSでvirtualizeをenableに変更したら、64bitが選択できるようになる。

 

 インストールはごく適当。DHCPは使わず、固定アドレス192.168.0.50。

 windowsからは設定した固定アドレスにブラウザでアクセスすると、ログイン画面が表示される。

 

 セットアップは難しくないが、設定は知識がないと無理。

 素のFreeBSDから、nas4freeまで持って行ける気はしない。素直にnas4freeをインストールして、使い方を覚えた方がいい。

 

 windowsからnas4freeへは設定画面は開くのだが、ネットワークドライブは開かない。 ディスクの追加あたりで手順と操作を間違えたか?

 

 sshでの接続は、httpの設定画面でユーザーを追加して、サービスsshの設定を終えると可能にはなるのだが、/etc/groupでユーザーをwheelに追加しても、再起動すると修正が無効になっている。

 

 nas4freeは凝ったフィルシステムで以下のようになっている。

$ df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/md0 120M 90M 30M 75% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/md1 719M 588M 131M 82% /usr/local
procfs 4.0K 4.0K 0B 100% /proc
/dev/md2 496M 4.9M 481M 1% /var
tmpfs 256M 48K 256M 0% /var/tmp
/dev/ada0p2 953M 239M 714M 25% /cf
$ cat /etc/fstab
/dev/ada0p2 /cf ufs ro 1 1
proc /proc procfs rw 0 0
$ gpart show
=> 40 134217648 ada0 GPT (64G)
40 1024 1 freebsd-boot (512K)
1064 7128 - free - (3.5M)
8192 2097152 2 freebsd-ufs (1.0G)
2105344 2097152 3 freebsd-swap (1.0G)
4202496 130007040 4 freebsd-ufs (62G)
134209536 8152 - free - (4.0M)

 インストールはLiveCDから行うが、稼動時のFreeBSD環境イメージはメモリーディスク上に構築されている。ブートに時間がかかるが、二段階で行われているのか?

 メモリーディスクの内容は書き戻される事はないので、FreeBSDの世界で設定ファイルを書き直しても、リブート時は無効になっているという事か。客の入れ替えで、システムイメージをリフレッシュするネカフェのPCと同じ理屈。

 

 ディスクマネージメント辺りとユーザー設定辺りでごちゃごちゃやっているうちに、ネットワークドライブとして使えるようになった。WindowsEmacsやメモ帳でも\\から始まるIPを指定してやれば、読み書き可能。

 ただいちいちiPで呼び出さないと出てこないのは少し不便。Windowsの仮想環境上のNASにホストのWindowからのストレージと使っても何の有り難味もない。あくまでも、仮想マシン群との間での共有ファイルとして使えなければ意味はない。

 とりあえずパイロットマシンとして、もう少し使ってみる。少なくとも仮想マシンの方から共有ファイルにアクセスできるところまで。

 

 mount_smbfs でマウントできるらしいのだけど、、、

mount_smbfs - FreeBSDでデスクトップ&サーバー - アットウィキ

 とか

FreeBSD側からsambaでマウントする - 睡眠不足?!

 とか、試してみたけど上手くいかない。

 

 Windowsで接続できているのだから、何とかなると思うのだけれど、、 

 

 pingは通っているし、パスワードは微妙だけどsshでも接続できる。(設定したはずのパスワードでは接続できず、デフォルトのnas4freeで接続できた。)

servername が特定できないと返ってくる。

 

日本語訳されたマニュアル→MOUNT_SMBFS(8) - システム管理コマンド - YOS OPENSONAR