TrueNASで80TBのNASを自作した話 ③ZFSプールの作成, SMBとNFSの共有設定

記事内に広告が含まれる場合があります。
スポンサーリンク

TrueNASの設定

このOSを使うのは初めてなのでいろいろ調べながら設定した。
特にきりしま屋さんのTrueNAS 12.0 のセットアップの記事には非常にお世話になりました。ありがとうございます。

IPアドレスの固定

サイドバーからNetwork → Interfacesから該当のNIC(今回は1つだけ)の欄にある[>]をクリックし[EDIT]をクリック。
DHCPのチェックを外し、IP Addressesの欄に割り当てたいIPアドレスを入力。NICが対応している場合はMTUを変更して[APPLY]で適用。
[TEST CHANGES]をクリックし、割り当てたIPアドレスでアクセスして[SAVE]をクリックして設定を適用させる。

ユーザーの作成

サイドバーからAccount → Usersを選択し、[ADD]をクリック。

ユーザー名を決めてFull NameとUsernameに入力し、パスワードを決めてPassword欄とConfirm Password欄に入力する。
Windowsで使っているユーザー名とパスワードを入力するとWindows側でユーザー名とパスワードを入力する手間を省ける。(最初の1回だけの話だが)

New Primary Groupにチェックが入っていることを確認し、一番下の[SUBMIT]をクリック。

ZFSで保存領域の作成

プールの作成

サイドバーからStorage → Poolを開き[ADD]をクリック。
Create new poolが選択されていることを確認して[CREATE POOL]をクリック。

Poolの名前を決めてName欄に入力。調べるとみんなtankにしているのでまねっこでtankに……
[ADD VDEV]から必要なものを選択。今回はCacheを追加。
Data, CacheにHDDやSSDを割り当ててRAIDレベルを選択して一番下の[CREATE]を選択してプールを作成する。プール作成時にHDDやSSDのデータはすべて消えるので注意。

今回はDataにWD Elementsから抜き出したHDD8台を割り当て、Cacheに970 PROを1台割り当ててプールを作成した。

L2ARCに割り当てる領域の約1.59%のメモリを管理に使うらしい(参考記事)ので、512GBのSSDを割り当てる場合は約8.14GBのメモリを必要とする。
もし2TBのSSDを割り当てるのであれば約31.8GBのメモリを必要とするので注意。

『L2ARCはARCの5倍までにしなさい』とも書いてあったがどちらが正しいのかはよくわからない。
L2ARCは読み出しの時に使われるものなので最悪壊れてもOK。

プール全体の設定

プール一覧に戻るので、先程作成したプールの欄の一番右側にある縦3つの点をクリックし[Edit Option]をクリック。(歯車ではない)

Syncの欄はStandardからDisabledに変更。
Enable Atimeの欄はonからoffに変更。
変更したら[SAVE]をクリックしてプール一覧に戻る。

先程同様にプール名の右にある縦3つの点をクリックし、[Add Dataset]をクリック。
データセット名を決めてName欄に入力し、Share Type欄をSMBに変更し[SUBMIT]をクリック。

圧縮レベルはデフォルトのLZ4のままにした。gzipは圧縮率高いけどCPU食うから選ばなかった。
Zstandardという新しい圧縮方法もあるらしいのでそちらを選択してもいいかもしれない。私はしてない。(参考記事)

SMB共有

TrueNAS側の設定

サイドバーからSharing → Windows Shares (SMB)を開き[ADD]をクリック。

共有するパスを設定する。
左の三角を押すとフォルダが開くので、先程作成したデータセット(プールではない)を選択。
共有フォルダ名を決めてName欄に入力し、[SUBMIT]をクリック。

Enable serviceのポップアップが出てくるので[ENABLE SERVICE]をクリック。
これでTrueNAS起動時に自動的にSMBがオンになるようになった。サイドバーからServicesを開き、SMBの欄のStart Automaticallyのチェックボックスで切り替えができる。

続けて作成した共有フォルダ名の右側の縦3つの点をクリックし、Edit Filesystem ACLをクリック。

左のUserとGroupを先程作成したユーザー名に変更し、Apply Userのチェックボックスにチェックを入れて一番下の[SAVE]をクリック。

Windows側の設定

適当にエクスプローラを開き、アドレスバーに「¥¥192.168.xx.xx」とIPアドレスを入力すると、先程作成した共有フォルダが見えるはず。
ユーザー名とパスワードが必要であれば、先程作成したユーザー名とパスワードを入力する。

フォルダを右クリックし、[ネットワークドライブの割り当て]をクリック。
ドライブレターを決めて(初期はZ:) 完了をクリックすればネットワークドライブとしてマウントされる。

これでおしまい。

80.1TB!!

NFS共有

TrueNAS側の設定

ESXiのデータストアとして使いたい場合はNFSで共有する必要がある。

サイドバーからSharing → Unix Shares (NFS)を開き、[ADD]をクリック。

共有したいパスを選択し、General OptionsのALL dirsにチェックを入れて一番下の[SUBMIT]をクリック。
今回はSMBで共有したパスと同じものを選択した。ALL dirsは選択したパス以下であればどこでもマウントできるようにするものだと思う。

[ADVANCED OPTIONS]でアクセスできるIPアドレスを絞ることもできるが今回はしないでおく。

ESXi側の設定

サイドバーからストレージをクリック。
データストアタブから[新しいデータストア]をクリックし、[NFSデータストアのマウント]を選択して[次へ]をクリック。。

名前欄には自分がわかりやすいような名前を入力。
NFSサーバ欄にはTrueNASで使っているIPアドレスを入力。
NFSシェア欄では先程共有設定したパスを入力。
NFSバージョンは[NFS 3]のままでOK。

[次へ]をクリックし、間違いがないか確認して[完了]

これでデータストアとしてマウントできた。

ここまで設定したが

あとは前のNASから今のNASにデータを移すだけ!
……と思っていざ”zfs send”と”zfs recv”コマンドの詳細を調べてみたら、プールを作成したらデータセットを作成せずにzfs recvコマンドで受信するのが正攻法(?)らしい。

完全に無駄な時間だった……とは言わないが、事前にちゃんと調べておかないとダメだなぁと思った次第。

次回はzfs send / recvで旧NASから新NASにデータを移す方法を解説する。

参考リンク

TrueNAS 12.0 のセットアップ (きりしま屋)
TrueNAS 12.0 で SMB 共有を設定する (きりしま屋)
ZFS Tips [Share FreeBSD based information]
2016年のOSS圧縮ツール選択カタログ - Qiita
まだgzipで消耗し(略)2016年、人類が待ち望んでいた、gzipを圧倒するOSS圧縮ツールzstd(Zstandard)がリリースされたにも関わらず、なんかあんまり話題になっていなくて寂しいの…

コメント

タイトルとURLをコピーしました