Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1567260
  • 博文数量: 77
  • 博客积分: 1205
  • 博客等级: 少尉
  • 技术积分: 4476
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-22 21:48
文章分类
文章存档

2018年(1)

2017年(1)

2015年(1)

2014年(18)

2013年(12)

2012年(44)

分类: LINUX

2012-12-04 09:26:46

Linux kernel最早从2.6.23支持paravirt-ops接口,也就是所谓的半虚拟化。本文简单介绍一下利用libvirt的功能通过virtio的方式将host的一块local block device 'passthru'到guest os中。

方式1,通过KVM虚拟机的xml配置文件指定,下面是一个虚机xml文件的片段,用来将host的/dev/sda4这一块设备passthru到guest os中:

   ...
 
       
       
 



在virsh命令行中,通过"create '/etc/libvirt/qemu/odm.xml‘"来启动虚机odm,起来之后在odm的guest os中会发现多出了一个块设备/dev/vdb,可以正常mount该块设备,里面的数据应该同host中看到的完全一样。

方式2,可以动态挂载一个host上的块设备到一个正在running的VM中,比如:
virsh# attach-disk odm /dev/sda4 vdb

方式3,通过libvirt API的方式,有两个API分别用来实现挂载和卸载操作:
virDomainAttachDevice(domain, xml)以及virDomainDetachDevice()

阅读(4393) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~