cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rafael Weingärtner <rafaelweingart...@gmail.com>
Subject Re: Attaching more than 14 data volumes to an instance
Date Wed, 15 Feb 2017 17:24:03 GMT
I thought that on a VM we would not be bound by PCI limitations.
Interesting explanations, thanks.


On Wed, Feb 15, 2017 at 12:19 PM, Voloshanenko Igor <
igor.voloshanenko@gmail.com> wrote:

> I think explanation very easy.
> PCI itself can handle up to 32 devices.
>
> If you run lspci inside empty (fresh created) VM - you will see, that 8
> slots already occupied
> [root@test-virtio-blk ~]# lspci
> 00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev
> 02)
> 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
> 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton
> II]
> 00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton
> II] (rev 01)
> 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
> 00:02.0 VGA compatible controller: Cirrus Logic GD 5446
> 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
> 00:04.0 SCSI storage controller: Red Hat, Inc Virtio block device
>
> [root@test-virtio-blk ~]# lspci | wc -l
> 8
>
> So, 7 system devices + 1 ROOT disk
>
> in current implementation, we used virtio-blk, which can handle only 1
> device per instance.
>
> So, we have 32-8 == 24 free slots...
>
> As Cloudstack support more than 1 eth cards - 8 of them reserved for
> network cards and 16 available for virtio-blk
>
> So, practical limit equal 16 devices (for DATA disks)
>
> Why 2 devices (0 + 3) excluded - interesting question... I will try to
> research and post explanation
>
>
>
>
>
>
>
>
> 2017-02-15 18:27 GMT+02:00 Rafael Weingärtner <rafaelweingartner@gmail.com
> >:
>
> > I hate to say this, but probably no one knows why.
> > I looked at the history and this method has always being like this.
> >
> > The device ID 3 seems to be something reserved, probably for Xen tools
> (big
> > guess here)?
> >
> > Also, regarding the limit; I could speculate two explanations for the
> > limit. A developer did not get the full specs and decided to do whatever
> > he/she wanted. Or, maybe, at the time of coding (long, long time ago)
> there
> > was a hypervisor that limited (maybe still limits) the number of devices
> > that could be plugged to a VM and the first developers decided to level
> > everything by that spec.
> >
> > It may be worth checking with KVM, XenServer, Hyper-V, and VMware if they
> > have such limitation on disks that can be attached to a VM. If they do
> not
> > have, we could remove that, or at least externalize the limit in a
> > parameter.
> >
> > On Wed, Feb 15, 2017 at 5:54 AM, Friðvin Logi Oddbjörnsson <
> > fridvin@greenqloud.com> wrote:
> >
> > > CloudStack is currently limiting the number of data volumes, that can
> be
> > > attached to an instance, to 14.
> > > More specifically, this limitation relates to the device ids that
> > > CloudStack considers valid for data volumes.
> > > In method VolumeApiServiceImpl.getDeviceId(long, Long), only device
> ids
> > 1,
> > > 2, and 4-15 are considered valid.
> > > What I would like to know is: is there a reason for this limitation?
> (of
> > > not going higher than device id 15)
> > >
> > > Note that the current number of attached data volumes is already being
> > > checked against the maximum number of data volumes per instance, as
> > > specified by the relevant hypervisor’s capabilities.
> > > E.g. if the relevant hypervisor’s capabilities specify that it only
> > > supports 6 data volumes per instance, CloudStack rejects attaching a
> > > seventh data volume.
> > >
> > >
> > > Friðvin Logi Oddbjörnsson
> > >
> > > Senior Developer
> > >
> > > Tel: (+354) 415 0200 | fridvin@greenqloud.com <jaroslav@greenqloud.com
> >
> > >
> > > Mobile: (+354) 696 6528 | PGP Key: 57CA1B00
> > > <https://sks-keyservers.net/pks/lookup?op=vindex&search=
> > > fridvin@greenqloud.com>
> > >
> > > Twitter: @greenqloud <https://twitter.com/greenqloud> | @qstackcloud
> > > <https://twitter.com/qstackcloud>
> > >
> > > www.greenqloud.com | www.qstack.com
> > >
> > > [image: qstack_blue_landscape_byqreenqloud-01.png]
> > >
> >
> >
> >
> > --
> > Rafael Weingärtner
> >
>



-- 
Rafael Weingärtner

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message