[Openstack] New instances booting time

2015-08-05 Thread Ivan Derbenev
Hello, guys, I have a question
We now have OS Kilo + KVM+ Ubuntu 14.04

Nova-compute.conf:
[libvirt]
virt_type=kvm
images_type = lvm
images_volume_group =openstack-controller01-ky01-vg
volume_clear = none

the problem is when nova boots a new instance it's SUPER slow
exactly this step:
Running cmd (subprocess): sudo nova-rootwrap /etc/nova/rootwrap.conf qemu-img 
convert -O raw 
/var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e 
/dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b608c_disk

Well, I understand what this step is doing - it's copying raw image to lvm.

How can we speed it up?
I don't wanna have instance from 100GB image booted for 4 hours

Regards,
IT engineer
Farheap, Russia
Ivan Derbenev

___
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack


Re: [Openstack] New instances booting time

2015-08-13 Thread Ivan Derbenev
bump

Regards,
IT engineer
Farheap, Russia
Ivan Derbenev

From: Ivan Derbenev [mailto:ivan.derbe...@tech-corps.com]
Sent: Wednesday, August 5, 2015 1:21 PM
To: openstack@lists.openstack.org
Subject: [Openstack] New instances booting time

Hello, guys, I have a question
We now have OS Kilo + KVM+ Ubuntu 14.04

Nova-compute.conf:
[libvirt]
virt_type=kvm
images_type = lvm
images_volume_group =openstack-controller01-ky01-vg
volume_clear = none

the problem is when nova boots a new instance it's SUPER slow
exactly this step:
Running cmd (subprocess): sudo nova-rootwrap /etc/nova/rootwrap.conf qemu-img 
convert -O raw 
/var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e 
/dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b608c_disk

Well, I understand what this step is doing - it's copying raw image to lvm.

How can we speed it up?
I don't wanna have instance from 100GB image booted for 4 hours

Regards,
IT engineer
Farheap, Russia
Ivan Derbenev

___
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack


Re: [Openstack] New instances booting time

2015-08-14 Thread Jay Pipes

On 08/13/2015 11:37 PM, Ivan Derbenev wrote:

*From:*Ivan Derbenev [mailto:ivan.derbe...@tech-corps.com]
*Sent:* Wednesday, August 5, 2015 1:21 PM
*To:* openstack@lists.openstack.org
*Subject:* [Openstack] New instances booting time

Hello, guys, I have a question

We now have OS Kilo + KVM+ Ubuntu 14.04

Nova-compute.conf:

[libvirt]

virt_type=kvm

images_type = lvm

images_volume_group =openstack-controller01-ky01-vg

volume_clear = none

the problem is when nova boots a new instance it’s SUPER slow

exactly this step:

Running cmd (subprocess): sudo nova-rootwrap /etc/nova/rootwrap.conf
qemu-img convert -O raw
/var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e
/dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b608c_disk

Well, I understand what this step is doing – it’s copying raw image to lvm.

How can we speed it up?

I don’t wanna have instance from 100GB image booted for 4 hours


Don't use base images that are 100G in size. Quite simple, really.

Best,
-jay

___
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack


Re: [Openstack] New instances booting time

2015-08-14 Thread Daniel P. Berrange
On Fri, Aug 14, 2015 at 09:55:42AM -0400, Jay Pipes wrote:
> On 08/13/2015 11:37 PM, Ivan Derbenev wrote:
> >*From:*Ivan Derbenev [mailto:ivan.derbe...@tech-corps.com]
> >*Sent:* Wednesday, August 5, 2015 1:21 PM
> >*To:* openstack@lists.openstack.org
> >*Subject:* [Openstack] New instances booting time
> >
> >Hello, guys, I have a question
> >
> >We now have OS Kilo + KVM+ Ubuntu 14.04
> >
> >Nova-compute.conf:
> >
> >[libvirt]
> >
> >virt_type=kvm
> >
> >images_type = lvm
> >
> >images_volume_group =openstack-controller01-ky01-vg
> >
> >volume_clear = none
> >
> >the problem is when nova boots a new instance it’s SUPER slow
> >
> >exactly this step:
> >
> >Running cmd (subprocess): sudo nova-rootwrap /etc/nova/rootwrap.conf
> >qemu-img convert -O raw
> >/var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e
> >/dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b608c_disk
> >
> >Well, I understand what this step is doing – it’s copying raw image to lvm.
> >
> >How can we speed it up?
> >
> >I don’t wanna have instance from 100GB image booted for 4 hours
> 
> Don't use base images that are 100G in size. Quite simple, really.

Presumably the actual image is only a few 100 MB in size, but the
virtual qcow2 size is 100 GB ?

I guess qemu-img probably has to still write out 100 GB of zeros
as it can't assume that the LVM target is pre-zeroed. I do wonder
though if there's a way to optimize this so that qemu-img only
has to write out the 100 MB of actual data, and not al the zeros.

Perhaps there's scope for a flag to qemu-img to tell it to seek
in the target when it sees holes in the source image. If OpenStack
then used sparse LVM images, there would be no need to rwite out
100's of GB of zeros.

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

___
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack


Re: [Openstack] New instances booting time

2015-08-14 Thread Daniel P. Berrange
On Fri, Aug 14, 2015 at 03:10:13PM +0100, Daniel P. Berrange wrote:
> On Fri, Aug 14, 2015 at 09:55:42AM -0400, Jay Pipes wrote:
> > On 08/13/2015 11:37 PM, Ivan Derbenev wrote:
> > >*From:*Ivan Derbenev [mailto:ivan.derbe...@tech-corps.com]
> > >*Sent:* Wednesday, August 5, 2015 1:21 PM
> > >*To:* openstack@lists.openstack.org
> > >*Subject:* [Openstack] New instances booting time
> > >
> > >Hello, guys, I have a question
> > >
> > >We now have OS Kilo + KVM+ Ubuntu 14.04
> > >
> > >Nova-compute.conf:
> > >
> > >[libvirt]
> > >
> > >virt_type=kvm
> > >
> > >images_type = lvm
> > >
> > >images_volume_group =openstack-controller01-ky01-vg
> > >
> > >volume_clear = none
> > >
> > >the problem is when nova boots a new instance it’s SUPER slow
> > >
> > >exactly this step:
> > >
> > >Running cmd (subprocess): sudo nova-rootwrap /etc/nova/rootwrap.conf
> > >qemu-img convert -O raw
> > >/var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e
> > >/dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b608c_disk
> > >
> > >Well, I understand what this step is doing – it’s copying raw image to lvm.
> > >
> > >How can we speed it up?
> > >
> > >I don’t wanna have instance from 100GB image booted for 4 hours
> > 
> > Don't use base images that are 100G in size. Quite simple, really.
> 
> Presumably the actual image is only a few 100 MB in size, but the
> virtual qcow2 size is 100 GB ?
> 
> I guess qemu-img probably has to still write out 100 GB of zeros
> as it can't assume that the LVM target is pre-zeroed. I do wonder
> though if there's a way to optimize this so that qemu-img only
> has to write out the 100 MB of actual data, and not al the zeros.
> 
> Perhaps there's scope for a flag to qemu-img to tell it to seek
> in the target when it sees holes in the source image. If OpenStack
> then used sparse LVM images, there would be no need to rwite out
> 100's of GB of zeros.

Speaking with the KVM block layer maintainers, the behaviour seen
is not entirely expected. qemu-img wants to ensure no existing
data is left behind as that could cause data corruption if the
original qcow2 file had dropped empty sectors. So it has to make
sure it can write out the 100 GB even if that is mostly zeros.

That said, it has support for using discard, and it will use that
in preference to writing zeros, which should be really fast. For
it to work with block devices though, it seems that we need to
disable the I/O cache by passing '-t none' to qemu-img when doing
this conversion. This also assumes the underlying storage that
the user has configured behind their LVM volume supports discard
which may not always be the case.

So it would be interesting to know if changing

$ qemu-img convert -O raw \
/var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e \

/dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b608c_disk

to

$ qemu-img convert -O raw -t none \
/var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e \

/dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b608c_disk

makes any significant difference to the speed.

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

___
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack


Re: [Openstack] New instances booting time

2015-08-14 Thread Daniel P. Berrange
On Fri, Aug 14, 2015 at 03:34:09PM +0100, Daniel P. Berrange wrote:
> On Fri, Aug 14, 2015 at 03:10:13PM +0100, Daniel P. Berrange wrote:
> > On Fri, Aug 14, 2015 at 09:55:42AM -0400, Jay Pipes wrote:
> > > On 08/13/2015 11:37 PM, Ivan Derbenev wrote:
> > > >*From:*Ivan Derbenev [mailto:ivan.derbe...@tech-corps.com]
> > > >*Sent:* Wednesday, August 5, 2015 1:21 PM
> > > >*To:* openstack@lists.openstack.org
> > > >*Subject:* [Openstack] New instances booting time
> > > >
> > > >Hello, guys, I have a question
> > > >
> > > >We now have OS Kilo + KVM+ Ubuntu 14.04
> > > >
> > > >Nova-compute.conf:
> > > >
> > > >[libvirt]
> > > >
> > > >virt_type=kvm
> > > >
> > > >images_type = lvm
> > > >
> > > >images_volume_group =openstack-controller01-ky01-vg
> > > >
> > > >volume_clear = none
> > > >
> > > >the problem is when nova boots a new instance it’s SUPER slow
> > > >
> > > >exactly this step:
> > > >
> > > >Running cmd (subprocess): sudo nova-rootwrap /etc/nova/rootwrap.conf
> > > >qemu-img convert -O raw
> > > >/var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e
> > > >/dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b608c_disk
> > > >
> > > >Well, I understand what this step is doing – it’s copying raw image to 
> > > >lvm.
> > > >
> > > >How can we speed it up?
> > > >
> > > >I don’t wanna have instance from 100GB image booted for 4 hours
> > > 
> > > Don't use base images that are 100G in size. Quite simple, really.
> > 
> > Presumably the actual image is only a few 100 MB in size, but the
> > virtual qcow2 size is 100 GB ?
> > 
> > I guess qemu-img probably has to still write out 100 GB of zeros
> > as it can't assume that the LVM target is pre-zeroed. I do wonder
> > though if there's a way to optimize this so that qemu-img only
> > has to write out the 100 MB of actual data, and not al the zeros.
> > 
> > Perhaps there's scope for a flag to qemu-img to tell it to seek
> > in the target when it sees holes in the source image. If OpenStack
> > then used sparse LVM images, there would be no need to rwite out
> > 100's of GB of zeros.
> 
> Speaking with the KVM block layer maintainers, the behaviour seen
> is not entirely expected. qemu-img wants to ensure no existing
> data is left behind as that could cause data corruption if the
> original qcow2 file had dropped empty sectors. So it has to make
> sure it can write out the 100 GB even if that is mostly zeros.
> 
> That said, it has support for using discard, and it will use that
> in preference to writing zeros, which should be really fast. For
> it to work with block devices though, it seems that we need to
> disable the I/O cache by passing '-t none' to qemu-img when doing
> this conversion. This also assumes the underlying storage that
> the user has configured behind their LVM volume supports discard
> which may not always be the case.
> 
> So it would be interesting to know if changing
> 
> $ qemu-img convert -O raw \
> /var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e \
> 
> /dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b608c_disk
> 
> to
> 
> $ qemu-img convert -O raw -t none \
> /var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e \
> 
> /dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b608c_disk
> 
> makes any significant difference to the speed.

I filed a bug to track this possible enhancement

  https://bugs.launchpad.net/nova/+bug/1484992

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

___
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack


Re: [Openstack] New instances booting time

2015-08-14 Thread Ivan Derbenev
Well, thanks. 
Actually, wanted to know, if this behavior is ok for every installation, or I 
has misconfigured smthing

Regards, 
IT engineer
Farheap, Russia
Ivan Derbenev

-Original Message-
From: Daniel P. Berrange [mailto:berra...@redhat.com] 
Sent: Friday, August 14, 2015 5:56 PM
To: Jay Pipes 
Cc: openstack@lists.openstack.org
Subject: Re: [Openstack] New instances booting time

On Fri, Aug 14, 2015 at 03:34:09PM +0100, Daniel P. Berrange wrote:
> On Fri, Aug 14, 2015 at 03:10:13PM +0100, Daniel P. Berrange wrote:
> > On Fri, Aug 14, 2015 at 09:55:42AM -0400, Jay Pipes wrote:
> > > On 08/13/2015 11:37 PM, Ivan Derbenev wrote:
> > > >*From:*Ivan Derbenev [mailto:ivan.derbe...@tech-corps.com]
> > > >*Sent:* Wednesday, August 5, 2015 1:21 PM
> > > >*To:* openstack@lists.openstack.org
> > > >*Subject:* [Openstack] New instances booting time
> > > >
> > > >Hello, guys, I have a question
> > > >
> > > >We now have OS Kilo + KVM+ Ubuntu 14.04
> > > >
> > > >Nova-compute.conf:
> > > >
> > > >[libvirt]
> > > >
> > > >virt_type=kvm
> > > >
> > > >images_type = lvm
> > > >
> > > >images_volume_group =openstack-controller01-ky01-vg
> > > >
> > > >volume_clear = none
> > > >
> > > >the problem is when nova boots a new instance it’s SUPER slow
> > > >
> > > >exactly this step:
> > > >
> > > >Running cmd (subprocess): sudo nova-rootwrap 
> > > >/etc/nova/rootwrap.conf qemu-img convert -O raw 
> > > >/var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a1
> > > >9b42e 
> > > >/dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a6623
> > > >27b608c_disk
> > > >
> > > >Well, I understand what this step is doing – it’s copying raw image to 
> > > >lvm.
> > > >
> > > >How can we speed it up?
> > > >
> > > >I don’t wanna have instance from 100GB image booted for 4 hours
> > > 
> > > Don't use base images that are 100G in size. Quite simple, really.
> > 
> > Presumably the actual image is only a few 100 MB in size, but the 
> > virtual qcow2 size is 100 GB ?
> > 
> > I guess qemu-img probably has to still write out 100 GB of zeros as 
> > it can't assume that the LVM target is pre-zeroed. I do wonder 
> > though if there's a way to optimize this so that qemu-img only has 
> > to write out the 100 MB of actual data, and not al the zeros.
> > 
> > Perhaps there's scope for a flag to qemu-img to tell it to seek in 
> > the target when it sees holes in the source image. If OpenStack then 
> > used sparse LVM images, there would be no need to rwite out 100's of 
> > GB of zeros.
> 
> Speaking with the KVM block layer maintainers, the behaviour seen is 
> not entirely expected. qemu-img wants to ensure no existing data is 
> left behind as that could cause data corruption if the original qcow2 
> file had dropped empty sectors. So it has to make sure it can write 
> out the 100 GB even if that is mostly zeros.
> 
> That said, it has support for using discard, and it will use that in 
> preference to writing zeros, which should be really fast. For it to 
> work with block devices though, it seems that we need to disable the 
> I/O cache by passing '-t none' to qemu-img when doing this conversion. 
> This also assumes the underlying storage that the user has configured 
> behind their LVM volume supports discard which may not always be the 
> case.
> 
> So it would be interesting to know if changing
> 
> $ qemu-img convert -O raw \
> /var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e \
> 
> /dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b60
> 8c_disk
> 
> to
> 
> $ qemu-img convert -O raw -t none \
> /var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e \
> 
> /dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b60
> 8c_disk
> 
> makes any significant difference to the speed.

I filed a bug to track this possible enhancement

  https://bugs.launchpad.net/nova/+bug/1484992

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

___
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
___
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack


Re: [Openstack] New instances booting time

2015-08-14 Thread Ivan Derbenev
Well, I have 4gb qcow2 image 
But it contains a 100gb filesystem
And the rest 96 gbs are still copied

Regards, 
IT engineer
Farheap, Russia
Ivan Derbenev

-Original Message-
From: Jay Pipes [mailto:jaypi...@gmail.com] 
Sent: Friday, August 14, 2015 4:56 PM
To: openstack@lists.openstack.org
Subject: Re: [Openstack] New instances booting time

On 08/13/2015 11:37 PM, Ivan Derbenev wrote:
> *From:*Ivan Derbenev [mailto:ivan.derbe...@tech-corps.com]
> *Sent:* Wednesday, August 5, 2015 1:21 PM
> *To:* openstack@lists.openstack.org
> *Subject:* [Openstack] New instances booting time
>
> Hello, guys, I have a question
>
> We now have OS Kilo + KVM+ Ubuntu 14.04
>
> Nova-compute.conf:
>
> [libvirt]
>
> virt_type=kvm
>
> images_type = lvm
>
> images_volume_group =openstack-controller01-ky01-vg
>
> volume_clear = none
>
> the problem is when nova boots a new instance it's SUPER slow
>
> exactly this step:
>
> Running cmd (subprocess): sudo nova-rootwrap /etc/nova/rootwrap.conf 
> qemu-img convert -O raw 
> /var/lib/nova/instances/_base/999f7fff2521e4a7243c9e1d21599fd64a19b42e
> /dev/openstack-controller01-ky01-vg/5f831046-435c-4636-8b71-a662327b60
> 8c_disk
>
> Well, I understand what this step is doing - it's copying raw image to lvm.
>
> How can we speed it up?
>
> I don't wanna have instance from 100GB image booted for 4 hours

Don't use base images that are 100G in size. Quite simple, really.

Best,
-jay

___
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

___
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack