烂泥:KVM使用裸设备配置虚拟机
何谓裸设备?百度百科显示:
裸设备(raw device),也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊块设备文件。由应用程序负责对它进行读写操作。不经过文件系统的缓冲。它是不被操作系统直接管理的设备。这种设备少了操作系统这一层,I/O效率更高。不少数据库都能通过使用裸设备作为存储介质来提高I/O效率。
说白了裸设备就是没有格式化的特殊快设备文件,既然裸设备是没有经过格式化的设备文件,那么就不存在挂载的问题。也就是说裸设备,我们可以把数据存放进去,而不能直接进行读取。
那么我们应该如何来使用裸设备呢?
其实如果我们深入了解了平时我们使用的设备的话,你会发现我们平时使用的设备都是经过格式化的,然后我们读取设备上数据的话使用系统来来进行读取。而裸设备则不是,裸设备数据的读取及操作是通过软件来达到其目的的。
来这样我们在进行读取数据时,中间少了一层系统,就大大提高了磁盘的I/O性能。
KVM就具有读取裸设备的功能。其实这个裸设备的问题,我们已经在我的前一篇文章《烂泥:KVM利用LVM快照快速部署虚拟机》中提到的有关修改虚拟机硬盘路径中隐约的提到过的。如下:


注意图中的disk中的type类型中file和block。file表示的是文件的名称是经过系统挂载的,而block表示的是块设备名称,无需经过系统挂载。
有关KVM使用file的,我们在此就不做实验,因为我前面的文章都是按照这个进行操作的。下面我们主要是进行有关KVM虚拟机使用裸设备的实验。
首先新建一个裸设备,在此我们是通过在LVM中新建一个逻辑卷的方式来建立的。如下:
lvcreate -L 30G -n luoshebei vg1

目前逻辑卷/dev/vg1/luoshebei就是一个裸设备。因为没有进行格式化,如果按照我们传统的做法,下面就应该是格式化该逻辑卷然后在进行挂载了。
但是现在我们不进行这样的操作,而是直接使用该逻辑卷。
如果你是通过命令进行方式进行安装虚拟机的话,可以使用如下命令:
virt-install -n luoshebei --boot network,cdrom,menu=on -r 2048 --vcpus=1 --os-type=linux -c /iso/CentOS-6.5-x86_64-minimal.iso -f /dev/vg1/luoshebei --bridge=br0,model=virtio --vnc --vncport=5911 --vnclisten=0.0.0.0
一定要注意其中的-f /dev/vg1/luoshebei参数,这个是用来指定硬盘的。

如果是通过复制并修改以前的虚拟机的XML配置文件的话,有关如何快速部署KVM虚拟机,可以参考我前面的文章《烂泥:KVM利用LVM快照快速部署虚拟机》。
其中有几处一定要注意:
第一处、修改虚拟机名称及设备的UUID号。如下:

第二处、修改虚拟机的启动顺序,因为是新的虚拟机所以建议尽量修改为光驱启动,这样就可以通过光驱进行安装系统。在这需要有两个地方需要修改,如下:


第三处、修改虚拟机的硬盘。在这就是我们所需要使用的裸设备,即逻辑卷的路径。如下:

第四处、修改MAC地址及VNC的端口号。如下:

以上修改完毕后,我们再使用virsh define /etc/libvirt/qemu/luoshebei.xml定义该虚拟机。

然后启动虚拟机,如下:

安装完毕系统后,你会发现,使用裸设备与不使用裸设备虚拟机的在启动与连接时间都快了很多。
所以强烈建议以后KVM中安装虚拟机都使用裸设备的这种方式。
烂泥:KVM使用裸设备配置虚拟机的更多相关文章
- kvm上的Linux虚拟机使用virtio磁盘
kvm上的Linux虚拟机使用virtio磁盘 系统:centos6.6 64位 网上的文章比较少,怎麽将Linux虚拟机的磁盘改为使用virtio磁盘 因为centos6或以上系统已经包含了vir ...
- kvm中重命名虚拟机
kvm中重命名虚拟机 1.查看虚拟机 [root@linux ~]# virsh list --all Id Name State ---------------------------------- ...
- 通过 KVM+virt-manager配置双屏虚拟机(两套键盘。鼠标)
感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正! 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...
- 搭建KVM环境——06 创建虚拟机
若转载请于明显处标明出处:https://www.cnblogs.com/kelamoyujuzhen/p/9071181.html 虚拟机磁盘格式 创建一个raw格式的虚拟机磁盘 [root@Cen ...
- KVM | centos 安装 window 虚拟机
KVM | centos 安装 window 虚拟机 环境: CENTOS 7.3 1. 准备 1.1 检查是否支持虚拟化 cat /proc/cpuinfo | egrep 'vmx|svm' 要求 ...
- Linux的桌面虚拟化技术KVM(四)——虚拟机镜像格式对比与转换
Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机 Linux的桌面虚拟化技术KVM(二)——远程桌面管理 Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照 (1).常用镜像格 ...
- 2.kvm创建第一个虚拟机
1.创建一个镜像 [root@kvm ~]# qemu-img create -f raw /opt/Centos_6.6_x86.raw 5G Formatting '/opt/Centos_6.6 ...
- KVM上如何让虚拟机支持虚拟化(kvm虚拟化的嵌套)
http://blog.csdn.net/swimming_in_it_/article/details/53320141http://blog.csdn.net/wickedglory/articl ...
- 一起KVM环境下windows7虚拟机异常死机(BSOD)的问题解决
先说一下环境: 一.硬件 8台服务器做的超融合架构,软件存储池, 每台服务器是96G内存,两颗Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz,32线程. 每台服务器是 ...
随机推荐
- ThroughRain第一次冲刺个人总结
团队名:ThroughRain 项目确定:<餐厅到店点餐系统> 项目背景:本次项目是专门为餐厅开发的一套订餐系统.大家有没有发现在节假日去餐厅吃饭会超级麻烦,人很多, 热门的餐厅基本没有座 ...
- .Net实现微信公众平台开发接口(三) 之 “信息回复”
对于每一个POST请求,开发者在响应包(Get)中返回特定XML结构,对该消息进行响应(现支持回复文本.图片.图文.语音.视频.音乐).请注意,回复图片等多媒体消息时需要预先上传多媒体文件到微信服务器 ...
- 《Node.js+MongoDB+AngularJS Web开发》读书笔记及联想
总体介绍 <Node.js+MongoDB+AngularJS Web开发>,于2015年6月出版,是一本翻译过来的书,原书名为<Node.js,MongoDB and Angula ...
- 多余的Using Namespaces或引用会影响程序的执行效率么?
在.NET程序编写中,需要using相应命名空间或添加相应的References,可有时候没有使用到的命名空间也被添加到了Using Namespaces中,那么,这样会影响程序的执行效率么? 通过示 ...
- jquery.ajax error调试
$(document).ready(function() { jQuery("#clearCac").click(function() { jQuery.ajax({ url: u ...
- Visual Studio图片注释image-comments扩展
有一个开源的Visual Studio小工具image-comments,它用于在源代码注释中插入图片,您可以到这儿下载.目前支持Visual Studio 2010/2012 Sta ...
- .net经验积累
希望对.net编程者有所帮助 1.学会配置环境变量 1.我的电脑-属性-环境变量-双击下面的path-粘贴路径 2.ctrl+r 输入软件名字按回车 2.常用vs2010快捷键 代码格式化:ct ...
- 自己写的表格插件autotable
自己写的表格插件autotable 作者:田想兵,个人网址:http://www.lovewebgames.com 这个表格插件所完成的功能是:ajax请求数据,然后动态绑定到指定表格下,格式化,分页 ...
- 选择Web API还是WCF
ASP.NET WCF是.NET平台服务开发的一站式框架,那么为什么还要有ASP.NET Web API呢?简单来说,ASP.NET Web API的设计和构建只考虑了一件事情,那就是HTTP,而WC ...
- RHEL7文件管理
Linux系统目录结构 主要目录说明 目录 说明 / 通常称为根分区所有的文件和目录的起始点只有root用户对此目录拥有写权限 /home 普通用户的宿主目录 /root 超级用户的宿主目录 /dev ...