web-dev-qa-db-ja.com

仮想サーバーでのCOMポートの使用

Virtualserverのゲストインスタンスとして複製したいサーバーがいくつかあります。それらで実行されるアプリケーションの1つは、COMポートを使用して、2つのサーバー間で、特にnull-modem/laplink/etcケーブルを介して通信します。

ゲストインスタンスのCOMポートをホストサーバーのCOMポート(1と2)にバインドしてから、ヌルモデムケーブルでポートを接続することを考えました。サーバーに物理的にアクセスせずに、VirtualServerのコントロールパネルからこの接続を完全に確立する方法はありますか(そこでは寒くて騒がしいです:))?

1
BIBD

COMポートリダイレクタ ソフトウェアを使用して、両方のサーバーに仮想COMポートを作成し、TCPポートで接続します。リンクされたウィキペディアページには、両方の商用リンクもあります。オープンソースソリューション。

2
Andrea Bertani

VMWareで動作するソリューションがあります。 2つのVM間のシリアル通信に名前付きパイプを使用します。 (モデム信号は伝送されないため、ハードウェアハンドシェイクは失敗することに注意してください)。

VMWareでは、次のようにします。

「クライアント側」に次を追加します。

serial0.present = "TRUE"
serial0.fileType = "pipe"
serial0.pipe.endPoint = "client"
serial0.yieldOnMsrRead = "TRUE"
serial0.startConnected = "TRUE"
serial0.fileName = "/Virtual Machines/VMware/Serial/devbox_com1"

そしてこれはサーバー側で:

serial0.present = "TRUE"
serial0.fileType = "pipe"
serial0.yieldOnMsrRead = "TRUE"
serial0.startConnected = "TRUE"
serial0.fileName = "/Virtual Machines/VMware/Serial/devbox_com1"

もちろん、このソリューションはサーバー2005にまったく同じように適用されるわけではありませんが、機能するはずです(ただし、テストはしていません)。

Virtual Server 2005の下で、両方のVMに対して次の手順に従います。

  1. [仮想マシン]で、[構成]をポイントし、変更する仮想マシンをクリックします。
  2. [COMポート]リンクをクリックします。
  3. 構成するシリアルポートの下にある[物理コンピューターのシリアルポート]をクリックし、[モデムを待機してポートを開く]チェックボックスをオフにします。 [名前付きパイプ]をクリックし、[名前付きパイプ]ボックスに名前付きパイプに割り当てる\。\ pipe\nameと入力します。たとえば、\。\ pipe\com2と入力し、[OK]をクリックします。

Virtual Server 2005で2つの名前付きパイプをセットアップしようとしたことがないので、保証はしません。

1

Moxa( http://www.moxa.com/product/NPort_6450.htm )のようなリモートターミナルサーバーを使用するのが一般的なアプローチです。

シリアルデバイスはすべてMoxaターミナルサーバーに接続し、Windows仮想COMポートドライバーがVMWareゲストOSにインストールされます。仮想COMポートドライバーは、ターミナルサーバーのIPアドレスで構成されます。

このアプローチの利点は、仮想サーバーが完全にハードウェアに依存せず、イメージを任意の物理サーバーに移動できることです。ターミナルサーバーへのIP接続がある限り、何も壊れません。

0
Simon Hodgson