TrueNAS SCALEを使ってNAS+サーバーを作ってみる ストレージ構築編

## はじめに

https://qiita.com/shirokuma1101/items/fa8b733f5e4385a57d41

前回は準備編を投稿しました。今回はNASを利用するためのストレージを準備します。

## ストレージ構築編

![truenas_23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/418d0c6d-0653-7847-1859-dd850cbd5f6e.png)

まず`Storage`タブにアクセスします。まだ作成していないので中央に`Create Pool`があります。そこをクリックします。
ない場合は右上にも同じ`Create Pool`があります。

![truenas_24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/ef0dac94-f72f-8604-8332-56167ac07df8.png)

ここではPoolを作成します。名前は公式リファレンスやOracle的に`tank`とするらしいので同じ名前にしました。

![truenas_25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/bcc11a6f-1858-03bc-eef0-c3e6bfa5ff67.png)

> Encryption is for users storing sensitive data. Pool-level encryption does not apply to the storage pool or disks in the pool. It applies to the root dataset that shares the pool name and any child datasets created unless you change the encryption at the time you create the child dataset. For more information on encryption please refer to the TrueNAS Documentation hub.

今回は暗号化にもチェックを入れておきます。暗号化方式はデフォルトの`AES-256-GCM`で十分なはずです。

![truenas_26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/ef08e2f0-c31f-0190-1c2a-277e698cb9de.png)

次に利用するディスクを選択します。全てのHDDを利用するので両方にチェックを入れて矢印を押して`Data VDevs`に移動させます。

![truenas_27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/68745ec8-27f9-a14a-3209-46f873ddca07.png)

プルダウンメニューでRAID方式を選択できますが、今回は容量をそのまま利用したいため`Stripe`にします。右下の赤色警告にもある通り、冗長性がないので一台のディスクが故障するとデータを取り戻せなくなる確率特大です。

> A stripe data vdev is highly discouraged and will result in data loss if it fails

なので本来は推奨されませんが今回は続行するので`Force`にチェックを入れます。

![truenas_28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/f719ca09-758a-e181-4337-44705aaf48b0.png)

> Warning
> The current pool layout is not recommended. Override the following errors?
> A stripe data vdev is highly discouraged and will result in data loss if it fails

再度警告されますが、`Confirm`を押して続行します。

![truenas_29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/72cc0116-0c2d-7ce2-96be-ea2094bd56b1.png)

> Warning
> The contents of all added disks will be erased.

こちらは共通で表示される警告で、ディスクにある全てのデータが削除されますとでますが、こちらも`Confirm`を押して続行します。

![truenas_30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/9f3a98bc-fbb7-6043-d39a-adfdcdce87ac.png)

> WARNING!
> Losing the ability to unlock the pool can result in losing all data on the disks with no changce of recovery. Always back up the encryption key file or passphrase for an encrypted pool! The key file for an encrypted pool is secured in the system database and can be exported at any time from the pool options

こちらは暗号化にチェックをした場合に表示される警告です。暗号化キーを保存する必要があるため`Download Encryption Key`を押してダウンロードします。もし無くした場合はディスクの回復ができなくなるので必ず取っておきます。ダウンロードしたら`Done`を押して完了します。

![truenas_31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/91f6009c-e179-bff7-9f57-0a014fb57006.png)

ストレージタブに戻ると色々追加されています。だたこのままではディスクを利用可能にしただけでNAS用に割り当てられていません。もう少し設定する必要があります。

![truenas_32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/0902e602-4477-0420-21e8-4e27be633ac2.png)

Datasetsタブへ移動します。ここには先ほど追加した`tank`が追加されているはずです。ここでNAS用にDatasetを追加します。`Add Dataset`を押します。

![truenas_33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/7cd7dfc0-2a48-65ef-f953-eb55d4fc9b79.png)

この画面で共有するDatasetの設定を行います。

![truenas_34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/a3e3bfa3-4331-8112-2b89-711057f74990.png)

`Name`を`smbshare`、`Share Type`を`SMB`にします。他はデフォルトのままで問題ないと思います。

![truenas_35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/0f367747-ac18-f725-312f-0f0d56d0fd8e.png)

tree状の`tank`の下に`smbshare`ができていれば大丈夫です。次はアクセスする人用のアカウントを作成します。

![truenas_36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/32841da2-92e0-a39f-e06d-8a851e907c02.png)

`Credentials`タブの`Local Users`にアクセスします。

![truenas_37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/94f79f9f-f8ae-d208-f375-2302f4553a80.png)

右上の`Add`をクリックします。

![truenas_38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/15d937d9-563a-14db-e40a-efdf66691464.png)

*のついている項目が入力必須項目です。
ここの`Username`と`Password`がWindowsからストレージへアクセスする際のユーザー名とパスワードになります。

![truenas_39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/ce101c18-5e9c-f58c-8a2c-fe6ce492aa1d.png)

![truenas_40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/c5ce8367-22d0-2386-d6eb-e003d8a4eb83.png)

追加できました。まだ作成しただけなので割り当てを行います。

![truenas_41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/15d388f4-4e93-e070-e020-ce12d210049f.png)

`Datasets`タブに戻ります。作成した`smbshare`を選択して右の`Permissions`にある`Edit`をクリックします。

![truenas_42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/bb8a3449-76b9-d655-d9f9-0190df1a4e78.png)

パーミッションの設定画面です。

![truenas_43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/8848dba5-dde8-40cd-76e7-010b2a80ea64.png)

`Owner`と`Owner Group`を先ほど作成したユーザーに変更します。設定した後はそれぞれの下の`Apply Owner/Group`にチェックを入れてから`Save Access Control List`をクリックします。

![truenas_44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/b5cb2f67-48b3-9528-9a37-a438372a198c.png)

前の画面に戻って右の`Permissions`内の`owner`と`group`が指定したユーザーになっていればOKです。

![truenas_50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/2ccdd0e6-059c-34b7-9743-3a8b69d956f3.png)

このままではまだアクセスできないので`Shares`タブにアクセスし、`Windows (SMB) Shares`の右にある`Add`をクリックします。

![truenas_51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/d08385bd-f1f3-de5e-b092-19b00789f620.png)

基本的にはデフォルトのままで問題ないと思います。なのでこのまま`Save`をクリックします。

![truenas_52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/e3c04e00-bb28-41b6-7bab-769cfafbdbd1.png)

このページではどのPathを共有するか選択できます。

![truenas_53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/96546fe4-3858-be86-e51f-8f28d0bbbf95.png)

`Path`を選択する場所の`▼`をクリックしていくと`smbshare`があるのでそこをクリックします。すると自動で`Name`にも同じ名前が入力されます。そして`Save`をクリックします。

![truenas_54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/17653c65-83d2-b1a5-6df4-00ccffff1157.png)

再起動後も自動でSMBサービスを開始させたいので、`Enable this service to start automatically.`にチェックをいれて`Enable Service`をクリックします。

![truenas_55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/5befe322-5dfa-ae9e-92c9-c2d04c6449a7.png)

すると`Windows (SMB) Shares`に追加した一覧が表示されました。
これで作業は完了です！

![truenas_70.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/70b29bf3-9ac2-62ff-89ef-a20bfd2c5bdd.png)

実際にWindowsからアクセスしてみます。ネットワークを選択するとTRUENASという名前で追加されているはずです。

![truenas_71.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/07f42c4e-5863-a407-7771-a8fe135a625d.png)

ダブルクリックするとユーザー名とパスワードを求められるので、`Credentials`で追加した際に設定したユーザー名とパスワードを入力します。すると`smbshare`というフォルダにアクセスできました。

![truenas_72.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/e55d71f6-c237-e4b6-05b9-b5f87454a276.png)

このままだとアクセスする際に不便なのでネットワークドライブの割り当てを行っておきます。

![truenas_73.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/9f6d82cf-3b7c-5d22-a4cf-606a5fdaf099.png)

これでExplorerからアクセスできるようになりました。空き容量なども確認できるようになっています。

![truenas_80.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/a738038b-1606-c2be-c14b-aba0000be847.png)

巨大ファイルを送信した際のネットワークスループットはこんな感じです。L2スイッチの上限が1Gbpsなのですがいい感じですね。

![truenas_81.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660536/d29d6c06-c39c-17e9-441a-4a53050ca2e3.png)

`Dashboard`タブはこんな感じです。

## Dockerサーバー構築編

Dockerサーバー構築編へ続きます。

https://qiita.com/shirokuma1101/items/2b511d296d35d254a6c5