Linux

將軟體 RAID 卷從 ext3 轉換為 ext4(或 ext2)?

  • September 18, 2011

我的 ubuntu linux 11 機器中有一個 mdadm 創建的軟體 RAID 卷。它不是引導驅動器。它是由 3 個大型 sata 驅動器組成的軟體 raid 5 配置。

當我最初創建它時,我將它設為 ext3。從那以後,我了解到我可能會從將其轉換為 ext4(或 ext2)中受益。

首先,我想確認這是有道理的,例如轉換為 ext4 會給我帶來更好的性能(搜尋似乎是 ext4 優於 ext3 的共同優勢)。

接下來,是否有任何理由考慮使用 ext2 - 或者這實際上是一個壞主意?

最後,我該怎麼做?

根據我收集的資訊(例如從這個站點),我需要解除安裝卷,然後執行一些命令來轉換卷。我的 fstab 目前設置為文件系統類型的“自動”。

各種分機和雜分機的區別

$$ 0-9 $$文件系統更多的是關於特性,而不是關於結構。優點是它們彼此相當兼容。例如,您可以將 ext3 分區掛載ext2,並且一切正常。同樣,您可以將 ext3 分區掛載為 ext4。每當您執行這些操作中的任何一個時,您都無法訪問特定於版本的功能。例如,如果您將 ext3 分區掛載為 ext2,您將無法訪問日誌。同樣,將 ext3 分區安裝為 ext4 不會讓您使用更新的功能,例如減少 fsck 時間和範圍,而不是點陣圖。 為了進行轉換,您需要在高層次上做的是

  1. 解除安裝分區
  2. 執行轉換
  3. 掛載分區

因此,只要這不是您的主磁碟,您就可以在不關閉系統的情況下執行此操作,您只需要預期目標分區會關閉一段時間。而且,與往常一樣,在擺弄文件系統之前,您應該對數據進行完整備份,以防萬一您有一些損失。

您應該執行的確切命令如下。出於我的目的,我將假設您的目標設備是/dev/md0

umount /dev/md0
fsck.ext3 -pf /dev/md0
tune2fs -O extents,uninit_bg,dir_index /dev/md0
fsck.ext4 -yfD /dev/md0

第一個 fsck 是在我們進行轉換之前確保您的文件系統處於乾淨和健全的狀態。否則,該過程可能會失敗,或者更糟糕的是,可能會成功,但會留下不一致的地方。該tune2fs命令用於擺弄文件系統設置。它最初是為 ext2 創建的,因此是名稱的“2fs”部分,但它用於修改 ext 文件系統的所有版本。在這種情況下,我們啟用了在 ext3 和 ext4 之間添加的額外功能。最後的 fsck 做了兩件事。首先,它確保從轉換中進行任何必要的清理,其次它將創建或重建目錄索引。

畢竟,您將需要編輯/etc/fstab以確保它安裝為 ext4,儘管實際上該auto選項應該正確辨識它。

恭喜,只要在此過程中沒有起火/炸毀/犯下大規模種族滅絕罪/被判謀殺其妻子,那麼您應該是 ext4 分區的快樂所有者。

引用自:https://serverfault.com/questions/312724