Debian

LVM 調整大小/完整系統加密(無法重新安裝)

  • May 3, 2019

對此很少有問題,但一般答案只是重新安裝。雖然這是最好和最簡單的解決方案,但不幸的是,這在我的情況下是不可能的。

我正在考慮以下解決方案。

目前分區佈局

/dev/vda1      linux/boot  250mb
/dev/vda2      extended    15GiB
 |_/dev/vda5  Linux LVM   15GiB

LVM 有 2 個 LV 13GiB /root 和 2GiB /swap

這是一個乾淨的最小 vps 安裝,佔用空間 <1gb。所以我的想法是

  1. 卸下交換驅動器
  2. 收縮 LVM 分區
  3. 創建一個新的臨時 2gb 分區
  4. 將根移動到臨時分區
  5. 刪除 LVM,在 LUKS 分區上設置新的 LVM。
  6. 將臨時根目錄移動到 LUKS 上的新 LVM
  7. 刪除臨時根目錄,將 LUKS/LVM 分區重新調整為 15GB 以再次設置 2GB 交換。

有什麼理由這行不通嗎?如果沒有..我被困在第 2/3 步

刪除交換 lv 後,我將 PV /dev/vda5 調整為 13GiB pvdisplay 正確顯示 13GiB。

但是,當我去 cfdisk 創建一個新的臨時根分區時,它仍然顯示 /dev/vda5 為 15GiB

我覺得我在這裡錯過了將 2GiB 從已移除的交換驅動器中獲取到未分區空間的步驟?

我最終通過製作一個 1gb ramdrive 並在其中旋轉 root + 整個系統來解決這個問題。然後刪除 LVM 分區,在 luks 上重新創建 LVM 並將 root 移動到新驅動器上。

對於任何有興趣的人。

  1. 創建 tmpfs ramdisk 並移動 root
  2. 刪除/創建分區(如果佈局中的任何內容髮生更改,則執行 partprobe)
  3. 設置新的加密 luks LVM,將所有內容複製回來並再次使系統可啟動

在您不擁有主機的虛擬機中執行此操作時要小心。正如邁克爾漢普頓正確指出的那樣

它不會幫助您解決真正的問題。加密 VPS 沒有任何意義。必須加密的是主機系統。如果您試圖保護您的數據免受 VPS 主機的攻擊,很遺憾,這是不可能的

任何有權訪問主機的人都可以拍攝具有 LUKS 解密密鑰的 RAM 快照。

引用自:https://serverfault.com/questions/965681