fstabファイルを再編集してxfsリカバリを実行できますか?
/dev/mapper/vg-linux_root / xfs defaults 0 0
UUID=7de1dc5c-b605-4a6f-bdf1-f1e869f6ffb9 /boot xfs defaults 0 0
/dev/mapper/vg-linux_var /var xfs defaults 0 0
/dev/mapper/vg-linux_swap swap swap defaults 0 0
よくわかりませんが、最後の数字を0から1に置き換えることはできませんか?
答え1
いいえ、単に/etc/fstabを編集してもxfs_repairが実行されるわけではありません。
他のファイルシステムタイプでも機能します。しかし、ここでXFSは特別です。
XFSファイルシステムの6番目のフィールドを/etc/fstab
ゼロ以外の値に変更すると、システムが機能しますfsck.xfs
。マニュアルページには次のように記載されています。
NAME
fsck.xfs - do nothing, successfully
[...]
However, the system administrator can force fsck.xfs to run xfs_re‐
pair(8) at boot time by creating a /forcefsck file or booting the sys‐
tem with "fsck.mode=force" on the kernel command line.
だから私は通常fsck.xfs
何もしません。
起動時に実際に実行するには、xfs_repair
次の2つの条件を満たす必要があります。
a) 接続された XFS ファイルシステムの場合、実行/etc/fstab
するにはフィールド 6 が 0 であってはなりませんfsck.xfs
。
b)/forcefsck
ファイルは、ルートファイルシステム(またはルートファイルシステムを確認したい場合はinitramfs)になければなりません。それ以外の場合は、カーネルコマンドラインにfsck.mode=force
起動オプションが必要です。これにより、何もしない代わりにfsck.xfs
実行が発生します。xfs_repair
それでは、xfs_repairの特別な点は何ですか?
XFSファイルシステムとxfs_repair
ツールはどちらも、プライマリディスクの状態が良好であるか、少なくとも不良ブロックを組み込みスペアブロック(すべての最新ディスクと同様)に透明に置き換えることができると仮定します。最新のディスクにオペレーティングシステムに表示される永続的な不良ブロックがある場合、これは通常、組み込みのスペアブロックメカニズムが不良ブロックの数によって圧倒され、ディスクがまもなく完全に故障する可能性があることを意味します。
マニュアルページには次のようxfs_repair
に記載されています。
Disk Errors
xfs_repair aborts on most disk I/O errors. Therefore, if you are trying
to repair a filesystem that was damaged due to a disk drive failure,
steps should be taken to ensure that all blocks in the filesystem are
readable and writable before attempting to use xfs_repair to repair the
filesystem. A possible method is using dd(8) to copy the data onto a
good disk.
したがって、一般的な状況ではxfs_repair
自動的に実行するように設定しないでください。
XFSファイルシステムにエラーがある場合は、必ずプライマリディスクの状態を最初に評価する必要があります。パーティション/ LVの内容全体を読み、コマンドがエラーなく完了することを確認するとsmartctl -a /dev/<disk device>
便利です。dd
/dev/null
ディスクに障害が発生した場合は、まずパーティション/ LVの内容をエラーのない新しいディスクにコピーしてから(dd
または使用可能)、エラーのないディスクからファイルシステムを実行する必要がありますddrescue
。xfs_repair
xfs_repair
ファイルシステムレベルのエラーが発生したことがわかっている場合は、ディスクの状態が良好であっても起動時に自動的に実行することが適切な回避策である可能性があります。しかし、これは解決策ではなく回避策です。ファイルシステムエラーの原因を見つけて根本原因を修正する必要があります。 (おそらく更新されたカーネルパッケージが必要なファイルシステムドライバのバグですか?)
答え2
上記のファイルに/dev/sda
エラーがある場合は、そのファイルを実行する必要がありますfsck
。実際、ディスク自体は回復されず、ファイルのみが回復されることに注意してください。ディスクに障害が発生して障害が発生した場合は、ディスクを交換してバックアップからデータを復元することをお勧めします。ディスクが十分に悪くなると、特にディスクが完全に破損しているとデータが失われる可能性があります。