安装部署KVM虚拟机(四)

Libvirt提供了用户空间的命令行和编程语言绑定来管理虚拟机的build, configure, start, stop,migrate, terminate,etc.

OpenStack的组件中也做了集成。

https://blog.csdn.net/xxfigo/article/details/7590229

Nova是OpenStack云中的计算组织控制器。支持OpenStack云中实例(instances)生命周期的所有活动都由Nova处理。这样使得Nova成为一个负责管理计算资源、网络、认证、所需可扩展性的平台。但是,Nova自身并没有提供任何虚拟化能力,相反它使用libvirt API来与被支持的Hypervisors交互。

安装和配置libvirt

查看libvirt的守护进程是否在执行

修改配置/etc/libvirt/libvirtd.conf

查看配置

Qemu默认用的Selinux策略

查看SELinux状态

如果SELinux status参数为enabled即为开启状态,也可以用getenforce命令检查

我的机器上没有使用SeLinux。

警用QEMU的安全驱动,如果有selinux在运行。

配置监听

重启libvirt守护进程。

验证配置文件

  • libvirt.conf是客户端的配置文件
  • libvirtd.conf是服务器端的配置文件
  • qemu.conf是libvirt使用QEMU的配置文件
  • QEMU/KVM虚拟机一经创建 /etc/libvirt/qemu/目录下就会出现定义相应实例的XML配置文件,/etc/libvirt/qemu/networks/包含网络配置

还有其他配置文件位置

定义KVM实例

列出宿主机上所有的虚拟机

编写XML配置文件,定义KVM实例

<boot dev>指定了虚拟机的启动设备
有关domain XML的文档 https://libvirt.org/formatdomain.html

virsh从XML创建虚拟机

查看虚拟机列表

取消定义,即删除

自己编写XML定义很容易出错,参考使用 virt-install 命令

启动、停止、移除KVM实例

启动

查看运行状态

验证

可以看见同xml中读取传递了大量参数.

停止KVM实例

移除实例

查看和编辑KVM配置

确保虚拟机正在运行

将配置文件dump到标准输出

Dump到文件

编辑kvm1配置

管理KVM中的CPU和内存资源

获取运行实例的信息

更新可用内存大小

关闭虚拟机

调整最大可用内存为2G

重新启动虚拟机

查看更新后的信息

检查XML内存配置

获取CPU信息

列出被客户机使用的CPU

修改vCPU数目

查看修改后的CPU信息

只是配置值改变了,为什么live值不变呢?

重启之后好了。

给虚拟机增加块设备

给虚拟机添加块设备,可以是iSCSI、LVM逻辑卷或者镜像文件

创建1G的镜像文件

将镜像文件作为磁盘,挂载到虚拟机

连接到KVM实例

查看磁盘信息

查看新磁盘的信息

删除磁盘

虚拟机和宿主机共享文件夹

在宿主机上创建共享目录

停止客户机后,编辑配置文件

accessmode有三种:

  • passthrough,默认,使用的客户机中用户的权限
  • mapped,继承自宿主机QEMU用户的权限
  • squash,与passthrough类似,但禁用chmod

登录后查看9p和virto模块都在

如果没有加载,则加载

将共享目录挂载到/mnt

查看宿主机中共享的文件

如何取消挂载呢?重启之后报错。

设置自动启动KVM实例

默认情况下,KVM实例要等宿主机操作系统启动之后,才能运行。

当宿主机操作系统重启时,即使libvirt守护进程运行着,libvirt创建的实例并不会自动运行。

可以设置libvirt守护进程启动时,即启动KVM实例。

停止运行的实例

停止libvirtd守护进程

启动守护进程

查看实例是否自动启动

取消实例自动启动

发布者

Jiaheng Tao

挖掘概念,创造工具

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据