新搭載のGRUB 2とCentOS 7でのレスキューモード
レスキューモードを使った復旧手順
CentOS 7では、レスキューモードが用意されています。このレスキューモードは、ローカルマシンにインストールされたCentOS 7が起動不能に陥った際に、それを復旧する役目を担います。また、レスキューモードを使えば、起動不能に陥ったCentOS 7からユーザーデータを取り出すことも可能です。以下では、CentOS 7のレスキューモードを使った復旧手順やユーザーデータの取得、さらに、ディスクイメージ全体の取得について解説します。
パッケージの上書きインストールによる復旧手順
OSが起動しなくなる原因は、施設の停電による突然の電源断や、管理者のオペレーションミス、ディスク障害など様々なものがあります。通常、ディスク障害や停電による電源断によってハードウェアやOSの設定状況に深刻なダメージがある場合は、ハードウェアの交換を行い、OSの再インストールを行うことが一般的です。しかし、ハードウェアの障害ではなく、管理者のオペレーションミスによってOSの起動に関わるプログラムを誤って削除する、あるいは、起動スクリプトの動作テストが不十分なことに起因したOSの起動障害に陥るといった場合は、CentOS 7のインストーラーが持つレスキューモードによって復旧することが可能です。
レスキューモードでは、通常、ローカルディスクにインストールされている既存のCentOS 7を認識します。レスキューモードにおける/mnt/sysimageディレクトリ配下に対して、ローカルディスクにインストールされている既存のCentOS 7を読み書き可能な状態でマウントさせる事が可能です。これにより、ローカルディスクにインストールされている既存のCentOS 7に対して様々な操作を施すことが可能になります。
レスキューモードで、どのようにローカルディスクが見えているかをdfコマンドで確認します。すると、/mnt/sysimageディレクトリに、ローカルディスクにインストールされた既存のCentOS 7が見えていることが確認できます。また、CentOS 7のインストールメディアは、/run/install/repoディレクトリにマウントされます。
レスキューモードでは、/mnt/sysimageディレクトリ配下にマウントされた既存のCentOS 7に対して、CentOS 7のメディアを使って、RPMパッケージ等を上書きインストールすることが可能です。例えば、なんらかの理由でmountコマンド自体が機能しなくなったと仮定します。mountコマンドが機能しない場合、システムはパーティションのマウントに失敗するため、OSの起動に失敗します。そこで、mountコマンドが含まれるutil-linux RPMパッケージをレスキューモードで再インストールします。インストールを行うには、rpmコマンドのオプションとして、-vhi --force --root /mnt/sysimageを指定します。これにより、/mnt/sysimage配下をルートパーティションとみなして既存のCentOS 7にパッケージを強制的にインストールすることができます。これにより、mountコマンドが含まれるutil-linux RPMパッケージがインストールされ、mountコマンドの復旧が実現できます。
レスキューモードを終了するには、rebootコマンドでレスキューモードを離脱し、システムを再起動してください。