libvirtを介してLXCコンテナを使用してシステムを構築しており、コンテナのstdout
。
新しいドメインが作成されると、擬似TTYが作成され、/dev/pts/*
libvirt's:を使用してptsを特定のLXCコンテナにリンクできますvirsh
。virsh -c lxc:/// ttyconsole <domain name>
ptsはデータストリームなので、screen
コンテナを起動した後、できるだけ早くデーモンモードに接続し、virsh
bashスクリプトを使用して上記のコマンドを呼び出しましたscreen
。
CT_PID=$(virsh -c lxc:/// ttyconsole $domain)
screen -dmS my_task $CT_PID
しかし、コマンドストリームはほとんどの操作に比べて遅すぎ、一部のコンテンツは追加screen
される前にptsを介してストリーミングされるため、確実に失われます。
データを失うことなくlibvirtで生成されたptsデバイスの出力をバッファリングする方法は?
答え1
console type=
他のlibvirtドライバの場合は、異なる値を試すことができます。file
たとえば、lxc
ドライバにはpty
。直後は少し速くなるかもしれませんが、それでもかなり強烈です。virsh start --paused
lxc
virsh start
virsh pause