[pve-devel] pve-manager and disk IO monitoring

Dmitry Petuhov mityapetuhov at gmail.com
Thu Sep 29 08:41:35 CEST 2016


29.09.2016 09:21, Michael Rasmussen пишет:
> On Thu, 29 Sep 2016 09:17:56 +0300
> Dmitry Petuhov <mityapetuhov at gmail.com> wrote:
>
>> It's side effect of scsi pass-through, which is being used by default for [libi]scsi volumes with scsi VM disk interface. QEMU is just not aware of VM block IO in that case. Also, cache settings for volumes are ineffective, because qemu is just proxying raw scsi commands to backing storage, so caching is impossible.
>>
>> Do you use PVE backups (vzdump)? Is it works for machines without stats? I think it's also shall not work with pass-through.
>>
> What do you mean by pass-through? (no pass-through is happening here
> since the storage resides on a SAN)
In QemuServer.pm (some code omitted):

if ($drive->{interface} eq 'scsi')
my $devicetype = 'hd';
     if($path =~ m/^iscsi\:\/\//){
         $devicetype = 'generic';
     }
$device = "scsi-$devicetype ...

So usually if drive interface is scsi, PVE uses fully-emulated qemu 
device 'scsi-hd'. But for iscsi: volumes (iscsi direct and zfs over 
iscsi) it uses 'scsi-generic' device, which just proxies scsi commands 
between guest OS and your SAN's iscsi target.

BTW, I began write code to on|off pass-through in storage's config, so 
that we could force it off, even if it can be used. If developers are 
interested, I can find it.




More information about the pve-devel mailing list