本文由秀依林枫提供友情赞助,首发于烂泥行天下

何谓裸设备?百度百科显示:

裸设备(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使用裸设备配置虚拟机的更多相关文章

  1. kvm上的Linux虚拟机使用virtio磁盘

    kvm上的Linux虚拟机使用virtio磁盘 系统:centos6.6  64位 网上的文章比较少,怎麽将Linux虚拟机的磁盘改为使用virtio磁盘 因为centos6或以上系统已经包含了vir ...

  2. kvm中重命名虚拟机

    kvm中重命名虚拟机 1.查看虚拟机 [root@linux ~]# virsh list --all Id Name State ---------------------------------- ...

  3. 通过 KVM+virt-manager配置双屏虚拟机(两套键盘。鼠标)

    感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正! 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...

  4. 搭建KVM环境——06 创建虚拟机

    若转载请于明显处标明出处:https://www.cnblogs.com/kelamoyujuzhen/p/9071181.html 虚拟机磁盘格式 创建一个raw格式的虚拟机磁盘 [root@Cen ...

  5. KVM | centos 安装 window 虚拟机

    KVM | centos 安装 window 虚拟机 环境: CENTOS 7.3 1. 准备 1.1 检查是否支持虚拟化 cat /proc/cpuinfo | egrep 'vmx|svm' 要求 ...

  6. Linux的桌面虚拟化技术KVM(四)——虚拟机镜像格式对比与转换

    Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机 Linux的桌面虚拟化技术KVM(二)——远程桌面管理 Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照 (1).常用镜像格 ...

  7. 2.kvm创建第一个虚拟机

    1.创建一个镜像 [root@kvm ~]# qemu-img create -f raw /opt/Centos_6.6_x86.raw 5G Formatting '/opt/Centos_6.6 ...

  8. KVM上如何让虚拟机支持虚拟化(kvm虚拟化的嵌套)

    http://blog.csdn.net/swimming_in_it_/article/details/53320141http://blog.csdn.net/wickedglory/articl ...

  9. 一起KVM环境下windows7虚拟机异常死机(BSOD)的问题解决

    先说一下环境: 一.硬件 8台服务器做的超融合架构,软件存储池, 每台服务器是96G内存,两颗Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz,32线程. 每台服务器是 ...

随机推荐

  1. 软件工程——sprint 1回顾总结

    主题:“我们在本次sprint中做了什么?接下来的打算?” sprint总结:在本次sprint里,这是我们团队的成员们第一次开始以团队的形式进行一次团队项目开发,早在第一次团队会议之时,我们便因团队 ...

  2. Linq专题之对象初始化器

    在C#3.0之前,如果创建一个新的对象,往往需要调用类的构造函数来初始化该对象的值,在c#3.0提供了一个"对象初始化器"的机制,使得开发人员在创建新的对象时不通过调用类的构造函数 ...

  3. BI之SSAS完整实战教程6 -- 设计维度、细化维度上:创建维度定义特性关系

    前面我们使用过数据源向导.数据源视图向导.Cube向导来创建相应的对象. 本篇我们将学习使用维度向导来创建维度. 通过前面几个向导的学习,我们归纳一下共同点,主要分成两步 1. 使用某种对象类型的向导 ...

  4. 优化win2d实现的萤火虫粒子效果

    前几天我发了个技术博客,告诉大家怎样用Win2D 画萤火虫动画 . 那种绘制萤火虫的方式虽然画质高,但是性能不好,萤火虫数量超过50就可以感受到帧数下降. 我今天想到了一种牺牲画质提升性能的绘制方式, ...

  5. sql 两列相加存到另一列

    假设表table1有a.b两个列,想生成另一个列为a列值+b列值计算列添加语句如下ALTER TABLE table1ADD c AS a+b

  6. jQuery获取Select选择的Text和 Value(转)用时比较方便寻找

    ---恢复内容开始--- jQuery获取Select选择的Text和Value:语法解释:1. $("#select_id").change(function(){//code. ...

  7. activiti 工作流

    1. 工作流的概念 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实 ...

  8. http服务&ajax编程

    http服务&ajax编程 1.服务器 前言:通俗的讲,能够提供某种服务的机器(计算机)称为服务器 1.1.服务器类型 按照不同的划分标准,服务可划分为以下类型: 按服务类型可分为:文件服务器 ...

  9. 一个Chrome拓展——HttpPost

    周末花了点时间做了一个chrome拓展,叫HttpPost,顾名思义是用来测试http的post请求. 先直接看效果 插件与拓展 在说这个做的过程前,先说明什么是Chrome插件.Chrome拓展 1 ...

  10. CRM 2013 安装前系统和数据库的基础配置

    Win Serer 2012 域控安装参考:http://smallc.blog.51cto.com/926344/1034868  (其中最重要的几步:创建域控(ActiveDirectory域服务 ...