今日突然、VM インスタンスへの SSH 接続が成功せず、非常に長い時間がかかるようになりました。
新しいインスタンスを作成してすべての作業を繰り返すのは嫌です。また、問題がディスク容量に関連しているかどうかはわかりません。
誰か助けてくれませんか。
答え1
まず、ログを収集する:
- に移動
Compute Engine
->VM instances
-> NAME_OF_YOUR_VM をクリック ->VM instance details
検索セクションログクリックしてSerial port 1 (console)
- VM インスタンスを再度再起動します。
- 完全なブート ログをチェックして、エラーや警告がないか確認します。
ディスク容量に関するエラーや警告が見つかった場合ドキュメントに従ってサイズを変更してみてくださいゾーン永続ディスクのサイズ変更記事によると、アクセスできないインスタンスまたは完全なブートディスクの回復:
インスタンスのディスク容量が完全に不足している場合、またはインスタンスが Linux ゲスト環境を実行していない場合は、ルート ファイルシステムのバックアップとなる永続ディスクのサイズを増やした後でも、ルート ファイルシステムのサイズを自動的に変更することはできません。インスタンスに接続できない場合、またはブート ディスクがいっぱいでサイズを変更できない場合は、新しいインスタンスを作成し、スナップショットからブート ディスクを再作成してサイズを変更する必要があります。
そうでなければシリアルコンソール経由でVMインスタンスのトラブルシューティングを行う:
シリアルコンソール接続を有効にするコマンド
gcloud
:gcloud compute instances add-metadata NAME_OF_YOUR_VM_INSTANCE \ --metadata serial-port-enable=TRUE
または、Compute Engine
-> VM instances
-> クリックNAME_OF_YOUR_VM_INSTANCE
-> クリックEDIT
-> セクションに移動Remote access
チェックEnable connecting to serial ports
ログインするための一時的なユーザーとパスワードを作成します。VMをシャットダウンして、起動スクリプトセクションに追加することで
Custom metadata
キーstartup-script
と値:#!/bin/bash useradd --groups google_sudoers tempuser echo "tempuser:password" | chpasswd
その後、VM を起動します。
シリアルポート経由でVMに接続するコマンド
gcloud
:gcloud compute connect-to-serial-port NAME_OF_YOUR_VM_INSTANCE
または
Compute Engine
->VM instances
-> をクリックしてNAME_OF_YOUR_VM_INSTANCE
-> をクリックしConnect to serial console
何が悪かったのか確認してください。
シリアルポート経由のアクセスを無効にするコマンド
gcloud
:gcloud compute instances add-metadata NAME_OF_YOUR_VM_INSTANCE \ --metadata serial-port-enable=FALSE
または、Compute Engine
-> VM instances
-> クリックNAME_OF_YOUR_VM_INSTANCE
-> クリックEDIT
-> セクションに移動Remote access
チェックを外しますEnable connecting to serial ports
。ドキュメントに従ってシリアルコンソールとのやり取り:
注意: インタラクティブ シリアル コンソールは、IP ホワイトリストなどの IP ベースのアクセス制限をサポートしていません。インスタンスでインタラクティブ シリアル コンソールを有効にすると、クライアントは任意の IP アドレスからそのインスタンスへの接続を試みることができます。正しい SSH キー、ユーザー名、プロジェクト ID、ゾーン、インスタンス名を知っていれば、誰でもそのインスタンスに接続できます。ファイアウォール ルールを使用して、ネットワークと特定のポートへのアクセスを制御します。
シリアルコンソール経由で接続できなかった場合ドキュメントに従ってみてくださいSSH のトラブルシューティングセクションVMインスタンスをシャットダウンせずに検査するそして別のVMでVMのディスクを検査する同じ方法で、データを別の稼働中の VM インスタンスに転送できます。
答え2
私の場合は、VMインスタンスにアクセスしてリセットすることでうまくいきました。何も失われず、WordPressサイトはリセット後も適切に構成されており、VMインスタンスに再度ログインできました。