System and method for network-attached storage devices
A system and method for a network-attached storage system includes at least one network-attached storage device, an application server, and a control server. In various embodiments, the control server is configured to discover the at least one network-attached storage device and configure a storage volume and a storage pool having the at least one network-attached storage device. The control server may claim each of the at least one network-attached storage device by sending each network-attached storage device a device whitelist. The control server is also configured to map the application server to the storage volume and provide the application server with an application server whitelist.
1. A network-attached storage system comprising:
at least one network-attached storage device;
an application server; and
a control server, the control server comprising:
a memory; and
a processor, wherein the processor executes instructions from the memory that, when executed by the processor, causes the processor to:
discover the at least one network-attached storage device;
configure a storage volume and a storage pool having the at least one network-attached storage device;
assign the at least one network-attached storage device by sending each of the at least one network-attached storage device a device whitelist;
generate a map between the application server and the storage volume; and
provide the application server with an application server whitelist, wherein the application server is configured to send an input/output (I/O) request directly to the at least one network-attached storage device via a network according to the application server whitelist.
2. The network-attached storage system of claim 1 , wherein the at least one network-attached storage device comprise an Ethernet solid state drive (eSSD).
3. The network-attached storage system of claim 1 , wherein the instructions further cause the processor to:
generate a control server whitelist, the control server whitelist comprising:
a network-attached storage device list;
a storage pool to network-attached storage device map;
a storage pool to storage volume map;
a network-attached storage device to storage volume map; and
a log file.
4. The network-attached storage system of claim 1 , wherein the application server whitelist further comprises:
at least one available storage pool; and
an application to volume map.
5. The network-attached storage system of claim 1 , wherein the device whitelist comprises:
a control server identifier;
at least one replication target; and
at least one application server identifier having access rights to the at least one network-attached storage device.
6. The network-attached storage system of claim 1 , wherein the at least one network-attached storage device verifies, using the device whitelist, that the application server has authority for executing the I/O request.
7. The network-attached storage system of claim 6 , wherein the application server is further configured to:
determine that the I/O request fails; and
send the I/O request directly to a tertiary device.
8. The network-attached storage system of claim 1 , wherein the I/O request comprises one of an atomic write or an atomic read.
9. A method of operating a network-attached storage system comprising:
discovering, by a control server, at least one network-attached storage device;
configuring, by the control server, a storage volume and a storage pool having the at least one network-attached storage device;
claiming, by the control server, each of the at least one network-attached storage device by sending each of the at least one network-attached storage device a device whitelist;
generating, by the control server, a mapping between an application server and the storage volume; and
providing, by the control server, the application server with an application server whitelist,
wherein the application server is configured to send an input/output (I/O) request directly to the at least one network-attached storage device via a network according to the application server whitelist.
10. The method of claim 9 , further comprising:
generating, by the control server, a control server whitelist, the control server whitelist comprising:
a network-attached storage device list;
a storage pool to network-attached storage device map;
a storage pool to storage volume map;
a network-attached storage device to storage volume map; and
a log file.
11. The method of claim 9 , wherein the application server whitelist further comprises:
at least one available storage pool; and
an application to volume map.
12. The method of claim 9 , wherein the device whitelist comprises:
a control server identifier;
at least one replication target; and
at least one application server identifier having access rights to the at least one network-attached storage device.
13. The method of claim 9 , wherein the at least one network-attached storage device is configured to verify, using the device whitelist, that the application server has authority for executing the I/O request.
14. The method of claim 13 , wherein the application server is further configured to:
determine that the I/O request fails; and
send the I/O request directly to a tertiary device in the storage pool.
15. The method of claim 9 , wherein the I/O request comprises one of an atomic write or an atomic read.
16. A network-attached storage device comprising:
a network connection attached to a network;
a primary memory;
a firmware, storing a device whitelist; and
a storage controller, the storage controller configured to:
receive an input/output (I/O) requests directly from an application server via the network; and
determine whether the application server is authorized to execute the I/O request using the device whitelist; and
execute the I/O request using the primary memory when the application server is authorized.
17. The network-attached storage device of claim 16 , wherein the I/O request comprises one of an atomic write or an atomic read.
18. The network-attached storage device of claim 17 , wherein the device whitelist comprises:
a control server identifier;
at least one replication target; and
at least one application server identifier having access rights to the network-attached storage device.