您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

kvm虚拟化知识梳理

时间:2020-08-11 13:58:02  来源:  作者:

1、 raw格式和qcow2格式

kvm虚拟化知识梳理

 

raw:

"raw" 镜像格式是最最简单的,并且是被 KVM 和 Xen 原生支持的格式,你 可以想象裸格式镜像和块设备文件是二进制位相当的,就好像从块设备拷贝过来的,比方说,使用dd 命令将 /dev/sda 内容拷贝到一个文件。

raw唯一的缺点在于,ls看起来很大,在scp的时候,这会消耗很多的网络IO,而tar这么大的文件,也是很耗时间跟CPU的,一个解决方法是,把raw转换成qcow2的格式,对空间压缩就很大了。而且速度很快。转换命令如下:

#qemu-img convert -O qcow2 centos.raw centos.qcow2

#qemu-img convert -O raw centos.qcow2 centos.raw

这样转换所消耗的时间远比tar.gz小。

qcow2:

qcow2 (QEMU 写时复制版本2)格式通常是KVM使用,相比裸格式,它有额外的特性

例如:

•使用稀疏文件呈现方式,因此镜像尺寸更小。

•支持快照。

因为qcow2 镜像是稀疏的,因此,qcow2镜像通常比裸格式镜像小,更小的 文件意味着上传更快,因此通常转换裸格式镜像到qcow2格式上传比直接上传裸格式镜像文件更快。

注意:稀疏文件(英语:sparse file)是一种计算机文件,它能尝试在文件内容大多为空时更有效率地使用文件系统的空间。它的原理是以简短的信息(元数据)表示空数据块,而不是在在磁盘上占用实际空间来存储空数据块。只有真实(非空)的数据块会按原样写入磁盘。

二、kvm常用命令

virsh是kvm虚拟机常用的管理工具,常用的命令如下:

1、安装kvm环境

sudo apt-get install qemu-kvm

2、导入虚机配置(xml格式配置文件,见附录1)

virsh define centos.xml

3、启动centos虚机

virsh start centos

4、查看在运行的虚拟机

virsh list

5、查看创建的所有虚拟机

virsh list --all

6、启动虚拟机

virsh start centos

7、挂起虚拟机

virsh suspend centos

8、恢复被挂起的虚拟机

virsh resume centos

9、开机启动虚拟机,即在虚拟机服务(libvirt)启动的时候,就启动虚拟机。

virsh autostart centos

10、关闭开机启动虚拟机

virsh auto start --disable centos

11、关闭虚拟机(需要ACPID服务的支持,ACPI是Advanced Configuration and PowerInterface缩写,高级配置和电源管理接口)

virsh shutdown centos

12、强制关闭虚拟机,这种方式是从virsh list列表中将虚拟机删除,仍然可以start起来

virsh destory centos

13、启动默认的网络

virsh net-start default

14、自启动默认网络

virsh net-autostart default

15、彻底删除虚拟机步骤

1)关闭虚拟机:virsh destroy centos

2)删除定义:virsh undefine centos

3)删除虚拟机文件(在/var/lib/libvirtd/下的相关文件)

三、kvm虚机配置文件(xml文件)

<domain type='kvm'> //如果是Xen,则type='xen'

<name>vm0</name> //虚拟机名称,同一物理机唯一

<uuid>fd3535db-2558-43e9-b067-314f48211343</uuid> //同一物理机唯一,可用uuidgen生成

<memory>524288</memory>

<currentMemory>524288</currentMemory> //memory这两个值最好设成一样

<vcpu>2</vcpu> //虚拟机可使用的cpu个数,查看物理机可用CPU个数:cat /proc/cpuinfo |grep processor | wc -l

<os>

<type arch='x86_64' machine='pc-i440fx-vivid'>hvm</type> //arch指出系统架构类型,machine 则是机器类型,查看机器类型:qemu-system-x86_64 -M ?

<boot dev='hd'/> //启动介质,第一次需要装系统可以选择cdrom光盘启动

<bootmenu enable='yes'/> //表示启动按F12进入启动菜单

</os>

<features>

<acpi/> //Advanced Configuration and Power Interface,高级配置与电源接口

<apic/> //Advanced Programmable Interrupt Controller,高级可编程中断控制器

<pae/> //Physical Address Extension,物理地址扩展

</features>

<clock offset='localtime'/> //虚拟机时钟设置,这里表示本地本机时间

<on_poweroff>destroy</on_poweroff> //突发事件动作

<on_reboot>restart</on_reboot>

<on_crash>restart</on_crash>

<devices> //设备配置

<emulator>/usr/bin/kvm</emulator> //如果是Xen则是/usr/lib/xen/binqemu-dm

<disk type='file' device='disk'> //硬盘

<driver name='qemu' type='raw'/>

<source file='/opt/vm/vmdev/fdisk.img'/>

<target dev='vda' bus='virtio'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> //域、总线、槽、功能号,slot值同一虚拟机上唯一

</disk>

<disk type='file' device='disk'>

<driver name='qemu' type='raw'/>

<source file='/opt/vm/vmdev/fdisk2.img'/>

<target dev='vdb' bus='virtio'/>

</disk>

<disk type='file' device='cdrom'>//光盘

<driver name='qemu' type='raw'/>

<source file='/opt/vm/vmiso/centos-server-amd64.iso'/>

<target dev='hdc' bus='ide'/>

<readonly/>

</disk>

/* 利用linux网桥连接网络 */

<interface type='bridge'>

<mac address='fa:92:01:33:d4:fa'/>

<source bridge='br100'/> //配置的网桥网卡名称

<target dev='vnet0'/> //同一网桥下相同

<alias name='net0'/> //别名,同一网桥下相同

<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> //注意slot值唯一

</interface>

/* 利用ovs网桥连接网络 */

<interface type='bridge'>

<source bridge='br-ovs0'/>

<virtualport type='openvswitch'/>

<target dev='tap0'/>

<model type='virtio'/>

</interface>

/* 配置成pci直通虚拟机连接网络,SR-IOV网卡的VF场景 */

<hostdev mode='subsystem' type='pci' managed='yes'>

<source>

<address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>

</source>

</hostdev>

/* 利用vhostuser连接ovs端口 */

<interface type='vhostuser'>

<mac address='fa:92:01:33:d4:fa'/>

<source type='unix' path='/var/run/vhost-user/tap0' mode='client'/>

<model type='virtio'/>

<driver vringbuf='2048'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

</interface>

<interface type='network'> //基于虚拟局域网的网络

<mac address='52:54:4a:e1:1c:84'/> //可用命令生成,见下面的补充

<source network='default'/> //默认

<target dev='vnet1'/> //同一虚拟局域网的值相同

<alias name='net1'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> //注意slot值

</interface>

<graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0' keymap='en-us'/> //配置vnc,windows下可以使用vncviewer登录,获取vnc端口号:virsh vncdisplay vm0

<listen type='address' address='0.0.0.0'/>

</graphics>

</devices>

</domain>



Tags:kvm虚拟化   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1、 raw格式和qcow2格式 raw:"raw" 镜像格式是最最简单的,并且是被 KVM 和 Xen 原生支持的格式,你 可以想象裸格式镜像和块设备文件是二进制位相当的,就好像从块设备拷贝过来的,...【详细内容】
2020-08-11  Tags: kvm虚拟化  点击:(66)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(8)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条