誤自宅 10GbE

LANを10Gbps化する

2017年の夏、自宅内LANに10GBase-Tを導入した。IntelのX540-T2が2万円以下、L2SWがポート単価が1万円程度にまで価格が下がっており、PC3台とL2SWの構成であれば10万円前後でLANを10Gbps化できるまでになったのだ。このX540-T2はチャイナのパチモンではないか?とネットで話題になっていたが、性能は問題ないとの人柱報告があり、仕事で使うならまだしも、趣味ならリスク許容範囲内かと私も飛びついてしまった。性能はiperf3で9.4Gbpsで全く問題ない。

LANケーブルはCategory6Aにした。当時、Category7が出始めていたが規格的にSFPケーブルしかなく、機能用接地のないシールド線なんてノイズを拾うためのアンテナだろうと判断したのだ。自宅でSFPなんてスピリチュアルなマニアしか使わないよね。クスクス。

さて、X540-T2は物理が2ポートで自宅で使うには冗長すぎると思うかもしれない。1GbEのポートはマザーボードに搭載されているので使い分けするとしても10GbEも1ポートで十分である。と考えるのが普通だろう。1ポートのタイプであれば当時でも半額の1万円程度で販売されていた。

しかし、当時の私は将来的にWANつまりInternetも10Gbps化する際は使い分けが必要になると考えていた。何を使い分けるか、それはジャンボフレームの取り扱いだ。InternetではMTUは1500未満のためジャンボフレームでは通信できず10Gbpsの回線を導入しても効率が上がらないだろうと予想できる。これにLANまで足を引っ張られたくないと考え、宅内に閉じたVLANとInternetにアクセスできるVLANとに分けて通信させたかった。ジャンボフレームを用いないと7Gbpsが限界でCPU負荷(I/O割り込み)も非常に高くなっていた。

とはいえ、最初から2ポート構成は冗長すぎたようだ。Internet回線が1GbEから10GbEになるまでは1ポート冗長、つまり冗長なら冗長化しようとEther Channel(Bonding)を導入したくらいに。頭のイカレタ私はいっそ冗長化するなら単一障害点である10GbEのL2SWも改善すべく2台構成にしてしまった。空いている穴があったら入れてみたいジャナイカ?

LANを10GbEにするとiSCSIやsmb/nfsなどのネットワークストレージへのアクセスが滅茶苦茶早くな。私のゲーム用PCはOS起動用の128GBx2台のSATA-SSDしか搭載していない。ゲームコンテンツはファイルサーバーにiSCSIで接続したストレージにある。ファイルサーバーは階層化ストレージからiSCSIのターゲットに領域を割り当てている。階層化ストレージの高速側はNVMe-SSDで、シーケンシャル性能は700MB/s(約7Gbps)以上あり、並のSATA-SSDより高速だ。低速側のHDDはハードウェアRAIDボードでRAID60を構成しているので、

ファイルサーバーとNASの間をバックアップ目的で定期的にrsyncしています。これも10GbEにすることであっという間に終わります。(時間かかってもいいのですが)

一番実感するのはVMイメージのバックアップです。スナップショットバックアップからクローンを作ってイメージバックアップするのですが、1VMは40~300GBほどあるのでバックアップ時間がバカになりません。10GbEであれば数分/VMで終わります。

WANを10Gbps化する

2019年の夏、NURO 光10Gsを導入した。それまでフレッツ光でInternet回線の速度はおよそ700Mbpsだったのだが、10Gsに変えたことで4000~7000Mbpsになった。そんなに使わけがないと思うだろう。確かに常時は使わないが、クラウドストレージとの同期やOSイメージの取得で使うbit torrentが劇的に性能向上した。先日、CentOS 8.2のisoイメージ取得をしたが、秒で完了したのはすごかった。セットして即完了だったのでエラーかと思ったくらいに。

NURO 光10Gs 敷設の初期手数料は高いが、ランニングコストは月6000円くらいと、さほど高くもない。でもNURO光(2G)なら月1000円くらいか。直販のみでリセラーメリットがないから、アフィ目当てのブログでは10Gsのメリットない2G最高!っていう調子が多いのも事実。

NURO 光10GsにはメールやWEBストレージなどのサービスはないが、元来不要であるのと、宅内外でほぼ同じ速度で利用できるのは快適この上ない。VPN接続して出張先のホテルから自宅サーバーにアクセスしたり、NASに入れた動画も視聴もできる。

でもまだsteamなどからのダウンロードは頑張っても1Gbps未満なのは不満だ。CDN性能なのかキャッシュがないのか判らないが、自宅回線がボトルネックではないことだけは確かだ。

NUROの問題点は1つある。ルーターがHuawei製一択なのだ。技術があって安いっていうとここしかないのだろう。市販ルーターでは当然代替できない。ちなみに一部の機能以外は非常に安定している。

ShadowPlayでDISCORDの相手の音声が録音されない(GSX-1000)

GSX 1000

ShadowPlayの仕様とGSX-1000のデバイス特徴

GeForce Experience を使う理由としたら、お手軽な動画キャプチャー&ライブ配信でしょう。GeForceのNVENCを利用してCPUに負荷をかけずにH.264のCODECを用いてリアルタイムエンコードが可能です。

先日、TEAM-BOSS時代からの友人とInsurgency Sandstormを久々にCoopで遊んだところを録画したのですが、DISCORD上の友人の音声が録音されていませんでした。以前はそんなことなかったので、なにか変わったかな?などと思ったのですが、ShadowPlayの仕様と私がオーディオアンプに利用しているゼンハイザー GSX-1000の仕様とを見比べると解決策が見えてきたので自分向けメモです。

GeForce ShadowPlayの録画時の音声はOSで設定されている スピーカーの”規定のデバイス”(デフォルトデバイス)と、マイクの”規定の通信デバイス”です。

ゼンハイザー GSX-1000はヘッドフォン(スピーカー)とマイクの2つのデバイスから構成されており、スピーカーは”GSX 1000 Main Audio”、マイクは”Headset Earphone”として検出されます。

この仕様ですと、ゲームの音と私がマイクで発声している音は拾ってくれます。問題ないですね。

DISCORDで相手の声が録音されない理由

問題はDISCORDで相手の声が録画ファイルに録音されない事象です。DISCORDの音声・ビデオ設定では入力/出力ともにDefaultのデバイスを用いるとしています。このDefaultが問題を引き起こしていました。

ボイスチャットの相手の音声のDefaultとは、実はスピーカーではなく、通信デバイス(ボイスチャット等のヘッドセット等を指しています)からの出力なのです。GSX-1000は通信デバイスとしてのヘッドフォン機能も有していたわけです。ShadowPlayはスピーカーとマイクからしか録音しないので、通信デバイスの音声はミキシング対象外でミュート状態になってしまいます。

ところで、Windowsでは”通信デバイス”と訳されていますが、コミュニケーションデバイスの方が判りやすかったと思うのは私だけですかね。

対処方法

DISCORDで音声設定にある出力デバイスをDefault(つまり通信デバイス)ではなく、スピーカーにしてやればいいのです。GSX1000はヘッドセットとスピーカーを切り替えられますが、それとは別にスピーカーをつけている場合もあるので、ここでは”スピーカー(GSX 1000 Main Audio)を選択するようにしてください。

DISCORD for GSX-1000

謝辞

暑い中、確認試験のための対向環境を準備してくれたドギーに感謝。ボイスチャットで語ったのは15年ぶりくらいか。ドギーはUltima Online時代からの友人です。

ARK dedicated server をたてる

ARK-HEADER

チャイニーズコロナが流行っているので大仏建立のようにサーバを建てる

ボクはゾンビが苦手だ。ゲーム内の爬虫類と虫も嫌いだ。なのにコロナの影響なのか暇こいてARKがやりたいというフレンドがいるので、大仏建立のようにARKのPvEサーバーを建ててみた。設定はARK Server Managerという便利そうなツールがあるので、Dedicated Serverも簡単そうなのだ。

2週間ほどテスト運用してみて、だいたい安定稼働してきた。本家サーバーのように面倒でもPvPサーバーのように殺伐ともしない、ぬるいテイマーライフを満喫してほしい。現マップはIdLandでオーソドックスである。パスワードでロックしているので、本サイトのサーバー情報を見てDISCORDに訪れてほしい。

なんとなくパスワードがピン止めされているはずだw

パスワードはTEAM-BOSS.COM伝統のものなので、由来など面白がって欲しい。

次に建てるのは金剛力士像のようなInsurgency Sandstormだろう

こちらはちょっと難しそうだ。ボクが好きなCoopモードのCheckpoint mapが少ない。どのようにローテーションするべきか悩ましいのだ。

前作のInsurgency(素)であればWORKSHOPのマップがゴロゴロとあったのだが、SandstormはまだWORKSHOPがない。

公式サーバーのCoopはPvEなのに心無いチャイニーズやコリアンが日本人だとみるや、ボクらの背中を撃つフレンドリーファイヤーを繰り返し襲ってくるので辟易しているのだ。

ローカルサーバーのパスワードロックは必須だ。ボクらはCoopがやりたいんだ。

lvmでpv作れない

Mounted filesystem? と怒られた

lvmでpvを作ろうとしたところ、Mounted filesystem?と排他利用されているぞと怒られた。犯人はmpathだった。

犯人はオマエだ!といいたいなら

#fuser -m -v /dev/デバイス名 で判る。

lsblk でも判るだろう。

排他利用から手をひかせるためにはlsblkで表示されたデバイス名を控えておき

#dmsetup remove eui.xxxx (今回はこのようなデバイス名)で削除できた。

改めてpvcreate しましょう。

Windows10に Node.jsを導入する

インストールは簡単

Node.js サイトにアクセスすると、最新のmsi インストーラが掲載されているので、それをダウンロードしてインストールするだけです。私はLTS版をインストールしました。

セットアップ PROXY

会社でnode.jsを使う場合はproxy サーバーの設定が必要になる。コマンドプロンプトよりnpmコマンドで環境変数に定義する。

> npm config set proxy http://<ユーザー名>:<パスワード>@<PROXYサーバーアドレス>:<ポート番号>
> npm config set https-proxy http://<ユーザー名>:<パスワード>@<PROXYサーバーアドレス>:<ポート番号>

セットアップ npmを最新にする

最新にしておかないと、オメーのnpm古すぎ!とか怒られることあるので、パッケージ管理ツールのnpmを最新にします。

> npm install -g npm
:
> npm rebuild
> npm --version
6.11.3