检测是否支持 KVM 虚拟化
KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持 KVM。有返回结果,如果结果中有 vmx(Intel)或 svm(AMD)字样,就说明 CPU 的支持的。
cat /proc/cpuinfo | egrep 'vmx|svm'
复制代码
由此可看到,我这边是支持的;
有一个要注意的就是:要关闭 selinux 沙盒
#进入selinux中配置
vim /etc/sysconfig/selinux
#将第6行设置为disabled
SELINUX=disabled
#保存退出;重启系统生效
复制代码
如果是虚拟机的话,记得在虚拟机设置中开启虚拟化
查看是否加载上 KVM
[root@kvm ~]# lsmod | grep kvm
kvm_intel 188644 0
kvm 621480 1 kvm_intel
irqbypass 13503 1 kvm
复制代码
有结果则加载上了 KVM,如果没有的话可执行以下命令,再次查看;
[root@kvm ~]# lsmod | grep kvm
复制代码
安装 KVM 相关软件包
通过 yum 安装 kvm 基础包和管理工具
kvm 相关安装包及其作用:
qemu-kvm 主要的KVM程序包
python-virtinst 创建虚拟机所需要的命令行工具和程序库
virt-manager GUI虚拟机管理工具
virt-top 虚拟机统计命令
virt-viewer GUI连接程序,连接到已配置好的虚拟机
libvirt C语言工具包,提供libvirt服务
libvirt-client 为虚拟客户机提供的C语言工具包
virt-install 基于libvirt服务的虚拟机创建命令
bridge-utils 创建和管理桥接设备的工具
复制代码
安装 KVM 所需的包
yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install
复制代码
开启 KVM 服务 libvirt 并设置开机自启
[root@kvm ~]# systemctl start libvirtd
[root@kvm ~]# systemctl enable libvirtd
复制代码
查看 libvirt 当前的状态
[root@kvm ~]# systemctl status libvirtd
复制代码
这样就是正在运行时(绿色的 running)
设置机器的存储
首先就是看那块有空间
可以看到/home 目录下是有空间的,那么我们就将数据放到/home 下:
在/home 目录下创建两个目录,一个存放系统镜像,一个做虚拟机的存储盘
[root@kvm ~]# mkdir /home/iso
[root@kvm ~]# mkdir /home/images
复制代码
准备镜像
可以自己下载一个传到服务器中,也可以使用 wget 下载一个
wget https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso
复制代码
上传镜像并将镜像放到/home/iso 目录下
mv CentOS-7-x86_64-Minimal-2009.iso /home/iso/
复制代码
创建物理桥接设备
1.查看网卡信息
2.关闭 NetworkManager 服务
[root@kvm ~]# chkconfig NetworkManager off
[root@kvm ~]# service NetworkManager stop
复制代码
3.桥接设备关联网卡
设备网卡要看自己的网卡名称,我这边是 ens33,用 ifconfig 查看;第一步已经说了;
[root@kvm ~]# virsh iface-bridge ens33 br0
复制代码
4.查看是否成功
多了一个 br0,就可以看到已经成功了;
进入图形化界面
如果虚拟机不是在本地的话,就需要装一个 Xmanager(虚拟化界面工具),可自行百度下载;
虚拟机中:进入图形化界面:
如果发现虚拟机没有反应,那就是安装的时候选择的最小安装,没有安装桌面环境;我们先来安装一下 GNOME 桌面环境
yum groupinstall -y "GNOME Desktop"
复制代码
安装完成之后,init 5 进入 GNOME 桌面环境:到虚拟机(vmvare)里操作;
进入 GNOME 桌面环境之后按照下面一步步走就可以了;
时区设置为上海
开始使用就好了
开始使用 KVM
进入 GNOME 桌面环境之后我们打开终端;
在虚拟机中创建新的虚拟机
#使用virt-manager命令打开虚拟机管理器
virt-manager
复制代码
打开虚拟系统管理器
前面已经让上传了一个 iso 映像了,我们就用前面上传的吧,如果没上传创建虚拟机会找不到 iso 映像的。
如果要给大一点的话可以查看自己的磁盘空间,哪个目录大,就把 iso 放到哪个目录,这样就可以选择更大的空间了;
点击完成就开始创建
登录账号密码,账号就是 root,密码就是刚刚设置的 root 密码;
新的虚拟机创建完成
这样就可以在虚拟机中创建一个虚拟机了,也就是 KVM 了。
【附加】virsh 常用命令
[root@kvm ~]# virsh --help #查看命令帮忙
[root@kvm ~]# virsh list #显示正在运行的虚拟机
[root@kvm ~]# virsh list --all #显示所有的虚拟机
[root@kvm ~]# virsh start vm-node1 #启动vm-node1虚拟机
[root@kvm ~]# virsh shutdown vm-node1 #关闭vm-node1虚拟机
[root@kvm ~]# virsh destroy vm-node1 #虚拟机vm-node1强制断电
[root@kvm ~]# virsh suspend vm-node1 #挂起vm-node1虚拟机
[root@kvm ~]# virsh resume vm-node1 #恢复挂起的虚拟机
[root@kvm ~]# virsh undefine vm-node1 #删除虚拟机,慎用
[root@kvm ~]# virsh edit vm-node1 #修改vm-node1的xml配置文件(内存、磁盘空间....)都可以修改
[root@kvm ~]# virsh dominfo vm-node1 #查看虚拟机的配置信息
[root@kvm ~]# virsh domiflist vm-node1 #查看网卡配置信息
[root@kvm ~]# virsh domblklist vm-node1 #查看该虚拟机的磁盘位置
[root@kvm ~]# virsh dumpxml vm-node1 #查看KVM虚拟机当前配置
[root@kvm ~]# virsh dumpxml vm-node1 > vm-node1.bak.xml #备份vm-node1虚拟机的xml文件,原文件默认路径/etc/libvirt/qemu/vm-node1.xml
[root@kvm ~]# virsh autostart vm-node1 #KVM物理机开机自启动虚拟机,配置后会在此目录生成配置文件/etc/libvirt/qemu/autostart/vm-node1.xml
[root@kvm ~]# virsh autostart --disable vm-node1 #取消开机自启动
复制代码
[root@kvm ~]# virsh snapshot-create test #创建快照
[root@kvm ~]# virsh snapshot-current test #查看快照版本信息
[root@kvm ~]# virsh snapshot-list test #查看快照信息
[root@kvm ~]# virsh snapshot-revert test 初始化环境(快照名称) #恢复虚拟机至1620616838
[root@kvm ~]# virsh snapshot-delete test 刚安装的vim(快照名称) #删除快照
复制代码
/var/lib/libvirt/qemu/snapshot/
复制代码
评论