はじめに:
Ubuntu 16.04 / Xen4.6でXenDOMUを実行する際にいくつかの安定性の問題が発生した後、Ubuntu 16.10 / Xen 4.7にアップグレードすることにしました。
残念ながら、オプションを使用してDOMUのいずれかを起動しようとしました。 -c コンソールの内容を確認するために、次のエラーメッセージが表示され、キックアウトされてコンソールがありません。
xenconsole: Could not read tty from store: Success
私は解決策を見つけるために、インターネットで何時間も検索しました。今朝、Xenのバージョンがはるかに古いという記事を見つけましたが、問題は同じでした。
原因:
デーモンxenconsoled 実行されていませんでした。このデーモンを事前にロードすることでこの問題は解決したようです。これにより、サーバーのこのような長いダウンタイムに対してクライアントが叫ぶことに本当に問題が発生しました。なんらかの理由で、DOMUもハングしました。
解決策:
次のコマンドでデーモンを起動します:
/usr/lib/xen-4.7/bin/xenconsoled --pid-file=/var/run/xenconsoled.pid
注:
次の2つの方法のいずれかを使用して、このデーモンが自動的に起動することを確認できます。
次のように、@restartcronジョブを使用してデーモンを起動します。crontab -e
コンテンツ:
@reboot /bin/sleep 15; /usr/lib/xen-4.7/bin/xenconsoled
または
Systemdのstartメソッドを使用してデーモンを起動します。touch /etc/systemd/system/xenconsoled.service
vim /etc/systemd/system/xenconsoled.service
xenconsoled.serviceのコンテンツ[Unit]
Description=Xen Console Daemon service
[Service]
Type=forking
ExecStart=/usr/lib/xen-4.7/bin/xenconsoled --pid-file=/var/run/xenconsoled.pid
ExecStop=/usr/bin/killall xenconsoled
Restart=on-failure
RestartSec=3
[Install]
WantedBy=default.target
これらのコマンドを実行して、サービスを起動開始に登録し、手動で開始します。
systemctl enable xenconsoled
systemctl daemon-reload
service xenconsoled start