KVM(Kernel-based Virtual Machine)是一种基于Linux内核的虚拟化技术,它将Linux内核作为虚拟机的底层操作系统,利用硬件虚拟化支持创建和管理虚拟机。KVM虚拟化技术被广泛应用于云计算、虚拟化服务器、虚拟化桌面等场景。
KVM虚拟化技术的主要特点包括:
1.硬件虚拟化支持:KVM虚拟化技术利用硬件虚拟化技术(如Intel VT、AMD-V等)来提供虚拟化支持,这样可以在虚拟机中运行各种操作系统,而无需对应用程序进行修改。
2.性能优越:KVM虚拟化技术利用硬件虚拟化支持,在虚拟机中运行应用程序的性能与在物理机上运行时相差无几,因此具有非常高的性能。
3.安全可靠:KVM虚拟化技术使用硬件虚拟化支持,每个虚拟机都是独立的,因此可以提供更高的安全性和可靠性。
4.灵活性高:KVM虚拟化技术支持多种操作系统,可以在同一台物理机上运行多个虚拟机,从而提高硬件利用率,并且可以按需创建和删除虚拟机,从而提高灵活性。
KVM虚拟化技术的工作原理是将Linux内核作为虚拟机的底层操作系统,利用硬件虚拟化支持创建虚拟机,并为每个虚拟机提供分配的虚拟硬件资源,包括CPU、内存、磁盘和网络等。每个虚拟机都可以运行自己的操作系统和应用程序,并且与其他虚拟机隔离。KVM虚拟化技术利用QEMU(Quick Emulator)来提供虚拟机管理功能,包括虚拟机创建、启动、停止和删除等操作。
环境
打开AMD虚拟化
查看是否支持
如果有输出就支持
[root@localhost ~]# egrep -o 'vmx|svm' /proc/cpuinfo
svm
svm
svm
svm
关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config
下载所需要的软件包
[root@centos32 ~]# yum -y install qemu-kvm qemu-kvm-tools virt-install qemu-img bridge-utils libvirt virt-manager
调整网卡配置文件
[root@centos32 ~]# cd /etc/sysconfig/network-scripts/
[root@centos32 network-scripts]# cp ifcfg-ens32 ifcfg-br0
[root@centos32 network-scripts]# vim ifcfg-br0
[root@localhost ggggS]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 DEVICE=ens33 ONBOOT=yes BRIDGE=br0 [root@localhost ggggS]# cat /etc/sysconfig/network-scripts/ifcfg-br0 TYPE=Bridge PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=br0 DEVICE=br0 ONBOOT=yes IPADDR=192.168.50.66 NETMASK=255.255.255.0
形化界面安装
输入命令进入virt-manager
随便一个名字
设置创建一个路径
准备镜像
[root@localhost ~]# cd /vfasffaf/ggggS/ 进入目录把镜像拖进去
准备生成虚拟机
选择路径
设置内存
可以不做
左上角启动
完成页面
查看虚拟机
[root@localhost ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
1 ubuntu14.04 running
关闭虚拟机
[root@localhost ~]# virsh shutdown ubuntu14.04
域 ubuntu14.04 被关闭
[root@localhost ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
1 ubuntu14.04 running
开启虚拟机
[root@localhost ~]# virsh start ubuntu14.04
强制关机
[root@localhost ~]# virsh destroy ubuntu14.04
域 ubuntu14.04 被删除
[root@localhost ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- ubuntu14.04 关闭
[root@localhost ~]# virsh start ubuntu14.04
域 ubuntu14.04 已开始
恢复虚拟机挂起
[root@localhost ~]# virsh resume ubuntu14.04
挂起虚拟机
[root@localhost ~]# virsh suspend ubuntu14.04
域 ubuntu14.04 被挂起
恢复虚拟机挂起
[root@localhost ~]# virsh resume ubuntu14.04
域 ubuntu14.04 被重新恢复
设置虚拟机开机和物理机一起自动启动
[root@localhost ~]# virsh autostart ubuntu14.04
域 ubuntu14.04标记为自动开始
备份虚拟机配置文件,备份虚拟机到根目录下
[root@localhost ~]# virsh dumpxml ubuntu14.04 > /ubuntu14.04
[root@localhost ~]# ll /ubuntu14.04
-rw-r--r-- 1 root root 5322 8月 30 14:28 /ubuntu14.04
删除虚拟机和恢复备份虚拟机
[root@localhost ~]# virsh undefine ubuntu14.04
域 ubuntu14.04 已经被取消定义
[root@localhost ~]# virsh create ubuntu14.04
虚拟机的克隆和快照
1)虚拟机的克隆,将Centos克隆为指定虚拟机磁盘文件类型
[root@localhost ~]# virt-clone -o ubuntu14.04 -n ubuntu14.04 -f /virtual/KVM /ubuntu14.04
usage: virt-clone --original [NAME] ...
2)virt-clone: error: unrecognized arguments: /ubuntu14.04
虚拟机创建快照
[root@localhost ~]# virsh snapshot-create ubuntu14.04
3)恢复用户创建的快照
[root@localhost ~]# virsh snapshot-revert ubuntu14.041574074089
4)查看快照
[root@localhost ~]# virsh snapshot-list ubuntu14.04
5)删除虚拟机创建的快照
[root@localhost ~]# virsh snapshot-delete ubuntu14.04 1574074089
6)修改虚拟机创建的快照名字
[root@localhost ~]# virsh snapshot-edit ubuntu14.04
--snapshotname 1574074089 --rename