Skip to content

Linstor root disk does not use size per offering or resize  #7934

@rohityadavcloud

Description

@rohityadavcloud

I've a 3-node kvm/Ubuntu 22.04 setup with ACS 4.18.0.0. Linstor that uses LVM_THIN on a 2TB nvme (on each of kvm1/2/3 nodes). I created a resource group cloudstack with placecount of 2, and add that as a zone-wide primary linstor storage in CloudStack with a specific storage tag linstor. Further I created disk and compute offerings with the same storage tag. I found the following issues:

  1. I deployed a four test VMs with varying linstor specific offering, both using the compute offering and using the overiding disk offering for the root disk using the UI. In the created root disk for the VM, it uses the template's original size and doesn't resize the linstor volume based on the offering's disk size. The compute/disk offering specifies 100G as disk size.
# linstor v l
╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
┊ Node ┊ Resource                                ┊ StoragePool          ┊ VolNr ┊ MinorNr ┊ DeviceName    ┊ Allocated ┊ InUse  ┊      State ┊
╞═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡
┊ kvm1 ┊ cs-714a4f1f-93f4-4166-9b02-cf498c41aa07 ┊ nvme_pool            ┊     0 ┊    1003 ┊ /dev/drbd1003 ┊  2.20 GiB ┊ Unused ┊   UpToDate ┊
┊ kvm2 ┊ cs-714a4f1f-93f4-4166-9b02-cf498c41aa07 ┊ DfltDisklessStorPool ┊     0 ┊    1003 ┊ /dev/drbd1003 ┊           ┊ InUse  ┊   Diskless ┊
┊ kvm3 ┊ cs-714a4f1f-93f4-4166-9b02-cf498c41aa07 ┊ nvme_pool            ┊     0 ┊    1003 ┊ /dev/drbd1003 ┊  2.20 GiB ┊ Unused ┊   UpToDate ┊
┊ kvm1 ┊ cs-748e7f9d-7257-48dd-9efa-971396fee88f ┊ nvme_pool            ┊     0 ┊    1000 ┊ /dev/drbd1000 ┊  2.20 GiB ┊ Unused ┊   UpToDate ┊
┊ kvm2 ┊ cs-748e7f9d-7257-48dd-9efa-971396fee88f ┊ DfltDisklessStorPool ┊     0 ┊    1000 ┊ /dev/drbd1000 ┊           ┊ Unused ┊   Diskless ┊
┊ kvm3 ┊ cs-748e7f9d-7257-48dd-9efa-971396fee88f ┊ nvme_pool            ┊     0 ┊    1000 ┊ /dev/drbd1000 ┊  2.20 GiB ┊ Unused ┊   UpToDate ┊
┊ kvm1 ┊ cs-98ff59bc-3dd0-4efb-ba9a-381c6b5642c4 ┊ nvme_pool            ┊     0 ┊    1001 ┊ /dev/drbd1001 ┊  2.20 GiB ┊ Unused ┊   UpToDate ┊
┊ kvm2 ┊ cs-98ff59bc-3dd0-4efb-ba9a-381c6b5642c4 ┊ nvme_pool            ┊     0 ┊    1001 ┊ /dev/drbd1001 ┊  2.20 GiB ┊ Unused ┊   UpToDate ┊
┊ kvm3 ┊ cs-98ff59bc-3dd0-4efb-ba9a-381c6b5642c4 ┊ DfltDisklessStorPool ┊     0 ┊    1001 ┊ /dev/drbd1001 ┊           ┊ Unused ┊ TieBreaker ┊
┊ kvm1 ┊ cs-bdad90e3-2443-4d01-aef9-1f37db7b3a5a ┊ nvme_pool            ┊     0 ┊    1002 ┊ /dev/drbd1002 ┊  2.22 GiB ┊ InUse  ┊   UpToDate ┊
┊ kvm2 ┊ cs-bdad90e3-2443-4d01-aef9-1f37db7b3a5a ┊ DfltDisklessStorPool ┊     0 ┊    1002 ┊ /dev/drbd1002 ┊           ┊ Unused ┊   Diskless ┊
┊ kvm3 ┊ cs-bdad90e3-2443-4d01-aef9-1f37db7b3a5a ┊ nvme_pool            ┊     0 ┊    1002 ┊ /dev/drbd1002 ┊  2.22 GiB ┊ Unused ┊   UpToDate ┊
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
  1. I also tried resizing the volume via CloudStack's volume -> resize, but that doesn't work either.

  2. I tried to create data disk with the same offering, while the offering's size was 100G in the linstor v l I saw a new entries but with only 20.48MiB size:

┊ kvm1 ┊ cs-d4eea962-011c-411b-85d6-9a0bd26a1f44 ┊ DfltDisklessStorPool ┊     0 ┊    1006 ┊ /dev/drbd1006 ┊           ┊ InUse  ┊   Diskless ┊
┊ kvm2 ┊ cs-d4eea962-011c-411b-85d6-9a0bd26a1f44 ┊ nvme_pool            ┊     0 ┊    1006 ┊ /dev/drbd1006 ┊ 20.48 MiB ┊ Unused ┊   UpToDate ┊
┊ kvm3 ┊ cs-d4eea962-011c-411b-85d6-9a0bd26a1f44 ┊ nvme_pool            ┊     0 ┊    1006 ┊ /dev/drbd1006 ┊ 20.48 MiB ┊ Unused ┊   UpToDate ┊
Screenshot 2023-09-02 at 3 00 35 AM
  1. For each VM deployment using the same VM template, in linstor I see multiple volume created. I'm not entirely sure if it's a bug, could you advise if it's expected that the current linstor plugin would create a volume per KVM host?

cc @rp- @Philipp-Reisner - pl advise if you need any further information, it's possible I've followed something wrong (and obvious?), users wouldn't be able to try/use Linstor with CloudStack. Is it supported with CloudStack with lvm (thin)? Or, should we be using zfs (thick/thin) or lvm (thick) with this? Thanks. (edit - changing the volume-definition manually and doing a stop/start fixed the size issue for me)

Misc:

# linstor --version
linstor-client 1.19.0; GIT-hash: 500970a65717de3eeba002ee32ceb668ebd654b1

# cat /proc/drbd
version: 9.2.5 (api:2/proto:86-122)
GIT-hash: b44520271e63d4b6f359a6642eb4d475b7cc04e0 build by root@kvm3, 2023-09-01 18:27:18
Transports (api:18): tcp (9.2.5)
ISSUE TYPE
  • Bug Report
COMPONENT NAME
Linstor storage plugin
CLOUDSTACK VERSION
4.18.0.0
CONFIGURATION

Adv zone KVM with Ubuntu 22.04 using hwe kernel 6.2.0-31-generic

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions