Unraid 6.10.0のインストール
この記事の続きです
このビデオを参考にインストールします。
アカウント作成
Unraidのサイトを開き、ページ上部のCOMMUNITY
をクリックします。VISIT THE FORUM
をクリックし、画面上部の"Sign Up"でアカウントを登録してください。Google認証アプリを使っての二段階認証に設定しておきます。
ブート用USBディスクの作成
提供されているツール - USB Flash Creator - を使って書き込みます。Stable版だと6.9.2が最新ですが、Next版だと6.10.0がrc4までリリースされています。フォーラムをざっと見たところ、自分にとって致命的な問題はなさそうで、cache周りの取り扱い改良などが魅力的だったのでこちらを使うことにしました。
追記:6.10.0が正式リリースされました
PCのBIOSを変更し、USBメモリでのブートを有効にします。USBメモリでのブートはlegacy, UEFIの2つの方式がありますが、現時点ではデフォルトのlegacyのほうがおすすめのようです。legacyブートだと、ブートメニューからmemtest86+(メモリのテストツール)の実行が可能なのも理由の1つです。
ここで問題発生。ブランド物がいいだろうとSandiskのUSBメモリを使用したのですが、起動時にブート不可とのBIOSメッセージが出ました。試しにBUFFALO製のUSBメモリに変えてみたら正常にブートできました。
後で知りましたが、Sandisk製USBは推奨しないとの公式アナウンスが出ていました。
Unraidは有料ソフトウェアですが、このUSBメモリがライセンスキーの役割を果たします(ライセンスの移行ももちろんサポートされています)。
HDDの装着
HDDの障害交換時に見分けやすいように、HDDのコネクタを刺す面にシリアル番号を書いたシールをはるか、マジックで直書きするのをお勧めします。シリアル番号はHDD背面に書いてあると思います。
初回設定
Web GUIでのログイン
Unraidを実行するPCのモニタを利用するGUI Modeもありますが、デフォルトでは別のPCからブラウザで操作する設定で起動されます。
起動後、別のPCからブラウザで http://tower.local を開くとUnraidのGUIが表示されます。
最初はTRIALライセンスで利用することにします。30日間の利用が可能です。
add-onアプリケーションのインストール
APPS
でCommunity Applications plugin
をインストール。
その後同じくAPPS
の検索バーに"unassigned devices"と入力し、表示された以下の3つを順にインストール
- Unassigned Devices
- Unassigned Devices Plus (Addon)
- Unassigned Devices Preclear
各ディスクの役割を設定
MAIN
画面で各ディスクの割り当てを行います。画面右上の?(HELP)をクリックすると、画面中に説明が表示されます。
Parity Disk×1, データディスク×4, SSD×2をpool(cache)として登録しました。
RAIDとは異なり、ディスクのサイズを合わせる必要はありませんが、Parity Diskは最大容量のディスクを割り当てる必要があります。
今回はParity Diskを1つにしましたが、この場合ディスクが1台故障してもデータの復旧が可能です。Parity Diskを2つにするとディスクが2台同時に故障した場合でもデータの復旧が可能となります。
Unraidの仕組み上、データディスクはSMRでもそれほど問題ないと思うのですが、ParityディスクはCMRがいいと思います。
Parityについて詳しく解説したビデオがこちら。
pool(cache)には余っている小容量のSSDを割り当てました。SSDが突然死すると困るので二重化することにします。Slotsを2に設定して2台のSSDを設定。これに関しては例外的にRAID1でのアクセスになります。
追記:どうもUnraidはSSDキャッシュの取り扱いがいけてなく、期待した書き込みパフォーマンスの向上がなかったので取りやめました。
なおdockerやVMを使うのがメインの場合にどうpoolを設定するかについてはこちらのビデオが参考になります。
フォーマットとパリティ作成
ディスクのチェックをあらかじめ行いたい場合、Preclearでチェックします。ただし相当時間がかかります。
パリティ作成の前にデータディスクをフォーマットします。フォーマットが終わったらParity Syncを行ってパリティ作成。
今回パリティディスクはWD blue 8TBです。処理が完了するまで半日以上かかりました。
パリティの処理が終わったらMAIN
- Array Operation
- START
をクリックして、ディスクをオンラインにします。これを忘れるとNASとしてディスクの内容が公開されません。
後日、ディスクの構成を変えたい場合などは、STOP
をクリックしてディスクをいったんオフラインにしてディスク周りの設定を操作します。
初期設定
パリティディスク作成中に設定を行います。設定はAPPLY
をクリックしないと有効にならないので注意します。
-
SETTING
-
Communiti Applications
でAllow CA to send any emergency notifications
をYes
にし、APPLY
で有効化 -
Date and Time
でTime zoneを設定 -
Disk Settings
-
Enable auto start
をYesに。こうしないと起動時に毎回手動でMAIN - Startが必要になります -
Default spin down delay
をお好みで設定 -
APPLY
をクリックして設定を有効化
-
-
Notification Settings
-
Date format
をYYYY-MM-DDに - お好みで各種Update notificationを有効化
- Emailにも送信する場合は、送信先の
Email
をチェック -
APPLY
をクリックして設定を有効化 - Emailに送信する場合は
SMTP Settings
も設定し、APPLY
をクリックして設定を有効化
-
-
Scheduler
-
Parity Check
ディスクの全内容の定期的な検査(一般的なNASでのScrubに相当する)。必要なら設定。相当時間がかかるので、Cumulative parity check
をYes
にしてチェックを分割させることも可能 -
Mover Settings
キャッシュディスクの内容をデータディスクに書き込むスケジュールの設定
-
-
-
USERSでユーザ作成
-
APPSで検索ボックスに"My Servers"を入力して、インストール。
Install
ボタンがActions
に代わるので、Actions
-Settings
を選び、unraid.netのフォーラムで登録したID,パスワードでログイン
Sambaの共有設定
SHARES - ADD SHARE
を開く
-
Share name
,Comments
-
Use cache pool
: キャッシュディスクの利用設定-
Yes
: 書き込みキャッシュとしての動作 -
Prefer
: 読み込みキャッシュ重視の動作
-
-
Allocation method
:High-water
にしておくと、複数のディスクにそれなりにバランスして書き込む -
Minimum free space
: 上記Allocation method
がFill-Up
の場合を除き、0KBのままでいい -
Included disk
,Excluded disk
: 共有フォルダとして使用するディスクを設定できる。設定する場合、Include, Excludeのどちらか片方だけを設定する。 -
APPLY
で設定を有効化し、続けてセキュリティを設定する -
SMB Security Settings
-
Export
:Yes
もしくはYes/Time Machine
。なお自分の環境ではYes/Time Machine
に設定すると、Windowsから共有フォルダへの書き込みがうまくいきませんでした。 -
TimeMachine volume size limit
: Time machineバックアップに割り当てる容量を設定 -
Security
:Public
以外を設定した場合は、APPLY
後、続けてSMB User Access
の設定を行う -
Case-sensitive names
:Yes
にするとパフォーマンスが上がる場合がある(詳細はヘルプ参照)
-
-
SMB User Access
: PrivateやSecure設定にした場合、ユーザーごとの読み書き権限を設定する
書き込みパフォーマンスを倍以上にするTurbo Writeモードについて
Unraidの大きな欠点として、標準設定では書き込みの速度が遅い点があげられます。
例えばDisk1に書き込もうとする場合、
- Parity DiskとDisk1の書き込み前の内容を読み出す
- 新しいパリティ値を計算
- Parity DiskとDisk1の書き込み
という手順になるので、普通に書き込む場合の半分以下の速度となります。具体的にはWD Blueの8TBのディスクに対して30MB/s~60MB/s程度の速度でした。本来の書き込み速度は100MB/s~200MB/sなので1/3程度のスピードです。
これを改善する設定として、通称Turbo Writeという設定があります。
Turbo Writeを有効にするには、SETTINGS
- Disk Settings
- Tunable (md_write_method)
をreconstruct write
に設定します(APPLY
を忘れずに)。
この設定だと、ディスクの書き込みパフォーマンスを100%発揮することができます。WD Blue 8TBの場合、1Gbpsのネットワークを使い切った110MB/sの速度が出ました。
ただし、その代償として書き込み先ではない他のすべてのディスクに対して読み込みアクセスが発生します。大量の書き込みが発生する初回バックアップ時などに限定して有効にするのもありだと思います。
Add-onの追加
-
Fix common problems
: 設定に問題があると表示してくれるらしい -
Dynamix File Manager
:SHARES
画面からファイル操作が可能になる -
Parity Check Tuning
: Parityディスク構築を夜間に分割して行うなどの設定が可能 -
Mover Tuning
: CacheからDiskへの書き戻しを夜間に行うなどの設定が可能 -
Dynamix System Temp
: CPU等の温度を表示してくれる- 最初に
NerdPack GUI
をインストールし、settingsでperlを有効にする -
Dynamix System Temp
のsettingsでDETECT
ボタンをクリックし、Processor temperaure
を選択
- 最初に
-
Disable Security Mitigations
: 非推奨。古いIntel CPUでMeltdown対応等を無効にして速度低下を防ぐ -
Tips and Tweaks
: CPU, NIC, Disk関連の細かい設定ができる。
なお、自分は使ってませんが、Add-onを使っていろいろなアプリケーションサーバーとしての利用が可能です。
省電力化
常時通電するので、消費電力低減を行います。
上記を参考に、BIOSの省電力関連を設定 - 自分の環境では省電力関連の設定をAutoではなく、明示的にEnableにする必要がありました。Terminal画面にてpowertop --auto-tune
を実行し問題がないか確認します。
問題ないようなら、次回起動時にpowertop --auto-tune
を実行するようconfigファイルに追記します。MAIN
のFlash項目の一番右側VIEW
のアイコンをクリックし、ファイルブラウザを開きます。/boot/config/go
を開き、最下行にpowertop --auto-tune
を追加します。
自分のPCの場合、HDDはすべてスピンダウンした状態のアイドル時の消費電力が、60Wから35Wまで下がったのでかなり効果があります。
設定のバックアップ
MAINでBoot Device
の項目にあるFlash
をクリック。FLASH BACKUP
をクリックして設定のバックアップをダウンロードしておく。USBメモリが壊れた場合などは、このファイルを使用して起動用のUSBメモリを再作成できる。
なお、"My Servers" add-onをインストールしているので、クラウドへのバックアップも可能なのですが、このバックアップは現時点では暗号化されていないそうなので利用を見送ってます。
参考リンク