インフラのトラブル解決ガイド
問題が起きている人向けに、原因候補を並べるだけでなく、確認する順番と結果ごとの次の対応をまとめています。
systemdが起動しない・failedになる
statusとjournalから、Unit構文・実行パス・権限の原因を順番に切り分けます。
cronエラーcrontab: bad minuteになる
登録前の書式エラーを、5フィールド・6フィールド・不可視文字から確認します。
croncron・crontabが実行されない
登録先、実行ユーザー、PATH、ログを確認して動かない原因を切り分けます。
logrotatelogrotateでログが切り替わらない
デバッグ実行と状態ファイルから、条件・権限・再オープンを確認します。
Linux権限Permission deniedになる
実行ユーザー、親ディレクトリ、ACL、SELinux、noexecを順番に確認します。
systemdsystemctl enableしたのに自動起動しない
systemctl enable済みなのに、OS再起動後にサービスが立ち上がらない場合の切り分け手順です。
croncronは実行されるがスクリプトが失敗する
cron自体は動いているのに、登録したスクリプトだけが失敗する場合の切り分け手順です。
logrotatelogrotate後にアプリがログを書かなくなる
ログローテーション自体は成功したのに、アプリが新しいログファイルへ書かなくなった場合の切り分け手順です。
SSHSSH接続できない
Connection refused・timed out・Permission denied (publickey)から、通信・sshd・認証のどこで失敗しているかを切り分けます。
SSHPermission denied (publickey)になる
ユーザー・鍵選択・authorized_keys・権限・sshd設定・ログを順に確認します。
Linux DNSDNS名前解決できない
getent・nsswitch.conf・resolv.conf・resolvectl・digを使って、名前解決が失敗している場所を順番に切り分けます。
Linux容量No space left on deviceになる
df・inode・du・削除済みオープンファイルを順番に確認し、容量不足の原因を切り分けます。
systemdreset-failedと起動制限の再試行
failed状態とStart request repeated too quicklyを、根本原因の確認から安全にリセットします。
systemdstatus=203/EXECになる
ExecStartの実体・権限・shebang・noexecを確認し、実行できない原因を切り分けます。
systemdstartでUnit not foundになる
Unit名・探索パス・system/user・読込み状態を確認し、起動前のエラーを解決します。
systemdsystemctl enableでFailed to enableになる
Unit名・static・masked・[Install]・権限を確認し、enable自体が失敗する原因を切り分けます。
Linux DNSdigでresolv.confのparseに失敗する
構文・不可視文字・symlink・DNS設定の管理元を確認します。
Docker障害Dockerコンテナ起動失敗
Docker daemonへの接続障害と、コンテナ内アプリの終了を分け、ログ・終了コード・設定を順番に調べます。
Kubernetes障害CrashLoopBackOffの原因
CrashLoopBackOffという結果ではなく、コンテナプロセスが終了した原因と再起動の仕組みを調べます。
Kubernetes障害ImagePullBackOffの原因
アプリ起動後のクラッシュとは区別し、レジストリからのイメージ取得失敗を調べます。
Docker障害Dockerのport is already allocated
競合しているホストポート・IP・プロセスを特定し、既存サービスを停止せず変更案を判断します。
Docker障害Docker daemonへ接続できない・Permission denied
接続先の設定、Docker Engine・rootlessモード、UNIXソケット権限を変更せずに確認します。
Kubernetes障害Kubernetes PodがPendingのまま
PodのConditionsとEventsから、リソース・Node制約・ストレージ・イメージ取得のどれが原因か絞ります。
作業ガイドとの違い
作業ガイドは設定を作る・変更する前に仕組みや設定値を確認するページです。トラブル解決ガイドは、すでに起きている症状をコマンドで順番に切り分けるページです。