iESP
storage cluster based on ESP32 microcontrollers
Here you see an iESP based storage cluster: 4 ESP32 WT32-ETH01 microcontrollers with SD-card readers attached to a network switch perform iSCSI.
They are configured in an RAID 1+0 array with a total capacity of 16 GB.
iSCSI is a protocol to serve a block-device (e.g. a harddisk or a scanner) to one or more servers via a network over TCP/IP.
Here you see the ESP32s on a 3D-printed platform together with a bunch of wires, SD-readers and a network switch.
click to enlarge
The WT32-ETH01 has a 100 Mb Ethernet interface. This limits the transfer speed altough it is not maxed out due to the slowness of the SD-card interface and the ESP32.
The raid array is mounted on a Linux system:
In this screenshot you see that each node performs between 60 and 90 IOPs, for sequential reads this can reach 139 IOPs. It has to wait for less than 100 ms on the SD-card to read/write. The "cpu-load" of the ESP32 is between 55-90% (crude approximation).
click to enlarge
A quick benchmark shows that RAID 1+0 does around 1.86 MB/s!