追加読書

追加読書

昨日はHaproxy設定を変更する必要がありましたが、systemctlを使用して再起動できないことがわかりました。手動で開始する必要があります。

今日Dockerを再起動する必要がありましたが、同じことが起こりました。

journalctl -xesystemctl restart haproxy:

-- Unit haproxy.service has begun starting up.
Aug 06 11:19:30 ns3038251 systemd[1]: haproxy.service: Control process exited, code=dumped status=7
Aug 06 11:19:30 ns3038251 systemd[1]: haproxy.service: Failed with result 'core-dump'.
Aug 06 11:19:30 ns3038251 systemd[1]: Failed to start HAProxy Load Balancer.
-- Subject: Unit haproxy.service has failed

ドッカーの場合:

-- The start-up result is RESULT.
Aug 06 11:19:08 ns3038251 systemd[1]: containerd.service: Main process exited, code=dumped, status=7/BUS
Aug 06 11:19:08 ns3038251 systemd[1]: containerd.service: Failed with result 'core-dump'.

コンソールで実行すると、両方が機能するhaproxyため、設定ファイルの問題ではないことがわかります。containerddockerd

問題は、インターネットが多くの情報を提供せずにデバッグを試みることができるものがわからないことです。これはリモートサーバーにあり、起動時にまったく起動しない場合は再起動したくありません。 。ところで最近はアップデートなど何もしませんでした。

私に与えることができるどんなアドバイスにも感謝します。


編集する:質問を投稿してから忙しく、数分前にサーバーに再度ログインしました。それ以来何もしなかったのですが、同じtmux窓に戻ってきましたね。

今はsystemctl restart haproxy問題ありませんsystemctl restart docker。ここで何が起こるのか理解できません...

答え1

実行中のプロセスをインポートし、ps aux | grep 'haproxy'プロセスをインポートしてからをPID終了しますkill -9 PID。それからやり直してください。

答え2

systemctlが起動できない場合は、次のいずれかである可能性が高くなります。

  1. Systemctlは、古いPIDファイルまたは誤って作成された起動スクリプトのために実行されていると思います。 Systemctlは、1つのコピーのみを実行するように構成されたエントリの2つのコピーを実行しません。
  2. Systemctlの新しいセキュリティ機能により、有効な起動スクリプトが失敗する可能性があります。最近(昨年)、多くのベンダーがsystemctlにシンボリックリンク保護を追加しており、一部のファイルにシンボリックリンクを作成した場合、systemctlはシンボリックリンクをたどりません。奇妙に聞こえるかもしれませんが、これはシステムが「シンボリックリンクのハイジャック」を防ぎます。
  3. su または sudo を使用してサービスを開始できます。この方法は以前は機能していましたが、セキュリティ上の問題も発生しているため、多くのLinuxベンダはsystemctlを変更し、ユーザー転送プログラムとして「runas」を好むようにしました。 Runasはsuやsudoが許容する攻撃に対して脆弱ではありません。

もちろん全く違うかもしれません。ただし、サービスファイル、pidファイル、またはサービスファイルによって開始されたexecスクリプトにこれらのエントリがある場合は、ソフトウェアを更新して以前に機能していたサービスに問題があることを発見した可能性があります。これは、以前に機能していたサービスが理想的ではない方法で開始されるように構成され、構成を更新する必要があるためです。

答え3

何をデバッグしようとしているのかわかりません。

ログによると、どこかにコアダンプがあることがわかります。他の人が他の場所でしたようにそれらを見つけて彼らがあなたに話すのを見なさい。

必要に応じてプログラム担当者に連絡し、コアダンプの内容を理解できない場合は、サポート担当者に連絡してください。少なくともデバッガの出力があります(コアダンプに対して実行)。systemctl show unitnamebt手に。サービス管理の設定方法とコンピュータが何をしているのかを知らないと、テレパシーは利用できず、サービスデバイス設定ファイルに関連する内容やプログラムがどこに表示されるのかわかりません。

追加読書

関連情報