「QNAP」タグアーカイブ

QNAP TS-1277のメモリについて

QNAP TS-1277のCPUをRyzen 7 1700からRyzen 7 2700に換装したら1700で動いてたメモリが動かくなりました。
詳しくは下のリンクの以前の記事にて。
QNAP TS-1277のCPUを換装

動かなくなったのはTeamのELITEメモリでJDEC準拠のネイティブ2400MHzで動くものです。
QNAP純正と一緒に4枚挿しにすると動きませんでしたが、このメモリ2枚だけだと動きます。

ということで、メモリ4枚挿しを諦めて2枚で32GBを目指すことにしました。
SPのネイティブ3200MHzのものです。
流石にネイティブ3200MHzなら2400MHz利用なら余裕だろうと思ってましたが、この2枚だけ挿しても起動すらしませんでした…

私が使っているTS-1277にはQUADRO P400のGPUを挿してますので起動時に画面が表示されBIOSに入ることができます。
SPのネイティブ3200MHzメモリではBIOS画面にすらたどり着けないので、一旦純正メモリに戻してからBIOS上でメモリの速度を2400MHzに固定し、再びSPのメモリに戻して起動してみます。

が、やはりBIOS画面にすらたどり着けません。
更に2166MHzまで落としても起動してきません。
流石にこれは不良個体か?ということで返品することにしました。

流石にもう失敗したくないので、海外のフォーラムでRyzen 2700に載せ替えた方が使っているというメモリと同じものを購入することにしました。
TIMETECというメーカーのもので、こちらはネイティブ2400MHzのメモリになります。

SKhynixのチップを使っているとのことで高性能をうたっているメモリになります。

早速このメモリ2枚だけにして起動してみるもBIOSに辿り着けず…
直ぐにリブートが掛かるわけではないのでギリギリ動かない感じです。

なのでBIOSに入って2166MHzにクロックを落としてあげると問題なく起動しました。
フォーラムの方では2400MHzで動いているとのことでしたので、CPUやマザー、メモリなどの個体差や相性、もしくはSKhynixのチップの製造時期の違いによるものだと思います。

正直このクロック差は体感はできないので、BIOSでクロックを2166MHzに下げた状態で使うことにしました。
Virtualization Stationを使わなければ16GBでもいいのですが、Virtualization Stationを使うには最低でもメモリ32GBはあった方がいいですね。

2021/12/21 追記
BIOSバージョンQZ14AR57が出ていたのでQZ14AR54から更新してみました。
相変わらず純正メモリでしか2400MHzでは起動しませんでした。
が、メモリクロックAutoで純正+TIMETECの4枚挿し(48GB)だと1866MHzで起動しました。
元々Ryzen 7 2700は4枚挿しだとデュアルランクのメモリで1866MHzでの動作となるので、Ryzen 2700の定格クロックでは動いていることになります。
ほんの少しではありますがQZ14AR54よりはQZ14AR57の方がメモリへの対応状況が良くなっているのかもしれません。

QNAP TS-1277のCPUを換装

QNAP TS-1277のCPUはRyzen 7 1700が搭載されています。

QNAP TS-1277はBIOSを書き換えると世代が一つ新しいRyzen 7 2700へ換装可能だそうです。
BIOS書き換えの参考サイト

AMD Ryzen™ 7 1700 8コア/16スレッド3.0 GHzプロセッサ(Turbo Core 3.7 GHz)
AMD Ryzen™ 7 2700 8コア/16スレッド3.2 GHzプロセッサ(Turbo Core 4,1 GHz)

1700と2700ではクロックの違いだけでなく製造プロセスも14nmから12nmへと変更になっています。
ちなみに消費電力はどちらも65Wで同じです。

大前提としてBIOSをバージョンQZ14AR54へ書き換えないと換装しても動きませんので注意が必要です。

今では新品が普通には売られていないRyzen™ 7 2700です。
少し割高ではありますがフリマサイトで新品を購入しました。

早速CPUクーラーを取り外していきますが、クーラーのネジ4本を緩めた後でそのまま真上に引き上げてしまうと、通称「すっぽん」になってしまいCPUのピンが折れたり抜けたりするので、電源を落として直ぐのまだ温かい状態の時にクーラーを横にずらしながらCPUから剥がします。

意外とすんなり取れました。
グリスも思ったほど固くなっていませんでした。

CPUを取り外します。

外したCPUは専用のクリーナーで綺麗にします。

まるで新品かのように綺麗になりました。

Ryzen™ 7 2700をソケットに取り付けます。

いつ買ったか忘れたCPUグリスが転がっていたので塗ってクーラーを取り付けます。
(塗り方は好みがありますが、最近は中央一点盛りはあまりやらなくなりました)

そして換装が終わったら早速起動してみます。

何度もループしてまともにブートしません…

購入した2700が無駄になったか!と半ば諦めかけましたが、一旦最小構成にしてから再度起動を試みます。
すると一発で起動しました。

構成を戻していくとメモリが4枚だと起動せず。
原因はメモリにありました。

取りあえずQNAP純正のメモリ(8GBx2)に戻して使ってますが、4枚ではなく2枚で32GBのメモリに買い替えようかと思っています。
そういえば初期の頃のRyzenってメモリ相性結構出てましたね…

ということでメモリ問題は置いておいて、とりあえずTS-1277のCPUをRyzen™ 7 2700に換装して無事に動作しました。

QNAP TS-1277にGPUを追加 その2

QNAP TS-1277にGPUを追加の続きとなります。

TS-1277にGT 1030を追加してQTSやContainerStation、Virtualization Station用として外部モニターに映像を映し出すことはできていたのですが、GT 1030ではハードウェアトランスコードは行うことができませんでした。
従ってオンザフライでハードウェアトランスコードを行っての配信なども当然できませんでした。
ロープロファイル、且つ1スロットの対応製品を見つけることもできませんでしたし半ば諦めていました。

しかし海外のフォーラムを見ていたらQuadro P400がQNAPのNASでハードウェアトランスコードが可能だったとのコメントを見つけました。

Quadro P400はロープロファイルで1スロット占有でボードの長さも150mmしかありません。
そしてH.264だけでなくH.265のハードウェアエンコードにも対応しています。
メモリは2Gしか積んでいませんが、そもそもの用途がゲームでもありませんし、画面を沢山表示することでもないため問題にはなりません。
ということで、もし使用可能だったら良いなとダメもとで購入してみました。

ELSA NVIDIA Quadro P400 v2 EQP400-2GER2 VD7141

Quadro P400は実際に見ても非常に小さいです。
NASにとってはうってつけのサイズ感です。
但し出力ポートはMini Display portしかありませんので注意が必要です。
MiniDP to DP 変換ケーブル、シングルリンク対応MiniDP-DVD-D変換ケーブルが同梱されているので、DPケーブルと対応のモニターがあれば他に何も買わなくてもOKです。
HDMIで接続したい場合はDP to HDMIの変換ケーブルが別途必要となります。

TS-1277のPCIe Gen 2 x4拡張スロットに挿したところ長さも問題なく収まりました。

電源を投入すると数回のビープ音とともに起動しました。

起動後にハードウェアの項目を見ると…
ハードウェアトランスコードに対応しています!

試しにハードウェアトランスコードを使用したエンコードと、Qvideoを使用したオンザフライでのリアルタイムトランスコードを行ってみましたが、全く問題なく動きました。
但しGPUの使用率は30%~40%くらいになっていたので、オンザフライでの配信は2つくらいまでが限界かもしれません。

2021/11/23 追記
QTSバージョン5.0.0.1853 build 20211114では問題なく動いてましたが、QTSを5.0.0.1858 build 20211119にバージョンアップしたところハードウェアトランスコードが上手く動かなくなりました。
QNAPの製品はバージョンアップで不具合が出ることが結構あるので、もし動かない場合はQTSのバージョンによる不具合も疑ってみてください。
(QTSをQNAPのサイトからDLしてきて手動でインストールすればバージョンダウンも可能です)
大抵は不具合が出たバージョンの次か、その次くらいには不具合が解消されることが多い印象です。

QNAP TS-1277にGPUを追加

TS-673からTS-1277(1700-16G)へと機種変更しました。
TS-1277は既に販売終了となっている少し前のモデルで、ZFSベースとなるQNAPのOS「QuTS hero」を導入することはできません。
とはいえAMD Ryzen™ 7 1700 8コア/16スレッド3.0 GHzプロセッサ(Turbo Core 3.7 GHz)を搭載しており、NASの中ではパワフルでVMなどを使用するには向いている機種だと言えます。

しかしRyzen 1700はGPU機能を持たないため、HDMI経由でモニターに表示したりすることができません。
そこでTS-1277にGPUを追加しようと考えましたが、NVMeのRAID拡張カードや10GbEネットワークの拡張カードなどを既に追加している場合、GPUの追加には頭を悩ませることになります。

TS-1277はPCIeの拡張スロットを3つ持っています。
スロット 1:PCIe Gen 3 x8
スロット 2:PCIe Gen 3 x4
スロット 3:PCIe Gen 2 x4

この中で2slot占有できるのは「3 x8」「3 x4」になります。
NVMeのRAID拡張カードは長さの問題から「3 x8」を使用するように指定されています。
(他は長さの問題から物理的に筐体と干渉して挿せません)

すると残るは「3 x4」「2 x4」の2つとなります。
そしてこの2つのスロットはlow profileのスロットになります。
2slot分潰していいのであればlow profile且つ2lotタイプのGPUを使用可能ですが、私の場合は10GbEの拡張LANカードを使用するため、帯域の問題もあり「3 x4」のスロットはLANカードが占有します。

そうなると残りは「2 x4」のlow profileで1slotタイプのものしかGPUとして利用できません。
この時点でNVIDIAのGTX-1050以上のハードウェアトランスコードが可能な製品は存在しなくなります。
ハードウェアトランスコードを行わないのであれば動作確認が取れているGT 1030が一番安心して導入できるのでGT 1030で探してみました。
GT 1030であればlow profile且つ1lotタイプのものが複数存在します。
が、筐体の空きスペースを計ってみると150mm以上の長さのものは搭載不可となり、最終的に候補に上がったのがMSI GeForce GT 1030 2GD4 LP OCとなりました。

計算上は入るはずですが実際に挿すまではどうなるか分かりません…

かなりギリギリですが干渉せずにスロットに挿すことができました。

下の写真の左側に刺さっているのがQM2-4P-384(NVMe SSD拡張カード)です。
長さ的に右側にあるスロットには挿すことができません。
横幅的にはlow profileにも対応しています。

筐体的には結構隙間があるのでもう少し上手にレイアウトできなかったのかとは思います。

結果的にGPUは「2 x4」のスロットに挿すことになりましたが、BIOSの表示も問題なくできますし、VMやQNAPアプリの出力先に指定することもできます。
ハードウェアトランスコード以外は問題なく動く感じです。
GT 1030というロースペックなGPUということもあって帯域もPCIe Gen 2 x4で全く問題なさそうです。

ちなみにBIOSをTS-1277XU-RPのものに書き換えるとRyzen 2700に換装することが可能なようで、既にTS-1277のBIOSは書き換え済みです。
BIOS書き換えの参考サイト
既に安いRyzen 2700が手に入らない状態なのでまだ換装していませんが、そのうち換装しようかと思っています。

2021/11/20 追記
QNAP TS-1277にGPUを追加 その2に続きます。

QNAP TS-673でSMB MultiChannel(マルチチャンネル)を有効にする

QNAP TS-673での転送速度の限界に挑んでみたくなり、2つのLANを束ねるLAG(リンクアグリゲーション)をやめ、2つのLANにそれぞれIPを割り当てて並列でSMBの通信を行うMultiChannel(マルチチャンネル)をやってみました。
が、PC側はちゃんとマルチチャンネルの要件を満たしているにも関わらず、マルチチャンネルでの接続ができませんした。
何度やってもマルチチャンネルになりません。

NASとPCがSMBv3で接続されているのも確認しましたが、なぜかマルチチャンネルでの通信ができず。

もしかしてPC側ではなく、QNAP側が対応していないのではないかと思い、SSHでログインしてSMBの設定を確認してみました。

cat /etc/config/smb.conf

すると[global]セクションにマルチチャンネルの設定がありません…

なるほど、これではマルチチャンネルが有効にならないはずです。
ということで[global]セクションにマルチチャンネル有効の設定を追加。

vi /etc/config/smb.conf

以下の行を[global]セクションに追加。

server multi channel support = yes

SMBのサービスを再起動(NASを再起動でもOKです)

/etc/init.d/smb.sh restart

そしてPCから接続するとマルチチャンネルが有効になりました。

NVMe SSDが初期不良で4枚揃っていないので、HDDx6 RAID6 + SSDx2 RAID1キャッシュでの速度を計測してみました。

シーケンシャルのReadでは10GbE帯域を超えることができました!

2020/07/27追記
NAS側の接続で設定を見直し再度LAGを組み、、NAS側はLAGを組んでいてもSMBv3のマルチチャンネルを使えるようになりました。
(PC側はLAGは組まずに2つのIPを持った状態です)
ネットワークスイッチのLAGの設定は以下のようにSrc/Dest IP and TCP/UDP Port fieldsにして、NAS側のポートトランキングのハッシュポリシーをLayer 2+3(MAC+IP)とすることでマルチチャンネルを使えるようになりました。

NETGEARのネットワークスイッチの設定

※Layer3を扱えるフルマネージスイッチでないと、この設定はできないかもしれません。

NASのポートトランキングの設定

CrystalDiskMarkでのベンチマークとNASの通信トラフィック

シーケンシャルリード時のトラフィック

ちゃんと2つのネットワークで均等に通信が行われているのが確認できます。

ベンチ中の最初から最後までのトラフィック

最後のランダムライト(RND4K Q32T1)は片方のネットワークしか利用されていないので、速度に余裕がある場合は両方使わないのかもしれません。
(何度かテストしていると、シーケンシャルリードでも1度だけ片方しか使われない時があったので、状況によってネットワークの使い方が変わるようです)

2020/08/02追記
NVMe SSDのRAID10を組んでQtierを再構築して計測しました。

シーケンシャルは20GbEの限界近くまで行くかと思ってましたが、それほど伸びませんでした。
CPUなどは一般的なPCに比べれば高性能でもありませんし、これくらいが中堅NASのハード上の限界なのかもしれません。

QNAP TS-673でQtier(自動階層化)を有効にする

QNAPのNASを更に高速化すべく、とうとうQtier(自動階層化)に手を出すことにしました。

そもそもQtier(自動階層化)とは?という疑問は、公式サイトの説明が詳しいので省略します。
Qtier™ドライブ自動階層化

TS-673はSATAのSSDを2つ搭載可能なので、それでQtierを構成することも可能なのですが、折角高速なQtierを構築するのですから、NVMeのSSDを使用することにしました。
(SATAのSSDはQNAP TS-673にSSDキャッシュを追加の記事に書いた通りHDDのキャッシュとして使用します)

私が使用しているTS-673は既にSFP+のネットワークカードとトランスコード用のGPUが刺さっているので、PCIeの空きスロットが既にありませんでした。
が、TV録画サーバーをラズベリーパイ4からインテルCPUのNUCに変更したことで、CPUに搭載されているハードウェアエンコードの機能が使えるようになり、GPUを取り外すことができました。
(GTX 1650を使用したQNAPのGPUエンコードとほぼ同じ速度でエンコードが可能でした)

これでPCIeスロットが1つ空いたので、NVMe SSDを増設するための拡張カードを刺すことができます。

QNAPには色々な種類の拡張カードがありますが、今回はTS-673に合ったカードを選択しました。
TS-673はPCIeスロットの仕様がGen 3 x4の2スロットなので、Gen 3 x8の拡張カードを購入しても性能を活かしきれません。
もちろん下位互換があるため動きますので、将来を見据えてより上位機種で使う可能性があるのであれば、Gen 3 x8の拡張カードを購入してもいいでしょう。
(6千円くらい高くなります)

QNAPの拡張カードを取り扱っているお店は少なく、日本のAmazonにもなかったので、オリオスペックさんから通販で取り寄せました。

QNAP QM2-4P-342 クアッド M.2 22110/2280 PCIe NVMe SSD拡張カード

この拡張カードはNVMe SSDを4枚搭載することが可能です!
但し、先に書いた通りTS-673とはGen 3 x4での接続になりますし、拡張カードとSSDの接続はGen 3 x2での接続になります。
(現在一般的なNVMe SSDの性能をフルでは活かしきれませんが、速度が落ちることで熱的には有利になります)

箱の中身はカードとネジ類、熱伝導シート、マニュアルです。

今回使用するSSDは以前デスクトップの倉庫用に購入したトランセンド(Transcend)のTS1TMTE220Sです。
但し、型番は同じでも以前購入した時と仕様が変わってました。
シーケンシャルリード/ライト:3,400/1,900 MB/s
TBW [総書込み容量] :2,200 TBW

今回はNVMe SSDを4枚も用意しなければならないので結構な出費が…

拡張カードにSSDを組み込んでいきます。
まずは拡張カードの4か所のネジを緩めます。
(ネジは完全には取れない仕様です)

ヒートシンクを外すと、SSDを取り付ける部分にラバーのスペーサーがありますので取り外します。
結構のりが残ったり、ラバーが千切れたりしました…

ラバー製のスペーサーを取り外したらSSDを取り付けて付属のネジで止めます。
(ヒートシンクのファンのコネクタを外しておいた方が作業が楽です)

SSDを取り付けたら付属の熱伝導シートを貼りつけます。
結構やわかったので、台紙から剥がす時に千切れたりしないように注意が必要です。

熱伝導シートを貼ったらヒートシンクを戻し、ネジで止めれば拡張カードの方は準備完了です。

ヒートシンクから熱伝導シートがはみだしますが、気にしません!

TS-673に拡張カードを取り付けるわけですが、今回もネットワークカードとSSD拡張カードのどちらを上にするか少し悩みました。

NVMeのSSDを4枚も刺していると熱を持ちそうなので、ネットワークカードでヒートシンクの大半が隠れてしまうのはどうかと思いましたので、今回はSSD拡張カードを下に、ネットワークカードを上にすることにしました。
(SSD拡張カードにはファンがあるので、やっぱり逆か?とか悩みました(笑))

カード同士の隙間は下の写真くらいは空いているので、まあ大丈夫でしょう。

PCIeスロットへのアクセスには電源のネジまで外す必要があるのが面倒です。

ハードウェアの方はこれで終了なので、ここからはQNAPのOSであるQTSでQtierの設定を行います。
Qtierの設定に関しては、以下のサイトに詳しく書かれていましたので参考にさせて頂きました。
Qtierの自動階層化機能のセットアップ手順

オーバープロビジョンのテストは非常に長いです。
今回はSSD4枚でRAID5の構成にしましたでの、テストに半日以上掛かりました…

結果、オーバープロビジョンは必要なしとの判定でした。
Qtierの構築にも数時間掛かります。

Qtierを有効にする前と有効にした後の速度の計測結果です。

Qtierなし(HDD用のSSDキャッシュあり)

NVMe SSDx4 RAID5 Qtier(HDD用のSSDキャッシュあり)

Qtierなしの時よりもシーケンスの速度が落ちてます…
ベンチ対象の共有フォルダに大量データの書き込みやベンチマークを複数回走らせてから、自動階層化の処理を手動で数回実行しても結果は変わりませんでした。
SATA SSDのキャッシュで頭打ちしているような速度なので、SSDキャッシュを無効にして計測しても変わらず。
(SSDキャッシュを無効にしてもランダムが下がらなかったので、Qtier自体は動いていると思われる)

リソースモニタでRAIDへの読み書き状況を見てみると、今回追加したNVMe SSDのRAIDグループ3がフルで使われているわけではないようです。

グループ1:(RAID6) HDDx6
グループ2:(RAID1) SATA SSDx2のキャッシュ
グループ3:(RAID5) NVMe SSDx4のQtier用

グループ3への書き込みは結構速度が出ているようですが、読み込みでは使用されていません…
どういう条件でどう使われるのかがよく分からないので、暫く様子を見てみることにします。

2020/07/22 追記
ベンチ時にCPU使用率を見ていたら、書き込み時にCPU使用率が90%近くまで行ってるのを確認しました。
NVMeでのRAID5はCPU負担が大きいのか、RAID5からRAID10に変更したところ書き込みは速くなりました。

読み込みはCPU使用率が高くないにも関わらず、速くならないままなので、更に様子を見ようと思います。

2020/07/24 追記
NASを再起動したところ、1つのSSDが異常を出してRAIDから外れました。
SSDをPCに付けてみると普通に認識したので、一応初期化してNASに取り付けるもやはりエラーが出る…
一旦RAID10を解除して再度組んでみたところ普通に動いているように見えるも、再起動するとやはりRAIDから外されました。
SSDがおかしいのかM2拡張カードがおかしいのかを切り分けるため、SSDの場所を入れ替えて同じことを繰り返してみました。
再起動する度に同じSSDが異常を起こしているのを確認したのでSSDの初期不良だと判明。

取りあえずNVMe SSDの使用をやめてQtierを解除して前の状態に戻しました。

で、速度を計るもやはり読み込みが遅い…
なぜなのかと悩むこと1時間。
そういえばINTELの10G NICのLAG(リンクアグリゲーション)を組みなおしていたのを思い出しINTELのツールからLAGを無効にすると速度が戻りました。

NAS側もDynamic LAGを組んでいるのですが、こちらは全く問題なし。
ハブもNETGEARのフルマネージスイッチなので細かく設定ができますが、設定を変えてもINTELのLAGが遅いのは解決しませんでした。
結果、INTELのLAGがダメだったということで、LAGを解除してこの問題は解決しました。

Qtierを組んでないのに読み取りが速いのは、メモリを64G積んでいるのでキャッシュが効いているからだと思います。
ランダムライトの4Kが速いのは、メモリとSATAのSSDキャッシュの効果だと思います。
下の写真のように書き込みのヒット率が上がっているので、SSDがデータを受け取っているのだと思います。

初期不良のNVMe SSDが交換されて揃ったら、再度Qtierを組みなおそうと思います。

ちなみに今回使用したTS1TMTE220Sはアマゾンに在庫がなかったのでイートレンドで購入しましたが、イートレンドは初期不良の対応があまりよくないので個人的にはお勧めしません。
お客がメーカーと直接やり取りをし、メーカーが初期不良と認めたら、イートレンドとしてはそこで初めて初期不良として対応するそうです。
自社で初期不良の判断ができないからだそうですが、ちゃんとしたお店なら自社でちゃんんと判断して交換してくれます。
それが初期不良対応というものではないでしょうか。
でなければメーカーの修理・交換と大差ない気がします。
メーカとのやり取りに時間が掛かり、とても初期不良交換とは言い難い時間が掛かります。
(時間が掛かるとその間止まってしまいますし、どうせRAID破損時の予備が必要なので、もう1本SSDを購入しようかと思ってます)

その点、アマゾンは初期不良はほぼ無条件で返品、または交換をしてくれるので安心ですね。

2020/08/02追記
NVMe SSDを追加購入しSSDをRAID10にしてQtierを再構築しました。
Qtierでの計測結果はQNAP TS-673でSMB MultiChannel(マルチチャンネル)を有効にするにて。

※QtierはSSDをキャッシュとして使うわけではなく、直接データをSSDに記録することになります。
しかもOSが自動でSSDとHDDのデータを入れ替えたりします。
SSDが壊れてデータを失えば、全体としてデータを失う可能性がありますので、必ず定期的にバックアップを取るようにしてください。