While both QuTS Hero and QTS are based on Linux, the key difference is that QuTS hero uses ZFS file system. All the difference between the two operating systems stems from this filesystem difference.
Home and SMB entry-level models use QTS , while all the higher models (SMB- Advanced and enterprise models) use QuTS Hero.
Quick Table Showing the Difference between QuTS Hero and QTS
Here is a concise table showing the major differences between QTS and QuTS Hero. I will give a detailed explanation of a few key differences too
|Standard RAID levels RAID 0, RAID 1, RAID 5, RAID 6, RAID 10, RAID50, RAID60
|More Secure ZFS RAID Levels renamed to standard RAIDs. Additional Triple Parity, Triple Mirror RAIDs
|ZIL Copy on Write
|Read and Write SSD Caching
|Caching in RAM default, L2ARC and SLOG
|data deduplication, compression and compaction.
|POSIX ACLs ( R, RW, RWX)
|14 Rich ACLs
|Block Based SnapSync
No Write Caching in QuTS Hero, But you have SLOG
In ZFS, everything is cached in RAM. So the best thing is to have as much RAM as possible. Since RAM is the fastest storage you have in your system, caching in RAM is the fastest caching you can get. You can add SSD caching also, but it will always be slower than RAM caching.
So the level 1 read cache in in ZFS /QuTS Hero is called ARC ( which is in RAM) and level 2 cache is called L2ARC ( which is in SSD). There is no write cache, but there is something similar called SLOG in ZFS . SLOG is not exactly a write cache, but gives you a little performance benefit when i/o mode is set to sync= always.
I will explain SLOG, L2ARC, Syn/Async but for the time remember that
- Everything in ZFS is cached in RAM. That's the fastest read/write cache you can have. If you can increase RAM, it will have the highest performance benefit.
- If your ARC is full all the time or there is a high cache miss, then you can enable L2ARC which is read cache on SSD.
- If your i/o mode is set to sync, you can benefit from SLOG ( Secondary log Device which is an SSD for writing an intent log )
- QuTS Hero will let you have L2ARC and SLOG on separate SSDs, or they can share the same SSDs
Now let's see what ARC,L2ARC and SLOG are how the read and write happen on ZFS. if you want an in-depth read here is an excellent blog by Jim Salter which explains it in depth and very clearly.
- Read Caching in ZFS/ QuTS Hero
When ZFS receives a read request, the data is retrieved from the pool to ARC cache . Subsequent requests for the same data are fulfilled directly from ARC which is very fast being in RAM . That's why the easiest way to optimize read performance is to maximize your system's RAM . QuTS Hero allows you to allocate and configure the amount of RAM dedicated to ARC.
When your ARC is full , the old/irrelevant data is flushed out. You can add a level 2 ARC ( L2ARC) on an SSD to which ARC can flush to. While L2ARC is slower compared to ARC in RAM, it is still faster than the HDD pool.
So ARC = Fastest read cache in RAM, L2ARC = Slower than RAM/Faster than HDD read cache in SSD
- Write Caching in ZFS/ QuTS Hero with SLOG
Much like read requests, write requests in QuTS Hero are also cached in RAM first, then organized into transaction groups, and eventually written to the pool. In asynchronous I/O mode, data is acknowledged as written once cached in RAM, ensuring swift performance. However, the drawback is vulnerability to data loss in the event of a power failure or system crash before the data transitions from RAM to the pool.
To enhance resilience, ZFS allows a synchronous I/O mode. In this mode, data is cached in RAM and concurrently written to an intent log known as ZIL. QuTS Hero/ZFS delays write acknowledgment until the ZIL is written to the slow HDD pool. Data is still written in the Transactional group to the HDD pool, but write acknowledgement is done once ZIL is written. In case of a system crash post-intent log writing, the log is replayed, ensuring any data not yet committed to the pool is recovered. The problem with this mode is that the write acknowledgment is delayed till the ZIL is written to Slow HDD pool.
Enter SLOG (Separate ZFS Intent Log). With SLOG, the intent log is written not to slow HDD Pool, but to an SSD. Write acknowledgment is sent earlier as the intent log is written faster on SSD.
QuTS Hero has Compression, compaction, and inline deduplication if you have enough RAM
With sufficient RAM, QuTS Hero will let you have inline File Compression and inline Block-based Deduplication.
File compression works at the file level, compressing the files using LZ4 algorithm. LZ4 compression is very fast and not resource-hungry, so along with a reduction in file size, you get faster reads/writes too. This is because it's faster to read a smaller file and decompress it, rather than reading a larger file.
Deduplication is Block based so it happens across the files too. A hash is calculated for each block and kept in a dedup table, this hash is unique for each block and will be the same for another block that has the same data.
When writing data, the system splits it into blocks, computes a checksum hash for each block, and checks for a match in the deduplication table. If a matching hash is found, the block is not stored again; it simply points to the existing block, saving storage space. Deduplication needs ample RAM so QuTS Hero might stop deduplication in certain scenarios. You can also scehdule the cleanup of dedup table to optimize performance.
QuTS Hero has WORM capabilities for Enterprise users unlike QTS
QuTS Hero lets you create a share that is immutable with WORM (Write once Read Many ) setting.
Two operational modes exist Enterprise, granting users the ability to delete shared folders, and Compliance, where users are restricted from deleting shared folders. Within the WORM (Write Once, Read Many) share, you can either have the file transition to immutable status after a set duration or opt for manual control. Furthermore, users can define the retention period, specifying the duration during which the file remains immutable.
While not every user may require WORM capability, specific industries such as healthcare, insurance, and audits demand data immutability. It's crucial to note that the immutability in WORM is achieved through software rather than being implemented at the hardware level.
QuTS Hero has many RAID levels than QTS
ZFS offers many levels of RAIDs apart from the Regular RAID levels. QuTS Hero has simplified ZFS RAID levels to more recognizable names based on the HDD failure tolerance each RAID type offers. For instance, RAIDZ1 is referred to as RAID5, aligning with both having a 1-HDD failure tolerance. However, RAIDZ1 and RAIDZ2 are better than RAID5 and RAID6 since the Journaling in ZFS ensures there are no parity bit inconsistency. The RAID levels in QuTS Hero are as follows
- RAID 0 (ZFS striped VDev)
- RAID 1 ( ZFS Mirrored VDevs)
- ZFS RAIDZ1 is renamed to RAID5
- ZFS RAIDZ2 is renamed to RAID 6
- RAIDZ3 is called RAID-TP (Triple Parity) . This is only available in QuTS Hero. With RAID-TP you have 3 parity bits, so it has 3 HDD failure tolerance
- RAID50 ( Multiple RAIDZ1 striped), RAID60 ( Multiple RAIDZ2 striped), and RAID 10 (multiple mirrored vdevs striped) are all available. What is not available is multiple triple parities striped across.
QuTS Hero has 14 Rich ACL compared to the 3 Posix ACL in QTS
QTS has Posix permissions which are Read/Write , Read only and Deny access. However QuTS Hero lets you define windows ACL with 14 permissions
Apart from these, there are a few other differences like
- ZFS has self-healing capabilities. When utilizing any RAID configuration with redundancy, ZFS will automatically detect incorrect blocks when reading a file. In such instances, it recalculates the correct block from RAID parity and write the correct block . QuTS Hero also lets you schedule data scrubs - reading all data for consistency checks and repairing any identified incorrect blocks.
- QuTS Hero introduces SnapSync, a bandwidth-efficient and lightweight block-based syncing feature. This is the quickest method to maintain synchronization between two systems.
- QuTS Hero supports delegated administration. For example, if you require an admin account solely for managing backups (including HBS and HDP access, as well as shared folder management), without the ability to handle user management, you can create a Backup user. Delegated administration allows specific admin permissions to a semi-admin account. There are 8 kinds of delegated user accounts in QuTS hero
PNP is the largest QNAP Sub Distributor and service partner in the UAE. Our Data Storage expertise has earned us the prestegious GEC award twice. Contact us for your QNAP needs.