一、为了提高内存、硬盘、网络的性能,需要支持半虚拟化;virtio半虚拟化驱动
二、对虚拟机的管理都是通过libvirt;所有必须要启用一个守护程序libvirtd。
三、virt-manager
①定义和创建虚拟机
②硬件管理
③性能监视
④虚拟机的保存和恢复、暂停和继续、关闭和启动
⑤控制台
⑥在线和离线迁移
四、virsh
virsh是使用libvirt managerment API构建的管理工具
virsh的名称含义是virtualization shell。有两种工作模式
立即模式:
virsh list --all
交互模式:
virsh [回车]
virsh常用命令
命令 | 描述 |
attach-device | 使用XML文件中的设备定义在虚拟机中添加设备 |
attach-disk | 在虚拟机中附加新磁盘设备 |
attach-interface | 在虚拟机中附加新网络接口 |
create | 从XML配置文件生成虚拟机并启动新虚拟机 |
define | 为虚拟机输出XML配置文件 |
destroy | 强制虚拟机停止 |
detach-device | 从虚拟机中分离设备 |
detach-disk | 从虚拟机中分离磁盘设备 |
detach-interface | 从虚拟机中分离网络接口 |
domblkstat | 显示正在运行的虚拟机的块设备统计 |
domid | 显示虚拟机id |
domifstat | 显示正在运行的虚拟机的网络接口统计 |
dominfo | 显示虚拟机信息 |
domname | 显示虚拟机名称 |
domstate | 显示虚拟机状态 |
domuuid | 显示虚拟机的uuid |
dumpxml | 输出虚拟机XML配置文件 |
help | 帮助信息 |
list | 列出所有虚拟机 |
migrate | 将虚拟机迁移到另一台主机中 |
nodeinfo | 有关管理程序的输出信息 |
quit | 退出这个互动终端 |
reboot | 重启这个虚拟机 |
restore | 恢复以前保存在文件中的虚拟机 |
resume | 恢复暂停的虚拟机 |
save | 将虚拟机当前状态保存在某个文件中 |
setmaxmem | 为管理程序设定内存限 |
setmem | 为虚拟机设定分配的内存 |
setvcpus | 修改为虚拟机分配的虚拟CPU数目 |
shutdowm | 关闭某个虚拟机 |
start | 启动未激活的虚拟机 |
suspend | 暂停虚拟机 |
undefine | 删除与虚拟机关联的所有文件 |
vcpuinfo | 显示虚拟机的虚拟CPU信息 |
vcpupin | 控制虚拟机的虚拟CPU亲和性 |
version | 显示cirsh版本 |
1.查看KVM虚拟机默认配置文件位置及运行状态
(1)KVM虚拟机默认配置文件位置:/etc/libvirt/qemu
autostart目录是配置kvm虚拟机开机自启动目录
(2)virsh命令帮助
# virsh --help
或者直接virsh命令,再执行子命令
(3)查看kvm虚拟机状态
# virsh list --all
2.KVM虚拟机开机
#virsh start kvmname
3.KVM虚拟机关机或断电
(1)关机
默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务
# chkconfig acpid on
# service acpid restart
virsh关机
#virsh shutdown kvmname
(2)强制关闭电源
#virsh destroy kvmname
4.通过配置文件启动虚拟机
# virsh create /etc/libvirt/qemu/XXX.xml
5.配置开机自启动虚拟机
# virsh autostart kvmname
autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有kvm配置文件链接
6.导出KVM虚拟机配置文件
#virsh dumpxml kvmname > /etc/libvirt/qemu/kvmname.xml
KVM虚拟机配置文件可以通过这种方式进行备份
7.添加与删除KVM虚拟机
(1)删除kvm虚拟机
# virsh undefine kvmname
该命令只是删除kvmname的配置文件,并不删除虚拟机磁盘文件
(2)重新定义虚拟机配置文件
通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机
# mv /etc/libvirt/qemu/kvmname.bak /etc/libvirt/qemu/kvmname.xml
# virsh define /etc/libvirt/qemu/kvmname.xml
8.编辑KVM虚拟机配置文件
# virsh edit kvmname
virsh edit 将调用vi命令编辑配置文件。也可以直接通过vi编辑配置文件,不建议这样做
9.virsh console控制台管理linux虚拟机
# virsh console kvmname
10.其他virsh命令
(1)挂起服务器
# virsh suspend kvmname
(2)恢复服务器
# virsh resume kvmname
virsh命令丰富,仅提供以上思路。