物理シリアルポートをXenGuestPVシステムに転送(パススルー)する方法はありますか? XenServer6.2の仮想サーバーでシリアルデバイスを構成できる必要があります。
シリアルポートフォワーディングを行う方法の解決策を探しています。
[〜#〜]編集[〜#〜]:RS-232からイーサネットへのコンバーターを購入する方が合理的でした。私はこのコメントの下でそれを述べました https://serverfault.com/a/740196/18768 。主な最も重要な理由は、仮想マシンが1つの特定のホスティングサーバーに依存していないため、XenServerの更新と仮想マシンのフォールトトレランスをより簡単に管理できることです。
XenServerをRS-232パススルーさせようとしました。そして、私は成功しませんでした。最後に最も簡単な方法は、購入することでした IP COMデバイス 。 VMはホストサーバーから独立しており、VM移行を使用できます。このデバイスの安定性に驚きました。問題はありません。
おそらく手遅れですが、あなたの質問は一般的に興味深いかもしれません。シリアルポート(またはUSBポートなど)がPCIデバイスとして識別できる場合は、XSがそのデバイスを制御し、ゲストOSで管理できるようにすることを回避できます。
lspci
を使用してデバイスを一覧表示し、シリアルポートを表すデバイスを選択します。次の例では、シリアルポートのPCI IDは02:00.0です。
01:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)
02:00.0 Serial controller: MosChip Semiconductor Technology Ltd. PCIe 9922 Multi-I/O Controller
05:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02)
/boot/extlinux.conf
を編集し、ブートのデフォルト構成を識別する「labelxe」行を探します。 「append/boot ...」で始まる行には、パラメーターがあります。 「splash」の後に、「pciback.hide =(02.00.0)」として別のパラメーターを追加します。ここで、前に見つけたのと同じPCIIDを括弧で囲む必要があります。ゲストに渡すPCIデバイスが複数ある場合は、例のように、それぞれを括弧で囲み、空白で区切ってリストします。
label xe
# XenServer
kernel mboot.c32
append /boot/xen.gz mem=1024G dom0_max_vcpus=4 dom0_mem=752M,max:752M watchdog_timeout=300 lowmem_emergency_pool=1M crashkernel=64M@32M cpuid_mask_xsave_eax=0 console=vga vga=mode-0x0311 --- /boot/vmlinuz-2.6-xen root=LABEL=root-mvyxdjwc ro xencons=hvc console=hvc0 console=tty0 quiet vga=785 splash pciback.hide=(05:00.0) (02:00.0) (00:1d.0) --- /boot/initrd-2.6-xen.img
ファイルを保存し、extlinux -i /boot
コマンドを発行して、サーバーを再起動します。
ここで、PCIデバイスを管理するVMに割り当てる必要があります。VMのUUIDを取得する方法は他にもありますが、xe vm-list
コマンドを使用してすべてを一覧表示できます。結果のリストから適切なものを選択します。この例では、必要なUUIDはa82769ff-9dc4-56bb-61f9-57d741162a14です。
uuid ( RO) : a82769ff-9dc4-56bb-61f9-57d741162a14
name-label ( RW): sersrv03.xyz.lan
power-state ( RO): running
そして最後に、PCIデバイスを直接充電するようにVMに指示するコマンドは次のとおりです。ここで、必要なVM)のUUIDを入力します。 =およびPCIデバイスのPCIID。この例では、コンマで区切られた2つのPCIデバイスがリストされています。
xe vm-param-set other-config:pci=0/0000:02:00.0,0/0000:00:1d.0 uuid=a82769ff-9dc4-56bb-61f9-57d741162a14
関連するVM)を開始し、新しいハードウェアが正しく検出されているかどうかを確認します。
このメソッドは、共有してくれたsotechのおかげで、 ここ から来ています。
メモ
ありえない。シリアルからイーサネットへのインターフェースを取得し、それを使用することをお勧めします。仮想化ポートとシリアルポートは実際には互換性がありません。