GitHub user dahampere created a discussion: iSCSI overlay for Primera / Alletra 
Storage MP on CloudStack 4.22.1.1 KVM

I put together an overlay that makes CloudStack’s existing **Primera** 
primary-storage path work on **iSCSI-only KVM hosts**.

Repo: https://github.com/dahampere/cloudstack-primera_alletraMP-iscsi  
Release: 
https://github.com/dahampere/cloudstack-primera_alletraMP-iscsi/releases/tag/v4.22.1.1-1
  
License: Apache License 2.0 (derived from ACS `plugins/storage/volume/primera` 
and `scripts/storage/multipath`)

This is **not** an official Apache CloudStack release and **not** a new storage 
API.

### The problem

Stock CloudStack already manages HPE Primera, 3PAR, Alletra Storage MP, and 
Alletra 9000 over **WSAPI v1** as **Provider = Primera**.

The in-tree KVM host scripts only rescan Fibre Channel (`/sys/class/fc_host`). 
On an iSCSI-only hypervisor that directory is empty, so attach never sees the 
LUN.

A second issue: one target IQN carries many VLUNs. Logging out of the iSCSI 
session when a single volume detaches drops every other volume on that target.

ACS **Protocol = iSCSI** (one shared LUN) is the wrong control plane for this. 
Use **Provider = Primera** (or the optional **AlletraMP** alias below). Path 
format stays `type=FIBERWWN; address=<WWN>`.

This is **not** Nimble OS (Alletra 5000 / 6000).

### What it does

Two pieces. You can install only the first.

| Piece | Where | What |
| --- | --- | --- |
| iSCSI connect overlay (required) | every KVM host | Debian package that 
overlays `connectVolume.sh`, `disconnectVolume.sh`, and `multipath-common.sh`. 
Rescans iSCSI sessions instead of FC. Does **not** log out the target on 
detach. |
| AlletraMP provider (optional) | every management node | Sidecar JAR next to 
Linstor/Storpool. Registers the same Primera adapter as **AlletraMP** so Add 
Primary Storage can show that name. Existing `provider=Primera` pools are left 
alone. |

Stock Primera stays installed. Do not rewrite `cloudstack-*.jar` and do not 
SQL-rename existing pools.

If `multipath.conf` uses `user_friendly_names yes` (maps as `mpathX`), the 
overlay creates `/dev/mapper/3<wwn>` → that device so CloudStack still finds 
the volume.

### Scope and status

- **Pinned to** Apache CloudStack **4.22.1.1** Debian/Ubuntu packages. Not “any 
4.22”. No RPM.
- **Hypervisor:** KVM.
- **Array:** Primera / 3PAR / Alletra Storage MP / Alletra 9000, WSAPI v1, 
iSCSI.
- **Proven on this package:** deploy, attach, detach, live migrate.
- **Not in the KVM overlay** (stock FC scripts remain): `resizeVolume.sh`, 
`copyVolume.sh`, `cleanStaleMaps.sh`. Resize / copy / stale-map cleanup on 
iSCSI is unproven here.

### How to try it

Full steps: 
[docs/INSTALL.md](https://github.com/dahampere/cloudstack-primera_alletraMP-iscsi/blob/main/docs/INSTALL.md)

Short version:

1. On the array: host object per KVM hypervisor (name = CloudStack hostname), 
register each host IQN, put hosts in one host-set, note CPG + WSAPI URL.
2. On every KVM host: `open-iscsi` + `multipath-tools`, discover/login to 
**this array’s target IQN only**, `node.startup = automatic`. Do not log that 
target out.
3. Install the host overlay:

```bash
sudo apt-get install ./cloudstack-alletra-mp-kvm_4.22.1.1-1_all.deb
grep -c mp_scan_lun 
/usr/share/cloudstack-common/scripts/storage/multipath/connectVolume.sh
# expect 1

GitHub link: https://github.com/apache/cloudstack/discussions/14032

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to