データの問題

データの問題とは、コンピュータが正常に起動するかしないかに関係なく、システム上でデータが壊れており、システムの修復が必要な場合を言います。このような状況では、システムに障害が発生する前の状態にシステムを復元するために、重要なデータをバックアップする必要があります。SUSE Linux Enterpriseには、システムのバックアップ/復元や、壊れたシステムの救済を行うための、専用のYaSTモジュールが用意されています。

重要なデータのバックアップ

YaSTシステムバックアップモジュールを使用すれば、システムのバックアップは簡単に管理できます。

  1. rootユーザでYaSTを開始し、[システム]+[システムバックアップ]を順に選択します。

  2. バックアップに必要な詳細のすべて、アーカイブファイルのファイル名、スコープ、およびバックアップタイプを含むバックアッププロファイルを作成します。

    1. [プロファイル管理]+[追加]の順にクリックします。.

    2. アーカイブの名前を入力します。

    3. ローカルバックアップをしたい場合は、そのバックアップの場所へのパスを入力します。ネットワークサーバ上にバックアップをアーカイブしたい場合は、IPアドレスまたはサーバの名前、およびアーカイブを保存するディレクトリを入力します。

    4. アーカイブタイプを決め[次へ]をクリックします。

    5. どのパッケージにも属さないファイルをバックアップするか、アーカイブ作成の前にファイルのリストを表示させるかなど、使用するバックアップオプションを決定します。また、変更されたファイルが、時間のかかるMD5メカニズムを使用して識別されるようにするのかも決定します。

      エキスパート]を使用して、ハードディスク領域全体のバックアップのためのダイアログに入ります。現在、このオプションはExt2ファイルシステムのみに適用されます。

    6. 最後に、ロックファイルまたはキャッシュファイルなど、バックアップの必要のない一部のシステム領域を、バックアップ領域から除外するための検索条件を設定します。項目を追加、編集、または削除して、必要にあった条件を設定し、[OK]を押して終了します。

  3. プロファイル設定を終了したら、[Create Backup (バックアップの作成)]を使用した即時バックアップの開始、または自動バックアップの設定ができます。他のさまざまな目的のために設定されたプロファイルも作成できます。

特定のプロファイル用に自動バックアップを設定するには、以下の手順に従います。

  1. プロファイル管理]メニューから、[自動バックアップ]を選択します。

  2. バックアップの自動開始]を選択します。

  3. バックアップの頻度を決定します。[毎日]、[毎週]、または[毎月]を選択します。

  4. バックアップの開始時間を決定します。これらの設定は選択されたバックアップの頻度に依存します。

  5. 古いバックアップを保存するか、保存する場合は何世代にするかを決定します。バックアッププロセスの自動的に生成されたステータスメッセージを受け取るには、[rootユーザにサマリメールを送信する]にチェックを入れます。

  6. 設定内容を適用し、指定した時刻にバックアップを開始するには、[OK]をクリックします。

システムバックアップの復元

YaSTシステムリストアモジュールを使用して、バックアップからシステム設定を復元します。バックアップの全体を復元するか、壊れたために古い状態にリセットする必要のある、特定のコンポーネントのみを選択します。

  1. [YaST]+[システム]+[システムの復元]の順にクリックします。 .

  2. バックアップファイルの場所を入力します。ローカルファイル、ネットワーク上でマウントされたファイル、またはフロッピーディスクおよびCDなどの取り外し可能なデバイス上のファイルなどがあります。次に、[次へ]をクリックします。

    次のダイアログでは、ファイル名、作成日、バックアップのタイプ、およびオプションのコメントなどのアーカイブプロパティのサマリが表示されます。

  3. アーカイブの内容]をクリックして、アーカイブされた内容を参照します。[OK]をクリックすると、[アーカイブプロパティ]ダイアログに戻ります。

  4. [エキスパート用オプション]では、復元プロセスを微調整するダイアログが開きます。[OK]をクリックすると、[アーカイブプロパティ]ダイアログに戻ります。

  5. 次へ]をクリックすると、復元するパッケージのビューが開きます。[承認]を押して、アーカイブ内のすべてのファイルを復元するか、[Select All][Deselect All]、および[Select Files]ボタンを使って、選択内容の微調整をします。RPMデータベースが壊れているか削除され、バックアップにこのファイルが含まれている場合にのみ、[RPMデータベースの復元]オプションを使用します。

  6. 承認]をクリックすると、バックアップが復元されます。[完了]をクリックして、復元プロセスが完了したあと、モジュールを終了します。

壊れたシステムの復旧

システムが起動し正常に稼動するのに失敗する理由はいくつか考えられます。最も一般的な理由は、システムクラッシュが起こったあとにファイルシステムが壊れている、設定ファイルが壊れている、ブートローダ設定が壊れている、などです。

SUSE Linux Enterpriseでは、この種の状況に対応するために、2つの異なる方法が提供されます。それらは、YaSTシステム修復機能の使用、またはレスキューシステムの起動です。次のセクションでは、システム修復のための両方の方法について説明します。

YaSTシステム修復の使用

YaSTシステム修復モジュールを起動する前に、お客さまのニーズを一番満たすように、モジュールを起動するモードを決めます。システム障害の度合い、および原因とお客さまの経験に合わせて、選択可能な異なるモードが3つあります。

自動修復

不明な原因でシステムに障害が起こった場合で、そもそもシステムのどの部分が失敗の原因となっているか分からない場合は、[自動修復]を使用します。広範囲に及ぶ自動化されたチェックがお使いのシステム上のすべてのコンポーネントで実行されます。この手順の詳細な説明については、51.6.3.1.1項 「自動修復」を参照してください。

カスタム修復

システムに障害が発生し、その原因がどのコンポーネントにあるか分かっている場合、[カスタム修復]を使用して、コンポーネントに対して行うシステム分析の範囲を限定することにより、冗長なシステムチェックを短縮できます。例えば、障害の前のシステムメッセージに、パッケージデータベースのエラーの可能性を示唆する記述があれば、分析と修復手順を、システムのこの側面の検査および復元に限定できます。この手順の詳細な説明については、51.6.3.1.2項 「カスタム修復」を参照してください。

エキスパート設定用ツール

障害が発生したコンポーネントおよびその修復方法がはっきりしている場合は、分析を実行せずに、直接、障害のあるコンポーネントを修復するのに必要なツールを適用できます。詳細については、51.6.3.1.3項 「エキスパート設定用ツール」を参照してください。

前で説明した修復モードから1つを選択し、以下で概説するようにシステム修復を続行します。

自動修復

YaSTシステム修復の自動修復モードを起動するには、次の手順に従います。

  1. CD/DVDドライブにSUSE Linux Enterpriseの最初のインストールメディアを挿入します。

  2. システムを再起動します。

  3. ブート画面で、[インストール]を選択します。

  4. 言語を選択して、[次へ]をクリックします。

  5. 使用許諾契約に同意したら、[次へ]をクリックします。

  6. [システム分析]で、[その他]+[インストールしたシステムの修復]の順に選択します。

  7. [自動修復]を選択します。

    YaSTは、ここでインストールされたシステムの広範囲に及ぶ分析を起動します。このプロシージャの進捗状況は、画面下部にある2つの進捗バーで表示されます。上のバーは現在実行中のテストの進捗状況を示します。下のバーは解析の全体の進捗状況を示します。上部のログウィンドウで、現在実行中のテストおよび結果を追跡することができます。参照先 図 51.2. 「自動修復モード」. 以下のメインテストは、自動修復を実行すると毎回実行されます。言い換えれば、自動修復には、多数の個別サブテストが含まれています。

    図 51.2. 自動修復モード

    自動修復モード

    全ハードディスクのパーティションテーブル

    検出された全ハードディスクのパーティションテーブルの妥当性と一貫性が検査されます。

    スワップパーティション

    インストール済みのシステムのスワップ(swap)パーティションが検出され、テストされ、適用可能な場合は、スワップエリアを有効にする機会が提供されます。スワップエリアを有効にすると、Vステムの修復の処理速度が向上します。

    ファイルシステム

    検出されたすべてのファイルシステムがファイルシステム固有の検査の対象となります。

    /etc/fstabファイルのエントリ

    このファイルのエントリの完全性と一貫性が検査されます。有効なパーティションは、すべてマウントされます。

    ブートローダの設定

    インストールされているシステムのブートローダ設定(GRUBかLILO)の完全性と一貫性が検査されます。ブートデバイスとrootデバイスが調べられ、initrdモジュールの可用性が検査されます。

    パッケージデータベース

    最小構成のインストールの運用に必要なすべてのパッケージが存在しているか、検査されます。オプションで基本パッケージの解析も可能なので、基本パッケージの数が多いことが原因で、この検査には長時間かかります。

  8. エラーを検出するたびに、プロシージャが一時停止し、エラーの詳細および可能な解決策を提示するダイアログが表示されます。

    提案された修復を承認する前に、画面のメッセージを注意深く読みます。提案された修復を断る場合、システムは修復なしの状態のままになります。

  9. 修復プロセスが正常に終了した後に、[OK]および[完了]をクリックし、インストールメディアを取り出します。システムは自動的に再起動します。

カスタム修復

[カスタム修復]モードを起動し、システムのコンポーネントの一部を選択的に検査するには、次の手順に従います。

  1. CD/DVDドライブにSUSE Linux Enterpriseの最初のインストールメディアを挿入します。

  2. システムを再起動します。

  3. ブート画面で、[インストール]を選択します。

  4. 言語を選択して、[次へ]をクリックします。

  5. 使用許諾契約に同意したら、[次へ]をクリックします。

  6. [システム分析]で、[その他]+[インストールしたシステムの修復]の順に選択します。

  7. [カスタム修復]を選択します。

    [カスタム修復]では、実行可能なテストのリストが、最初は、すべて実行対象として選択された状態で表示されます。全部のテスト範囲は、自動修復と合致します。損傷が存在していない個所が、既に判明している場合、対応するテストのチェックマークを消します。[続行]をクリックすると、より狭い範囲のテストプロシージャが開始され、実行時間が大幅に短縮されます。

    すべてのテストグループを個別に実行できるわけではありません。fstab エントリの解析は常に、既存のスワップパーティションも含めたファイルシステムの検証と結び付いています。YaSTでは、このような依存性の条件が自動的に満たされ、必要なテストが最少数で実行されます。

  8. エラーを検出するたびに、プロシージャが一時停止し、エラーの詳細および可能な解決策を提示するダイアログが表示されます。

    提案された修復を承認する前に、画面のメッセージを注意深く読みます。提案された修復を断る場合、システムは修復なしの状態のままになります。

  9. 修復プロセスが正常に終了した後に、[OK]および[完了]をクリックし、インストールメディアを取り出します。システムは自動的に再起動します。

エキスパート設定用ツール

SUSE Linux Enterpriseに関する知識が豊富で、システムの修復に必要な対応策がすでに明確な場合、システム分析をスキップして、直接、ツールを適用します。

YaSTシステム修復の[エキスパート設定用ツール]の機能を使用するには、以下の手順に従います。

  1. 最初のインストール時に使用した、元のインストールメディアを使用してシステムを起動します(第3章 YaSTによるインストールに概説されています)。

  2. [システム分析]で、[その他]+[インストールしたシステムの修復]の順に選択します。

  3. [エキスパート設定用ツール]を選択して、適切な修復オプションを選択します。

  4. 修復プロセスが正常に終了した後に、[OK]および[完了]をクリックし、インストールメディアを取り出します。システムは自動的に再起動します。

エキスパート設定用ツールには、障害が発生したシステムを修復するために、以下のようなオプションが用意されています。

新しいブートローダをインストールする

YaSTのブートローダの設定モジュールを起動します。詳細については、21.3項 「YaSTによるブートローダの設定」を参照してくださ「。

パーティションツールの起動

YaSTのパーティションのエキスパート設定ツールが起動します。

ファイルシステムの修復

インストール済みのシステムのファイルシステムを検査します。はじめに、検出された全パーティションの中から1つを選択するダイアログが表示され、検査対象を選択することができます。

失われたパーティションの復元

損傷したパーティションテーブルの再構築を試みることができます。はじめに、検出されたハードディスクのリストが表示され、対象を選択します。[OK]をクリックすると検証が開始されます。検証には、処理能力とハードディスクのサイズに応じて、時間がかかります。

[Important]パーティションテーブルの再構築

パーティションテーブルの再構築は、難しい処理です。YaSTでは、ハードディスクのデータセクタを解析することにより、失われたパーティションの認識が試みられます。認識が成功すると、失われたパーティションが再構築したパーティションテーブルに追加されます。ただし、これは予想可能なすべての事例で成功するわけではありません。

システム設定のフロッピーへの保存

このオプションは、重要なシステムファイルをフロッピーディスクに保存します。システムファイルの1つが損傷した場合には、作成しておいたフロッピーディスクからリストアできます。

インストールされたソフトウェアの確認

パッケージデータベースの整合性と、最も重要なパッケージの可用性を検査します。このツールを使うと、損傷しているインストールパッケージを再インストールできます。

レスキューシステムの使用

SUSE Linux Enterpriseにはレスキューシステムが付属しています。レスキューシステムは、RAMディスクにロードして、ルートファイルシステムとしてマウントできる小さなLinuxシステムで、これを利用して外部からLinuxパーティションにアクセスすることができます。レスキューシステムを使用して、システムの重要な部分を復元したり、適切な変更を行ったりできます。

  • 任意の種類の設定ファイルを操作できます。

  • ファイルシステムの欠陥をチェックして、自動修復プロセスを開始することができます。

  • インストールされているシステムを、「他のルート」環境内からアクセスすることができます。

  • ブートローダーの設定を確認、変更、および再インストールすることができます。

  • partedコマンドを使って、パーティションサイズを変更できます。このツールの詳細は、GUN PartedのWebサイト(http://www.gnu.org/software/parted/parted.html)を参照してください。

レスキューシステムは、さまざまなソースや場所からロードすることができます。一番簡単な方法は、オリジナルのインストールCD/DVDからレスキューシステムをブートすることです。

  1. CD/DVDドライブにインストールメディアを挿入します。

  2. システムを再起動します。

  3. ブート画面で、[レスキューシステム]オプションを選択します。

  4. Rescue:プロンプトに「root」と入力します。パスワードは必要ありません。

ハードウェア設定にCD/DVDドライブが含まれていない場合は、ネットワークソースからレスキューシステムを起動することができます。リモートブートを使用する場合の例を以下に示します。フロッピーディスクなどの、他のブートメディアを使用する場合は、それに応じてinfoファイルを変更してから、通常どおりにブートしてください。

  1. PXEブートセットアップの環境設定を入力します。ただし、install=protocol://instsourceは、rescue=protocol://instsourceに変更してください。通常のインストールと同様に、protocolはサポートする任意のネットワークプロトコル(NFS、HTTP、FTPなど)を表しています。また、instsourceは、ネットワークインストールソースへのパスを表します。

  2. 4.3.7項 「Wake on LAN」に説明したように、「Wake on LAN」を使用してシステムをブートします。

  3. Rescue:プロンプトに「root」と入力します。パスワードは必要ありません。

レスキューシステムが起動したら、Alt+F1Alt+F6キーを使って、仮想コンソールを使用することができます。

シェルおよび他の多くの便利なユーティリティ(マウントプログラムなど)は、/binディレクトリにあります。sbinディレクトリには、 ファイルシステムを検討し、修復するための重要なファイルおよびネットワークユーティリティが入っています。このディレクトリには、最も重要なバイナリも入っています。 たとえばステムメンテナンス用にはfdisk、mkfs、mkswap、mount、mount、init、およびshutdownがあり、ネットワークメンテナンス用にはifconfig、ip、route、およびnetstatがあります。/usr/binディレクトリには、vi editor、find、less、およびsshがあります。

システムメッセージを表示するには、dmesgコマンドを使用するか、または/var/log/messagesファイルを参照してください。

設定ファイルの確認と修正

レスキューシステムを使った環境設定情報の修正例として、環境設定ファイルが壊れたためシステムが正常にブートできなくなった場合を考えてみましょう。このような場合は、レスキューシステムを使って設定ファイルを修復します。

環境設定ファイルを修正するには、以下の手順に従ってください。

  1. 前述のいずれかの方法を使って、レスキューシステムを起動します。

  2. /dev/sda6下にあるルートファイルシステムをレスキューシステムにマウントするには、以下のコマンドを使用します。

    mount /dev/sda6 /mnt

    システム中のすべてのディレクトリが、/mnt下に配置されます。

  3. マウントしたルートファイルシステムのディレクトリに移動します。

    cd /mnt
  4. 問題の発生している設定ファイルを、viエディタで開きます。次に、設定内容を修正して、ファイルを保存します。

  5. レスキューシステムから、ルートファイルシステムをアンマウントします。

    umount /mnt
  6. コンピュータを再起動します。

ファイルシステムの修復と確認

一般的に、稼動システムではファイルシステムを修復できません。重大な問題が見つかった場合、ルートファイルシステムをブートできなくなることさえあります。この場合、システムブートはカーネルパニックで終了します。この場合、外部からシステムを修復するしか方法はありません。このような作業には、YaSTシステム修復モジュールを使用することを強くお勧めします(詳細は51.6.3.1項 「YaSTシステム修復の使用」を参照)。ただし、手動でファイルシステムを確認、修復する必要がある場合は、レスキューシステムを起動します。レスキューシステムには、ext2ext3reiserfsxfsdosfs、およびvfatファイルシステムを確認、修復するためのユーティリティが用意されています。

インストール済みシステムへのアクセス

ブートローダの設定を変更したり、ハードウェア設定ユーティリティを実行するなどの目的で、レスキューシステムからインストール済みシステムにアクセスする必要がある場合は、「change root」(ルート変更)環境で作業を行う必要があります。

インストール済みシステムに基づいた「change root(ルート変更)」環境を設定するには、以下の手順に従ってください。

  1. まず、インストール済みシステムとデバイスファイルシステムから、ルートパーティションをマウントします。

    mount /dev/sda6 /mnt
    mount --bind /dev /mnt/dev
    
  2. 新しい環境に「change root」(ルート変更)します。

    chroot /mnt
  3. /procおよび/sysをマウントします。

    mount /proc
    mount /sys
    
  4. 最後に、インストール済みシステムから、残りのパーティションをマウントします。

    mount -a
  5. これで、インストール済みシステムにアクセスできるようになります。システムを再起動する前に、umount -aを使ってパーティションをアンマウントし、exitコマンドを実行して「change root」(ルート変更)環境を終了してください。

[Warning]制限

インストール済みシステムのファイルやアプリケーションにフルアクセスできますが、いくつかの制限事項もあります。たとえば、レスキューシステムからブートされたカーネルには、制限事項があります。このカーネルは、必要最低限のハードウェアしかサポートしておらず、カーネルのバージョンが完全に一致していない限り(完全一致する場合ほとんどなし)、インストール済みシステムからカーネルモジュールを追加することはできません。そのため、たとえばサウンドカードなどにはアクセスできません。また、GUIも利用できません。

また、Alt+F1Alt+F6キーを使ってコンソールを切り替えると、「change root」(ルート変更)環境は終了することに注意してください。

ブートローダの変更と再インストール

場合によっては、ブートローダが壊れてしまい、システムをブートできなくなることもあります。たとえば、ブートローダが正常に機能しないと、起動ルーチンは物理ドライブとそのLinuxファイルシステム中の場所とを関連付けられず、正常な処理を行うことができません。

ブートロードの設定を確認し、ブートロードを再インストールするには、以下の手順に従ってください。

  1. の説明に従って、インストール済みシステムにアクセスするための適切な作業を行います。51.6.3.2.3項 「インストール済みシステムへのアクセス」

  2. で説明されているように、GRUBの環境設定規則に基づいて以下のファイルが正しく設定されているかどうかを確認します。第21章 ブートローダ

    • /etc/grub.conf

    • /boot/grub/device.map

    • /boot/grub/menu.lst

    デバイスマッピング(device.map)やルートパーティションの場所、および環境設定ファイルなどを、必要に応じて修正します。

  3. 以下のコマンドシーケンスを使って、ブートローダを再インストールします。

    grub --batch < /etc/grub.conf
  4. パーティションをアンマウントして、「change root」(ルート変更)環境からログアウトします。次に、システムを再起動します。

    umount -a
    exit
    reboot