ファイルシステムエラー復旧

Prev Next

VPC環境で利用できます。

OS別のファイルシステムエラーを復旧する方法について説明します。

Linuxサーバファイルシステムエラーの復旧方法

Linuxサーバでファイルシステムのエラーが疑われる場合は、サーバアクセスコンソールからファイルシステムを修復します。

次の方法で I/Oエラーの発生有無を確認します。

  • 直接サーバにアクセス
  • サーバにアクセスできない場合
    • NAVERクラウドプラットフォームコンソールの Service > Compute > Server > Server メニューでサーバをクリックして選択し、[サーバ管理と設定変更] > サーバコンソールのスクリーンショット を順にクリックして確認
      server-ts-repair-filesystem-vpc-01_ja

VMでファイルシステムエラーが発生した場合、以下のような症状が発生します。

  • I/Oエラー
    server-ts-repair-filesystem-02
  • initramfsプロンプト復旧モード
    server-ts-repair-filesystem-03

Linuxサーバファイルシステムの復旧コマンド

Linuxサーバでファイルシステムエラーを復旧するには、次のコマンドを実行します。

  • fsck: ext4ファイルシステムのチェックと復旧ツール
  • xfs_repair: XFSファイルシステムの検査および復旧ツール
参考
  • fsckコマンドの実行時にサポートするオプション情報は、次の通りです。

    オプション 説明
    -y すべてのクエリに対するレスポンスを yesとして扱い、ファイルシステムを自動的に復旧
    -n すべてのクエリに対するレスポンスを noとして扱い、ファイルシステムのチェックのみ実行
    -a コマンドの実行に関する確認クエリをせず、自動的に復旧
    • 当該オプションの実行は推奨せず
    -f ファイルシステムの異常有無に関係なく、強制的にファイルシステムをチェック
  • xfs_repairコマンドの実行時にサポートするオプション情報は、次の通りです。

    オプション 説明
    -n 実際に復旧タスクを実行せず、ファイルシステムのチェックのみ実行
    -f マウントされていないファイルシステムやファイルを強制的にチェック
    -L fオプションより強力なオプションで、強制的にログを空にしてファイルシステムの復旧を実行
    • データ損失が発生する可能性あり

1. ファイルシステムエラー復旧の準備

ファイルシステムエラー復旧のために準備する方法は、次の通りです。

  1. パーティションとファイルシステムのタイプを確認し、発生したエラーを確認します。

    • 状況によって疑われるエラーの種類は、次の通りです。

      状況 エラータイプ
      起動失敗 デフォルトストレージのファイルシステムエラー
      起動は成功したが、ファイルシステム関連のエラーが発生 追加ストレージのファイルシステムエラー
    • ファイルシステム関連のエラーは /var/log/messagesに記録され、コンソールの I/Oエラー内容でも問題が発生したディスクを確認できます。

    • パーティション確認: cat /proc/partitionsコマンドを実行します。

      [root@servera ~]# cat /proc/partitions 
      major minor  #blocks  name
      202        0   52428800 xvda
      202        1       1024 xvda1
      202        2   52425728 xvda2
      
    • ファイルシステムタイプの確認: blkidコマンドを実行します。

      [root@servera ~]# blkid
      /dev/xvda1: UUID="f95bed0a-11af-4b2c-bfcc-4afb91a68fc1" TYPE="xfs" 
      /dev/xvda2: UUID="0692fdb8-bb3c-4094-83f0-fe95a339b8c1" TYPE="xfs"
      
  2. スナップショット作成を参照して、復旧タスクを行うサーバのスナップショットを作成します。

    注意

    誤った復旧試行により、サーバが破損する可能性があります。サーバの破損を防ぐため、スナップショットを作成した後に復旧タスクを行ってください。

2. ファイルシステムエラー復旧

以下のケースに応じて、ファイルシステムエラーの復旧方法をご確認ください。

デフォルトストレージにファイルシステムエラーが発生した場合

デフォルトストレージにエラーが発生すると、root file system checkとマウントに失敗して initramfsプロンプト復旧モードになります。
デフォルトストレージに発生したファイルシステムエラーを復旧する方法は、次の通りです。

  1. initramfsでデフォルトストレージに対してファイルシステムチェックを行います。
    例) 問題が発生したデバイスが /dev/xvda1の場合

    ファイルシステム コマンド
    ext4 fsck.ext4 /dev/xvda1
    xfs
    • xfs_repair /dev/xvda1
      • オプションを使用せず復旧が不可な場合、-Lオプションを追加して実行
      • -Lオプションを使用すると、データ損失が発生する可能性あり
    • xfs_repair -L /dev/xvda1
  2. ファイルシステムチェックをもう一度行った後、cleanが表示されたらサーバを再起動します。

追加ストレージにファイルシステムエラーが発生した場合

追加ストレージに発生したファイルシステムエラーを復旧する方法は、次の通りです。

  1. 次のコマンドを実行して、エラーが発生したデバイスのマウントを解除します。

    umount /dir (/dir: 追加ストレージ領域のマウントディレクトリ)
    
    参考

    マウントが正常に解除されない場合、マウント解除の強制コマンドまたは fuserコマンドを順に実行し、特定のファイルやファイルシステム、ポートなどで使用しているプロセスを確認して終了する必要があります。

    • マウント解除の強制コマンド
      • umount -l /mnt/a
      • umount -f /mnt/a
    • fuserコマンドの使用手順
      1. fuser -cu /mnt/aでディレクトリを使用するユーザーまたはプロセスを確認
      2. fuser -ck /mnt/aでプロセスを強制終了
      3. umount /mnt/aでマウント解除
  2. エラーが発生したデバイスにファイルシステムチェックを実行します。
    例) 問題が発生したデバイスが /dev/xvdb1の場合

    ファイルシステム コマンド
    ext4 fsck.ext4 /dev/xvdb1
    xfs
    • xfs_repair /dev/xvdb1
      • オプションを使用せず復旧が不可な場合、-Lオプションを追加して実行
      • -Lオプションを使用すると、データ損失が発生する可能性あり
    • xfs_repair -L /dev/xvdb1
  3. 以下を参照して追加ストレージを再マウントします。

    • /etc/fstabに追加ストレージ領域に対するマウントが設定されている場合
      mount -a
      
    • 直接マウントを行う場合
      mount /dir (/dir: 追加ストレージ領域のマウントディレクトリ)
      
  4. ファイルシステムチェックをもう一度行った後、cleanが表示されたらサーバを再起動します。

ファイルシステムエラーが復旧しない場合

fsckまたは xfs_repairを試してもファイルシステムエラーが復旧されない場合は、サーバを強制的に再起動する必要があります。
サーバを強制的に再起動するには、NAVERクラウドプラットフォームコンソールの Services > Compute > Server > Server メニューから強制的に再起動するサーバをクリックして選択し、[強制停止] > [開始] ボタンをクリックします。

注意

強制再起動してもサーバが正常化されない場合は、スナップショットによるデータ復旧が必要です。スナップショットでストレージを作成をご参照ください。

Windowsサーバファイルシステムエラーの復旧方法

Windowsサーバでファイルシステムエラーを復旧するには、場合によるファイルシステムエラーの復旧方法をご確認ください。

Windowsサーバファイルシステムの復旧コマンド

Windowsサーバでファイルシステムエラーを復旧するためには、chkdskコマンドを使用します。chkdskは、ファイルシステムのチェックおよび復旧をサポートする Windows Toolです。オプションなしで実行する場合、デフォルトストレージのチェックのみ行います。

注意

chkdskの実行を途中でキャンセルしたり中断する場合、以前の状態より破損することはありませんが、 chkdskの実行が完了するまで待つことをお勧めします。

参考

chkdskコマンドの実行時にサポートするオプション情報は、次の通りです。詳細は、Microsoftアーティクルをご参照ください。

オプション 説明
/f 発見したエラーを復旧
  • このオプションを適用する場合、ドライブは LOCK状態である必要があり、LOCK状態でない場合は次の再起動時にドライブチェックの予約有無のメッセージを表示
/r bad sectorを検索して読み取り可能な情報を復旧
  • このオプションを適用する場合、ドライブは LOCK状態である必要あり
/x 必要に応じて、ドライブを強制的にマウント解除するか、ドライブで開いているすべてのハンドルを無効化

OS hangが発生した場合

OS hangが発生した場合、サーバを強制的に再起動する必要があります。
サーバを強制的に再起動するには、NAVERクラウドプラットフォームコンソールの Services > Compute > Server > Server メニューから強制的に再起動するサーバをクリックして選択し、[強制停止] > [開始] ボタンをクリックします。

注意

強制再起動してもサーバが正常化されない場合は、スナップショットによるデータ復旧が必要です。スナップショットでストレージを作成をご参照ください。

デフォルトストレージにファイルシステムエラーが発生した場合

デフォルトストレージに発生したファイルシステムエラーを復旧する方法は、次の通りです。

  1. 次のコマンドを入力して chkdskを実行します。
    chkdsk C: /f /r /x
    
  2. 次回の再起動時にドライブチェックの予約有無のメッセージが表示されたら、Yを入力します。
  3. 再起動を行います。

追加ストレージにファイルシステムエラーが発生した場合

追加ストレージに発生したファイルシステムエラーを復旧する方法は、次の通りです。

  1. run - diskmgmt.mscコマンドを実行し、復旧する追加ストレージのドライブ名を確認します。
  2. 次のコマンドを入力して chkdskを実行します。
    chkdsk <ドライブ名> /f /r /x