Luks

我可以用 fsarchiver 備份 LUKS 加密分區嗎?

  • April 23, 2022

在安裝 Elementary OS 時,我選擇了太小的尺寸,/boot並且在進行更新時它經常咬我。

驅動器的其餘部分是單個 LUKS 加密根分區:

lsblk --fs
NAME            FSTYPE      LABEL  UUID                                   FSAVAIL FSUSE% MOUNTPOINT
...
nvme0n1                                                                                  
├─nvme0n1p1     vfat               F37A-4778                               224.3M    15% /boot/efi
├─nvme0n1p2     ext4               f68b8c29-141b-4bec-8812-c5203be4f684     41.7M    83% /boot
└─nvme0n1p3     crypto_LUKS        715ee16e-ba60-487a-8944-23b3b561b2bb                  
 └─cryptdata   LVM2_member        UFo5le-jPA4-5k4d-fpV3-7eGx-fTGR-6mU5Bo                
   ├─data-root ext4               cd4a0015-3306-4c64-988c-83235baca874    581.3G    31% /
   └─data-swap swap               65e49edd-8a15-4d30-b966-4df0bcdce12f                  [SWAP]

我不能簡單地縮小加密分區來取回我的空間,/boot所以我想使用 進行備份fsarchiver,重新安裝然後重新應用備份。我認為這是將數據放回較小分區的唯一方法。

我找到了這個答案:https ://unix.stackexchange.com/a/101925但我不知道如何使用它。AFAIU,我不必執行第一步,因為我想歸檔我目前使用nvme0n1p3的已打開的分區。所以我已經 cd’ed 到一個外部驅動器並嘗試:

sudo fsarchiver savefs `date +%Y_%m_%d`_root.fsa /dev/nvme0n1p3 -v -j11

但我得到了:

filesys.c#140,devcmp(): Warning: [/dev/fuse] is not a block device
oper_save.c#1037,filesystem_mount_partition(): cannot mount partition [/dev/nvme0n1p3]: filesystem may not be supported by either fsarchiver or the kernel.
removed 2022_04_23_root.fsa

cryptsetup我應該以某種方式打開分區嗎?是因為我沒有使用LiveCD嗎?

從手冊頁fsarchiver

fsarchiver

$$ options $$savefs 存檔設備…

savefs 將設備文件系統保存到存檔。

因此,設備參數應該是對文件系統的引用。您的參數/dev/nvme0n1p3是一個設備,但它不包含文件系統。這就是您收到錯誤消息的原因:

oper_save.c#1037,filesystem_mount_partition(): 無法掛載分區

$$ /dev/nvme0n1p3 $$: fsarchiver 或核心可能不支持文件系統。

/dev/nvme0n1p3包含 LUKS 加密數據,其中(解密時)包含 LVM 數據。您的實際 ext4 文件系統位於輸出data-root中列出的邏輯卷中。應該能夠通過這個邏輯卷訪問文件系統。所以正確的設備參數可能是.lsblk``fsarchiver``fsarchiver``/dev/mapper/data-root

我不知道這是否適用於正在執行的系統。創建完整文件系統的備份,這是我更喜歡在未安裝或只讀安裝的文件系統上執行的操作(使用 LiveCD 和cryptsetup.

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