Linux

在這種情況下,在 fstab 中配置 UUID 會出現問題

  • December 6, 2017

我們正在考慮更改所有 Linux fstab 配置以使用 UUID 而不是目前配置

部分磁碟為非 RAID,部分磁碟為 RAID10

我在Google搜尋並發現抱怨使用 UUID 為 RAID1 :

" 不幸的是,如果您使用軟體 RAID1,則不得在 /etc/fstab 中使用 UUID。為什麼?因為 RAID 卷本身和鏡像的第一個元素似乎具有相同的文件系統 UUID。如果鏡像損壞或出於任何其他原因md 設備未在啟動時啟動,系統將改為掛載任何隨機底層磁碟,從而破壞您的鏡像。然後您將需要完全重新同步。糟糕的 juju。

所以我只想知道我們是否可以將 UUID 用於 RAID10 ?

以及在哪些情況下(RAID 配置)不使用 UUID?

第二,在幾行中使用 UUID 有什麼好處?

添加到@dr01 答案:關於 RAID 問題,您還可以在 RAID 設置中使用 UUID。

如果使用 mdadm,UUID 將儲存在本地文件系統中,如果使用硬體 RAID,它將呈現為虛擬物理磁碟,它再次具有 UUID。

認為這只是一個問題,即 RAID 設備上的數據也同樣存在於底層設備(或至少其中一些設備)的相同位置。實際上,這意味著 RAID 超級塊(元數據)位於分區末尾的 RAID 格式。

由於 UUID 是文件系統(*)的一部分,因此系統必須首先在設備上找到支持的文件系統。文件系統是通過讀取設備上的一些設置位置來辨識的,通常是在開始時,並尋找辨識簽名。如果相同的數據在原始磁碟(如/dev/sda)和 RAID 設備(/dev/md0)的相同位置可見,則可以在兩個設備中找到相同的 UUID。或者更多,如果其他設備上有數據的副本,即鏡像的另一端。

(* GPT 分區的 UUID 是另一回事)

Linux 軟體 RAID 系統知道兩種主要的超級塊格式,原始 (v. 0.90) 格式將超級塊放在末尾,而目前 (v. 1) 具有三種子格式,用於超級塊的不同位置。由於超級塊格式 1.1 和 1.2 將超級塊放在開頭,因此它們應該可以安全使用。0.9 和 1.0 將超級塊放在設備的末尾,因此它們是您可能遇到的問題。/proc/mdstat應該向您顯示每個設備的超級塊格式。

RAID wiki 頁面還包含有關將超級塊放置在設備末尾的警告。

使用 RAID 0 或 RAID 10 很難通過底層磁碟讀取文件系統,因為數據是條帶化的。但是 UUID 可能仍然可以檢測到,因此無論如何最好使用 1.2 格式的 RAID 超級塊。

對於 ext2/3/4 文件系統,tune2fs -l $device如果可以找到,可能會顯示文件系統 UUID(blkid可能會找到 RAID UUID。)


請注意,我是根據我對文件的理解來寫這篇文章的,最後我沒有明確地使用 RAID 超級塊進行測試。

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