周振林 周振林
首页
  • 前端文章

    • HTML
    • CSS
    • Tailwind CSS (opens new window)
    • JavaScript
    • Vue3
    • 其他
  • 学习笔记

    • 《JavaScript教程》
    • 《ES6 教程》
    • 《TypeScript》
    • 《Vue》
    • 《Git》
    • 《小程序笔记》
    • 《JS设计模式总结笔记》
  • 规范
  • Spring
  • 安装教程
  • 其他教程
  • 归真医学
  • 常用药材
  • 学习笔记
  • 经方学习心得
  • 基础
  • 虚拟化
  • Docker
  • OpenStack
  • 心情杂货
关于
收藏
  • 分类
  • 标签
  • 归档

周振林

IT界的小学生
首页
  • 前端文章

    • HTML
    • CSS
    • Tailwind CSS (opens new window)
    • JavaScript
    • Vue3
    • 其他
  • 学习笔记

    • 《JavaScript教程》
    • 《ES6 教程》
    • 《TypeScript》
    • 《Vue》
    • 《Git》
    • 《小程序笔记》
    • 《JS设计模式总结笔记》
  • 规范
  • Spring
  • 安装教程
  • 其他教程
  • 归真医学
  • 常用药材
  • 学习笔记
  • 经方学习心得
  • 基础
  • 虚拟化
  • Docker
  • OpenStack
  • 心情杂货
关于
收藏
  • 分类
  • 标签
  • 归档
  • 基础

  • 虚拟化

    • 虚拟化介绍
    • 准备KVM实验环境
    • 启动第一个KVM虚拟机
    • 远程管理KVM虚拟机
    • KVM内存和CPU虚拟化原理
    • KVM存储虚拟化原理
    • KVM LVM类型的存储池
    • KVM网络虚拟化基础
    • KVM动手实践虚拟网络
    • KVM理解virbr0
    • Linux 如何实现 VLAN
    • 动手实践 Linux VLAN
    • 云计算与 OpenStack
    • ESXI主机安装与配置
    • ESXI虚拟机安装
    • KVM介绍
    • KVM主机安装
    • KVM虚拟机安装
    • KVM Libvirt 存储池
      • KVM Libvirt 存储池
        • 概念
        • 存储池相关命令
        • 存储池管理
      • vmware 扩展之后将存储分配给centos-root
    • KVM网络配置
  • Docker

  • OpenStack

  • 心情杂货

  • 更多
  • 虚拟化
周振林
2024-09-23
目录

KVM Libvirt 存储池

# KVM Libvirt 存储池

# 概念

KVM必须要配置⼀个⽬录当作他存储磁盘镜像(存储卷)的⽬录,我们称这个⽬录为存储

默认存储池

/var/lib/libvirt/images/ 
1

# 存储池相关命令

切换成root用户

su
1

显示出libvirt管理的存储池

# virsh pool-list
 Name       State    Autostart
--------------------------------
 default   active   yes 
1
2
3
4

根据一个存储池名称查询其基本信息

# virsh pool-info default
Name:           default
UUID:           4a090743-9b68-4ebc-8cc6-91f749d6e93c
State:          running
Persistent:     yes
Autostart:      yes
Capacity:       12.73 TiB
Allocation:     123.52 GiB
Available:      12.61 TiB
1
2
3
4
5
6
7
8
9

查看存储池

[root@Node1 qemu]# virsh  pool-dumpxml default

<pool type='dir'>
  <name>default</name>
  <uuid>b0c0c4fe-60a5-4773-87cd-c55f3fc1c620</uuid>
  <capacity unit='bytes'>38304645120</capacity>
  <allocation unit='bytes'>9754431488</allocation>
  <available unit='bytes'>28550213632</available>
  <source>
  </source>
  <target>
    <path>/var/lib/libvirt/images</path>
    <permissions>
      <mode>0711</mode>
      <owner>0</owner>
      <group>0</group>
      <label>system_u:object_r:virt_image_t:s0</label>
    </permissions>
  </target>
</pool>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

关闭一个存储池

virsh pool-destroy default
1

启动并开机自动启动一个已定义的存储池

启动已定义的存储池
# virsh pool-start vmdisk

开机自动启动已定义的存储池
# virsh pool-autostart vmdisk 
1
2
3
4
5

取消定义存储池

# virsh pool-undefine vmdisk
1

删除一个存储池

virsh pool-delete default
1

列出存储在默认存储池中的所有现有 VM 映像

virsh vol-list default | grep "/var/lib/libvirt/images/"
1

使用命令编辑默认存储池 使用 virsh 命令更改 KVM Libvirt 默认存储池位置只要确保新路径存在即可。 如果存在,只需创建它并为新路径目录分配足够的权限。 保存文件并关闭它。

virsh pool-edit default 
1

重启 libvirtd 服务

# sudo systemctl restart libvirtd
1

# 存储池管理

创建基于⽂件夹的存储池(⽬录)

# mkdir -p /data/vmfs
1

定义存储池与其⽬录

# virsh pool-define-as --name vmdisk --type dir --target /data/vmfs

说明:
--name 存储池名称
--type 存储池类型
--target 存储池目录
1
2
3
4
5
6

启动存储池

# virsh pool-start default
1

在系统启动时自动启动存储池

# virsh pool-autostart default
1

查看已定义的存储池

# virsh pool-list --all
1

这⾥vmdisk存储池就已经创建好了,可以直接在这个存储池中创建虚拟磁盘⽂件了。

在存储池中创建虚拟机存储卷

# virsh vol-create-as --pool vmdisk oeltest03.qcow2 20G --format qcow2
1

注1:KVM存储池主要是体现⼀种管理⽅式,可以通过挂载存储⽬录,lvm逻辑卷的⽅式创建存储池, 虚拟机存储卷创建完成后,剩下的操作与⽆存储卷的⽅式⽆任何区别了。 注2:KVM存储池也要⽤于虚拟机迁移任务。

在存储池中删除虚拟机存储卷

# virsh vol-delete --pool vmdisk oeltest03.qcow2
1

删除存储池定义的⽬录/data/vmfs

# virsh pool-delete vmdisk
1

取消定义存储池

# virsh pool-undefine vmdisk
1

# vmware 扩展之后将存储分配给centos-root

https://blog.csdn.net/xudingzhang/article/details/129905679

Last Updated: 2025/06/18, 08:59:15
KVM虚拟机安装
KVM网络配置

← KVM虚拟机安装 KVM网络配置→

最近更新
01
Docker安装
06-10
02
Docker运行JAR
06-10
03
Docker部署MySQL
06-10
更多文章>
Copyright © 2019-2025 鲁ICP备19032096号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式