CH-J Server Manager透過 SSH 管理伺服器
選單
所有指南與文章 →

LVM 還是標準分割區:伺服器該如何選擇?

了解 LVM 比一般分割區多了哪些功能、需要付出什麼代價,以及如何為小型 VPS 或多磁碟伺服器做選擇。

簡要差異

分割區是單一磁碟上範圍固定的一段空間,檔案系統直接建在分割區上。LVM 增加了一層:將實體磁碟區匯集為磁碟區群組,再從中劃出邏輯磁碟區。檔案系統接著建在邏輯磁碟區上,邏輯磁碟區可調整大小及移動,不受資料實體位置的限制。

查看伺服器目前使用的配置

先查看目前的配置。TYPE 和 FSTYPE 欄會顯示分割區、LVM、加密及 RAID 資訊。LVM 指令會顯示磁碟區群組還剩多少可用空間,因為 df 看不到這部分空間。

lsblk -f
sudo pvs
sudo vgs
sudo lvs

何時標準分割區就足夠

對於只有一個虛擬磁碟的小型 VPS,分割區較簡單,潛在故障點也較少。供應商擴大磁碟後,用 growpart 擴大最後一個分割區,再擴大檔案系統。限制是分割區只能延伸到緊接其後的可用空間,因此該位置若有 swap 分割區或其他分割區,就會擋住擴充。

何時值得使用 LVM

如果尚不確定日後如何分配空間、需要讓磁碟區跨越多個磁碟,或希望在使用期間透過 pvmove 將資料移到新磁碟,LVM 就很有用。它也能建立快照,但必須為快照預留空間。相同磁碟上的快照不是備份,傳統快照一旦用滿就會失效。

建立 LVM 磁碟區

這些指令使用空白磁碟,並會摧毀其中的所有內容,因此請用 lsblk 再三核對裝置名稱。在磁碟區群組中保留一些未配置空間:日後擴大磁碟區很容易,縮小則較困難。XFS 完全無法縮小,ext4 也只能在卸載後縮小。

sudo pvcreate /dev/sdX
sudo vgcreate data /dev/sdX
sudo lvcreate -L 20G -n app data
sudo mkfs.ext4 /dev/data/app

日後改變主意時

含有資料的分割區通常無法用標準工具就地轉換為 LVM。一般做法是新增磁碟,在上面建立 LVM,複製資料後切換過去;這也需要修改 fstab,可能還要修改開機設定。規劃時應備妥已驗證的備份,並確保可存取主控台。開機細節因散佈版而異,因此許多安裝程式會將 /boot 留在 LVM 之外。

CH-J Server Manager 中的磁碟

Alpha 0.1.1 中的 Disk Manager 顯示磁碟及其各層,包括 LUKS、LVM、RAID 和 ZFS。沒有 root 權限時,清單僅供讀取且不完整,可以透過 sudo 重新載入。變更會先排入佇列,形成待檢閱的計畫;如果配置自計畫建立後有變,工作會停止且不做任何變更。可能導致資料遺失的步驟會警告您先另行備份。它僅支援 Linux 區塊裝置。

詳細文件

man: lvm →

man: lvcreate →

生物辨識解除鎖定與安全性 →