2025年1月5日日曜日

VirtualBoxゲストのNvmeドライバ利用をお勧めしない理由

 久しぶりの投稿ですが最近VirtualBoxのバージョンを6→7に上げた際にちょっと気になる事が有ったので書いて起きます、近年はHDDからSSD化が進み中でもNvmeタイプの普及が進みアクセス速度が格段に向上しています

VirtualBoxにゲストOS環境を作る際にはチップセットやディスクシステムのエミュレーションをどうするかでパフォーマンスが大幅に変わるのはご存じの通りですがWindowsXPや7の世代はHDDメディアが主流でSATAでの運用が一般的でした、VirtualBoxのディスクシステムにはNvmeも選べるようになっているのですがWindows10/11の導入時には標準でドライバが提供されていないので何故だろうと思い調べてみました

海外サイトにはWin10/11へのNvme環境構築の記述がありゲスト環境に以下の記述を付加すれば使用可能になるようでしたので試してみました

VBoxManage setextradata <VM name> "VBoxInternal/Devices/nvme/0/Config/MsiXSupported" 0 VBoxManage setextradata <VM name> "VBoxInternal/Devices/nvme/0/Config/CtrlMemBufSize" 0

これらの環境は個別のゲスト環境ファイルに付加するので基幹部分への影響は無くテストも容易です、付加後はインストール時にディスクメディアが選択可能になり普通に導入ができたのですがインストールを進めて操作しているとたまに反応が鈍い時があり何か問題がありそうなので調べてみると


左がNvmeで右がSATAでの接続ですがシーケンシャル系のパフォーマンスは2-3割程度の改善がみられてますがランダム系のマルチスレッド性能がHDD並みに低下しており反応がたまに悪く感じたのはこれが原因のようです、VirtualBoxが標準で提供していない仕組みには何等かの理由があるという訳で通常運用には向かないと思ったほうがいいですね

またゲスト環境を移設しなければならないケースが生じたときに標準で提供されていない環境だと予測しない事態が生じる可能性もあるのでそれを含めて標準的な環境で構築するようにしましょう


2024年1月9日火曜日

VirtualBox6.1.48でWindows7Guestの障害

 Ver6の最新フィックス版で48がリリースされていたのでバージョンアップ評価をしたところWindows7のGuestに使用するExtentionPackのインストール中にエラーが幾つか確認され再起動後に正常にOSが起動しない環境に陥る事が分かりました

32版までは確認が出来ているので戻してみると問題は起きないのでどうやらExtentionPackの不具合のようである、途中に幾つかのバージョンがリリースされてますがどこまで問題が出ないかは暇なときにでも確認してみますがXP/7/10/2003/2008/2016/2019等複数の環境を確認する必要があるので解決されるまではバージョンを上げたくないですね

2023年5月14日日曜日

止まらないディスクアクセス

 PC使用中のディスクアクセスは当たり前なので気になりませんが作業を放置して暫くすると頻繁にディスクアクセスが発生すると気持ちよくありませんよね

久々に設備更新をして主力機の世代交代をさせたのですが暫く使っていてこの症状が出てることに気づきました、何が動いているのか確認しようと操作すると即停止してしまい裏で処理してる内容の確認ができませんが大抵はインデックス作成やメンテナンスが自動実行されている事が原因なのでそれらを幾つか停止させてやります


1)WindowsSearchのインデックス処理

                システムサービスのWindowsSearchを無効化します

2)SysMainやSuperFetchの自動メンテナンス

                システムサービスのSysMainを無効化します

3)各ディスク単位の自動メンテナンス

                ディスクのプロパティから自動メンテナンスの有無を確認

4)ツールによる自動メンテナンス停止設定

                WindowsUpdate抑制無償ツール等にある自動メンテナン停止をする


2023年3月10日金曜日

thunderbirdの更新を無効化する処置

 近年のバージョンになってから更新の完全な無効化が出来ない仕様に変更され定期的な更新確認の画面が立ち上がるようになっています、何かの拍子にクリックしてしまうと元に戻らなくなってしまうのでレジストリの追加をすれば管理者モードで完全停止が可能です

コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\policies\Mozilla\Thunderbirdを開けます、policies以下に無ければキーフォルダを作成

DWORD32 で DisableAppUpdate を作成し値に1をセットした後に起動すると更新無効化になっているのが確認出来るはずです


2022年12月6日火曜日

VPNのMTU調整は必須

 普段ルーター経由でローカルネットを使っててもホームユース環境では通信状況の最適化が行われているか気にしている人はあまりいません、ところが企業の事業所が運用するネット環境では多くの機器が繋がって多くのトラフィックが発生するのでちょっとした環境の不具合が影響を及ぼします

今時の企業間通信特に事業所間はセキュリティや運用面からVPN通信を導入してる所が多くてよくSMB共有等が異常に遅いといった声が出る事があります、多くはVPNに適した通信設定がされていないために負荷が増しているのですがWindowsや一般のルーター設備はそうしたものを通知する事が無いのでそれが普通だと思いがちです

VPN環境下ではMTUが通常より少なくなるため標準的な設定ではフレーム分割が発生してトラフィックが増大したり欠落して結果として通信速度が遅くなったように感じてしまいます、これらMTU値はコマンドレベルで簡単に確認と変更ができますのでVPN環境にあるPCなら一度見直してみる価値はあると思います

変更前と変更後でネットの速度試験をすると概ね3割程度の改善が見込めます


-------------------------------------------------------------------------
標準的なMTU値1500で通信が通るかのテスト
DFが出るのは分割が発生してる事を示しています

C:\Windows\system32>ping /f /l 1500 www.yahoo.co.jp
edge12.g.yimg.jp [183.79.219.252]に ping を送信しています 1500 バイトのデータ:
パケットの断片化が必要ですが、DF が設定されています。

183.79.219.252 の ping 統計:
パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)、
--------------------------------------------------------------------------
VPN環境のMTU値1426で通信が通るかのテスト
DFも損失も有りません

C:\Windows\system32>ping /f /l 1426 www.yahoo.co.jp
edge12.g.yimg.jp [183.79.219.252]に ping を送信しています 1426 バイトのデータ:
183.79.219.252 からの応答: バイト数 =1426 時間 =30ms TTL=52

183.79.219.252 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)
---------------------------------------------------------------------------
VPN環境を超えるMTU値1427で通信が通るかのテスト
DFが出て損失も発生しています

C:\Windows\system32>ping /f /l 1427 www.yahoo.co.jp
edge12.g.yimg.jp [182.22.25.252]に ping を送信しています 1427 バイトのデータ:
172.25.1.11 からの応答: パケットの断片化が必要ですが、DF が設定されています。
パケットの断片化が必要ですが、DF が設定されています。

182.22.25.252 の ping 統計:
パケット数: 送信 = 4、受信 = 1、損失 = 3 (75% の損失)
---------------------------------------------------------------------------
通信インターフェースのMTU値を確認してみる
使用しているIdxとMTUが分かります

C:\Windows\system32>netsh interface ipv4 show interface
Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
  1          75  4294967295  connected     Loopback Pseudo-Interface 1
 15          35        1500  connected     イーサネット

---------------------------------------------------------------------------
通信インターフェースのMTU値を変更する
IdxとMTU1454を指定する

C:\Windows\system32>netsh interface ipv4 set interface 15 mtu=1454
C:\Windows\system32>netsh interface ipv4 show interface

Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
  1          75  4294967295  connected     Loopback Pseudo-Interface 1
 15          35        1454  connected     イーサネット

---------------------------------------------------------------------------