System and method for storage array enclosure discovery
A method, computer program product, and computing system for generating one or more unique network addresses for one or more storage array enclosures of a storage system. The one or more unique network addresses may be advertised to one or more storage processors of the storage system. The one or more storage processors may be configured to communicate with a plurality of storage devices of the one or more storage array enclosures based upon, at least in part, the one or more unique network addresses of the one or more storage array enclosures.
1. A computer-implemented method, executed on a storage system, comprising:
generating, via the storage system, one or more unique network addresses for one or more storage array enclosures of the storage system, wherein each of storage array enclosures of the one or more storage array enclosures includes one or more storage controllers, wherein generating the one or more unique network addresses includes:
generating a fixed Internet Protocol (IP) address based upon a media access control (MAC) address associated with a remote direct memory access (RDMA) network interface card (RNIC), wherein each storage controller of one or more storage controllers includes the RNIC;
advertising the one or more unique network addresses to one or more storage processors of the storage system; and
configuring the one or more storage processors to communicate with a plurality of storage devices of the one or more storage array enclosures based upon, at least in part, the one or more unique network addresses of the one or more storage array enclosures.
2. The computer-implemented method of claim 1 , wherein the one or more storage array enclosures include a plurality of non-volatile memory express (NVMe) drives.
3. The computer-implemented method of claim 2 , wherein the one or more storage array enclosures are communicatively coupled to the one or more storage processors via non-volatile memory express over fabric (NVMe-oF).
4. The computer-implemented method of claim 1 , wherein the one or more unique network addresses include one or more Internet Protocol version 6 (IPv6) addresses.
5. The computer-implemented method of claim 1 , wherein advertising the one or more unique network addresses to the one or more storage processors communicatively coupled to the storage system includes:
receiving, at the one or more storage array enclosures, one or more network address queries from the one or more storage processors; and
responding, via the one or more storage array enclosures, to the one or more network address queries with the one or more unique network addresses generated for the one or more storage array enclosures.
6. The computer-implemented method of claim 5 , wherein configuring the one or more storage processors to communicate with the plurality of storage devices of the one or more storage array enclosures based upon, at least in part, the one or more unique network addresses of the one or more storage array enclosures includes:
identifying, via the one or more storage processors, the plurality of storage devices of the one or more storage array enclosures based upon, at least in part, the one or more unique network addresses generated for the one or more storage array enclosures; and
configuring the one or more storage processors to communicate with the plurality of storage devices identified for the one or more storage array enclosures.
7. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
generating one or more unique network addresses for one or more storage array enclosures of a storage system, wherein each of storage array enclosures of the one or more storage array enclosures includes one or more storage controllers, wherein generating the one or more unique network addresses includes:
generating a fixed Internet Protocol (IP) address based upon a media access control (MAC) address associated with a remote direct memory access (RDMA) network interface card (RNIC), wherein each storage controller of one or more storage controllers includes the RNIC;
advertising the one or more unique network addresses to one or more storage processors of the storage system; and
configuring the one or more storage processors to communicate with a plurality of storage devices of the one or more storage array enclosures based upon, at least in part, the one or more unique network addresses of the one or more storage array enclosures.
8. The computer program product of claim 7 , wherein the one or more storage array enclosures include a plurality of non-volatile memory express (NVMe) drives.
9. The computer program product of claim 8 , wherein the one or more storage array enclosures are communicatively coupled to the one or more storage processors via non-volatile memory express over fabric (NVMe-oF).
10. The computer program product of claim 7 , wherein the one or more unique network addresses include one or more Internet Protocol version 6 (IPv6) addresses.
11. The computer program product of claim 7 , wherein advertising the one or more unique network addresses to the one or more storage processors communicatively coupled to the storage system includes:
receiving, at the one or more storage array enclosures, one or more network address queries from the one or more storage processors; and
responding, via the one or more storage array enclosures, to the one or more network address queries with the one or more unique network addresses generated for the one or more storage array enclosures.
12. The computer program product of claim 11 , wherein configuring the one or more storage processors to communicate with the plurality of storage devices of the one or more storage array enclosures based upon, at least in part, the one or more unique network addresses of the one or more storage array enclosures includes:
identifying, via the one or more storage processors, the plurality of storage devices of the one or more storage array enclosures based upon, at least in part, the one or more unique network addresses generated for the one or more storage array enclosures; and
configuring the one or more storage processors to communicate with the plurality of storage devices identified for the one or more storage array enclosures.
13. A computing system comprising:
a memory; and
a processor configured to generate one or more unique network addresses for one or more storage array enclosures of a storage system, wherein each of storage array enclosures of the one or more storage array enclosures includes one or more storage controllers, wherein generating the one or more unique network addresses includes generating a fixed Internet Protocol (IP) address based upon a media access control (MAC) address associated with a remote direct memory access (RDMA) network interface card (RNIC), wherein each storage controller of one or more storage controllers includes the RNIC, wherein the processor is further configured to advertise the one or more unique network addresses to one or more storage processors of the storage system, and wherein the processor is further configured to configure the one or more storage processors to communicate with a plurality of storage devices of the one or more storage array enclosures based upon, at least in part, the one or more unique network addresses of the one or more storage array enclosures.
14. The computing system of claim 13 , wherein the one or more storage array enclosures include a plurality of non-volatile memory express (NVMe) drives.
15. The computing system of claim 14 , wherein the one or more storage array enclosures are communicatively coupled to the one or more storage processors via non-volatile memory express over fabric (NVMe-oF).
16. The computing system of claim 13 , wherein the one or more unique network addresses include one or more Internet Protocol version 6 (IPv6) addresses.
17. The computing system of claim 13 , wherein advertising the one or more unique network addresses to the one or more storage processors communicatively coupled to the storage system includes:
receiving, at the one or more storage array enclosures, one or more network address queries from the one or more storage processors; and
responding, via the one or more storage array enclosures, to the one or more network address queries with the one or more unique network addresses generated for the one or more storage array enclosures.