web-dev-qa-db-ja.com

/ dev / xvda1を確認するにはどうすればよいですか?

EC2(Ubuntu)インスタンスにログインすると、

*** /dev/xvda1 should be checked for errors ***

できませんfsck /dev/xvda1マウントされているため、Sudo umount /dev/xvda1は使用中のため失敗します。 lsof番組

jbd2/xvda  172               root  cwd       DIR              202,1     4096          2 /
jbd2/xvda  172               root  rtd       DIR              202,1     4096          2 /
jbd2/xvda  172               root  txt   unknown                                        /proc/172/exe

およびkill -SIGKILL 172は効果がありません。

何をすべきか?

60
user1836587

最近のほとんどのLinuxでは、システムに/ forcefsckファイルが存在する場合、ブート時に強制fsckを実行する必要があります。 VMを再起動する自由がある場合は、次を実行します。

touch /forcefsck

次に、都合のよいときに再起動します

51
Sgaduuw

私たちのec2 ubuntuインスタンスでは、上記の回答は完全には機能しませんでした。

Ubuntuでは、デフォルトで rcS ファイルのチェックは有効になっていません。そう

  1. RcSファイルを編集しますSudo vi/etc/default/rcS

線の下に

#FSCKFIX=no

追加

FSCKFIX=yes
  1. Fstabファイルを編集します。 Sudo vi/etc/fstab

/のレコードを探し、最後の桁が「0」の場合は「1」に変更します。最後のフィールドはfsckorderであり、ディスクをチェックする順序を決定するためにfsckによって使用されます。 値が「0」の場合、そのディスクはスキップされます

たとえば、

LABEL=cloudimg-rootfs   /        ext4   defaults,discard        0 0

LABEL=cloudimg-rootfs   /        ext4   defaults,discard        0 1 
  1. / forcefsckファイルを作成する

    Sudo touch/forcefsck

Ec2コンソールから再起動します。

/ etc/fstabのfsckorder値を「1」から「0」に戻しますFSCKFIX=yesという行を削除して、rcSファイルを元の状態に戻します。

それが役に立てば幸い。

97
krishnakumarp

ライブディスクを起動できないため、これは少し奇妙に聞こえるかもしれませんが、私はそれがうまくいくと思います)

高いレベル:

  • 新しい(別の)インスタンスで起動します。
  • 古いインスタンスから新しいインスタンスにストレージを接続します(現在)。
  • fsckを実行します。
  • 新しい(現在の)ストレージを切り離し、古いインスタンスに再接続します。
7
alexus

以下の3つのステップを実行するだけで、問題は解決しました。

  1. 「FSCKFIX = yes」を/ etc/default/rcSに追加します
  2. Sudo touch/forcefsck
  3. 須藤再起動

皆さんありがとう。

1
thach.nv92