netem を使用してネットワーク遅延をシミュレートしました。次に、接続されていないネットワークケーブルまたはサーバーがダウンしたときのシミュレーションを行います。アプリケーションのテストを簡単にするためにこれが必要ですが、Web上で役立つものを見つけることができませんでした。私のサーバーは仮想CentOSインスタンスであり、Virtualbox上にあります。これをphpのWebページから実行したいと考えています。
インターフェイスをダウンさせるだけです。たとえば、eth0の場合:
ip link set eth0 down
インターフェースを元に戻すには:
ip link set eth0 up
SSH経由で接続しているマシンで上位投票の回答を使用する場合、ネットワークを停止し、元に戻す方法はありません。以下は、SSH接続中にダウン状態にして、アップ状態に戻す方法です。
インターフェースens32
の使用例:
実行すると:
ip link set ens32 down
また、SSHを介して接続している場合は、ネットワークを無効にしているため、サーバーにSSHで接続できないため、再度接続することはできません。
次のスクリプトを使用して、20秒のダウンタイムをシミュレートします。
#!/bin/sh
ip link set ens32 down
sleep 20
ip link set ens32 up
それをdowntime.shとして保存し、ファイルに実行権限があることを確認してから実行します。
Sudo ./downtime.sh
Virtualboxコンソールウィンドウで、[Machine]メニューがプルダウンされているはずです。その下にはいくつかのアクションがあります。その1つは電源オフです。すぐに電源を切るには、これを選択する必要があります。これは、物理サーバーの電源コードを引っ張ることに最も近いものです。