激安10G LANカードでNASを高速化

個人的に、作業用データはPCではなく常にTrueNASというOSのNAS PCで管理しています。理由は以下。
 ・NASは起動しっぱなしなので、スマホの写真データとかの自動バックアップができる。
 ・NAS内部でディスクの冗長化とステータス監視、別領域へバックアップも自動でできるので安心。
 ・スナップショットにより、誤って上書きしたファイルをPCから簡単に巻き戻すことができる。
 ・ごみ箱もある。

メインPCとNASが通信できるネットワークは全体含めこんな感じ。全てLANケーブル。

まず前提として、NAS側はRealtek RTL8125BGというチップを使った2.5GのLANカードを使っており、PC側は10G対応のバッファロLGY-PCIE-MG2を使ってます。PCとNASはバッファロのLXW-10G2/2G4というハブを経由しており、このハブは10Gポートが2つ、2.5Gポートが4つという構成で、PCとNASをそれぞれ同じ速度のポートに接続。10Gポートはカスケード元との接続もあるので2つとも埋まります。

で、この接続方法だとPCとNASのアクセス速度がMAX2.5Gで頭打ちになり、内臓ディスクより明らかに読み込みや書き込みが遅いんだろうな・・・と前々から思っていたので、今回はこれをかなりお安く改善できた話です。

ちょっと話がそれますが、10GのLANは以下の理由で結構扱い辛いです。
==============================================

①ハードが高い。
 ハブ、LANアダプタ共に、バカ高くなる。ただしSFPの接続形態はそうでもないみたい。

②発熱がやばい
 内臓LANアダプタもそうだけど、ハブも発熱がやばい。 LXW-10G2/2G4は冷やさないとまともに動いてくれない。

みんなも試行錯誤している様子。
https://kakaku.com/item/K0001210732/picture/
自分のもこんな感じに蓋を外してヒートシンクにUSBファンを当ててます。ヒートシンクと基盤の間は金属のスペーサーが入ってるので、結束バンドでしっかり固定しても大丈夫。遅い回転数でも全然冷えます。

③当たりはずれが多い
 LGY-PCIE-MG2はまれに通信できなくなる現象が発生し、デバイスマネージャから無効化→有効化しないと復帰できなくなる現象が有名っぽく、自分のも何度か経験しました。ファームウェアを他社製品のに上書きしたり色々したけど改善されず。バッファロのNW機器はWiFi以外お勧めできません。
==============================================

で、PCとNASを10Gbpsで接続するには、通常10Gのポートがもう少し多い又は全ポート10Gくらいのハブに変える必要があるのだけれど、もっと安い方法で対応できる方法を探しました。

ハブを買い替えなくてもいいよう、PCとNASのLANをもっと安定した10G×2のものに買い替えて、それぞれ片方のポートで直接繋げる方式を取ります。

LANボードはAmazonじゃなくAlieExpressでIntelのX540-AT2のボードを買いました。

これが信じられないくらい安いけど、以下のデメリットがあります。
 ・世代が古いので100m, 1G, 10Gにしか対応せず、近年で始めた2.5Gや5Gの機器相手には1Gの速度になる。
 ・古いのでIntelのドライバがWindows11に正式に対応していない。
  (Win10用ドライバを手動でインストールすることでWin11でも問題なく使えます。)
 ・AlieExpressのこの新品ではない(HP, Dell製のは新品なのかそれなりの値段)

NASはLinuxベースのTrueNASなのですが、こちらは増設するだけで自動で使える状態になってました。ちなみにこのブログを書くずっと前にFWサーバー(Sohos)のPCにもX540-AT2を使ってます。それはIntel純正(のはず)のを使っており。こちらも勝手に使えるようになってました。ヒートシンクを外すと、LANチップとは思えない見た目の、CPUみたいなピカピカなチップであることを確認済み。

本体内のエアフローが強烈なラックマウントのサーバはともかく、デスクトップPCは絶対ファンを付けないとLANチップが熱暴走して機能しなくなります。後継のチップはだいぶ改善されてるらしいです。

で、今回の2枚が届いたのでチェック。紙袋に固めの透明ケースに入っているのみで、非常に梱包はシンプル。金具やコネクタはピカピカだけどが基盤は明らかに中古です。

ボードのメーカーはInspurというところです。Huaweiとかで古くなったサーバーから抜いたやつとかなのかなぁ・・・。

 株式会社インスパージャパン

 米政府、中国最大のサーバーメーカーInspurをブラックリストへ 

まあ、そういうわけです。

AlieExpressはSSDの容量詐欺などで有名だけど、NW機器に関しては通常の相場の製品もあり、外れは無さそう。ヒートシンクを外し固まっていた熱伝導シールを外し、同じチップであることを確認。グリスを塗って元のヒートシンクに戻します。

改めてちょっとしたCPUみたいな大きさのチップ。謎のジャンパピンも2つあります。

で、試しにファンを付けずPCに取り付けてドライバを入れて使える状態にし片方をハブに接続。NASとを直接接続するためにもう片方のポートに固定IP設定をした瞬間、PC側のLANアダプタが強制的に「無効」の状態に陥ってしまう現象が発生。有効化をしても言うことを聞かず。
一旦LANボードを外そうと端を持ってみると、耐えられないくらいの熱を持ってたので外せず。こうなると、PCを止めてボードを冷やして再起動の後、デバイスマネージャーから無効→有効をしないと復帰してくれない模様。

「いや、PC内のエアフローがダメなんじゃない?うちのPCのなら大丈夫だからw」とか思っている方はぜひファンレス挑戦してください。

これはNAS側ですが、PC側も結局こんな感じでファンを無理やりつけてます。結束バンドがすごい使える。

そしてPCとNASの接続構成はこうなります。PCとNASの間で新たに10G専用の接続が追加されてます。

ネットワークドライブの設定を新たな接続用に変更し、アクセス性能の変化をチェック。

Before(2.5G接続)

After(10G接続)

書き込みはいい感じに10Gの性能を出し切れている。NASはHDD x3でのRAID5の構成に加えて256GBのSSDをキャッシュにしているため、書き込みだけはLANの性能いっぱいまで出せる模様。読み込みが半分くらいなのは、SSDキャッシュは読み込み用に機能しないためHDD(WD青5600rpm)性能の限界が影響しているのかなと。
小さなサイズの書き込み性能が前より低下しているけど、これはLANをジャンボパケットに対応させバッファも増やした影響だと思う。これに関しては、ログや微小なファイルを継続的に書き込みながら処理を進めるとか特殊なケースがなければ気にしなくていいと思う。

最終的にZBrushやSubstancePainterのプロジェクト保存時間が明らかに短くなったので満足。

ライフル制作5

大体できてきました。

しんどいですけど、微細な丸みを含んだエッジや細かな凹凸も再現したハイポリ版を一度作って、ローポリを改めて作ってベイクしたほうが結果的に絶対良いです。SubstancePainterでも曲面マップ等が作れるのでマテリアル作成が捗ります。

今回ハイポリはPlasticityで作りました。ハードサーフェイス系では絶対おすすめです。

ライフル制作4とSubstancePainterのカラーマネジメント

前々から違和感持ちつつ後調整してごまかしていたのですが、SubstancePainterで作成しているときの表示とBlenderに持ち込んだ時の表示が全然違う。今回は特に。

これ原因はSubstancePainterのプロジェクト作成時の標準カラーマネジメントが、いかにも古そうな「Legacy」という設定になっているため。このLegacyは実際かなり暗めの表示になっており、その視覚ベースでペイントしていくと、他ソフトに持っていくと想定外に明るくなってしまう。そしてメタルの値が低い部分のラフネスの効果もかなり劣ってしまう印象。

ここの設定は「OpenColorIO」→「Substance」にしましょう。

実際比較するとこんなレベルで違いがあります。

異なるソフトでちょっと照明の当たり方が違いますが、お分かりですよね。

参照サイト
【Blender 3.1】カラーマネジメントの仕組み・設定について紹介!
https://cgbox.jp/2022/05/25/blender-color-management/

ライフル制作3

ローポリ版を作成中。ハイポリ版を横にコピーし、不要な形状を削除しつつ適した出力パラメータを確認してます。

かなりありがたいのが、モデリング時のカスタム法線を維持したまま出力してくれること。
Nゴンでも△ポリゴンでも歪んだ感じは一切なく他ソフトに持ってこれます。

Plasticityメモ

Plasticityはほとんどの操作がショートカットキーと単語検索でしか呼び出せません。パフォーマンスのグラフを出すくらいGUIがスッカスカで余裕はあるので、現在のモードで有効な操作の一覧を自動で出してくれてもいいのにな。各操作のアイコンを作るのが苦痛すぎるから?

 O:平面からオフセットしたカーブを作成
 Ctrl+R:横か縦方向にカーブを挿入 TABで切り替え
 Ctrl+3 or 4:選択した面かエッジかカーブに隣接する対象を選択
 Alt+D:平面投影表示でソリッドの輪郭やエッジからカーブを作成

他のサイトも貼っておきます。

アーティスト向けCAD『Plasticity』の操作方法をメモするだけの記事!
https://3dnchu.com/archives/plasticity-howto/
Plasticity マニュアル
https://doc.plasticity.xyz/ja

Plasticity

Plasticityという新しいソフトで銃のモデリングやってます。
ブールとかベベルが無茶苦茶強力なソフトです。もっと前からこれがあれば・・・

あと、作ってるモデルは作成前にざっくりと作ったデザインからかなり逸脱して考えながら作ってる状態なのでかなりペースが遅いです。作っては気に入らなくてNGの繰り返し。ずっとこればっかやってます。現実にあるものならもっとサクサクいけると思います。

UnrealEngine5に出力 その2

UnrealEngineのマーケットプレイスで入手できるアニメーションから、いくつかリターゲットを試してみました。もし、マーケットプレイスのアニメーションをリターゲットして多用する場合、多分極力ボーンの並びはUE5のと同じように調整したほうがいいです。簡単に直せるので。骨格が違ってもリターゲット時に調整はできますが、限界もあります。AutoRig-Proを使ってますが、その機能でレフトポーズもUE5のにしてからエクスポートしたほうがいいです。新しいIKを用いたリターゲットも挑戦しておこうと思います。

まだよく分かっていませんがキャラクタに追従する髪の導入方法は把握済み。エディタ内で動かすと設定したシミュレート通りの動きをしてくれます。重そうない印象がありましたが、全然多用しても問題無さそう。思いっきり振り回すと分け目の部分からしか生やしてないのがバレちゃうので、頭皮を隠すため固めの設定にしています。やっぱり頭皮全体から生やすべきなんだろうか・・・。

もちろん自前でアニメーションも作ってます。