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