• KVM中存储的配置


     

    存储配置和启动顺序

    QEMU提供了对多种块存储设备的模拟,包括IDE设备、SCSI设备、软盘、U盘、virtio磁盘等,而且对设备的启动顺序提供了灵活的配置。

    1. 存储的基本配置选项

    在qemu-kvm命令行工具中,主要有如下的参数来配置客户机的存储。

    1-hda  file

    file镜像文件作为客户机中的第一个IDE设备(序号0)

    在客户机中表现为:

    /dev/hda设备(若客户机中使用PIIX_IDE驱动)

    或/dev/sda设备(若客户机中使用ATA_PIIX驱动)

    如果不指定-hda或-hdb等参数,那么在前面一些例子中提到的

    "qemu-system-x86_64  /root/kvm_demo/rbel6u3.img"就与加上-hda参数来指定镜像文件的效果一样的

    另外,也可以将宿主机中的一个硬盘(如/dev/sdb)作为-hdafile参数来使用,从而让整个硬盘模拟为客户机的第一个IDE设备

    注意:如果file文件的文件名中包含有英文逗号(","),则在书写file时应该使用两个逗号(因为逗号是qemu-kvm命令行中的特殊间隔符,例如用于"-cpu qemu64,+vmx"这样的选项),如使用"  -hda my,,file  "将my,file这个文件作为客户机的第一个IDE设备。

    ( 2 ) -hdb  file

    将file作为客户机中的第二个IDE设备(序号1),在客户机中表现为/dev/hdb或/dev/sdb设备。

    ( 3 ) -hdc  file

    将file作为客户机中的第三个IDE设备(序号2),在客户机中表现为/dev/hdc或/dev/sdc设备。

    ( 4 ) -hdd  file

    将file 作为客户机中的第四个IDE设备(序号3),在客户机中表现为/dev/hdd或/dev/sdd设备。

    ( 5 ) -fda  file

    file作为客户机中的第一个软盘设备(序号0), 在客户机中表现为/dev/fd0设备也可以将宿主机中的软驱(/dev/fd0) 作为-fdafile来使用

    (6) -fdb  file

    将file作为客户机中的第二个软盘设备(序号1),在客户机中表现为/dev/fdl设备。

    (7) -cdrom  file

    file作为客户机中的光盘CD-ROM, 在客户机中通常表现为/dev/cdrom设备也可以将宿主机中的光驱(/dev/cdrom)作为-cdromfile来使用。

    注意:-cdrom参数不能和-hdc参数同时使用,因为"-cdrom"就是客户机中的第三个IDE设备。

    在通过物理光驱中的光盘或磁盘中ISO镜像文件安装客户机操作系统时一般会使用-cdrom参数。

    (8) -mtdblock  file

    使用file文件作为客户机自带的一个Flash存储器(通常说的闪存)。

    (9) -sd  file

    使用file文件作为客户机中的SD卡(Secure Digital Card )。

    ( 10 ) -pflash  file

    使用file文件作为客户机的并行Flash存储器(Parallel Flash Memory )。

    2. 详细配置存储驱动器的-drive参数

    较新版本的qemu-kvm还提供了"-driver" 参数来详细定义一个存储驱动器,该参数的具体形式如下:

    -drive  option[,option[,option/,...])]

    为客户机定义一个新的驱动器,它有如下一些选项:

    ( 1) file=file

    使用file文件作为镜像文件加载到客户机的驱动器中。

    (2) if=interface

    指定驱动器使用的接口类型,可用的类型有:ide、scsi、sd、mtd、floopy、pflash、virtio,等等。其中,除了virtio、scsi之外,其余几种类型都在本节的前面介绍过了。virtio将在第5章中介绍,而关于scsi类型的接口,QEMU目前还不支持从SCSI类型设备启动客户机系统,Launchpad上也有一个bug记录着这个问题。

    (3) bus=bus,unit=unit

    设置驱动器在客户机中的总线编号和单元编号

    (4) index=index

    设置在同一种接口的驱动器中的索引编号

    (5) media=media

    设置驱动器中媒介的类型,其值为"disk"或"cdrom"。

    (6) snapshot=snapshot

    设置是否启用"-snapshot"选项,其可选值为"on""offsnapshot启用时,QEMU不会将磁盘数据的更改写回到镜像文件中,而是写到临时文件中,当然可以在QEMU monitor中使用"commit"命令强制将磁盘数据的更改保存回镜像文件中

    (7) cache=cache

    设置宿主机对块设备数据(包括文件或一个磁盘)访问中的cache情况,可以设置为"none"("off'')"writeback""writethrough"等。

    默认值是"writethrough",即“直写模式”它是在调用write写入数据的同时将数据写入磁盘缓存(disk cache)和后端块设备(block device),其优点是操作简单,其缺点是写入数据速度较慢。

    "writeback"即“回写模式”:在调用write写入数据时只将数据写入到磁盘缓存中即返回,只有在数据被换出缓存时才将修改的数据写到后端存储中,其优点是写入数据速度较快,其缺点是—旦更新数据在写入后端存储之前遇到系统掉电,数据会无法恢复

    "writethrough""writeback"在读取数据时都尽量使用缓存若设置了"cache=none"关闭缓存的方式,QEMU将在调用open系统调用打开镜像文件时使用"O_DIRECT"的标识,所以其读写数据都是绕过缓存直接从块设备中读写的

    一些块设备文件(如后面即将介绍的qcow2格式文件)在"writethrough" 模式下性能表现很差,如果这时对性能要求比正确性更高,建议使用"writeback"模式

    (8) aio=aio

    选择异步IO(Asynchronous IO)的方式,有"threads""native"两个值可选
    默认值为"threads",即让一个线程池去处理异步IO
    "native"只适用于"cache=none"的情况,就是使用Linux原生的AIO

    (9) format=format

    指定使用的磁盘格式、在默认情况下是QEMU自动检测磁盘格式的。

    (10) serial=serial

    指定分配给设备的序列号

    (11) addr=addr

    分配给驱动器控制器的PCI地址,该选项只有在使用virtio接口时才适用。

    (12) id=name

    设置该驱动器的ID,这个ID可以在QEMU monitor中用"info  block"看到。

    (13) readonly=on|off

    设置该驱动器是否只读

    3. 配置客户机启动顺序的参数

    前面介绍了各种存储设备的使用参数,它们在客户机中的启动顺序可以用如下的参数设定:

    -boot  [order=drives] [,once=drives ] [,menu=on|off] [,splash=splashfile] [,splash-time=sp-time]

    在QEMU模拟的x86 PC平台中:

    order=

    "a""b"分别表示第一和第二个软驱,

    "c"表示第一个硬盘,

    "d"表示CD-ROM光驱,

    "n"表示从网络启动。

    其中,默认从硬盘启动,要从光盘启动可以设置"-boot  order=d"

    once=

    "once"表示设置第一次启动的启动顺序(即仅生效一次),在系统重启(reboot)后该设置失效,如"-boot  once=d"设置表示本次从光盘启动,但系统重启后从默认的硬盘启动。

    memu=on|off''

    用于设置交互式的启动菜单选项(前提是使用的客户机BIOS支持),它的默认值是"menu=off'', 表示不开启交互式的启动菜单选择

    "splash=splashfile" 和"splash-time=sp-time"

    选项都是在"menu=on"时才有效,将名为splashfile的图片作为logo传递给BIOS来显示,而sp-timeBIOS显示splash图片的时间,其单位是毫秒(ms)

    图4-5展示了在使用"-boot  order=dc,menu=on"设置后,在客户机启动窗口中F12进入的启动菜单。

    存储配置的示例

     

    lspci | grep IDE

     

    由于这个客户机使用的是piix_ide驱动,因此看到的是/dev/hda这样的磁盘

    而对于同样一个磁盘,如果客户机操作系统使用的是ata_piix驱动(此时无piix_ide驱动),则看到的是/dev/sda这样的磁盘,效果如下:

     

  • 相关阅读:
    ORACLE 利用 REPLACE函数替换字段字符串
    EXCEL中对1个单元格中多个数字求和
    Oracle插入日期格式出现 ORA-01843: not a valid month的解决办法
    深入浅出设计模式——装饰模式(Decorator Pattern)
    深入浅出设计模式——组合模式(Composite Pattern)
    深入浅出设计模式——桥接模式(Bridge Pattern)
    深入浅出设计模式——适配器模式(Adapter Pattern)
    深入浅出设计模式——单例模式(Singleton Pattern)
    深入浅出设计模式——原型模式(Prototype Pattern)
    深入浅出设计模式——建造者模式(Builder Pattern)
  • 原文地址:https://www.cnblogs.com/wyzhou/p/9596760.html
Copyright © 2020-2023  润新知