Btrfs

修改 BTRFS 文件系統 UUID

  • April 5, 2018

我已經使用 Clonezilla 備份了我的 BTRFS 文件系統,並將其中一個備份恢復到名為2013-11-29.sda3.img.

我需要從這個備份中取出一些文件,但是有一個問題。由於備份是這台機器的,我無法將備份掛載到我的文件系統的任何位置,因為它的 UUID 與/.

有沒有辦法可以更改備份卷的 UUID?據我了解,BTRFS 將 UUID 資訊儲存在文件系統的每個塊中,這使我的目的變得複雜。但是,有沒有辦法可以修改它?我知道這可能需要很長時間才能完成,但這與我無關。我主要關心的是保持伺服器線上。備份相當大,因此將其轉移到另一台機器需要相當長的時間。

我有哪些選擇?

暫時沒有辦法做到這一點。實際上,在塊樹的每個節點中都使用了卷 UUID。假設塊/設備的標頭未散列,您還必須在其中更改它們。BTRFS 真的不是為了允許這種備份而設計的。

這真的很可悲,但最簡單的處理方法是使用另一台電腦。

如果可以的話,我想建議您停止以這種方式備份您的數據。

  1. 如果您的分區作為一個整體很重要,請使用dd/進行備份clonezilla。當您需要恢復備份時,請立即恢復整個分區。不要進行這種混合備份:您專門將分區保存在bloc級別。所以你必須在集團層面恢復它。否則,您正在使用勺子切肉。正如您肯定注意到的那樣,通常不使用此解決方案,因為它沒有提供多功能性。
  2. 如果您的數據很重要,請rsync在另一個磁碟上使用或類似工具進行備份:您的數據將始終可以訪問,您備份的正是您想要的,您在文件級別進行備份,等等。

請注意,BTRFS 有一些(現在有限的)備份功能。BTRFS 正在快速發展,我想未來會出現更多的備份功能。

哦,你已經被警告過了 ;)自動 Clonezilla 備份和 GPG 加密

順便說一句,使用 LUKS 進行基於分區的加密或使用 EnFS 或 EncryptFS 進行基於文件的加密,加密更容易應用於文件。

該程序btrfstune是普通 btrfs-tools 更新版本的一部分,可以更改離線文件系統的 UUID。如果分區是例如。/dev/sda1,使用以下命令生成一個新的隨機 UUID:

btrfstune -u /dev/sda1

要指定應使用哪個值,請使用大寫字母-U后跟(有效)UUID 字元串,例如:

sudo btrfstune -U e0c5b943-1c02-44a2-bbaf-87ebda5e363b /dev/sdaX

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