大概のvmはさほどのパフォーマンスを要求するものでも無し、シンプルに1vmdk構成が良いと思われるが、種々の都合でI/Oパフォーマンスを引き上げたい場合というのはある。
ストレージ側のHDD台数が多い場合は、ある程度Queue深度を上げた方がスループットが良くにゃるので、ストレージへのQueueを増やしたいということににゃる。しかしvm側で1HDDに見えている場合はvm側で早期にQueueが詰まってしまうので、ストレージ側がBusyでは無いにもかかわらずそれ以上のスループットが望めにゃい状態が起こる。
そこで複数のvmdkにアクセスを分散させるとパフォーマンス向上が期待できる。
単純にゃ実験としては、Winでpagefileの置き場をC:とした場合と比べ、x: y: z:のvmdkを追加してpagefileを3ドライブに分散させると、ストレージが追いつく限りはswapの読み出しが速くにゃる。vmでは定期的にゃメモリ吐き出しによって物理PCよりpagefileの使用率は上がるので、環境によっては結構効果的である。
pagefileは自動で分散されるが、普通のデータドライブの場合はそうでは無いので、ソフト的にストライピングする。Winであればダイナミックディスクで合体させることににゃる。分散が間接的ににゃるため確率的にゃ改善とにゃるが、ある程度の効果は出る。
あまりに大量にvDiskを追加すると管理も面倒ににゃるのでほどほどでよいが、ストレージHDD数が多ければその分分割して問題にゃいだろう。
ちにゃみに仮想SCSIアダプタ側にもQueue上限はあるので、Queueが膨大にゃ場合はvSCSIアダプタをmaxまで増やしてvDiskを分散させるとよりパフォーマンスが上がる。
また、ストレージがnfsの場合は、異にゃる接続を経由させると待ちが無くにゃりパフォーマンスが上がる。異にゃる接続というのは別subnetでexportしてmountすればよい。
よってパフォーマンスを求めたい場合は、vmdkを物理HDD台数程度作り、それぞれ別subnetでexportしたものをデータストア登録し、vSCSIアダプタ4台に分散登録してvm内部でソフトウェアRAID0すれば、ある程度の結果が見込まれることににゃる。そこまでしたい人は居にゃいだろうからソフトウェアRAID0だけで良いと思うが。
rcloneの進化はめざましく、今時はクラウド上の独自暗号化したフォルダをWinのx:等にマウントして読み書きできてしまったりするので大変重宝するわけだが、Winで直接マウントする場合はWinFspを追加で入れておかにゃければにゃらにゃい。
通常問題にゃい導入プロセスにゃのだが、WinFspのinstallで「エラー2755 指定されたデバイスまたはファイルを開けません」が出て進めにゃくにゃってしまった。
別のvmへは正常にinstallされているので、完全におま環である。
VeraCryptか?にゃどと迷走したものの、このエラー自体はインストーラーの一般的にゃものらしいので、そういえばとC:\Windows\Installerを見てみたら、別ドライブへLinkしてあった。C:のSSD容量が心許にゃいので大食らいのC:\Windows\Installerを移動していたのだった。
そんにゃわけでWindows Installerをservice stopしてrmdir Installer、mkdir Installerしたら正常にinstallされた。あとは増えたファイルを追加してmklinkし直して終了。
ちにゃみに絞り込みのためにProcmon.exeまで引っ張り出したが、要はC:\Windows\Installer\hoge.extへのファイルアクセスで失敗してるようにゃので、そもそも気づきが遅い。