We would like to thank Netgear for supplying the review sample.
This is the first time we get to evaluate a Netgear NAS, and the main subject of today's review will be a member of the fresh ReadyNAS 200 line. Both the ReadyNAS 202 and 204 use a dual-core ARM Cortex A15 CPU clocked at 1.4 GHz, and not only do both come with an unusually high amount of RAM for a home NAS, but two Gigabit Ethernet ports for either more reliability or faster network transfer speeds, which depends on their mode of operation. That said, the ReadyNAS 202's most important feature isn't its hardware, but its file system. Contrary to most NAS servers that use EXT4, Net-gear's offering uses Btrfs, or B-tree.
Before we start covering the advantages of Btrfs, we had better take a look at what a file system actually does. A file system essentially controls how data is stored and retrieved. It, in other words, provides a way to separate and identify chunks of data. All information inside a storage area is a large body of data without a file system, which would make finding and retrieving a specific piece of data impossible. There are many different file systems today, each with its own advantages that are due to its logic of operation. File systems use metadata, data whose purpose it is to describe some crucial features of specific pieces of data, like creation date, modification date, file size, etc., to properly store and retrieve files.
The ext4 journaling file system is currently the most popular for Linux distributions; however, during the past years, some other file systems with more capabilities an end-user can tap into have emerged. One of these is Btrfs, a copy-on-write filesystem, "COW" for short, with support for a maximum file size of 16 EiB instead of the 1 EiB in ext4. Btrfs also includes other features like snapshots, pooling, and checksums. One of the key features of Btrfs is snapshot, a special type of subvolume that doesn't make copies of files but shares the data and metadata of the subvolume, which makes it very fast and takes very little space. In Btrfs, subvolumes don't have fixed sizes. Their space is dynamically allocated from the storage pool according to the data that is added or removed. Subvolume creation is also pretty easy, and a subvolume can even have nested subvolumes. There is by default always a top-level subvolume, and it is mounted with all of its own subvolumes, but you can change the default subvolume to allow for a specific subvolume to be mounted without having to mount the subvolume that contains it.