首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

KVM 存儲池實戰:LVM 類型 Storage Pool 建立與虛擬磁盤分配

     編輯:Java 綜合教學

KVM 存儲池實戰:LVM 類型 Storage Pool 建立與虛擬磁盤分配

KVM 支援多種存儲池類型,除目錄型外,LVM 類型利用宿主機 Volume Group (VG) 切分 Logical Volume (LV) 作為客戶機虛擬磁碟,具備較佳 I/O 效能,但缺乏 MBR 引導區,僅能作為數據盤,不可作啟動盤。本文演示從宿主機建立 VG、定義 Storage Pool XML、virsh 啟用、virt-manager 分配 LV 給虛擬機的完整流程。

前置條件:宿主機建立 VG

假設已在宿主機建立 10G VG,名為 HostVG:

vgcreate HostVG /dev/sdb   # 以實體磁碟 /dev/sdb 為例
vgs
# VG     #PV #LV #SN Attr   VSize  VFree
# HostVG   1   0   0 wz--n- 10.00g 10.00g

定義 Storage Pool XML

建立 /etc/libvirt/storage/HostVG.xml:


  HostVG
  
    /dev/HostVG
  

virsh 建立並啟用 Storage Pool

virsh pool-define /etc/libvirt/storage/HostVG.xml
# Pool HostVG defined

virsh pool-start HostVG
# Pool HostVG started

virsh pool-autostart HostVG
# Pool HostVG marked as autostarted

virsh pool-list --all
# Name    State    Autostart
# HostVG  active   yes

virt-manager 分配 LV 給虛擬機

  1. 開啟虛擬機詳情 → 「Add Hardware」→ 「Storage」→ 「Select managed or existing storage」→ 「Browse」。
  2. Storage Pool 列表中選擇 HostVG。
  3. 「New Volume」:命名 newlv、大小 100MB、格式 raw → Finish。
  4. 選中 newlv → 「Choose Volume」→ Finish 確認掛載。

此時宿主機 lvs 即可看到新增的 newlv LV,虛擬機內部識別為 /dev/vdb(或 vdc...),可正常分區、格式化、掛載使用。

其他支援的 Storage Pool 類型

  • 目錄型 (dir):最常用,直接掛載映像檔(qcow2/raw),管理彈性高、支援網路共享(NFS/GlusterFS)。
  • iSCSI:區塊級網路存儲,適合企業級 SAN 環境。
  • Ceph/RBD:分散式存儲,支援快照、副本、擴展性強。
  • SCSI/mpath/fs/glusterfs/iscsi-direct 等。

詳細參考:libvirt.org/storage.html

下一節預告

將開始討論 KVM 網絡虛擬化原理:Linux Bridge、Open vSwitch、MacVLAN、SR-IOV、虛擬網卡多隊列等核心技術。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved