KVM平台以存储池的形式对存储进行统一管理,所谓存储池可以理解为本地目录、通过远端磁盘阵列(iSCSI、NFS)分配过来磁盘或目录,当然也支持各类分布式文件系统。
通过virsh中pool命令能够查看、创建、激活、注册、删除存储池。
下面通过一些实例演示如何管理存储池:
一、查看当前存储池列表
进入到 virsh控制台
1
2
3
4
5
6
7
8
9
10
11
|
[root@kvm02 kvmcontrol]
# virsh -c qemu:///system
欢迎使用 virsh,虚拟化的交互式终端。
输入:
'help'
来获得命令的帮助信息
'quit'
退出
virsh
# pool-list
名称 状态 自动开始
-----------------------------------------
default 活动
yes
poolB 活动 no
|
查看某一存储池的具体信息(以XML形式存在)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# pool-dumpxml default
<pool
type
=
'dir'
>
<name>default<
/name
>
<uuid>a6029537-29c8-285c-4b9a-533d4c264c7f<
/uuid
>
<capacity>52844687360<
/capacity
>
<allocation>26866851840<
/allocation
>
<available>25977835520<
/available
>
<
source
>
<
/source
>
<target>
<path>
/var/lib/libvirt/images
<
/path
>
<permissions>
<mode>0700<
/mode
>
<owner>-1<
/owner
>
<group>-1<
/group
>
<
/permissions
>
<
/target
>
<
/pool
>
|
查看具体信息,结果类似于解析上面的XML:
1
2
3
4
5
6
7
8
9
|
# pool-info default
名称: default
UUID: a6029537-29c8-285c-4b9a-533d4c264c7f
状态: running
Persistent:
yes
自动启动:
yes
容量: 49.22 GB
分配: 25.02 GB
可用: 24.19 GB
|
二、创建一个新的存储池
这里仿照上面的XML文件,编写一个命为poolB的XML文档,内容如下[位于/home/poolB]:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[root@kvm02 home]
# vi poolB
<pool
type
=
'dir'
>
<name>poolB<
/name
>
<
source
>
<
/source
>
<target>
<path>
/home/img
<
/path
>
<permissions>
<mode>0700<
/mode
>
<owner>-1<
/owner
>
<group>-1<
/group
>
<
/permissions
>
<
/target
>
<
/pool
>
|
调用pool-create命令,加载上面的XML文件:
1
2
3
4
5
6
7
8
|
virsh
# pool-create /home/poolB
从 poolB 中创建池
/home/poolB
virsh
# pool-list
名称 状态 自动开始
-----------------------------------------
default 活动
yes
poolB 活动 no
|
查看创建的poolB状态:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
virsh
# pool-info poolB
名称: poolB
UUID: 1e03e100-1f12-f004-1ee2-ae739eda746c
状态: running
Persistent: no
自动启动: no
容量: 451.83 GB
分配: 100.22 GB
可用: 351.61 GB
virsh
# pool-dumpxml poolB
<pool
type
=
'dir'
>
<name>poolB<
/name
>
<uuid>1e03e100-1f12-f004-1ee2-ae739eda746c<
/uuid
>
<capacity>485150105600<
/capacity
>
<allocation>107614916608<
/allocation
>
<available>377535188992<
/available
>
<
source
>
<
/source
>
<target>
<path>
/home/img
<
/path
>
<permissions>
<mode>0700<
/mode
>
<owner>-1<
/owner
>
<group>-1<
/group
>
<
/permissions
>
<
/target
>
<
/pool
>
|
三、KVM存储池管理目录
KVM创建的存储池可以理解为一种映射关系,即将某一块挂接至宿主机器上的存储空间形成可被KVM使用的逻辑存储池,以方便虚拟主机的管理。
默认KVM将这些存储池的配置文件存放于/etc/libvirt/storage
四、删除一个存储池
删除poolB的命令如下:
1
2
3
4
5
6
7
|
virsh
# pool-destroy poolB
销毁池 poolB
virsh
# pool-list
名称 状态 自动开始
-----------------------------------------
default 活动
yes
|
当然了,以上是命令方法操作,我们也可以在图形化下进行操作
本文转自 jackjiaxiong 51CTO博客,原文链接:http://blog.51cto.com/xiangcun168/1680498