3 使用 UUID 掛接裝置 #
本章說明如何使用 UUID (全域唯一識別碼) 而不是裝置名稱 (例如 /dev/sda1
) 來識別檔案系統裝置。從 SUSE Linux Enterprise Server 12 開始,在開機載入程式檔案和 /etc/fstab
檔案中預設使用的是 UUID。
3.1 具有 udev 的永久裝置名稱 #
從 Linux 核心 2.6 開始,udev
使用永久性裝置命名方式,為動態的 /dev
目錄提供了一種使用者空間解決方案。做為 HotPlug 系統的一部分,會在裝置新增至系統或從系統中移除時執行 udev
。
規則清單用來比對特定的裝置屬性。udev
規則基礎結構 (定義於 /etc/udev/rules.d
目錄) 為所有磁碟裝置提供了固定名稱,不會隨辨識順序或裝置使用的連接而改變。udev
工具會檢查核心所建立的每個適當區塊裝置,根據特定匯流排、磁碟機類型或檔案系統套用命名規則。如需有關如何定義自己的 udev
規則的資訊,請參閱寫入 udev 規則。
udev
會根據動態核心指定裝置節點名稱,維護指向 /dev/disk
目錄中裝置的永久符號連結類別,該目錄將進一步分類為 by-id
、by-label
、by-path
及 by-uuid
子目錄。
除了 udev
以外的其他程式,例如 LVM 或 md
,也可能會產生 UUID,但不會在 /dev/disk
中列出。
3.2 瞭解 UUID #
UUID (通用唯一識別碼) 是 128 位元的檔案系統編號,在本地系統和其他系統中都是唯一的。它根據系統硬體資訊和時戳 (做為其種子的一部分) 隨機產生。UUID 通常用於唯一標記裝置。
新增儲存時使用非永久「傳統」裝置名稱 (例如 /dev/sda1
) 可能會致使系統無法開機。例如,如果將根 (/
) 指定給 /dev/sda1
,在連接 SAN 或將其他硬碟套用至系統之後,根可能會重新指定給 /dev/sdg1
。在此情況下,需要調整開機載入程式組態和 /etc/fstab
檔案,否則系統將不再能夠開機。
解決此問題的一個方法是在開機載入程式和開機裝置的 /etc/fstab
檔案中使用 UUID。SUSE Linux Enterprise 從版本 12 開始採用此預設處理。UUID 是檔案系統的內容,在磁碟重新格式化時會發生變更。其他可替代裝置名稱的 UUID 的方法是透過 ID 或標籤識別裝置。
您還可以將 UUID 用做組合與啟動軟體 RAID 裝置的準則。建立 RAID 後,md
驅動程式會為裝置產生一個 UUID,並將該值儲存在 md
超級區塊中。
您可以在 /dev/disk/by-uuid
目錄中找到任何區塊裝置的 UUID。例如,如下所示的 UUID 項目︰
tux >
ls -og /dev/disk/by-uuid/
lrwxrwxrwx 1 10 Dec 5 07:48 e014e482-1c2d-4d09-84ec-61b3aefde77a -> ../../sda1
3.3 其他資訊 #
如需使用 udev
來管理裝置的詳細資訊,請參閱第 21 章 「使用 udev
進行動態核心裝置管理」。
如需 udev
指令的詳細資訊,請參閱 man 7 udev
。