CentOS 7 ゲストを実行しています。 ACPIデーモンが起動しました。
ハイパーバイザーを終了すると、ゲストOSも終了します。ゲストのシステムログを見ると、電源ボタンが押されたという通知が届きましたが、すべてのサービスが中断されたわけではありません。ゲストOSが停止されたばかりです。
ゲストOSのすべてのサービスが停止するまでハイパーバイザーが待機する方法はありますか?
ベストアンサー1
通常、これが発生するのは、仮想マシン管理者がサービスを正しく構成または開始していないためです。
RHEL / CentOS 6では、起動スクリプトがサービスが開始されたことを示すサービス固有のフラグファイルを生成しない限り、シャットダウンプロセスはサーバーが停止しているか開始されていないと想定するため、サービスのシャットダウンをスキップします。 。ただし、これにより、元の起動時に開始されたサービスを管理者が望む方法で停止して再開できます。
systemctl
RHEL / CentOS 7でコマンドまたは互換性ラッパーを使用してサービスを開始すると、service
サービスプロセスは独自のプロセスに配置されます。対照群追跡してsystemd
。/etc/init.d/name-of-service start
コマンドラインから実行すると、これは発生しません。サービスが起動時に初めて起動されても手動で停止して再起動すると、サービス固有の制御グループにアクティブなプロセスがなくなったときに消えます。
システムがシャットダウンしたら、すべてのsystemd
サービス固有の制御グループを確認し、その制御グループに対してジョブを実行し、その制御グループ内のすべてのExecStop
プロセスが終了するかタイムアウトに達するのを待ちます。 「デフォルト」制御グループに残っているすべてのプロセスは、特定のサービスに関連付けられておらず、シャットダウンのみ可能で停止できないと見なされます/etc/init.d/name-of-service start
。
したがって、新しい方法を使用するすべてのシステムでは、systemd
正しいコマンドを使用してサービスを開始することが重要です(=systemctl start <name>
または互換性ラッパーを使用)。service <name> start