緯育 2026-0413

出自頂極製作所
於 2026年4月14日 (二) 01:09 由 Kuyohong留言 | 貢獻 所做的修訂 (建立內容為「本次講座聚焦於數據儲存的空間容量管理。講師先回顧過去面臨的儲存空間不足挑戰,說明安裝作業系統時進行磁碟分割的…」的新頁面)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)

本次講座聚焦於數據儲存的空間容量管理。講師先回顧過去面臨的儲存空間不足挑戰,說明安裝作業系統時進行磁碟分割的傳統作法及其限制(例如為 /boot 與 / 目錄配置固定容量)。接著轉入現代化解決方案,詳述邏輯磁碟區管理員(LVM)的概念、架構與優勢。

LVM 透過將多個實體硬碟或分割區整合為可動態調整的儲存池,突破傳統固定分割區難以擴充的瓶頸,允許在不停機、使用者無感的情況下進行擴充、縮減與管理。最後,講師介紹與 LVM 相關的核心名詞(PV、VG、LV)及基本指令,為後續實作打下基礎。

儲存空間規劃與挑戰

  • 傳統空間管理的演變
    • 過去:主要擔心容量不足,重點在限制使用量(如 Quota)。
    • 現在:硬碟容量大幅提升,課題轉為如何有效規劃與管理龐大儲存空間。
  • 作業系統安裝時的磁碟分割
    • 傳統上安裝 Linux(如 CentOS)時,常將不同目錄(如 /boot, /home)分割至獨立分割區。
    • 優點:未來如需擴充特定目錄的空間較為彈性。
    • /boot 目錄容量規劃:
    • 常見建議為 200MB。
    • 實際需求取決於核心檔案大小。單一核心版本(含 vmlinuz 與 initramfs)約 67MB(範例為 16MB + 51MB)。
    • 若需同時存放多個核心版本(如軟硬體測試),200MB 可能不足。
    • /(根)目錄容量規劃:
    • 建議值約 50GB~100GB。
    • 實務上,基本 CentOS 約 2.6GB,Ubuntu 桌面版約 5.5GB~8GB;相較之下 100GB 顯得偏大。
    • 相較 Windows 11(約 20GB),其大型更新會產生 Windows.old,暫時佔用近雙倍空間。
    • /home 目錄容量規劃:
    • 建議 200GB 以上,仍須視實際需求調整。若使用者不在伺服器存放個人資料,無須分配過大空間。
  • 傳統硬碟擴充流程
    • 空間不足時,多以更換更大容量硬碟因應。
    • 流程耗時繁瑣,常需離峰(如半夜)進行。
    • 步驟:停止服務 -> 關機 -> 安裝新碟 -> 開機 -> 複製資料至新碟 -> 關機 -> 拔除舊碟與調整排線 -> 開機 -> 設定掛載 -> 啟動服務。
    • 全程至少數小時,過程若出錯將更耗時。

現代儲存空間管理方案

  • 掛載遠端網路儲存(NAS)
    • 將 Linux 伺服器的儲存空間掛載到遠端 NAS。
    • 優點:擴充、縮減、備份等在 NAS 端完成;伺服器專注運算,即使主機故障,資料仍保存在 NAS。
    • 注意伺服器與 NAS 連線的穩定性。
  • 使用 Ceph 儲存系統
    • Ceph 為軟體定義儲存方案,可視作更強大的 NAS。
    • 建立分散式儲存池;安裝設定較複雜,甚至有專門付費課程。
  • 邏輯磁碟區管理員(LVM)
    • LVM(現行為 LVM2)為解決 Linux 空間不足而設計,源自 IBM 在 AIX 的技術。
    • 允許不停機、使用者無感地動態調整(建立、擴充、縮減)儲存空間,常以一行指令即可完成。

LVM 的核心概念與架構

  • 核心名詞解釋
    • PV(Physical Volume,實體卷):
    • 指實體硬碟、磁碟分割區或 RAID 陣列,為 LVM 最底層單元。
    • 以將分割區型別標示為 8e(Linux LVM)作為建立 PV 的基礎。
    • VG(Volume Group,卷群組):
    • 由一個或多個 PV 組成的儲存池,即大的容量集合。
    • LV(Logical Volume,邏輯卷):
    • 自 VG 切割出的空間,等同傳統分割區(如 /dev/sda1)。
    • 建立後需格式化才能掛載使用。
    • PE(Physical Extent,實體範圍):
    • VG 的最小儲存單位,預設 4MB,類似檔案系統的區塊大小。
    • LE(Logical Extent,邏輯範圍):
    • LV 的最小儲存單位,通常大小與 PE 相同。
    • LV 總容量 =(PE 或 LE 的大小)× LE 數量。
  • LVM 運作流程
 1. 準備硬碟:備妥實體硬碟或分割區(如 /dev/sdc, /dev/sdd1)。
 2. 建立 PV:使用指令將這些裝置轉為 PV。
 3. 建立 VG:將一個或多個 PV 組合為 VG,並命名(如 myvg)。
 4. 建立 LV:自 VG 切出所需大小的 LV,命名(如 mylv1)。
 5. 格式化與掛載:如同一般分割區,先格式化再掛載至目錄。
    • 擴充性:當 VG 容量不足時,可新增硬碟建立為 PV,加入既有 VG,即可擴大儲存池。

LVM 相關指令介紹

  • PV(實體卷)相關指令
    • pvscan:掃描系統所有 PV。
    • pvdisplay:顯示 PV 詳細資訊。
    • pvs:簡要顯示 PV 資訊。
    • pvcreate /dev/sdX1:將指定分割區建立為 PV。
    • pvremove /dev/sdX1:移除分割區的 PV 屬性。
    • pvmove /dev/sdX1 /dev/sdY1:將來源 PV 上資料遷移至目標 PV。
  • VG(卷群組)相關指令
    • vgscan:掃描系統所有 VG。
    • vgdisplay:顯示 VG 詳細資訊。
    • vgs:簡要顯示 VG 資訊。
    • vgcreate <vgname> /dev/sdX1 /dev/sdY1:以指定 PV 建立新的 VG。
    • vgremove <vgname>:移除指定 VG。
    • vgrename <oldvgname> <newvgname>:重新命名 VG。
    • vgextend <vgname> /dev/sdZ1:將新 PV 加入現有 VG 擴充容量。
    • vgreduce <vgname> /dev/sdX1:自 VG 移除指定 PV。
  • LV(邏輯卷)相關指令
    • lvscan:掃描系統所有 LV。
    • lvdisplay:顯示 LV 詳細資訊。
    • lvs:簡要顯示 LV 資訊。
    • lvcreate -n <lvname> <vgname>:自指定 VG 建立新 LV。
    • lvremove /dev/<vgname>/<lvname>:移除指定 LV。
    • lvrename:重新命名 LV。
    • lvresize:調整 LV 大小(可增減),支援 +10G、-10G、100G 等語法。
    • lvextend:擴充 LV 容量。
    • lvreduce:縮減 LV 容量。

2026-0413-05.png