首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KVM的基础使用

KVM的基础使用

作者头像
用户1456517
发布2019-03-05 16:03:50
1.3K0
发布2019-03-05 16:03:50
举报
文章被收录于专栏:芝麻实验室芝麻实验室
  • 环境说明:
    • Centos 7

环境检测

  • 安装和使用KVM前,需事先确认CPU是否支持硬件虚拟化。如果返回lm(KVM仅支持x84_64平台,lm即64位)及vmx/svm(vmx:英特尔CPU虚拟化技术; svm:AMD的CPU虚拟化技术)中任一值则说明CPU支持硬件虚拟化技术。
# grep -i -E '(vmx|svm|lm)' /proc/cpuinfo
请输入图片描述
请输入图片描述
  • 如果使用的是VMware Workstation,则需要开启虚拟化引擎
请输入图片描述
请输入图片描述

启用KVM

# modprobe kvm #装载kvm模块。如果没有手动装载,在使用KVM时,系统将自动装载
# lsmod | grep -i kvm #检测当前系统是否已装载KVM模块
请输入图片描述
请输入图片描述

使用virt-manager管理KVM

  • 安装kvm相关软件包
# yum -y install qemu-kvm libvirt-daemon-kvm virt-manager
# systemctl start libvirtd.service
  • 如下图所示,安装kvm后,将自动在本地创建一个名为virbr0的NAT虚拟网桥
请输入图片描述
请输入图片描述
  • 查看当前本机所有桥设备。一般来说,我们直接使用NAT桥做虚拟机相关操作即可;同时,除了可以使用自动生成的桥,我们也可以自定义桥。
请输入图片描述
请输入图片描述

自定义桥

  • 创建一个自定义的物理桥
# yum -y install bridge-utils
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-ens33 ifcfg-br0
# vim ifcfg-ens33
请输入图片描述
请输入图片描述
# vim ifcfg-br0 
请输入图片描述
请输入图片描述
# systemctl restart network.service
  • 此时,ens33不在是网卡设备,而是相当于交换机,并连接到物理桥br0上
请输入图片描述
请输入图片描述
  • 可以看见,此时多了一个桥。现在,我们可以基于自动创建的NAT桥或自定义的物理桥来使用KVM虚拟机了。
请输入图片描述
请输入图片描述

使用KVM虚拟机

# virt-manager #启动图像管理工具
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
  • 选择相应的系统,等待安装完毕即可。
请输入图片描述
请输入图片描述

使用自定义存储设备

  • 创建自定义的存储块设备
# mkdir -pv /vm/images
mkdir: created directory ‘/vm’
mkdir: created directory ‘/vm/images’
# qemu-img create -f qcow2 -o size=120G,preallocation=metadata /vm/images/c1.qcow2 
Formatting '/vm/images/c1.qcow2', fmt=qcow2 size=128849018880 encryption=off cluster_size=65536 preallocation='metadata' lazy_refcounts=off 
# virt-manager #在创建虚拟机上,除了选择存储块时不同外,其它没什么区别,依据安装向导提示安装即可(如果选择的是PXE安装,需选定网卡启动模式)
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述

导入KVM虚拟镜像系统

# cp cirros-0.3.0-x86_64-disk.img /vm/images/c4.img
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述

使用原生qemu-kvm管理虚拟机

# qemu-kvm #键入命令行后系统会提示无法找到该命令,这是因为官方推荐使用libvirt工具栈(eg:virsh)。如果确定想使用qemu-kvm,创建一个软链接到PATH路径下即可。
# ln -sv /usr/libexec/qemu-kvm /usr/bin/ #执行程序的路径通过"rpm -q qemu-kvm"获取即可
# ‘/usr/bin/qemu-kvm’ -> ‘/usr/libexec/qemu-kvm’
# cp cirros-0.3.0-i386-disk.img /vm/images/c7.img
# qemu-kvm -name c2 -m 64 -smp 4,sockets=2,cores=2  -drive file=/vm/images/c7.img,if=virtio,media=disk -nographic #如果没有手动指定 默认使用vnc 
  • 这里,可能会遇到的一个问题时,Cirros项目为了测试网络的联通性,默认会远程连接到一个IP地址测试,如果失败,将持续30次,直到网络畅通或全部失败,才启动。如下:
请输入图片描述
请输入图片描述
  • 为提高测试速度,我们可以使用该项目下载目录下,名称带有no-cloud的镜像文件,即可跳过该网络测试检查。
# cp cirros-0.3.0-nocloud-disk.img /vm/images/c8.img
# qemu-kvm -name c8 -m 64 -smp 4,sockets=2,cores=2  -drive file=/vm/images/c8.img,if=virtio,media=disk -vnc :0 & #或使用--daemonize显示声明置于后台
  • 查看当前KVM服务状态
请输入图片描述
请输入图片描述
  • 远程连接到KVM虚拟机
# vncviewer :0 #此处表示连接到第1号桌面。同理,5901则为2号
请输入图片描述
请输入图片描述

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/12/14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档