virsh 是 Libvirt 自带 的 命令行 工具。 通过 virsh 命令, 可以 很 方便 地 对 虚拟 机 的 CPU、 内存、 网络 和 磁盘 等 各种 资源 进行 管理。 virsh 主要 是 通过 xml 文件 来 对这 些 资源 进行 描述 的。
Libvirt 的 xml 文件分为 几个 重要 部分。 首先 看 整体 结构:
在 Libvirt 官方 文档 里面, 将 虚拟 机 定义 为 domain,Xen 中 Domain 0 表示 宿主 机 系统。而在 KVM 中, domain 完全 指 虚拟 机 系统。
type 一项 指明 了 使 用的 是 哪种 虚拟 化 技术。 如果 使 用的 是 KVM, 那么 值 为 kvm。 如果 使 用的 是 Xen, 那么 值 为 xen。
下面就是一个虚拟机的完整配置文件,并加以说明:
<domain type='kvm'>
#虚拟 机 的 名字 必须 要 保证 是 唯一 的。 如果 存在 重名 的 情况, 添加 和 创建 虚拟 机时会 失败。
<name>centos_x86_6.4</name>
#UUID由字母和数字组成,不能包含空格 用uuidgen 命令可以生成UUID
<uuid>b9dcdd92-9b9b-14d6-3938-1982a9746a12</uuid>
#虚拟机内存信息,通常以KB为单位。一般而言,为了方便内存的管理与分配,都将 memory 和 currentMemory 的值设置为同一值。
<memory unit='KiB'>2097152</memory>
<currentMemory unit='KiB'>2097152</currentMemory>
#分配的虚拟 CPU 的个数。 单个虚拟机