自作マシン3号を組んだ
κeenです。ゴールデンウィークに買ったマシンがややトラブルありつつも組み上がって安定稼動しはじめたのでメモを残します。
前回に引き続き新しいThreadripperが出たので買いました。3990Xから7980Xです。コア数やスレッド数は変わってませんがキャッシュが増えたりzen4アーキテクチャになったりで40%くらいの性能向上があるらしいです。他にもPCIe5やDDR5メモリのサポートがあり、全体的に色々アップグレードされます。
ハードウェア
パーツは以下になりました。いくつかミスがあったので真似する人はこのまま買うのをお勧めしません。
- マザーボード: ASRock TRX50 WS
- CPU: AMD Ryzen Threadripper
- メモリ: Samsung 64GB DDR5 4800MHz PC5-38400 ECC RDIMM 2Rx4 (EC8 10x4) x 4
- ストレージ:
- Crucial T700 CT2000T700SSD3JP M.2 NVMe 内蔵SSD / 2TB / PCIe Gen5x4 / ヒートシンク無 x 4
- Asrock Blazing Quad M.2 Card (PCIeスロットに4枚M.2ストレージ挿せるやつ)
- GPU: Radeon RX 7800 XT
- CPUクーラー: SilverStone IceGem 240P
- 電源ユニット: MSI MAG A1000GL PCIE5
- ケース: FSP CUT593P-B
前回からの主なアップデートは以下です
- Threadripper 3990X → Threadripper 7980X
- zen2 → zen4 でAVX512が使えるようになったりIPCの向上など
- DDR4メモリ128GB → DDR5メモリ256GB
- 1HTあたり1GBだと足りないケースがあった
- DDR5になって速度向上
- PCIe 4 NVMe 500GB x 6 → PCIe 5 NVMe 2TBx4
- カメラを持ちはじめてストレージが足りなくなったので増強
- 本数が多いと管理が面倒だったので1枚あたりの容量を増やして本数は抑えた
- マザボについてるスロットは一旦GPU外さないといけないので取り回しが悪い。
- とりあえずPCIe 5にしてみたけどどれくらい違うのやら
メモリやストレージの増量は分かりやすいですね。CPUに関しては今後AVX512で遊んで実感しようと思います。あと後述しますがファイルシステムが変わった関係でPCIe5のストレージはあんまり活かせてなさそう。
ところで、はじめてネットで買ったら色々ミスりました。不適切な組み合わせのパーツがいくつかあります。
- ThreadripperがサポートするDDR5メモリはECCのついたRegisterd DIMM (RDIMM)と呼ばれるもので、ECCのない普通のDIMMはサポートしない
- 知らずに一度ECCなしのメモリを買って買い直した
- それが届くのに3週間くらいかかり、GWに買ったはずなのに月末に組み上がった
- マザーボードのTRX50のフォームファクタはE-ATXで、ネジの位置などはATXと共通だが、基盤が大きい。
- ケースがaTX向けだったのでケーブルを通す穴などが合わなかった。無理矢理鉄板をペンチで曲げてケーブルを通した
- 規格間違いがなければ両面の蓋がドライバーなしで開けられて良いケースだっただけに残念
その他トラブルだと何度試してもPCIeエラーで電源が点かず途方にくれてたら実はマザボに挿す電源が1本挿さってなかったなどがありました。普通の電源の他にグラフィックカード用の電源もマザボに挿すことになっているようで(CPU本体が電力食いすぎてグラボに回す電力足りないのかな?)、見落していました。
ソフトウェア
話が遡るんですが、GW直前くらいに2号機が壊れました。 恐らくメモリ故障→ストレージのデータ破損の流れでRAIDが崩壊しました。 btrfsのRAID 5を使っているので1本の故障なら耐えられるはずでしたが、メモリが完全に故障する前に中途半端に動いて2本同時に認識できなくなったり(恐らく)復旧コマンドを間違えたりして結局復旧はかないませんでした。 トラブルを経験するためにあまり使ってる人がいなそうなbtrfsのRAID 5を使っていたので壊れたことはいいんですが、どうせならちゃんと復旧するところまでやりたかったですね。
不幸中の幸いで壊れる数時間前にフルバックアップが走っていた(昔の記事でやったやつです)のでOSをインストールし直すことにしました。 ここで実はbtrfsのRAID 5サポートが非推奨になっていることを知ります。そこで仕方ないのでzfsにしてRAIDもRAID Zにしました。そのときのログは以下に残してあります。
バックアップの仕組みもzfsに合わせたものにしました。あとbtrfsになかった機能として暗号化があるのでそれも試してみました。
暗号化付きZFSを使ってみると、結構メモリを食ったり(デフォルトの設定でメモリの半分まで使う、つまり128GBメモリを食う)、IOが遅かったりと性能面で不満が出ます。 ハードウェアの性能は向上しているにもかかわらずIO性能は目にみえて低下しました。 btrfsの頃はフルバックアップが30分未満で終わっていたものが100分以上かかるようになってます。 そもそも律速段階がデータの圧縮(pixz)だったのがファイルの読み出し(tar)に移っていますしね。 復号がマルチスレッドで早くなってくれたらうれしいんですが難しそうなのでtarの方がなんか良い感じにマルチスレッドでファイルを読み出すようになればいいんですかね。今後の課題とします。 まあ、zfsは速さよりも安心感を求める人向けでしょうか。次にストレージが破損したときは無事にRAIDが機能するといいですね。メモリもECCつきですしメモリがアキレス腱になることもないでしょう。
Threadripperはコア数は増えてないのにドル建ての段階でも日本円でもかなり値上がりしてお財布に優しくないですね。特に今回はメモリを間違って買って買い直したりした関係で2号マシンの倍以上の価格になりました。これから元がとれるくらいガンガン使っていくぞ