# External storage requirements

> This guide outlines the essential prerequisites for connecting external storage (SAN or NAS) to your CubeCOS environment. Before beginning the configuration process, verify that your infrastructure meets the network, hardware, and access requirements listed below.

This guide outlines the essential prerequisites for connecting external storage (SAN or NAS) to your CubeCOS environment. Before beginning the configuration process, verify that your infrastructure meets the network, hardware, and access requirements listed below.

## Prerequisites {#prerequisites}

To successfully connect your storage appliance, verify the following setup in your environment.

### Hardware Configuration {#hardware-configuration}

#### Verify Fiber Channel (FC) configuration {#verify-fiber-channel-fc-configuration}

- **Fibre Channel (FC):**
  - **HBA Cards:** You must install Fibre Channel HBA cards on **all** Control Nodes and Compute Nodes.
  - **Zoning:** You must configure zoning on your FC switch. This allows the CubeCOS servers to "see" and communicate with the storage array.

Verify that the Host Bus Adapters (HBAs) are physically recognized and online by performing the following steps:

```bash
# Verbose listing of FC hosts; check for "Online" status
systool -c fc_host -v
```

#### Verify iSCSSI and NFS configuration {#verify-iscssi-and-nfs-configuration}

- **Ethernet (iSCSI/NFS):**: Ensure that sufficient physical network cabling is connected between the Compute/Control Nodes and the designated data ports on the storage appliance.

:::warning

Do not connect a single storage device using both Fibre Channel and iSCSI simultaneously.

Using both protocols simultaneously creates redundant and conflicting communication paths that the system cannot resolve. These overlapping connections cause a protocol conflict, which inevitably leads to total connection failure and potential data access issues.

:::

### Network Connectivity {#network-connectivity}

- **Management Access:** The CubeCOS system (specifically the Control Nodes) must be able to connect to the **Management IP address** of your storage device. This allows CubeCOS to automatically send commands to create and manage volumes.
- **Data Traffic (iSCSI/NFS):**
  - **iSCSI:** It is highly recommended to physically separate iSCSI storage traffic from other network traffic (such as management or internal cluster communication) to prevent performance issues.
  - **NFS:** Ensure the NFS server is accessible from all Control Nodes and Compute Nodes.

### Access Credentials {#access-credentials}

CubeCOS uses storage controller credentials to automate volume management. Ensure these credentials have the required provisioning permissions.

- You must have the administrative **Username** and **Password** for your storage controller.
  - CubeCOS requires these credentials to log in to the storage system and verify permissions to provision disk space.

:::info

For details on credential setup, refer to the [Configuration page](configuration.md).

:::

<!--
#### Connectivity & Session Verification {#connectivity--session-verification}

Verify the connection to storage targets before you provision volumes. This verification confirms that your network routing, firewall ports, and credentials allow the CubeCOS nodes to communicate with the storage device.

For iSCSI setups:

Once your storage devices are discovered, verify that you can establish a session. This confirms that your authentication allows access to the storage nodes.

```bash
# 1. Check if the iSCSI daemon is running
systemctl status iscsid

# 2. Show discovery settings and discovered targets
iscsiadm -m discovery -o show

# 3. List nodes in the local database
iscsiadm -m node

# 4. Confirm active sessions (Login Success)
iscsiadm -m session
```

Refreshing Connections:

If you have recently expanded a volume or mapped a new LUN on the storage controller, use the rescan command to update the session without logging out.

```bash
# To refresh iSCSI connections,
iscsiadm -m session --rescan
```
-->

## Hardware Compatibility {#hardware-compatibility}

Check if your storage device is on the validated list below.

### Validated Storage Appliances {#validated-storage-appliances}

These models have been tested and verified by Bigstack for production use.

| Brand       | Model                     | Connection Type | Notes              |
| :---------- | :------------------------ | :-------------- | :----------------- |
| **NetApp**  | AFF C250                  | NFS / iSCSI     | All-Flash models   |
|             | FAS8300                   | NFS / iSCSI     | HDD models         |
| **Dell**    | SC Series (SC5020/F)      | FC              | Fibre Channel only |
|             | PowerStore Series (1000T) | FC              | Fibre Channel only |
| **Fujitsu** | Eternus DX200             | FC / iSCSI      |                    |

### Other Supported Storage Appliances {#other-supported-storage-appliances}

CubeCOS supports many other storage brands via standard OpenStack drivers. While these are supported, specific models may require verification before being used in a critical production environment.

#### Common supported brands include {#common-supported-brands-include}

- **Dell EMC:** PowerMax, Unity, VMAX, VNX, XtremIO
- **Pure Storage:** FlashArray
- **HPE:** 3PAR, Nimble, MSA
- **IBM:** DS8k, Storwize, FlashSystem
- **Others:** Fujitsu, Hitachi, Lenovo, Synology, QNAP

:::note

If your storage device is not on the validated list, but is from a supported brand, contact [us](https://www.bigstack.co/contact-form/sales) to confirm compatibility.

:::
