KVM存储卷和存储池详解
创作时间:
作者:
@小白创作中心
KVM存储卷和存储池详解
引用
CSDN
1.
https://m.blog.csdn.net/qq_35995514/article/details/141866859
一、存储池概念
在KVM(Kernel-based Virtual Machine)虚拟化平台中,存储池(Storage Pool)是用来管理和存储虚拟机镜像及其相关数据的概念。存储池可以是物理存储设备(如硬盘、SSD)的一部分或者是由多个存储设备组成的逻辑汇集。
存储池是一个由libvirt管理的文件、目录或存储设备,提供给虚拟机使用。存储池被分为存储卷,这些存储卷保存虚拟镜像或连接到虚拟机作为附加存储。libvirt通过存储池的形式对存储进行统一管理、简化操作。
1.1 存储池类型
- Dir类型:简单的目录存储池,直接使用操作系统的文件系统来存储镜像文件。
- Logical类型:使用逻辑卷管理器(LVM)创建的存储池,允许更灵活的空间管理和快照功能。
- Network类型:使用网络文件系统(如NFS)作为存储池,可以在多个主机之间共享虚拟机镜像。
- iSCSI类型:利用iSCSI协议连接到远程存储设备,并将其作为存储池。
1.2 功能特性
- 虚拟机镜像管理:存储池管理虚拟机的磁盘镜像文件,包括创建、删除、复制、移动虚拟机镜像等操作。
- 快照管理:有些存储池类型(如Logical类型)支持虚拟机快照功能,可以创建和管理虚拟机的快照,方便备份和回滚操作。
- 空间管理:存储池允许对存储资源进行空间管理,可以监控使用情况并进行容量规划。
- 性能优化:选择合适的存储池类型和配置可以优化虚拟机的性能和可靠性。
1.3 存储池创建和管理
在KVM管理工具(如virt-manager、virsh)或通过命令行(使用virsh pool-create等命令)可以创建和管理存储池。配置存储池的路径、类型、权限以及其他参数,根据需求选择合适的存储池类型和配置。
1.4 使用案例
- 本地存储池:适用于单一主机环境,直接使用主机上的硬盘或SSD作为存储池。
- 共享存储池:适用于多个主机共享虚拟机镜像,可以通过网络文件系统(如NFS)或专用存储设备(如iSCSI)实现。
- 灵活的存储管理:通过存储池可以灵活管理虚拟机的存储需求,根据虚拟化环境的需求进行扩展或调整。
1.5 存储池在虚拟机迁移中的作用
当虚拟机在不同的物理主机间迁移时,存储池确保了虚拟机镜像和相关数据的一致性和可访问性。存储池不仅存储虚拟机镜像,还负责提供迁移过程中所需的数据访问能力。这包括在源主机上关闭虚拟机、传输镜像数据、在目标主机上重新打开虚拟机等操作。
1.6 管理虚拟磁盘注意事项
虚拟化项目中存储的注意事项
- 存储的性能几乎总是虚拟化的瓶颈
- 通过多个磁盘驱动以分布磁盘I/O来实现存储解决方案
- 驱动器的速度越快越好,考虑SSD与机械磁盘的混合使用
- 考虑部署集中化的SAN/NFS来实现高可用性和实时迁移
二、virsh中存储池和存储卷命令
virsh # help
分组的命令:
Storage Pool (help keyword 'pool'):
find-storage-pool-sources-as 找到潜在存储池源
find-storage-pool-sources 发现潜在存储池源
pool-autostart 自动启动某个池
pool-build 建立池
pool-create-as 从一组变量中创建一个池
pool-create 从一个 XML 文件中创建一个池
pool-define-as 在一组变量中定义池
pool-define define an inactive persistent storage pool or modify an existing persistent one from an XML file
pool-delete 删除池
pool-destroy 销毁(删除)池
pool-dumpxml XML 中的池信息
pool-edit 为存储池编辑 XML 配置
pool-info 存储池信息
pool-list 列出池
pool-name 将池 UUID 转换为池名称
pool-refresh 刷新池
pool-start 启动一个(以前定义的)非活跃的池
pool-undefine 取消定义一个不活跃的池
pool-uuid 把一个池名称转换为池 UUID
pool-event Storage Pool Events
Storage Volume (help keyword 'volume'):
vol-clone 克隆卷。
vol-create-as 从一组变量中创建卷
vol-create 从一个 XML 文件创建一个卷
vol-create-from 生成卷,使用另一个卷作为输入。
vol-delete 删除卷
vol-download 将卷内容下载到文件中
vol-dumpxml XML 中的卷信息
vol-info 存储卷信息
vol-key 为给定密钥或者路径返回卷密钥
vol-list 列出卷
vol-name 为给定密钥或者路径返回卷名
vol-path 为给定密钥或者路径返回卷路径
vol-pool 为给定密钥或者路径返回存储池
vol-resize 创新定义卷大小
vol-upload 将文件内容上传到卷中
vol-wipe 擦除卷
Virsh itself (help keyword 'virsh'):
cd 更改当前目录
echo echo 参数
exit 退出这个非交互式终端
help 打印帮助
pwd 输出当前目录
quit 退出这个非交互式终端
connect 连接(重新连接)到 hypervisor
查看存储池配置文件
查看kvm.xml中的信息:
[root@kvm ~]# cat /etc/libvirt/storage/kvm.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh pool-edit kvm
or other application using the libvirt API.
-->
<pool type='dir'>
<name>kvm</name>
<uuid>22c01c11-bc13-44a0-bc84-d7fccc55e20d</uuid>
<capacity unit='bytes'>0</capacity>
<allocation unit='bytes'>0</allocation>
<available unit='bytes'>0</available>
<source>
</source>
<target>
<path>/kvm/virtual</path>
</target>
</pool>
三、命令实例
3.1 显示池与卷的信息
列出池
查看池kvm池的信息
查看存储池中卷的信息
3.2 创建存储池
基于目录创建存储池(dir: Filesystem Directory),在本地创建一个测试目录,dir为存储池格式。
virsh pool-define-as dir-test dir --target /kvm/dis-test
3.3 创建存储卷
在本地目录创建一个qcow2格式的存储卷,不加--format参数默认为raw格式。
删除池kvm_iso
热门推荐
Excel下拉菜单怎么添加空选项
Excel下拉菜单增加空白选项的三种方法
揭秘遥控车灵活转向的核心技术:舵机
化工安全常识100条:守护生命,确保安全
沃柑的热量 沃柑吃了会发胖吗
醛固酮增多症的诊断方法详解
如何制作一份好的年终总结PPT?
冠心病人能喝咖啡吗?专家给出专业解答
家庭健康饮食指南:如何科学选择和储存食用油
夏养月季叶片得了红蜘蛛病?3种方法自制杀虫剂,天然又环保
杀害女法官王佳佳的凶手一审被判死刑,因9448元差额付出两条生命
抗坏血酸在食品保鲜中的神奇作用
硬盘尺寸与接口详解:从2.5英寸到FC光纤通道
买房贷款批不下买家求解约,卖家索要赔偿,法院判合同解除退定金
贷款审核与审批:确保顺利获批的关键流程
軟木塞紅酒沒喝完,保存風味最佳的五個方法
租房也要“卡年龄”!多中介明确“不租给老年人”,郑州情况如何?
怀来湿地的野鸭:绿头鸭、斑嘴鸭、赤麻鸭等众野鸭的生态故事
滇池:野鸭悠然越冬
股票退市最新规则发生了哪些变化?现在有哪些股票要退市?
焦点访谈:长江禁渔鱼归来
你怎么知道你的提醒是善意的?丨心理助人手册
如何校准乌氏粘度计以保持测量结果的准确性
迁移学习在优化模型中的应用与挑战分析
2024年全国GDP数据出炉!人均为1.35万美元,总人口14.08亿
如何选对家中窗帘?6大常见窗帘款式这样选不踩雷
为什么会得尿毒症?医生提醒:出现这些症状要注意,及时就医!
都2025年了,你为什么还在做微信公众号?
北京大学推荐书单:80本必读经典著作
国产金属风暴高速武器亮相:射速达100万发/分钟,反无人机新利器