On Wed, Oct 17, 2018 at 5:03 PM Mahesh Falmari <Mahesh.Falmari@veritas.com> wrote:

Thanks for the prompt response on these queries. We have few follow-up queries mentioned inline.

 

Thanks & Regards,
Mahesh Falmari

 

From: Yaniv Lavi <ylavi@redhat.com>
Sent: Tuesday, October 16, 2018 7:19 PM
To: Mahesh Falmari <Mahesh.Falmari@veritas.com>
Cc: Nir Soffer <nsoffer@redhat.com>; Erez, Daniel <derez@redhat.com>; Tal Nisan <tnisan@redhat.com>; Pavan Chavva <pchavva@redhat.com>; devel <devel@ovirt.org>; James Olson <James.Olson@veritas.com>; Navin Tah <Navin.Tah@veritas.com>; Sudhakar Paulzagade <Sudhakar.Paulzagade@veritas.com>; Abhay Marode <Abhay.Marode@veritas.com>; Suchitra Herwadkar <Suchitra.Herwadkar@veritas.com>; Nirmalya Sirkar <Nirmalya.Sirkar@veritas.com>; Abhijeet Barve <Abhijeet.Barve@veritas.com>
Subject: [EXTERNAL] Re: List of Queries related to RHV

 


YANIV LAVI

SENIOR TECHNICAL PRODUCT MANAGER

Red Hat Israel Ltd.

34 Jerusalem Road, Building A, 1st floor

Ra'anana, Israel 4350109

ylavi@redhat.com    T: +972-9-7692306/8272306     F: +972-9-7692223    IM: ylavi

TRIED. TESTED. TRUSTED.

 

On Tue, Oct 16, 2018 at 4:35 PM Mahesh Falmari <Mahesh.Falmari@veritas.com> wrote:

Hi Nir,

We have few queries with respect to RHV which we would like to understand from you.

 

1. Does RHV maintains the virtual machine configuration file in back end?

Just like we have configuration files for other hypervisors like for VMware it is .vmx and for Hyper-V, it is .vmcx which captures most of the virtual machine configuration information in that. On the similar lines, does RHV also maintains such file? If not, what is the other way to get all the virtual machine configuration information from a single API?

 

There is a OVF storage, but this is not meant for consumption.


Right, this is only for internal use.
 
...  

3. Do we have any version associated with the virtual machine?

Just like we have hardware version in case of VMware and virtual machine version in case of Hyper-V, does RHV also associate any such version with virtual machine?

 

The HW version is based on the VM machine type.

 [Mahesh] Can you please elaborate more on this? How simply VM machine type going to determine it’s version?


Arik, can you answer this?

Regarding backup, I think you need to store the vm configuration at the time of the
backup regardless of having a version or not. The amount of data is very small.

4. Is it possible to create virtual machines with QCOW2 as base disks instead of RAW?

We would like to understand if there are any use cases customers prefer creating virtual machines from QCOW2 as base disks instead of RAW ones.

 

That is a possibility in cases of thin disk on file storage.

  [Mahesh] Can you please elaborate more on this?


Using the UI you can use qcow2 format only for thin disks on block storage.

Using the SDK you can also create qcow2 image on thin file based storage.

You can see examples here:

In 4.3 we plan to support qcow2 image format for both thin and preallocated
disks to allow change block tracking for incremental backup. See

 

5. RHV Deployment

What kind of deployments you have come across in the field? Does customers scale their infrastructure by adding more datacenters/clusters/nodes or they add more RHV managers? What scenarios trigger having more than one RHV manager?

 

We are all kind with oVirt. I depends on the use case.


I don't know about any stats from users, but the general idea is:

- one engine
- 1 or more DCs
- 1 or more storage domains in a DC
- 1 or more clusters per DCs
- 1 or more hosts per cluster

The theoretical limit is 2000 hosts per DC (limited by sanlock), but the practical
limit is much lower. I don't think we have setups with more than 200 hosts.

Martin, do you have more info on this?

6. Image transfer

We are trying to download disk chunks using multiple threads to improve performance of reading data from RHV. Downloading 2 disk chunks simultaneously via threads should take approximately the same time.

This is much more complicated to calculate. 

But from our observations this takes roughly 1.5 times.


It sounds like a reasonable speed up.

Can RHVM server requests in parallel,


Yes
 

if so are there any settings that need to be tweaked?


We don't have any settings related to concurrency. 

Here is an example:  
Request 1 for chunk 1 from thread 1, Range: bytes=0-1023
Request 2 for chunk 2 from thread 2, Range: bytes=1024-2047
Takes roughly 1.5 seconds, whereas a single request would take 1 second. Expecting it to take just around 1 second.

1.5 seconds for reading 1024 bytes?

[Mahesh] Seeking response to this query.


The throughout you will get depends on many things:
- are you communicating with the proxy (using proxy_url) or the daemon
  (transfer_url)? Accessing the daemon directly will be faster.
- are you running on the same host as the daemon performing the transfer?
- if you run on the same host, are you using unix socket? (15% improvement expected)
- are you using the same connection per thread for entire transfer (huge improvement
  when doing small requests)
- which version are you testing? we support keep alive connections only since 1.4.x.
- are you using big enough requests? you will get best performance if you use one
   big request per thread
- network bandwidth
- storage speed

For best throughput when downloading single disk, you should use multiple threads,
each downloading one part of an image, but I'm not sure it worth the time to optimize
this since backup are expected the run in the same time anyway, and you will quickly
reach the storage limit while downloading disks for multiple vms on multiple hosts
in the same time.
 
I suggest testing the expected use case, not single download.
 

7. Free and Thaw operation

For cinder based VM, API recommended for FS consistent backup.

  • POST /api/vms/<ID>/freezefilesystems
  • POST /api/vms/<ID>/thawfilesystems

Why do we need this whereas it is not required for other storage?

Creating a snapshot does this for you in a case where you have the oVirt guest agent install on the guest.

  [Mahesh] Thanks, we would also like to understand is there a way to control crash/app consistent snapshots through REST APIs?


snapshots are always consistent if you have qemu guest agent installed, and the
guest is using the guest agent scripts properly.

Without the guest agent, or if it is not configured properly, file system will have to 
recover after restore, in the same way it recovers after power failure.

To be able to resume a vm to the same state when the snapshot was done you
need to include memory in the snapshot, but this make the snapshot much slower,
depending on the amount of guest memory, and require huge amount of space,
so I don't think it makes sense for backup.

Regarding REST API, Arik can add more info about this.

Nir