1. 程式人生 > 實用技巧 >virtio-scsi驅動

virtio-scsi驅動

virtio-scsi驅動

virtio-scsi 和 virtio 的效能相同,但是 virtio-scsi 提供了更多功能和更具伸縮性。最大的優勢是,virtio-scsi可以在一個虛擬機器中處理數百個磁碟裝置,遠超過 virtio-blk 只能處理25個裝置的限制(另一個說法是30個裝置,需要驗證)。

virtio-scsi提供了直接連線SCSI LUN的能力,並且也提供了繼承目標裝置特性的能力:

通過virtio-scsi控制器連線的虛擬硬碟或CD,可以從host主機通過QEMU scsi-block裝置實現物理SCSI裝置的直通(pass-through),這樣就可以實現每個guest使用上百個裝置,也提供了極高的儲存效能。

virtio-scsi從Red Hat Enterprise Linux 6.3進入Technology Preview,並且從RHEL 6.4開始完全支援,而Windows guests也支援最新的virtio-win驅動。

virtio-scsi作為新型的para-virtualized SCSI控制器裝置,效能和virtio-blk相當,但是提供了以下增強功能:

  • 提高了可伸縮性 - 虛擬機器可以連線更多儲存裝置(通過虛擬化SCSI裝置可以處理更多塊裝置)
  • 標準化的命令集 - virtio-scsi使用標準sCSI指令集,簡化了新功能新增
  • 標準化的裝置命名 - virtual-scsi磁碟使用和裸金屬系統相同的裝置路徑,這樣可以簡化 物理機到虛擬機器 (physical-to-virtual) 和 虛擬機器到虛擬機器 (virtual-to-virtual) 遷移
  • SCSI裝置直通 - virtio-scsi可以對guest系統使用物理磁碟裝置直通

virto-scsi提供了直接連線SCSI LUN的能力,並且比virtio-blk提供了顯著的伸縮性增強(支援數百裝置連線)。

配置virtio-scsi

  • 新增一個映象磁碟:

    <devices>
     <disk type='file' device='disk'>
      <target dev='sda' bus='scsi'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
     </disk>
     <controller type='scsi' index='0' model='virtio-scsi'/>
    </devices>
    
  • 新增一個直通磁碟裝置(DirectLUN Disk / lun passthrough)

    <devices>
     <disk type='block' device='lun' rawio='no' sgio='unfiltered'>
      <target dev='sda' bus='scsi'/>
      <address type='drive' controller='0' bus='0' target=0' unit='0'/>
     </disk>
     <controller type='scsi' index='0' model='virtio-scsi'/>
    </devices>

    virtio-scsi    virtio-net-pci    virtio-rng-pci   virtio-9p-pci

    virtio-scsi-pci