KVM虚拟化技术(五)虚拟机管理

时间:2023-03-08 16:37:44
KVM虚拟化技术(五)虚拟机管理

一、为了提高内存、硬盘、网络的性能,需要支持半虚拟化;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命令丰富,仅提供以上思路。