Centos

最佳實踐在 lvm 卷上執行文件系統檢查?

  • January 5, 2020

在塊設備上有許多帶有 ext4 的系統,而在 lvm 上有其他系統。我經常在塊設備上直接使用 ext4 創建新系統,並使用 tune2fs 進行自動文件系統檢查。在 CentOS 的舊版本(例如 4、5 或 6)中,我可以對 LVM 上的 ext 文件系統執行相同的操作,但不能使用新版本。確保在文件系統駐留在 LVM 時檢查文件系統的最佳實踐命令集是什麼?

確保 lvm 卷不損壞的最佳方法是什麼?如何針對 LVM 文件系統執行 fsck?lvm 有內置的東西來自動檢查 fs 嗎?如果是這樣,哪個日誌文件條目實際上證明檢查已完成?

  1. 啟動到單使用者模式,停止 diskmapper 服務並執行mount以確保未安裝所有 lvmfsck /dev/mapper/vg0用什麼參數?
  2. /或者從不會自動掛載 LVM 並從那裡執行 fsck的 LiveCD 引導 ?

有沒有辦法將 tune2fs 用於 LVM 上的 ext 文件系統?我執行文件系統檢查的最常見方法是讓作業系統在啟動時通過 tune2fs 定期自動執行檢查: tunefs -c 5 -i 7days /dev/sda1 但這不適用於 lvm。

如果 fsck 是一種方式,那麼它會通過什麼開關?如果沒有 lvm,我fsck -c -c -D -C0 /dev/sda1會從圖片中刪除壞塊並優化文件夾結構。在執行 fsck 之前應該執行哪些 lvm 命令?

我過去引用的大多數文件都不可用。

如何針對 LVM 文件系統執行 fsck?

首先製作驅動器的快照或備份是個好主意。

  1. 和 2. 取決於要修復的驅動器。

通過添加到 grub 行啟動到緊急模式systemd.unit=emergency.target是一個好的開始。/仍然安裝。

如果 fsck 是一種方式,那麼它會通過什麼開關?

您可以通過試執行 ( ) 檢查根分區fsck -N以查看是否存在錯誤。您需要從外部設備啟動才能真正修復此問題。(fsck -y如果有很多要修復的問題,這很有用,跳過煩人的“修復(y)?”關於發現的每個錯誤的問題。)

lvm 有內置的東西來自動檢查 fs 嗎?

(確保文件系統駐留在 LVM 上時檢查文件系統的最佳實踐命令集是什麼?)

不。AFAIK /etc/fstab- 第 6 個欄位正在設置這個。(見 man fstab)

fsck(8) 程序使用第六個欄位 (fs_passno) 來確定在重新啟動時執行文件系統檢查的順序。根文件系統應指定 fs_passno 為 1,其他文件系統應指定 fs_passno 為 2。驅動器內的文件系統將按順序檢查,但不同驅動器上的文件系統將同時檢查以利用硬體中可用的並行性. 如果第六個欄位不存在或為零,則返回零值,並且 fsck 將假定不需要檢查文件系統。

如果是這樣,哪個日誌文件條目實際上證明檢查已完成?

這被儲存到文件系統中。對於 ext2/ext3/ext4,它可能看起來像這樣(fsck 在 13 中,掛載計數將設置為 0。tune2fs -C <n>手動設置掛載計數)

sudo tune2fs -l /dev/mapper/vg0-lv0 | grep -i "mount count" 

Mount count:              17
Maximum mount count:      30

(其他文件系統,例如 XFS、btrfs 的工作方式不同,但你明白了)

在執行 fsck 之前應該執行哪些 lvm 命令?

沒有任何

引用自:https://unix.stackexchange.com/questions/560368