How to check module health?

To do this, you need to check the status of the pods in the d8-csi-huawei namespace. All pods should be in the Running or Completed state and should be running on all nodes.

kubectl -n d8-csi-huawei get pod -owide -w

How can I use the same physical storage system Huawei for different clusters independently?

In Huawei storage systems, there’s a concept called vStore. This is a virtual storage system – essentially storage within storage.

WARNING! Using two vStores in the same cluster is not supported! This limitation is connected with host mapping to vStores – different vStores cannot have hosts with identical names as well as identical iSCSI initiators.

As an example, let’s configure the storage system for two clusters, each running the csi-huawei module.

Storage System Configuration

Creating a vStore

1. Log in to the storage system as the superadmin created during system initialization.

2. Navigate to the top menu item Services > vStores

3. Click Create button and fill out the form:

Where:
Name – vStore name (e.g., vStore_2),
Associate with Storage Pool – option to bind vStore to specific storage pools (limits vStore to use these pools only),
Associate with FC Port – option to bind vStore to specific physical FibreChannel ports.

Then click OK – the vStore is created.

4. Create a vStore management user
In the vStore list, select created vStore with a single click. In the opened window, go to the User management tab and click Create:

Fill out the form:

Name – username (e.g., admin_2),
Enter password twice,
Role – vStore Administrator (user requires permissions to manage all the vStore resources).

Then click OK – the user is created.

5. Create a management port for the vStore
To connect to the vStore, it requires its own dedicated management port. System management ports cannot be used for vStore administrator logins.

Navigate to Services > Logical ports, click Create, and fill out the form:

Name – port name (e.g., data-management-port-2),
Role – management or service+management (management-only requires separate data plane port; service+management combines both control-plane and data-plane),
Owning vStore – name of the vStore created earlier,
IP address, subnet mask, gateway – network settings,
Port type – Ethernet port/Bond/VLAN, we use Ethernet Home port – physical storage port used for vStore management (and data if applicable).

Click OK – the port is created. You can now connect to the vStore management console.

6. Connect to the vStore management console
Open in your browser: https://[logical-port-IP]:8088 (e.g., https://10.220.0.101:8088)
Enter credentials of the created user. The system will prompt for password change – set a new permanent password for future logins.

Configuration complete.

Repeat the same steps to create a second vStore with a different name, user, and management port.

Connecting to the Storage System from the Cluster

Deploy the csi-huawei module in your cluster. See documentation.

Create a HuaweiStorageConnection, for example:

apiVersion: storage.deckhouse.io/v1alpha1
kind: HuaweiStorageConnection
metadata:
  name: hsconn-220
spec:
  storageType: OceanStorSAN
  pools:
    - prod # StoragePool name
  urls:
    - https://10.220.0.101:8088 # Logical port IP
  login: "admin_2" # vStore admin username
  password: 'Rra2#fsdfs' # Password
  protocol: ISCSI
  portals:
    - 10.220.0.101 # Data-plane address
  maxClientThreads: 30

Next, create a HuaweiStorageClass. After this, you can create pods and PVCs using the storage class name.