Btrfs
修改 BTRFS 文件系統 UUID
我已經使用 Clonezilla 備份了我的 BTRFS 文件系統,並將其中一個備份恢復到名為
2013-11-29.sda3.img
.我需要從這個備份中取出一些文件,但是有一個問題。由於備份是這台機器的,我無法將備份掛載到我的文件系統的任何位置,因為它的 UUID 與
/
.有沒有辦法可以更改備份卷的 UUID?據我了解,BTRFS 將 UUID 資訊儲存在文件系統的每個塊中,這使我的目的變得複雜。但是,有沒有辦法可以修改它?我知道這可能需要很長時間才能完成,但這與我無關。我主要關心的是保持伺服器線上。備份相當大,因此將其轉移到另一台機器需要相當長的時間。
我有哪些選擇?
暫時沒有辦法做到這一點。實際上,在塊樹的每個節點中都使用了卷 UUID。假設塊/設備的標頭未散列,您還必須在其中更改它們。BTRFS 真的不是為了允許這種備份而設計的。
這真的很可悲,但最簡單的處理方法是使用另一台電腦。
如果可以的話,我想建議您停止以這種方式備份您的數據。
- 如果您的分區作為一個整體很重要,請使用
dd
/進行備份clonezilla
。當您需要恢復備份時,請立即恢復整個分區。不要進行這種混合備份:您專門將分區保存在bloc級別。所以你必須在集團層面恢復它。否則,您正在使用勺子切肉。正如您肯定注意到的那樣,通常不使用此解決方案,因為它沒有提供多功能性。- 如果您的數據很重要,請
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