Cheap full flash - fiction or reality?
2016 has proclaimed the beginning of the era of Flash drives: flash is becoming cheaper and more affordable. And after the decrease in the cost of ssd-drives, manufacturers produce arrays, the logic of which was originally created to work only with fast flashes. The cost of such solutions still brings them to the corporate segment of the market, preventing small companies from learning all the "charms" of the ssd era. So, Synology made its move: meet the budget full-flash array of Synology FS3017. What is this - a marketing move, or the first budget flash array?
The reasons for the appearance of flash systems (All Flash Array - AFA) are quite simple - unified hybrid arrays can not cope with the huge performance of flash drives, and the logic of work is based on interaction with classic HDDs, increasing system response time and SSD wear. Based on this, 3 main differences of AFA can be distinguished:
That is why when my colleagues suggested that I test the Synology FS3017 array, I was very surprised. Let's evaluate its parameters together and determine whether it fits the AFA category.
The FS3017 array has a standard rack-mount design: 24 SFF drives are placed in a 2U-height enclosure, drives from various manufacturers (Intel, OCZ, Seagate, etc.) are supported, which is typical for all Synology products. But what surprised me the most is the support for classic HDDs - this calls into question the FS3017's affiliation to the AFA segment. On the positive side, both enterprise-class drives with a SAS interface and more budget SATA drives are supported.
The processor uses 2 x Intel Xeon E5-2620 (6-core, 2.4 GHz) v3, the built-in memory is 64GB DDR4, and can be expanded to an impressive 512 Gb.
As network interfaces in the basic configuration, there are 2 10 GE ports with support for Link Aggregation technology, used both for array control and for data transfer. In addition, you can install 2 PCI-E (x16 and x8) modules: a network expansion module (1GbE / 10GbE / 25GbE / 40GbE) or a SAS module for connecting two additional disk shelves (RX1217sas to 12 LFF slots or RX2417sas to 24 SFF slots )
As the operating system, Synology DiskStation Manager (DSM) version 6.1, familiar to all users, is used. I expected Synology to release a special version of the microcode for its AFA, but it matches the DSM desktop and rack models. So what does this AFA array do? As it turned out - support for RAID F1 technology.
As describedRAID F1 technology is designed to reduce the likelihood of data loss associated with the failure of the entire RAID group. Since, unlike HDDs, the failure of SSDs is caused by the end of the drive’s resource (cell wear), it is theoretically possible that all drives in the same raid die at the same time. To avoid this situation, RAID F1 was developed. Distributing data blocks between drives similar to RAID 5, RAID F1 writes a block with checksums twice to 1 drive. This leads to the fact that its resource is spent faster, which means that the probability of failure of all raid disks decreases. After completing the resource and replacing the drive, the system automatically selects the most worn out drive, and begins to write duplicate blocks on it.
Despite all the manufacturers' statements, SSDs are still expensive drives, and deliberately reducing their resource is not the most justified solution to the problem from a business point of view. While the main players in the AFA-market are introducing technologies for balancing and reducing the amount of recorded data to extend the life of ssd-drives, Synology went in the opposite direction. How justified and whether the market will recognize such an approach will show time.
Otherwise, the FS array differs from the RS line (Synology rack arrays) in that it has a more powerful processor (Intel Xeon D Family), a second socket and RAID F1 support. FS3017 has also inherited standard usage scenarios - the list of recommended DSM packages consists of a cloud storage server, a note server, and a DVR. We are not talking about any optimization of architecture and logic for using ssd, which is supported by the presence of the SSD cache function. Since two of the three signs of AFA systems are not respected, it remains to check how the array can pump our ssd drives.
The test system was provided to me with an expanded memory up to 128 Gb and 12 drives Intel SSD DC S3520 Seriesvolume of 480 Gb. Decent performance indicators and the affordable price due to the use of the SATA interface make them the most interesting for those who plan to build a budget class flash system. I allocated 1 drive for hot swapping (global replacement of drives from all shelves is supported) and I combined 11 drives into RAID F1. On the resulting RAID group, I created an iSCSI volume and presented it to a server running Windows Server 2016. Server specification: 2 * Intel Xeon E5-2695 V3 2.3 GHz 14-core, 128 Gb RAM, 2-port 10 GE Base-T. For technical reasons, I had to use only one 10 GE Base-T port, which clearly affected the array performance.
I generated the load on the market's most popular synthetic test program, Iometer. The purpose of the tests was not disk performance, but the array itself, so I decided to use the 4KiB 100% random pattern.
I decided to start with an “ideal” load of 100% read, in order to check to look at the “beautiful” figure. The FS3017 proved worthy by issuing 156k IOPS.
Moreover, the utilization of disks and computing power of the system did not reach 90% - this suggests that the data transfer channel is a bottleneck. Next, I went on to “combat” tests. I chose the most common load profile: 67% read, 33% write. The load was generated by 25 Workers (Iometer terminology) for 5 iSCSI targets.
Based on personal experience, the specified configuration of the AFA array with a similar load profile should generate about 120-170k IOPS. After starting the cyclic tests with an increase in the number of threads, I saw the following picture:
As you can see from the graph, the limit was reached already with 4 I / O flows on loaded Worker and was ~ 94'000 IOPS. At the same time, there is no further degradation (which always occurs when the “ceiling” of the array is reached), therefore, this value is limited by the channel capacity. This is also indicated by the utilization of the computing resources of the array, not exceeding 15%.
It is worth noting the explosive increase in the delay time with an increase in the number of flows:
When reaching 4 threads on Worker (which gives us 100 threads per system in total), the delay was ~ 1.06 ms, after which a sharp degradation began exponentially.
In the future, I plan to connect the server with two ports to see how much the system can squeeze the maximum out of these drives. But even the achieved 94 k IOPS allow the FS3017 to rightfully be called an AFA system.
The FS3017 system left a very strange impression: taking into account the performance indicators achieved in the tests, it can really be positioned as an AFA solution, but the reduced reliability (due to the lack of a second controller) and the functionality cut down in comparison with competitors puts an end to its use in serious corporate tasks. Namely, this sector is the main and only user of AFA systems today.
But despite this, I am sure that she will certainly find her market segment. One of the most obvious may be the development of enterprise applications and databases with complex terrain. In these tasks, we can afford to put a test copy of the database or the entire test environment on a very fast and relatively cheap FS3017 for further operational tasks without jeopardizing the business to lose critical data.
The reasons for the appearance of flash systems (All Flash Array - AFA) are quite simple - unified hybrid arrays can not cope with the huge performance of flash drives, and the logic of work is based on interaction with classic HDDs, increasing system response time and SSD wear. Based on this, 3 main differences of AFA can be distinguished:
- Increased controller performance, able to fully "pump" the drives used.
- Optimized architecture that reduces system response time.
- Intelligent data processing and recording functionality that reduces drive wear.
That is why when my colleagues suggested that I test the Synology FS3017 array, I was very surprised. Let's evaluate its parameters together and determine whether it fits the AFA category.
The FS3017 array has a standard rack-mount design: 24 SFF drives are placed in a 2U-height enclosure, drives from various manufacturers (Intel, OCZ, Seagate, etc.) are supported, which is typical for all Synology products. But what surprised me the most is the support for classic HDDs - this calls into question the FS3017's affiliation to the AFA segment. On the positive side, both enterprise-class drives with a SAS interface and more budget SATA drives are supported.
The processor uses 2 x Intel Xeon E5-2620 (6-core, 2.4 GHz) v3, the built-in memory is 64GB DDR4, and can be expanded to an impressive 512 Gb.
As network interfaces in the basic configuration, there are 2 10 GE ports with support for Link Aggregation technology, used both for array control and for data transfer. In addition, you can install 2 PCI-E (x16 and x8) modules: a network expansion module (1GbE / 10GbE / 25GbE / 40GbE) or a SAS module for connecting two additional disk shelves (RX1217sas to 12 LFF slots or RX2417sas to 24 SFF slots )
As the operating system, Synology DiskStation Manager (DSM) version 6.1, familiar to all users, is used. I expected Synology to release a special version of the microcode for its AFA, but it matches the DSM desktop and rack models. So what does this AFA array do? As it turned out - support for RAID F1 technology.
As describedRAID F1 technology is designed to reduce the likelihood of data loss associated with the failure of the entire RAID group. Since, unlike HDDs, the failure of SSDs is caused by the end of the drive’s resource (cell wear), it is theoretically possible that all drives in the same raid die at the same time. To avoid this situation, RAID F1 was developed. Distributing data blocks between drives similar to RAID 5, RAID F1 writes a block with checksums twice to 1 drive. This leads to the fact that its resource is spent faster, which means that the probability of failure of all raid disks decreases. After completing the resource and replacing the drive, the system automatically selects the most worn out drive, and begins to write duplicate blocks on it.
Despite all the manufacturers' statements, SSDs are still expensive drives, and deliberately reducing their resource is not the most justified solution to the problem from a business point of view. While the main players in the AFA-market are introducing technologies for balancing and reducing the amount of recorded data to extend the life of ssd-drives, Synology went in the opposite direction. How justified and whether the market will recognize such an approach will show time.
Otherwise, the FS array differs from the RS line (Synology rack arrays) in that it has a more powerful processor (Intel Xeon D Family), a second socket and RAID F1 support. FS3017 has also inherited standard usage scenarios - the list of recommended DSM packages consists of a cloud storage server, a note server, and a DVR. We are not talking about any optimization of architecture and logic for using ssd, which is supported by the presence of the SSD cache function. Since two of the three signs of AFA systems are not respected, it remains to check how the array can pump our ssd drives.
The test system was provided to me with an expanded memory up to 128 Gb and 12 drives Intel SSD DC S3520 Seriesvolume of 480 Gb. Decent performance indicators and the affordable price due to the use of the SATA interface make them the most interesting for those who plan to build a budget class flash system. I allocated 1 drive for hot swapping (global replacement of drives from all shelves is supported) and I combined 11 drives into RAID F1. On the resulting RAID group, I created an iSCSI volume and presented it to a server running Windows Server 2016. Server specification: 2 * Intel Xeon E5-2695 V3 2.3 GHz 14-core, 128 Gb RAM, 2-port 10 GE Base-T. For technical reasons, I had to use only one 10 GE Base-T port, which clearly affected the array performance.
I generated the load on the market's most popular synthetic test program, Iometer. The purpose of the tests was not disk performance, but the array itself, so I decided to use the 4KiB 100% random pattern.
I decided to start with an “ideal” load of 100% read, in order to check to look at the “beautiful” figure. The FS3017 proved worthy by issuing 156k IOPS.
Moreover, the utilization of disks and computing power of the system did not reach 90% - this suggests that the data transfer channel is a bottleneck. Next, I went on to “combat” tests. I chose the most common load profile: 67% read, 33% write. The load was generated by 25 Workers (Iometer terminology) for 5 iSCSI targets.
Based on personal experience, the specified configuration of the AFA array with a similar load profile should generate about 120-170k IOPS. After starting the cyclic tests with an increase in the number of threads, I saw the following picture:
As you can see from the graph, the limit was reached already with 4 I / O flows on loaded Worker and was ~ 94'000 IOPS. At the same time, there is no further degradation (which always occurs when the “ceiling” of the array is reached), therefore, this value is limited by the channel capacity. This is also indicated by the utilization of the computing resources of the array, not exceeding 15%.
It is worth noting the explosive increase in the delay time with an increase in the number of flows:
When reaching 4 threads on Worker (which gives us 100 threads per system in total), the delay was ~ 1.06 ms, after which a sharp degradation began exponentially.
In the future, I plan to connect the server with two ports to see how much the system can squeeze the maximum out of these drives. But even the achieved 94 k IOPS allow the FS3017 to rightfully be called an AFA system.
The FS3017 system left a very strange impression: taking into account the performance indicators achieved in the tests, it can really be positioned as an AFA solution, but the reduced reliability (due to the lack of a second controller) and the functionality cut down in comparison with competitors puts an end to its use in serious corporate tasks. Namely, this sector is the main and only user of AFA systems today.
But despite this, I am sure that she will certainly find her market segment. One of the most obvious may be the development of enterprise applications and databases with complex terrain. In these tasks, we can afford to put a test copy of the database or the entire test environment on a very fast and relatively cheap FS3017 for further operational tasks without jeopardizing the business to lose critical data.