kvm(安装部署+新建虚拟机+常用命令)

在这里插入图片描述

1. KVM

目前常用的虚拟机技术主要有KVM、xen、vmware。

KVM是指基于Linux内核(Kernel-based)的虚拟机(Virtual Machine)。KVM最大的好处就在于它是与Linux内核集成的,所以速度很快。KVM的宿主操作系统必须是Linux,支持的客户机操作系统包括Linux、Windows、Solaris和BSD,运行在支持虚拟化扩展的x86和x86_64硬件架构上,cpu支持VT技术。

Xen是一个开放源代码虚拟机监视器,Xen的缺点是操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性),所以比较麻烦。使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。Linux的官方内核在较早之前已经去掉了对Xen的支持。

VMWare (Virtual Machine ware)是一个“虚拟PC”虚拟机管理管理软件。它的产品可以使你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。安装在VMware操作系统性能上比直接安装在硬盘上的系统低不少,因此,比较适合学习和测试。

KVM、Xen、VMWare的对比如下表所示

是否开源是否免费性能优缺点
KVM1.KVM是内核本身的一部分,因此可以利用内核的优化和改进。2.高性能, 稳定, 无需修改客户机系统。3.开源、免费
XEN1.性能较好。2.开源、免费 1.操作复杂,维护成本较高,目前已被RedHat抛弃
VMWare一般1.相对比较成熟的商业软件,市场占有率较大 2.不开源,需要付费

1.1. 安装

1.1.1. 查看CPU是否支持KVM

输入:

egrep ‘vmx|svm’ /proc/cpuinfo --color=auto 

可以看到grep出来的内容,就说明支持kvm

1.1.2. 通过yum进行安装

输入:

yum install -y qemu-kvm libvirt virt-install virt-manager virt-viewer 

qemu-kvm: 为kvm提供底层仿真支持

libvirt: 使用最多的KVM虚拟化管理工具和应用程序接口,即通过libvirt调用KVM创建虚拟机, libvirt是KVM通用的访问API,其不但能管理KVM,还能管理VMware、Xen、Hyper-V、 virtualBox等虚拟化方案

virt-manager: 图形界面管理工具,其底层也是调用libvirt API来完成对虚拟机的操作,包括虚拟机的 创建、删除、启动、停止以及一些简单的监控功能等

virt-install: 虚拟机命令行安装工具

virt-viewer: 通过 VNC 和 SPICE 协议显示虚拟机器图形控制台的最小工具。该工具在其同名软件包 中:virtviewer

1.1.3. 启动并设置开机启动

systemctl start libvirtd

systemctl enable libvirtd

1.1.4. 创建ISO系统镜像存放目录

mkdir /iso

通过各种方法上传此目录安装镜像

1.2. 使用虚拟机

虚拟机是由两部分组成:硬件信息文件和硬盘文件

/etc/libvirt/qemu/虚拟机.xml ##虚拟机硬件信息文件
/var/lib/libvirt/images/虚拟机.qcow2 ##虚拟机硬盘文件

1.2.1. 图形化界面

1.2.1.1. virt-manager打开虚拟机管理器(宿主机桌面级别)
1.2.1.2. 安装web管理工具

1.2.2. 命令行

1.2.2.1. 新建虚拟机范本
virt-install \
-n kvm4 \
-r 4000 \
--vcpus 4 \
--disk /kvm3-xx/kvm4.qcow2,size=100,cache=none \
--location /iso/centos7.iso \
--nographics \
--network bridge=br0 \
--os-type linux \
--os-variant rhel7 \
--console pty,target_type=serial \
--extra-args 'console=ttyS0,115200n8 serial'

采用命令行安装方式,–nographics改为–graphics vnc,listen=0.0.0.0,port=5905可使用vnc工具图形安装

1.2.2.2. 安装命令解释
virt-install \				#创建命令

-n vm2 \					#虚拟机显示名(非虚拟机主机名)

-r 2048 \					#虚拟机内存大小

--vcpus 1 \					#虚拟机cpu个数

--disk /kvm/img/vm2.qcow2 \			  #系统磁盘卷路径

--location /kvm/iso/centos7.iso \		#系统安装iso路径

--nographics \										#不调用图形化界面

--network bridge=br0 \								#网卡1指定网桥

--network bridge=br0 \								#网卡2指定网桥

--os-type linux \									#操作系统类型

--os-variant rhel7 \							  #操作系统版本

--console pty,target_type=serial \					#console控制通道

--extra-args 'console=ttyS0,115200n8 serial'		#文本输出

1.3. 常用命令

virsh list --all  列出kvm虚拟机列表,查看是否开机状态
virsh console *** 进入虚拟机
virsh shutdown *** 虚拟机关机
virsh reboot *** 虚拟机重启
virsh destroy xxx 强制停止虚拟机
virsh undefine xxx 彻底销毁虚拟机,会删除虚拟机配置文件,但不会删除虚拟磁盘
virsh autostart xxx  设置宿主机开机时该虚拟机也开机
virsh autostart --disable xxx   解除开机启动
退出虚拟终端,按Ctrl + ]

1.3.1.快照管理

创建快照:

virsh snapshot-create-as kvm1 k1   #创建一个名为 k1 的快照,其中 kvm1 是虚拟机的名称。

列出快照:

virsh snapshot-list kvm1        #列出指定虚拟机的所有快照。

查看快照信息:

virsh snapshot-info kvm1 k1     #查看指定虚拟机的特定快照的详细信息。

恢复快照:

virsh snapshot-revert kvm1 k1      #将虚拟机恢复到指定的快照状态。

删除快照:

virsh snapshot-delete kvm1 k1     #删除指定虚拟机的特定快照。

删除所有快照:

virsh snapshot-delete-all         #kvm1删除指定虚拟机的所有快照。
  • 27
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

歌颂平凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值