オペレーティングシステム(OS)が起動できなくなった場合、または重大なシステムエラーが発生した場合は、レスキューモードを使用できます。 システムデータを回復します。これらの問題は、ファイルシステムの破損、ブートファイルの破損、または構成エラーが原因である可能性があります。起動プロセス中にシステムで問題が発生した場合は、通常、シングルユーザーモード(Linux®またはmacOS®の場合)またはセーフモード(Windows®の場合)と呼ばれるメンテナンスモード環境で起動します。これにより、rootパスワードでログインし、エラー。
ただし、シングルユーザーモードには次の欠点があります。
- システムは読み取り専用であり、修正を加えることはできません。
- ほとんどのサービス(ネットワークなど)は無効になっています。この状況では、データを別のサーバーにコピーできません。
- コンソールを使用してサーバーにアクセスする必要があります。これは、従来のSecure Shell(SSH)ログインを使用するよりも低速です。
セーフモードにも問題があります:
- ネットワークなどのほとんどのサービスは無効になっています。その結果、データを別のサーバーにコピーすることはできません。
- コンソールを使用してサーバーにアクセスする必要があります。これは、従来のリモートデスクトッププロトコル(RDP)ログインを使用するよりも低速です。
Rackspace Cloud ControlPanelを使用してサーバーをレスキューモードにすることで、シングルユーザーモードやセーフモードでの作業を回避できます。
レスキューモードは、rootユーザーに起動不可能なサーバーのファイルシステムへのフルアクセスを許可します。レスキューモードを使用して、構成ファイルの問題を変更したり、クラウドサーバーからリモートロケーションにデータをコピーしたりできます。クラウドコントロールパネルでレスキューモードを使用することは、ネットワークを有効にしてシングルユーザーモードまたはセーフモードで起動することに似ています。
次のセクションでは、レスキューモードを使用するための手順を説明します。
-
サーバーをレスキューモードで起動します
-
レスキューモードでサーバーに接続します
-
レスキューモードでのLinuxサーバーのトラブルシューティング
-
レスキューモードでのWindowsサーバーのトラブルシューティング
-
レスキューモードを終了します
LinuxまたはWindowsサーバーをレスキューモードで起動するには、次の手順を使用します。
-
クラウドコントロールパネルにログインします。
-
上部のナビゲーションバーで、製品の選択> Rackspace Cloudをクリックします 。
-
サーバー>クラウドサーバーを選択します 。
-
サーバーのリストから、レスキューモードで起動するサーバーの横にある歯車のアイコンをクリックし、レスキューモードに入るを選択します。 ドロップダウンメニューから。
-
レスキューモードのポップオーバーでテキストを読み、EnterRescueモードをクリックします 。
-
仮パスワードが表示されます。パスワードを安全な場所にコピーします。このメッセージを閉じた後は、再び表示されません。
-
一時パスワードをコピーしたら、[パスワードを閉じる]をクリックします 。
サーバーはレスキューモードに入り始め、オレンジ色のステータスを表示します サーバー名の横のフィールド。初期ステータスはPreparingRescueです。 。
レスキューモードのビルドが完了すると、ステータスが赤に変わり、レスキューが表示されます。 。
注 :レスキュー環境は24時間に制限されています。サーバーが自動的に元の状態に戻る前に、サーバーの問題を修正する日があります。
次の方法でレスキューモードでサーバーに接続できます。
-
Linux :SSHクライアントを使用して、パブリックインターネットプロトコル(IP)アドレスと一時的なrootパスワードを使用してLinuxサーバーに接続し、レスキューモードにログインします。
-
ウィンドウ :RDPクライアントを使用して、パブリックIPアドレスと一時的な管理者パスワードを使用してWindowsサーバーに接続します。
Linuxサーバー上のファイルにアクセスする前に、サーバーのファイルシステムをマウントする必要があります。このタスクを実行するには、パーティションを調べてファイルシステムのデバイスを特定する必要があります。
注 :fsck
の使用を計画している場合 このファイルシステムでは、ファイルシステムをマウントしないでください。
レスキューモードでサーバーにログインした後、次のコマンドを実行します。
fdisk -l
出力は次の例のようになります。
複数のディスクが出力に表示されます。ディスクエントリは、次の例のようになります。
Disk /dev/sdb1: 2147 MB
Disk
の後の部分 ファイルパスがデバイスのように見えます。
スクリーンショットの出力例では、サーバーのファイルシステムのデバイスは/dev/sda1
です。 。
デバイスは、サーバーの構築に使用された配布イメージによって異なる場合があります。
スクリーンショットの出力例は、デバイスとディスクのサイズを示しています。次のブロックが含まれています:
- 最初のブロック(約2 GB) :レスキューモードファイルシステム。
- 2番目のブロック(10.2 GB) :サーバーのファイルシステム。このブロックのサイズは、サーバーのサイズによって異なります。
- 3番目のブロック :スワップスペース。
サーバーのファイルシステムのブロックを特定し、デバイス名を見つけます。
ファイルシステムのデバイスがわかったら、それをディレクトリに割り当てて、アクセスできるようにマウントできます。
/dev/diskdevice
を置き換えて、次のコマンドを実行します ファイルシステムデバイスを使用する場合:
mount /dev/diskdevice /mnt
たとえば、ファイルシステムデバイスが/dev/sda1
の場合 、コマンドは次のとおりです:
mount /dev/sda1 /mnt
この手順を完了すると、/mnt
からファイルにアクセスできます。 ディレクトリ。
注 :ファイルパスの前に/mnt
を付ける必要があります 。たとえば、/etc/fstab
を修正する必要がある場合 ファイルの場合、次のパスを使用してそのファイルにアクセスします:
/mnt/etc/fstab
このファイルをレスキューモードで編集する場合は、fstab
を変更します 通常のファイルシステムではなく、レスキューモードのファイルシステム用のファイル。
Windowsサーバー上のファイルにアクセスする前に、サーバーのファイルシステムをマウントする必要があります。そのためには、パーティションを調べてファイルシステムのデバイスを特定する必要があります。
注: chkdsk
を使用する場合 このファイルシステムでは、ファイルシステムをマウントしないでください。
-
レスキューモードでサーバーにログインしたら、[開始]をクリックします diskmgmt.mscと入力します 検索ボックスで。
-
diskmgmtをダブルクリックします プログラムを開始します。
プログラムの実行中、出力は次の画像のようになります。これは、デバイスとディスクのサイズを示しています。
この画像は、次のディスクを示しています。
- ディスク0 :レスキューファイルシステム。現在、ドライブ Cとして使用されています 。
- ディスク1 :システムディスク。
-
ディスク1を右クリックし、オンラインを選択します 。
システムディスクがドライブDとして設定されている 、これで、次の画像に示すように、データにアクセスできるようになります。
Windowsサーバーをレスキューモードから戻します
Windowsクラウドサーバーがレスキューモードになっているときに発生する可能性のある既知の問題が存在します。古いシステムドライブがオンラインになると、レスキュー環境から復帰するときにWindowsを起動できなくなります。
この問題は、ディスクIDの競合が原因で発生します。元のブートディスクIDが書き換えられ、サーバーがブートボリュームに期待するものと一致しなくなります。クラウドサーバーのレスキューモードは、サーバーの作成に最初に使用されたイメージを使用するため、サーバーのディスクIDとレスキューOSの一時イメージは次のようになります。同じ。この問題により、serverdiskがオンラインになると名前が衝突します。この問題により、OSはディスクのIDを書き換えます。これが行われると、ブートローダーはブートディスクを見つけることができなくなります。この問題がサーバーのクラッシュの原因です。
次の手順を使用して、WindowsサーバーでのIDの競合を解決します。
注 :このプロセスはクラウドサーバーでのみテストされています。
-
サーバーがレスキューモードで、元のシステムドライブがオンラインに設定されている場合 、コマンドプロンプトを開きます。
注 :コマンドが機能しないため、このプロセスにPowerShellを使用しないでください。
-
次のコマンドを実行します:
bcdedit /store d:\boot\bcd
-
出力を確認し、ドライブが Cであることを確認します 出力内のオブジェクトのターゲットです。
ブート構成データ(BCD)の出力は、次の例のようになります。
-
オブジェクトがドライブCを指していない場合 、次のコマンドを実行します:
bcedit /store d:\boot\bcd /set {default} osdevice partition=c: bcdedit /store d:\boot\bcd /set {default} device partition=c: bcdedit /store d:\boot\bcd /set {bootmgr} device partition=c: bcdedit /store d:\boot\bcd /set {memdiag} device partition=c: bcdedit /store d:\boot\bcd /set {ntldr} device partition=c:
-
次のコマンドを再度実行して、出力を確認します。
bcdedit /store d:\boot\bcd
すべてのオブジェクトがドライブCを指している場合 、ドライブ DのドライブIDを調整するだけで済みます 。
-
[ディスクの管理]ウィンドウを開きます。
-
コマンドラインから、
DISKPART
を実行します 。 -
DISKPARTで、次のコマンドを実行します。
LIST DISK
-
[ディスクの管理]ウィンドウで、ディスク番号をドライブに一致させます。
-
ドライブのディスクIDを見つけるにはC 、次のコマンドを実行します:
SELECT DISK (the disk number that was found in diskpart and Disk Manager)
-
ドライブIDを取得するには、次のコマンドを入力します。
UNIQUEID DISK
-
ディスクIDを記録します。
注 :このID値(16進形式)を使用して、ドライブDをセットアップします。
-
この値を忘れた場合は、サーバーをレスキューモードから解除してから、レスキューモードに戻すことで回復できます。この手順を実行する場合は、これらの手順の最初からやり直す必要があります。
-
前の手順が機能しない場合は、BCEfileをレスキューサーバーのレジストリにマウントして値を回復します。この手順の実行方法については、ディスク署名の衝突の修正を参照してください。
注 :このIDを記録した後、名前の衝突を解決するには、IDを他の何かに変更する必要があります。
ドライブIDを変更するには、次の手順を使用します。
-
次のコマンドを実行してIDを変更します。
UNIQUEID DISK id=<any hex value of 8 characters>
-
次のコマンドを実行して、値が変更されたことを確認します。
UNIQUEID DISK
-
次のコマンドを実行して、ドライブDを変更します。
SELECT DISK (the disk number that our found in DISKPART and disk manager) UNIQUEID DISK id=(disk ID from C drive that was recorded, in the example this was 42D9DECD)
-
UNIQUEID DISK
を実行します IDが記録したものと一致することを確認するコマンド。このプロセスが完了したら、サーバーをレスキューモードから解除できます。これで、サーバーは正常に起動するはずです。
レスキューモードを終了するには、サーバーの詳細に移動します クラウドコントロールパネルのページで、レスキューモードの終了をクリックします。 。
- ホストキーのフィンガープリント
詳細については、次の記事を参照してください。
- クラウドサーバーを再構築する