kvm虚拟机安装
KVM虚拟化技术介绍
概述
KVM是基于内核的虚拟化技术(Kernel-based Virtual Machine),于2007年的Linux 2.6.20被合并进Linux内核。KVM要求CPU支持硬件虚拟化技术,即Intel的VT-x或AMD的AMD-V。
KVM相对裸机有2%以内的性能损耗,XEN相对裸机有2.5%的性能损耗。由于XEN需要修改Linux内核,而KVM是集成到每个Linux内核的、KVM相对XEN更加易用等原因,KVM已经成为大多数Linux系统的推荐默认虚拟化机制。
KVM只能完成CPU的虚拟化,而完整的硬件环境还需要网络、硬盘、键盘、鼠标等IO环境,这些硬件环境的模拟是通过QEMU-KVM完成的。
架构说明
下图为维基百科上的架构说明
KVM与virtualbox等的区别
KVM适合于服务端的虚拟化,图形显示能力差,但是CPU的利用效率高;virtualbox图形支持较好,支持2D、3D加速。
注意:KVM与VirtualBox有冲突,二者不能同时使用
操作接口
KVM可通过libvirt这个通用的虚拟机管理库进行管理,使用libvirt的客户端有:命令行下的virsh和GUI下的virt-manager。
安装说明
系统要求
CPU支持硬件虚拟化,有的需要在BIOS中的CPU设置启用虚拟化,在BIOS中的英文通常为virtualization,如果是disabled状态要改成enabled状态。
Linux上查看是否支持虚拟化的方式有:
$ lscpu,输出的文本中带Virtualization: VT-x或Virtualization: AMD-V即说明支持硬件虚拟化,否则不支持$ grep -E "(vmx|svm|0xc0f)" --color=always /proc/cpuinfo,如果没有匹配的内容则说明不支持硬件虚拟化,有匹配的内容说明支持硬件虚拟化
安装KVM
本安装说明以CentOS 7为例
假定CentOS 7 ISO安装文件已下载,并存储于路径/home/kvm/iso/CentOS-7.0-1406-x86_64-Minimal.iso
1 |
[root@localhost ~]# yum -y install qemu-kvm libvirt virt-install bridge-utils |
安装完后,运行virsh -c qemu:///system list,用于检查KVM是否安装成功
1 |
[root@localhost ~]# virsh -c qemu:///system list |
如果没有报错即是安装成功
关闭SELINUX防火墙
1 |
[root@localhost ~]# sed -i 's/=enforcing/=disabled/g' /etc/selinux/config |
网络配置
安装完后,libvirt 会创建一个名为virbr0的 NAT 网络。我们测试时通常需要虚拟机具有单独的IP,而KVM只提供了NAT,桥接两种网络连接方式,故为了实现单独IP我们需要使用桥接网络。
配置桥接网络
注意,通常桥接网络的配置指的是在有线网卡上进行的配置,无线网卡鉴于安全因素不建议配置桥接网络,无线网卡的桥接配置也比较复杂,远没达到实用阶段。
假设宿主机上的有线网卡为enps30(可通过ip addr show命令查看网卡的名称),则需要把enp3s0网卡的配置改成如下内容,并添加ifcfg-br0文件
1 |
[root@localhost ~]# cd /etc/sysconfig/network-scripts |
IPADDR0和GATEWAY0需要根据实际情况调整
配置完成后,需要运行systemctl restart network重启网络
安装guest虚拟机
首先运行如下命令,查看kvm支持的guest虚拟机
1 |
[root@localhost ~]# virt-install --os-variant=list |
guest OS 以CentOS 7的安装,列表中没有centos7,用其上游发行版rhel7代替
运行如下命令安装
1 |
[root@localhost kvm]# virt-install --connect qemu:///system -n centos7_demo \ |
参数说明:
--connect qemu:///system连接到本地系统上的KVM,也可以连接到其他主机上的KVM-n centos7_demo虚拟机的名称,这个例子中叫 centos7_demo-r 512分配给虚拟机的内存,此处为512M-vcpus=4虚拟CPU个数:2--disk path=/home/kvm/images/centos7_demo.img,size=15虚拟机磁盘镜像文件存储路径,存储目录必须是已经存在的目录,文件大小为10GB--graphics vnc,listen=0.0.0.0图形化访问虚拟机的方式:通过VNC协议。也可以使用效率更高的spice协议,spice协议支持音频和USB设备,不过配置较为复杂--noautoconsole不自动连接到控制台--os-type linux操作系统类型,如果是Windows操作系统,则是windows--os-variant rehel7guest操作系统类型,即上面virt-install --os-variant=list中显示的--accelerate使用硬件加速--network=bridge:br0使用类型为桥接的br0网卡–hvm全虚拟化--cdrom/home/kvm/iso/CentOS-7.0-1406-x86_64-Minimal.iso ISO安装文件的存储路径
该命令执行后,我们需要使用VNC客户端连接到安装控制台上
查看本地的VNC连接地址
1 |
[root@localhost ~]# virsh vncdisplay centos7_demo |
:0代表第一个屏幕,VNC的默认连接端口为5900,:0即端口5900,如果是:1则端口是5901,:2端口是5902,以此类推。支持VNC的客户端有TightVNC,TigerVNC,realvnc等。本文使用的是tigervnc。
开放防火墙访问vnc端口
1 |
[root@localhost ~]# firewall-cmd --zone=public --add-port=5900/tcp --permanent |
从另一台支持图形化界面的主机连接到guest虚拟机
1 |
joelhy@arminix: ~ $ vncviewer 192.168.71.47::5900 |
其中,192.168.71.47为KVM宿主机的IP地址,5900是根据上面vncdisplay结果得到的端口,也可以用vncviewer 192.168.71.47:0访问。192.168.71.47需要改成实际使用的IP。
运行vncviewer命令后会打开如下图形化窗口
在此VNC图形化窗口中即可完成安装
虚拟机管理命令
virsh 命令提供了操作虚拟机的一系列命令:
- virsh list —all 获取虚拟机列表
- virsh dominfo {servername} 获取虚拟机信息
- virsh shutdown {servername} 关闭虚拟机
- virsh reboot {servername} 重启虚拟机
- virsh start {servername} 启动虚拟机
- virsh undefine {servername} 删除虚拟机定义文件,即删除/etc/libvirt/qemu目录下相应的xml文件,注意_这个命令并不会删除磁盘img文件,磁盘img文件需要手动删除
- virsh edit {servername} 编辑虚拟机配置文件,即修改虚拟机的内存、CPU以及VNC连接端口等配置
- virt-clone -o {old_servername} -n {new_servername} -f /path/to/img/file.img 复制虚拟机,复制完成后需要登录进虚拟机更改IP地址、hostname
kvm虚拟机安装的更多相关文章
- KVM 虚拟机 安装配置
原创博文安装配置KVM http://www.cnblogs.com/elvi/p/7718574.htmlweb管理kvm http://www.cnblogs.com/elvi/p/7718582 ...
- kvm虚拟化学习笔记(三)之windows kvm虚拟机安装
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- QEMU/KVM虚拟机安装配置
1.安装相关组件: [root@KVM ~]# yum install qemu-img qemu-kvm qemu-kvm-tools virt-manager virt-viewer virt-v ...
- centos7.4下的KVM虚拟机安装使用
本来是用的vmware,不过后来想试下KVM,想着装个ZSTACK也行,结果zstack使用网络安装没搞明白,把物理机系统毁了,这下彻底完蛋了,只好还装个centos了,但是又不想用VMWARE就想起 ...
- KVM虚拟机安装报错 KVM is not available
在linux系统上使用kvm安装系统时,如果你的cpu不支持虚拟化技术那么可能会报以下错误: Warning:KVM is not available. This may mean the KVM p ...
- KVM虚拟机安装使用教程(Ubantu)
背景: 公司在某电信机房有50台ubantu的实体机,机器配置的ip是192.168.100.x的ip,内存和cpu都是高端配置.假如哪些端口需要对外映射,就通过机房的防火墙完成端口映射. 100.1 ...
- windows kvm虚拟机安装
这一步操作需要注意的几个点:a.局域网内与主机传输文件用scp或ftp命令,要保证ISO镜像文件在主机上有操作权限的目录下,比如 /home等:b.不管安装什么系统的虚拟机,创建的磁盘类型,分配的虚拟 ...
- kvm虚拟化学习笔记(二)之linux kvm虚拟机安装
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- KVM虚拟机安装及桥接网络配置
1.查看CPU是否支持intel或AMD的虚拟技术 cat /proc/cpuinfo | grep -E "vmx|svm" --color --vmx intel的CPU sv ...
随机推荐
- paper 108:系统学习数字图像处理之图像复原与重建
首先,必须注意这里所限制的处理条件. 关于图像退化/复原模型 退化的图像是由成像系统的退化加上额外的噪声形成的. 1.只考虑噪声引起的退化 噪声模型,包含于空间不相关和相关两种,除了空间周期噪声,这里 ...
- AppCan接入微信并且进行文字分享
AppCan接入微信并且进行文字分享 接入指引 实现简单的文字分享功能 接入指引 详情请参见:http://newdocx.appcan.cn/index.html?templateId=412 实现 ...
- 封装Js库从获取控件的value值开始
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...
- ALLOCATE语句分配FORTRAN动态数组方法(转自http://blog.csdn.net/zhuxianjianqi/article/details/8067174)
数组的动态分配 a) 可分配数组 数组可以是静态的也可以是动态的.如果数组是静态的,则在编译时就被分配了固定的储存空间,并且直到程序退出时才被释放.程序运行时静态数组的大小不能改变.静态数组的缺 ...
- springmvc web-info目录下无法引入的js文件无效
今天在联系spring的时候而然遇到了个不起眼的问题.那就是在html或者说jsp页面中引用js文件的时候总是提示找不到路径.eclipse更是抛出 No mapping to aa.js. 我就奇怪 ...
- PetaPoco入门(二)
1. Petapoco基本用法 1.1. 创建示例工程 首先创建一个工程文件,为了便于展示数据这里创建一个类型为:WindowsApplication的工程文件.命名为:PetapocoTest. 程 ...
- [问题2014A01] 解答二(后 n-1 列拆分法,由郭昱君同学提供)
[问题2014A01] 解答二(后 n-1 列拆分法,由郭昱君同学提供) \[|A|=\begin{vmatrix} 1 & x_1^2-ax_1 & x_1^3-ax_1^2 &am ...
- WIN10图标显示异常
1.打开控制面板,右上边查看方式选择边小图标显示 2.打开显示里面的自定义缩放级别 3.设置级别为125% 然后点击 应用 4.注销或者重启,然后将异常的快捷方式点击打开,就会恢复正常,至少我的是回 ...
- [翻译]MapReduce: Simplified Data Processing on Large Clusters
MapReduce: Simplified Data Processing on Large Clusters MapReduce:面向大型集群的简化数据处理 摘要 MapReduce既是一种编程模型 ...
- xshell 终端窗口目录显示为深蓝色的不易分辨问题
xshell更改终端窗口目录展示深蓝色的不易分辨 经常使用xshell远程连接服务器,使用ls命令,目录的颜色都是深蓝色, 如果终端窗口背景颜色是黑色的(对眼睛较好的黑色的背景色,大家一般都选择黑色背 ...