用libvirt 挂载光驱

在libvirt 官方文档里,挂载光驱的XML定义如下:

<disk type='block' device='cdrom'>     

     <driver name='qemu' type='raw'/>     

    <target dev='hdc' bus='ide' tray='open'/>     

     <readonly/>   

</disk>

 

按照这个定义,采用qemu-kvm定义和启动虚拟机以后,发现这个光驱在虚拟机里盘符出现,但是无法读取光盘内容。

 

后来跑到本地系统 /dev 下找光驱,发现:

/dev/cdrom6 -> sr0

原来本地光驱不叫cdrom,而是cdrom6,更重要的是cdrom只是一个链接,真正的source是sr0。

为什么叫sr0呢,又查了一些资料,原来如下:

sr代表 scsi + rom

sd代表 scsi + disk

sg 代表 scsi + generic

st代表 scsi + tape

于是把XML定义改成如下:

<disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/sr0'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
  </disk>

 

终于顺利的读出了光盘内容。

注:如果本地有几个光驱,那就相应的加上 是sr1, sr2 ...

 

 

你可能感兴趣的:(用libvirt 挂载光驱)