将kvm磁盘io设置为virtio模式


前言

最近一直在研究一些关于kvm的io相关的问题,在设置kvm的virtio时遇到一些问题,记录以下。


图形化修改磁盘io模式

在这里有两种修改方式,一种是用图形化界面,一种是用命令行,首先是图形化界面的修改方式如下:

打开虚拟机设置界面,然后将磁盘总线设置为virtio模式
在这里插入图片描述

之后将网络接口也设置为virtio模式,并调整boot options如下
在这里插入图片描述

命令行修改磁盘io模式

virsh edit centos7.0(此处为虚拟机名)

将标签中的内容修改如下

<disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none' io='native'/>
      <source file='/var/lib/libvirt/images/second.qcow2'/>
      <target dev='vda' bus='virtio'/>
      <boot order='3'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/centos7.0.img.qcow2'/>
      <target dev='vdb' bus='virtio'/>
      <boot order='2'/>
    </disk>

注意要删除其中的address标签内容
之后修改网络接口的boot order为1

 <interface type='network'>
      <mac address='52:54:00:07:ce:26'/>
      <source network='default'/>
      <model type='virtio'/>
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

总结

virtio 是一种 I/O 半虚拟化解决方案,是一套通用 I/O 设备虚拟化的程序,是对半虚拟化 Hypervisor 中的一组通用 I/O 设备的抽象。提供了一套上层应用与各 Hypervisor 虚拟化设备(KVM,Xen,VMware等)之间的通信框架和编程接口,减少跨平台所带来的兼容性问题,大大提高驱动程序开发效率。

### KVM重装系统的方法与教程 #### 一、KVM环境准备 在执行KVM系统的重新安装之前,需确保已正确启动并运行libvirt服务。可以通过以下命令来重启和设置开机自启该服务: ```bash [root@kvm ~]# systemctl restart libvirtd [root@kvm ~]# systemctl enable libvirtd ``` 上述操作能够保障后续虚拟机管理工具正常工作[^1]。 #### 二、创建新的虚拟机镜像文件 如果计划完全替换现有操作系统,则需要先制作一个新的磁盘映射文件作为目标存储介质。以下是具体实现方式之一: 假设新虚拟硬盘大小设定为20GB,并命名为`newdisk.qcow2`, 可通过qemu-img工具完成此任务: ```bash qemu-img create -f qcow2 /var/lib/libvirt/images/newdisk.qcow2 20G ``` 这条指令会生成一个基于QCOW2格式的稀疏文件用于容纳即将部署的新OS数据. #### 三、定义XML配置描述符 每台由Libvirt控制下的虚拟机会关联一份详细的xml文档记录其硬件布局参数等重要属性。当打算调整或者重建某个特定实例的时候, 修改对应的.xml 文件成为必要环节. 下面给出一段简化版样例代码片段展示如何指定刚才建立好的image路径给待更新机器使用: ```xml <devices> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/newdisk.qcow2'/> <target dev='vda' bus='virtio'/> </disk> </devices> ``` 注意这里的<source>标签指向我们刚刚新建的那个较大容量的空白磁盘位置; 同时也推荐采用性能更优的virtio驱动器模型替代传统IDE控制器以提升IO效率. #### 四、引导至ISO光驱进行全新安装流程 最后一步便是让目标主机从外部提供的LiveCD/LiveDVD媒介加载初始程序从而正式开启整个重置进程。这通常涉及到编辑现有的domain definition XML , 添加临时性的cdrom设备节点进去比如这样: ```xml <disk type="file" device="cdrom"> <driver name="qemu" type="raw"/> <source file="/path/to/your/os.iso"/> <!-- 替换为你实际存放iso的地方 --> <target dev="hdc" bus="ide"/> <readonly/> </disk> ``` 之后利用 `virsh define your_domain_name.xml && virsh start your_domain_name` 来激活更改后的规则集并触发真正的setup画面显示出来供进一步交互式定制选项选择. 以上就是关于KVM环境下实施系统级迁移或彻底刷新的主要步骤概述. #### 注意事项 - 对于不同类型的源模板(如Xen转换而来的情况), 需要提前做好兼容性验证以及可能涉及额外组件预装载的工作[^2]. - 如果考虑迁移到更加先进的底层支撑平台例如Huawei Cloud擎天架构下的话, 则需要注意一些特殊的约束条件诸如只接受SCSI类型接口形式接入的数据卷等等限制因素[^3]. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值