FreeNAS の新規インストール後の初期設定手順をおさらいしてみた。 FreeNAS Documentation に英語版のドキュメントがあって、そのQuick Start Guide あたりの抜粋みたいな感じかな。
CD-ROMからインストールとか、
USBメモリに直接書き込んで起動とかしてインストールを完了してからの手順を
FreeNAS 9.2.1.7 のイメージでまとめておく。
(9.2.1.9でも同様の設定でできることを確認。9.3ではウィザードが装備されるっぽい。FreeNAS 9.3 を手動で初期設定する手順は別にアップしました。FreeNAS 9.3 の手動初期設定)
ハードウェアとかインストール手順は他の人の記事とか別のエントリー参照で。
ハードウェア:きりしまは hp MicroServer N54L を使用しています。
MicroServer で FreeNAS
hp MicroServer N54L に 16GB のメモリを搭載する
MicroServer に 5台目のハードディスクを搭載するために
メモリ4GB、HDD 500GBのhp ProLiant MicroServer N54L が安くなってきてる
他には、手持ちのひと世代前のパソコンなんかを転用するのなんかがFreeNASのイメージなんじゃないでしょうか。
インストール:
FreeNAS 9.2.1 Release on hp MicroServer N54L(USBメモリにイメージ書き込み)
Windowsパソコンに対して、共有フォルダを提供する、という基本的なNASとして動作するための設定にとどめるので、プラグインとかは触らない。
(それが目的の人はそれぞれ研究するのがいいと思う。)
起動。
FreeNASは初期設定でDHCPでIPアドレスを取得するので、
ディスプレイをつないでおけば、いくつが割り振られたのか分かるので、それで最初からブラウザでアクセスしてもいいけど、
キーボードもつながっているなら、そこから
コンソールで、IPアドレスの設定だけ変更すれば、IPアドレスを固定できるので、あとはGUIで設定するというのでもいいかと。
(デフォルトゲートウェイとDNSの登録も簡単なのでここでやってしまってる)
他のパソコンからブラウザでIPアドレスを叩くと、rootのパスワード設定が要求されるので、rootで管理画面に入るようのパスワードを設定する。
(以降、管理画面は root と設定したパスワードでログインできる)
キーボードを接続していない場合、
DHCPで取得したIPアドレスをブラウザでたたいて、
rootのパスワードを設定したら
Network
Interfaces
Add Interface
Interface はName NICと同じ表記でいいと思う
DHCPはチェックせず
IPv4 Address: 192.168.0.xxx とか
IPv4 Netmask: /24 (255.255.255.0) とか
OK
Confirm
Yes
IPアドレス変わるので、
しばらく待ってから、指定した新しいIPアドレスをブラウザで叩いて管理画面を表示する
Settings タブで、
Timezone を Asia/Tokyo に
Language は日本語にするとかえって意味が分からないのでEnglishのまま
(まあ、ここはお好みでしょうが)
Active Directoryと連携するつもりなら、
Directory Service を Active Directory にする。
スタンドアロンなら -------- のままでOK。
Save
Network で、
ホスト名を設定
(コンソールで指定していなければ、ここで IPv4 Default Gateway: や Nameserver 1: を指定)
Save
Account - Users - Add User から
ローカルユーザーとして、自分がWindowsで使っているユーザー名と
Full Name (漢字も通るっぽい)
パスワードを登録し、新しいローカルグループを作成する。
(複数ユーザーのアクセス権を制御するときはさらにユーザーを追加し、 Auxiliary groups でこの時できたユーザー名のグループに参加させたりしてやる)
Storage -ZFS Volume Manager
Volume Name Oracle では tank を使う習慣みたいなのでなんとなく tank とする。まあ何でもいいんだけど、どうせ設定する時しか見えないし独創性は不要かと。
"Drag and drop this to resize"
というボタンみたいなのを右にいっぱいにドラッグすると、全ての利用できるドライブが選ばれて、
ドライブに応じたモードが選択される。
(ドライブ4台の場合は、RaidZ2が選ばれる。ダブルパリティなので、容量は2台分。ドライブ5台の場合は、RaidZでシングルパリティ容量は4台分、このあたりが個人で運用する構成かな)
推奨とは違うモードにしたいときはその上でプルダウンを変更すれば、4台でRiadZとかにできる。
サイズの違うドライブを混在して使うときはManualとかでやるのかな。(省略)
ZFS Volume Manager が推奨してくる台数とモードの組み合わせは以下のような感じ。
モード | ドライブ数 | 容量 | |||
Stripe | 1 | そのまま | |||
Mirror | 2 | -1台分 | |||
Raid-Z | 3 | 5 | 9 | -1台分 | |
Raid-Z2 | 4 | 6 | 10 | -2台分 | |
Raid-Z3 | 7 | 11 | -3台分 | ||
1 | 2 | 4 | 8 | 容量に相当するドライブ数 |
なお、8台、12台はパフォーマンス的に適切じゃないみたい。
スペアドライブを何台持たせるかだけど、家庭用だと1台、ある程度クリティカルな運用に用いる場合は2台あればいいんじゃないかな。
Raid-Zはドライブが故障したときに戻すのに、使用している容量で時間が決まる。たくさん容量を使っていると時間がかかるので、その間に2台目がダウンしたりしたらリカバリできなくなってしまうのでキツイ。しかしそのためだけに1台分の容量を犠牲にするかと考えると、家庭用の場合は、Resilverする前に、ボリューム全体を別のNASにバックアップするとか、そういった手も打てるかなと。(それも時間かかるけど。この容量とバックアップの時間のジレンマはスタンドアロンではどうにも。FreeNASのような感じで、余っているパソコンを複数使用して、クラスタ化したネットワークストレージが利用できるような時代が来たら面白いかなと)
Add Volume をクリックしてボリュームを作成する
ドライブの容量にるよるのかと思うけど少し待つ。
できたボリューム tank を選択して、
Create ZFS Dataset
Dataset Name に共有フォルダ用の名前をつけて、
(sambaでの共有なので、共有フォルダ名は日本語不可っぽい。それ以下のサブフォルダは大丈夫なんだけど。Datasetを作成せず、ボリューム自体を共有フォルダに設定してしまうと、アクセス権のコントロールができないので、共有フォルダのアクセス権を個別に設定するためにも、 Dataset を作成して、それを共有フォルダに設定する。 plugin とか使うと jail とかにも Dataset 作られちゃうので、使いにくくなってしまうと思う)
Add Dataset
できたDatasetを選択して、
Change Permissions
Owner (user) がrootになっているので、先ほど作成した自分ユーザーに変更する。
Owner (group) がwheelになっているので、先ほどユーザーを作成した時にできた自分グループを指定する。
Mode で、 Group の Write にチェックが入っていないので入れる。(自分以外は読み取り専用でよければ Group の Write にはチェックを入れない)
OtherのReadとExcuteのチェックを外すと、ユーザー以外のアクセスをできなくさせられるし、OtherのWriteにチェックを入れると無制限になる。他の人がよくやってるOwnerをrootのままにして、共有フォルダにアクセスするときにrootのユーザー名、パスワードを記憶させて運用してもいいんだけど、ユーザー管理を意味のあるものにするにはこうだと思う。
Permission Type は Unix / Mac のまま
(TeraStationなどの非WindowsのNASと似たような動作になる。会社とかでActive Directory などが存在してて、それのユーザーでアクセス権管理をしたい場合は Windows に変更するんだけど、完全にWindowsと同一という感じではないので、ここでは省略)
Set permission recursively すでにデータがある場合に、全てに適用したい場合はここをチェックする
Change
Storage - Periodic Snapshot Tasks - Add Periodic Snapshot
スナップショットはZFSの特徴的な機能で、変更点が少なければ素早く撮れるので、自分が主に使う時間帯・曜日を指定しておく。変更もないのにバリバリスナップショット取っても必要な時に見づらいだけなので(変更がなければ容量は消費しないけど)会社行ってたり寝てたりしてデータの変更がない時間は外し、データの更新頻度を見て設定する。
RecursiveはVolumeを指定したときに、作成したその中のDatasetを再帰的に、という意味っぽい。
タスク1つでVolume全体のスナップショット撮るならチェック。ZFS Dataset ごとに設定を変えたいならチェックしない方法もある。
これを設定しておくと、Windowsの「以前のバージョン」機能でファイルを復元できるようになる。
OK
Services - CIFS
NetBIOS name:
Workgroup:
をWindowsのネットワーク上でのホスト名とワークグループ名を既存のパソコンのネットワークに合わせて何か設定する、
Description は説明なのでお好きに。日本語使うとCIFS起動できないっぽいけど。
DOS charset CP932
チャレンジャーは Server maximum protocol: を SMB3 などに変更して
(どこまで使うかは使用しているバージョンのFreeNASに組み込まれているSamba次第。リリースノートを確認して決める。現状無難なのは SMB2 。他にもいっぱいリストが並ぶけど、気になるような人はドキュメントの原本あたってください)
クライアントOS | SMB |
Windows 7 | SMB2 |
Windows 8 | SMB3 |
Windows 8.1 | 未サポート |
あとはそのままOK
Sharing - Windows (CIFS) Shares - Add Windows (CIFS) Share
Name に共有名(日本語使えない)
Comment は説明なのでお好きに
Path の フォルダアイコンをクリックしてツリーを展開し、先ほど作成した ZFS Dataset を選択
Export Recycle Bin はネットワークごみ箱。欲しいならチェック。
あとはデフォルトのまま OK
「Would you like to enable this service?」と
CIFSサービスを開始するか聞かれるので、
他に作る予定がないなら、
Yes
で開始する。
以上で一応、Windows 向けのNASとして稼働し始める。
ついでにディスクの異常の早期発見のために、S.M.A.R.T. を設定しておく。
System - S.M.A.R.T. tests - Add S.M.A.R.T. test
Disks で全てのドライブを選択して
(一番上をクリック→[Shift]を押しながら一番下をクリック)
Type: は Short Self-Test (フツーはコレでいいんじゃないかな)
あとはどのぐらいの頻度で実行するか決める。
デフォルトだと毎日1時間毎にだけど、
1日1回としたら、
Each selected hour タブで適当に余力のありそうな時刻を1個選ぶ
月に1回としたら、さらに
Each selected day of month タブで日にちを1個選ぶ
感じかな。
OK
(しかしエラーが検知されたらどのようにレポートされるかわからない。ダメになったら右上のAlertとかが変わるのかな)
システムからのメールを受け取る設定をするなら、
Setting - Email
でメールサーバーを設定して、
右上の
Account - Users
から
User ID 0 の root
を選んで
Modify User
から、rootに自分のメールアドレスを設定すると、
なんかメールが来る。
(いつどんなメールが来てどんな意味なのか把握してないので、有効利用できてないけど)
NASとしての堅牢性向上には、
Replication Tasksで他のドライブとか
Rsyncで他のデバイスにコピーしたり、
UPSを接続したりするのもありかなとは思うけどとりあえずまずここまで。