Vmware qemu-kvm 虚拟化測试
[root@kvm1 cloud]# lsmod | grep kvm
kvm_intel 55496 3
kvm 337772 1 kvm_intel
[root@kvm1 cloud]# egrep "(vmx|svm)" --color /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi ept vpid fsgsbase smep
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi ept vpid fsgsbase smep
[root@kvm1 cloud]#
假设没有结果。则应该开启机器支持Inter VT-x/EPT or AMD-V/RVI
#查看Linux内核是否载入了kvm模块
lsmod | grep kvm
#安装qemu-kvm,安装完毕后会生成/usr/libexec/qemu-kvm,是用户空间操作kvm内核的接口
yum install qemu-kvm
#通过网络上传ISO镜像文件
#生成一个8G的文件(文件内容所有是0),作为虚拟机的磁盘
dd if=/dev/zero of=/cloud/CentOS.img bs=1M count=8192
#使用qemu-kvm创建虚拟机(參数说明 -m 指定内存大小 -smp 指定cup数量 -boot启动顺序)
/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/CentOS.img -cdrom /iso/CentOS-6.6-x86_64-minimal.iso -vnc :1
參数说明:
-m 指定客户机内存大小,默认单位MB
-smp 指定客户机cpu个数。SMP:(symmetric[sɪ'metrɪk'] Multi-processing)对称多处理
-boot 指定客户机系统启动顺序,order=cd是指先光盘再硬盘。c:CD-ROM d:Hard Disk
-hda 指定客户机的IDE硬盘(即前面的创建的镜像文件)
-cdrom 指定客户机的光驱
-vnc 相似window下的远程桌面
:1 port为 5900 + 1 = 5901
#安装vnc或使用vnc工具连接虚拟机。给虚拟机安装系统
#关闭虚拟机并再次启动虚拟机,指定vncport为5901(不须要指定cdrom,由于已经将操作系统安装到磁盘中了)
/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/CentOS.img -vnc :1
#查看虚拟机信息
free -m
dmesg | grep Memory
查看cpu信息命令:
lscpu
cat /proc/cpuinfo
逻辑CPU个数
cat /proc/cpuinfo | grep "processor" | wc -l
物理CPU个数
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
每一个物理CPU上core的个数(未计入超线程)
cat /proc/cpuinfo | grep "core id" | sort | uniq | wc -l
#改动配置内存和CPU參数
/usr/libexec/qemu-kvm -m 4096 -smp 2,cores=4 -boot order=cd -hda /cloud/CentOS.img -vnc :1
n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]
set the number of CPUs to 'n' [default=1]
maxcpus= maximum number of total cpus, including offline CPUs for hotplug etc.(客户机最大可能被使用的CPU输了,包含启动时处于offline状态的cpu数量,可用于热插拔增加CPU。可是不能超过maxcpus这个上限)
cores=number of CPU cores on one socket.(就是我们平时说的核。每一个物理CPU能够双核,四核等等)
threads=number of threads on one CPU core.(thread就是每一个core的硬件线程数,即超线程)
sockets=number of discrete sockets in the system.(就是主板上插cpu的槽的数目。也就是能够插入的物理CPU的个数)
#qemu-img是一个比較重要的工具,是QEMU的磁盘管理工具。 #查看帮助信息
qemu-img -h
#查看镜像文件信息
qemu-img info /cloud/CentOS.img
#创建一个磁盘镜像文件
qemu-img create -f qcow2 /cloud/bill.img 10G
#将raw格式转换成qcow2格式
qemu-img convert -O qcow2 /cloud/bill.raw /cloud/bill.qcow2
#改动镜像大小
qemu-img resize /cloud/test.img +2G
#检查镜像
qemu-img check /cloud/bill.qcow2
#镜像格式
#qemu-img支持多种镜像格式,可通过qemu-img -h命令查看,经常使用的有qcow2,raw
#raw:原始的磁盘镜像格式,是qemu-img命令默认的文件格式。这样的格式的文件的优势在于它很简单且很easy移植到其它模拟器上使用。 特点一開始就让镜像实际占用了分配空间。可是写入速度稍快一下。
#qcow2:这样的格式是QEMU眼下推荐的镜像格式,它是功能最多的格式,它支持稀疏文件以节省存储空间。支持加密、压缩、快照等功能
QEMU monitor是QEMU与用户交互的一种控制台,一般用于为QEMU模拟器提供较为复杂的功能,
QEMU monitor的切换
"Ctrl + Alt + 2" --> QEMU monitor状态
"Ctrl + Alt + 1" --> 客户机标准显示窗体
查看帮助信息
help/? [cmd]
help savevm 或 ? savevm
显示系统命令状态:info
查看QEMU的版本号信息
info versions
查看当前QEMU是否有KVM的支持
info kvm
info name
info status
查看客户机各个vCPU的信息
info cpus
查看块设备信息,如硬盘、软盘、光驱等
info block
查看客户机的网络配置信息
info network
显示当前系统中已保存的客户机快照信息
info snapshots
查看当前客户机的迁移状态
info migrate
显示当前客户机的VNC状态
info vnc
查看QEMU monitor中命令运行的历史
info history
创建快照
savevm snap20150406
恢复快照
loadvm snap20150406
删除快照
delvm snap20150406
Vmware qemu-kvm 虚拟化測试的更多相关文章
- Qemu/kvm虚拟化源码解析学习视频资料
地址链接:tao宝搜索:Linux云计算KVM Qemu虚拟化视频源码讲解+实践https://item.taobao.com/item.htm?ft=t&id=646300730262 L ...
- qemu kvm 虚拟化
虚拟化: KVM是一个基于Linux内核的虚拟机,属于完全虚拟化.虚拟机监控的实现模型有两类:监控模型(Hypervisor)和宿主机模型(Host-based).由于监控模型需要进行处理器调度,还需 ...
- KVM 虚拟化架构和实现原理
目录 目录 KVM虚拟化架构 devkvm QEMU OpenstackKVMQEMU 的关系 KVM的虚拟化实现 KVM虚拟化架构 KVM是嵌入在Linux操作系统标准内核中的一个虚拟化模块,它能够 ...
- VMware下的Centos7实践Kvm虚拟化(通俗易懂)
虽然网上已经有很多关于kvm安装的教程了,但我还是看得头晕,有的教程里安装的包很多,有的很少,也没说明那些安装包的作用是干嘛的,用的命令也不一样,也没解释命令的意思是什么. 我重新写一个教程,尽量通俗 ...
- [qemu][kvm] 在一个vmware虚拟机里安装qemu-kvm虚拟机
说起来这个需求,简直是傻傻的.但却实实在在的摆在我的面前.... VM无外乎就是为了模拟场景:我现在要的场景就是一台很多个core的linux主机.但是我只有一个装了windows的笔记本.上边有一个 ...
- [原] KVM 虚拟化原理探究(2)— QEMU启动过程
KVM 虚拟化原理探究- QEMU启动过程 标签(空格分隔): KVM [TOC] 虚拟机启动过程 第一步,获取到kvm句柄 kvmfd = open("/dev/kvm", O_ ...
- centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课
centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课 上半节课 下半节课 f
- KVM虚拟化技术
KVM虚拟化技术 Qemu-kvm kvm virt-manager VNC Qemu-kvm创建和管理虚拟机 一.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machi ...
- [原创]KVM虚拟化实践记录
一.KVM简介KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机),是一个开源的系统虚拟化模块,基于硬件的完全虚拟化,不过需要硬件支持(如Intel V ...
随机推荐
- CAD二次开发(01)-绘制直线
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- "pom.xml" could not be activated because it does not exist.
"pom.xml" could not be activated because it does not exist. 在sts中使用maven build,输入package然后 ...
- Redis Java调用
Redis Java调用 package com.stono.redis; import redis.clients.jedis.Jedis; public class RedisJava { pub ...
- Ubuntu设置显示桌面快捷键
Ubuntu设置显示桌面快捷键 直接在系统设置中没有效果, 学习了:http://www.cnblogs.com/pluse/p/5286585.html 需要进行安装compizconfig,然后在 ...
- AppCan中标首都机场移动平台项目
近日.正益无线AppCan依托东方航空.吉祥航空.国家电网.中化集团等大客户项目的丰富成功经验,凭借企业移动信息化建设的良好口碑.强大的移动化实施部署经验和高速响应的技术团队,在与多家国内外移动厂商比 ...
- IDEA无法启动:Failed to create JVM:error code -4
发生该错误的原因是由于IDEA须要使用的连续内存空间没有得到满足,解决方式: 1.减小-Xmx和-XX:PermSize的值 切换到IDE_HOME\bin\文件夹下,找到<produc ...
- 各大CMS系统优缺点(2017)
各大CMS系统优缺点(2017) 总结 WordPress之前用过,可能需要再完整的用一个才会比较了解. 从2015年各行业建站规模来看,还有一大批人想自己搭建网站,下面为大家盘点一下比较实用CMS系 ...
- 13.mutiset树每一个结点都是一个链表的指针,可以存储相同的数据
#include <iostream> //红黑树(自动保证平衡,自动生成平衡查找树) #include <set> #include <cstring> #inc ...
- 8.变量内存CPU原理
编译器先明确是什么类型,然后明确变量名,变量表管理所有的变量,不在变量表内部的变量不能引用.每个变量对应一整块内存 a+1所计算出来的值在寄存器中,只有变量可以被赋值,变量必须在内存里面 c语言内嵌汇 ...
- OpenGL编程(五)绘直线以及分析绘直线的算法
这次主要实现在窗口上绘制点.线以及修改其属性,另外还会分析画直线的原理和相关算法. 1.在窗口指定位置画点 glBegin(GL_POINTS); glEnd(); 使用glBegin()和glEnd ...