Building a NAS storage system using bare metal hardware and Rockstor 3.8-12
I am going to focus on building a NAS on a pre-built server (option 2 mentioned earlier) and use a HP Proliant server with 4x1TB HDDs. I’ve used a USB as a boot drive to install Rockstor 3.8-12, but you can also use a PCI-Express mSATA III boot drive. You need to prepare a bootable USB with the Rockstor3.8-12.iso. Instructions on Rockstor documentation are available at http:// rockstor.com/docs/quickstart.html#minsysreqs. Then proceed to install Rockstor in the HP Proliant server. The instructions are given at http://rockstor.com/docs/quickstart.html#installation.
Once Rockstor 3.8-12 is installed, you’ve set up a basic storage system, and are now ready to add or remove disks, create a pool (BTRFS volume), create shares (BTRFS subvolume) and use advanced BTRFS features. I will briefly describe these features.
Disks: Rockstor supports whole disks, not partitions. My HP Proliant box has 4x1TB HDDs that you can see on the Rockstor Web UI, under the ‘Storage’ tab.
I can add additional space by connecting USB and external hard drives to my box. I cannot add more HDDs as there are no empty bays, but if your case has empty bays, you could add more disks. Also, note that disk sda3 has the system-created rockstor_rockstor pool containing the OS. It’s recommended that this pool is not touched except for small shares, and even that, only if absolutely necessary. Resizing, compression or deletion of the rockstor_rockstor pool is not permitted.
Pool: A pool is space carved out of a disk or disks. You can use multiple disks to create a single pool. Pools can be resized in capacity by adding or removing disks. One of the advantages of BTRFS over other file systems is that pools can be created by combining disks of different sizes, but these disks have to be whole (not partitioned). To create a pool using the Web UI, go to Storage->Pools. Click on ‘Create Pools’ and specify the ‘Name’, ‘RAID Configuration’ and ‘Select Disks’ that should be the part of this pool. Click ‘Submit’ to create the pool. Advanced users can also apply different compression and BTRFS mount options while creating a pool (or afterwards). You can see the pool ‘vinima_photos’ in Figure 5.
Share: A share is a space carved out of a pool and provides storage for user generated data. It behaves similar to a directory in a file system and can be exported using protocols like Samba/ CIFS, AFP, SFTP, NFS, etc, from a Rockstor machine. A share can be resized, cloned and deleted. To create a share using the Rockstor Web UI, go to Storage->Shares and click ‘Create Share’. Specify the ‘Name’, ‘Pool’ and ‘Size’, and then click ‘Submit’. Similar to a pool, advanced users can apply compression options. You can see the ‘Photos-2013’ share in Figure 6.
Advanced features: Rockstor leverages other Linux technologies, such as Docker, to go beyond the NAS paradigm. Rockstor provides an app, also called the Rock-ons hosting framework. Using Rock-ons, media content can be streamed from Rockstor, files from various smart devices can be synchronised or backed up to Rockstor, etc. Almost any containerised application can be deployed to take advantage of the solid storage platform provided by Rockstor. As discussed earlier, Rock-ons are Docker-based applications that help extend functionality and run applications like syncing and streaming. The installation procedure for all Rock-ons is similar.
I hope that most readers now have a basic understanding on how to choose or build their own storage system. Please refer to Rockstor documentation to understand a range of applications that can be run on your storage system ( https://rockstor.com/docs).