FreeNAS導入事例

概要

FreeNASというFreeBSDベースのOSを使って,不要なマシンをファイルサーバにする.

環境

買った当時 (6年前?) は,なかなかの高スペックマシンだった.
こいつに,1TBハードディスクを2つ載せて,RAID1構成を作る.

インストール

FreeNASの入手

ここからLiveCD用イメージを入手してLiveCDを作成.
今回は,USBメモリにインストールするので,imgファイルをとってきてddしても良い.

USBメモリへのインストール

LiveCDの表示に従ってインストール.
好みの問題ではあるが,今回は embedded OS + DATA + SWAP という構成を選んだ.
データとスワップ領域の追加方法が表示されるのでメモしておき,再起動.

ネットワーク設定

インタフェースの選択

コンソールメニューから Assign Interface を選んでネットワークインタフェースを選択する.
よく分からない場合は,画面の指示通りにLANケーブルを一度抜いてから差せば良い.なんという新設設計!

IPアドレスの設定

普通の人は固定IPを使うべきだが,うちの環境の都合でDHCPしか使用できないので,それに甘んじる.
固定IPの設定については詳しい説明サイトが沢山あるのでそちらを参照のこと.

GUI設定

もうFreeNASのコンソールに触る必要はない.
普段使っているPCのブラウザで,設定したIPアドレスに対してアクセスする.

http://xxx.xxx.xxx.xxx/

という感じ.

言語設定 (System|General Setup)

英語の苦手な私なんかは,日本語に設定を変更しておく.この辺りはお好みで.

パスワード変更 (システム|基本|パスワード)

忘れちゃいけないのが,GUI用パスワードの変更.これは早い内に終わらせておく方が良い.

スワップ領域設定 (システム|高度な設定|スワップ)

インストール時のメモに従って設定.

アクセスコントロール (ネットワーク|ホスト)

必要のないサービスについてはアクセスを禁止しておく.
例えば,

ftpd : ALL : deny
sshd : ALL : deny

など.
普段は禁止しておいて,必要になった時だけ一時的に設定変更するというのが安全.

グループ追加 (アクセス|グループ)

通常ユーザが所属するグループを追加する.
FreeBSDコミュニティのことはよく知らないが,個人で使用する分には,ユーザと1対1対応したグループにしておけば良かろう.

再起動 (システム|リブート|今すぐ)

この辺りで一旦再起動しておく.

ユーザ追加 (アクセス|ユーザ)

さきほど作ったグループをプライマリグループとするユーザを作成.ホームディレクトリは適当に.
個人的には各ユーザのホームディレクトリをまとめたディレクトリ (/home とか) を置くのが好みだが,どうせ個人用なので今回はデフォルト (/mnt) 設定にした.

ディスク追加 (ディスク|マネージメント)

インストール時のメモに従ってUSBメモリ内のデータ領域を追加.
続いて,1Tハードディスク2台を一つずつ追加.
念のため光学ドライブもここで追加しておく.

ディスクフォーマット (ディスク|フォーマット)

せっかくなので ZFS pool storage device を選択してフォーマット.
これは512MB程度のメモリだと結構な冒険なので,良い子は真似してはダメです.

ZFS仮想デバイス作成 (ディスク|ZFS|Pools|仮想デバイス)

タイプを Mirror (すなわち RAID1) にして仮想デバイスを作成.

ZFSマウント設定 (ディスク|ZFS|Pools|マネージメント)

作成した仮想デバイスに対応するマウントポイントを設定する.

/mnt/tank

ってのを使うのが主流だとか?
まあこの辺りの名前は好みで決めれば良いでしょう.

ZFS用メモリ割り当て設定 (高度な設定|ファイルエディタ)

ZFSをデフォルトのまま使うと512MB程度のメモリじゃ全然足りないので,ちょっと寄り道.
物理メモリが豊富に (2Gくらい?) ある人は飛ばして結構です.
ファイルエディタで

/cf/boot/loader.conf

を開き,

vfs.zfs.arc_max="40M"
vfs.zfs.vdev.cache.size="5M"
vm.kmem_size_max="384M"
vm.kmem_size="384M"

を追記する.
(embedded じゃなくて full でインストールした人は /boot/loader.conf)
詳しくはhttp://shell.peach.ne.jp/aoyama/archives/466を参照のこと.

再起動 (システム|リブート|今すぐ)

この辺りでもう一度再起動.

Samba設定 (サービス|CIFS/SMB|設定)

WindowsからのアクセスがしやすいようにSambaを設定しておく.Win使いでない人はたぶん不要.
とりあえず認証をローカルユーザもしくはドメインにしておき,NetBIOS名にはアクセスに使いたい名前を入れる.
例えばNetBIOS名をsambaにしたとすると,explorerのアドレスバーに

\\samba

と入力すれば繋げるようになる.

Sambaの共有設定 (サービス|CIFS/SMB|共有)

実際にSambaで共有したいディレクトリをここに追加する.
今回はハードディスクを外から見えるようにしたいので,さきほどのZFSマウントポイントに適当な名前を付ける.
ありがちなのは,/mnt/tank に share という名前を付けるとかかな?
こうすると,

\\samba\share

で,/mnt/tank にアクセスできるようになる.