Tech, Gadgets, Photography, Social Media and Poor Spelling
Earlier today I posted a Lifehacker article about building a home server using Ubuntu which is a solid free Open source option based on Linux. I thought i would also share this gem of an OS FreeNAS with you which does many of the same things outlined in the lifehacker article.
I’ve been using FreeNAS for a few years now and find it to be a highly capable operating system and I thought i’d share with you some of the information about the OS.
Network-Attached Storage (NAS) is a computer attached to a network that is dedicated solely to providing data storage for other devices on the network. This is often done either to save space, increase storage space cheaply, or provide convenient file-sharing. NAS systems were traditionally only high-powered servers, but as the power of commodity hardware has increased, it has become much easier to install a fast, efficient NAS server in home and small office environments, or just build one yourself!
FreeNAS will run on a lot of older hardware so it doesn’t need the High Powered servers from a company comms room and this is because of the underlying Operating System FreeBSD.
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX (many of whose original developers became FreeBSD developers), FreeBSD’s internals and system APIs are UNIX-compliant. Thanks to its permissive licensing terms, much of FreeBSD’s code base has become an integral part of other operating systems such as Apple’s OS X that have subsequently been certified as UNIX-compliant and have formally received UNIX branding. With the exception of the proprietary OS X, FreeBSD is the most widely used BSD-derived operating system in terms of number of installed computers, and is the most widely used freely licensed, open-source BSD distribution, accounting for more than three-quarters of all installed systems running free, open-source BSD derivatives.
FreeBSD is a complete operating system. The kernel, device drivers, and all of the userland utilities, such as the shell, are held in the same source code revision tracking tree. (This is in contrast to Linux distributions, for which the kernel, userland utilities, and applications are developed separately, and then packaged together in various ways by others.) Third-party application software may be installed using various software installation systems, the two most common being source installation and package installation, both of which use the FreeBSD Ports system.
FreeNAS™ uses a custom version of FreeBSD and a web-based interface to provide a fully-featured NAS environment. FreeNAS™ offers software-based storage and backup solutions for a variety of applications, from home to enterprise.
Essentially FreeNAS has taken that solid core of FreeBSD and the stability and security it offers and removed the items it doesn’t need to reduce the size of the Operating system so it has a smaller footprint when it is installed. What you need with a NAS is for the software which controls it to take the least amount of space possible because this provides you with more space for storage on your box.
While a NAS is essentially a simple system, it provides simple control to your storage FreeBSD offers many other features which i’ll take directly from their site later in this post however three things which I think are prudent to cover are:
The volumes screen is where every FreeNAS configuration starts. The “New Volume” Button lets you select which drives you want to use and in what arrangement. Once each volume is created, additional options appear appropriate to the type of volume.
The FreeNAS Users and Groups Screens simplify adding new local users and configuring groups. All of the underlying FreeBSD options are available, and a number of default users and groups are provided for convenience or the needs of particular services.
FreeNAS offers a large number of sharing, user management and networking features that can all be enabled from this single page. Each toggle is also accompanied by a button to open up the configuration options for that service.
Shares for all three sharing protocols are managed from their respective sections of the sharing page. Individual shares can be added and configured here, but protocol settings must be changed from the appropriate service page.
The FreeNAS CLI (Command Line Interface) allows many networking and connection tasks to be performed simply from the console, intended to assist in getting the web interface up and running quickly, without resorting to the shell.
Additionally, the web interface password can be reset from the CLI (so keep your console safe!) As a last resort in case of a horribly misconfigured installation, the FreeNAS configuration (shares, services, etc.) can be reset to the original defaults.
Of course, the shell interface of the underlying FreeBSD system is also available from the CLI. Power users can troubleshoot or perform complex tasks directly in the environment they’re used to.
The Zettabyte File System is an advanced open source filesystem originally developed for Solaris. FreeNAS currently uses ZFS version 15 as its recommended filesystem for devices with 6GB of RAM or more.
ZFS includes software RAID called RAID-Z. Regular RAID-Z writes one parity block like RAID-5, while RAID-Z2 writes two parity blocks like RAID-6. Both are available in the FreeNAS Volumes screen when creating a new volume (assuming there are enough disks available). More complex parity arrangements are also possible.
Every ZFS filesystem is checksummed from top to bottom to confirm data integrity. If inconsistencies are found, parity blocks can be used to repair corrupt data. This scrub is turned on by default in FreeNAS 8 and can be scheduled or configured from the web interface.
At any time, a “snapshot” of a ZFS filesystem can be taken, preserving all files in the system at that time against deletion until the snapshot expires or is deleted. This can be done manually or scheduled regularly. These snapshots act as roll-back points in case of accidental critical data deletion.
Snapshots also provide a way to back up a ZFS filesystem – it’s possible to use them to incrementally back up a filesystem to another one. Replication can be scheduled regularly along with snapshots.
Thin Provisioning is another excellent addition to the FreeNAS™ features list. Thin Provisioning allows the administrator to allocate users more space than physically exists in the system. When paired with ZFS, it becomes easy to manage your total data pool size, and quickly and effectively grow to meet your users needs as they use more of their allotted space.
Remote Replication allows you to copy a snapshot to an offsite server, for maximum data security.
FreeNAS is based on FreeBSD 8.2 and features much of the same driver support. This gives anyone building their own FreeNAS device or re-purposing old hardware a wide selection of hardware choices.
If your data is somehow lost, FreeNAS™ makes it easy to restore from a previously generated snapshot. With the periodic snapshots feature, you can worry less about data loss, and use your system stress free.
FreeNAS™ supports many popular networking protocols, and is easy to set up in most home and enterprise environments. You’ll be up and running in no time, and your users can connect with the protocol of your choice, no matter what operating system they run.
System (Hardware Requirements)
|Minimum Requirements||UFS only
2GB Disk Space
|Recommended Requirements||Full ZFS
4GB Disk Space
|SMB/CIFS||Windows shares, cross-compatible|
|AFP||Apple Shares and Time Machine backup|
|NFS||Unix shares, cross-compatible|
|FTP||Transfer files through browser or client|
|TFTP||For small file transfers|
|SCP (SSH)||Secure Remote administration or file transfer|
|iSCSI||Share disks or volumes as block storage|
|Bittorrent||Plugin coming in 8.2|
|UPnP Server||Plugin coming in 8.2|
|iTunes/DAAP||Plugin coming in 8.2|
|Webserver||Plugin coming in 8.2|
|Remote Replication||Back up incrementally to other FreeNAS or ZFS devices|
|Snapshots||Roll back to previous filesystem version|
|Thin Provisioning||Allocate storage in advance of availablility|
|10GigE drivers||Support for high-throughput hardware|
|VMware Guest Tools||Enhanced performance as a VM|
|cron||Schedule operations from web interface|
|sysctls||Manage FreeBSD boot options from web interface|
|Software RAID||0, 1, 3 (in UFS)
Stripe, Mirror, RAID-Z, RAID-Z2 (in ZFS)
|“Fake RAID” Software||graid|
|UFS||Unix File System|
|Ext2/3||May be imported|
|FAT||May be imported|
|NTFS||May be imported|
|RAID-Z||Double or single parity|
|S.M.A.R.T.||Monitor hardware status|
|Email Alert||Email messages on designated alerts|
|SNMP||Standards-compliant management interface|
|Syslog||Standard system message format|
|Remote Syslog||Store system messages remotely|
|UPS||Power failure protection|
|Web Interface||Manage FreeNAS over the web|
|Net CLI||Web shell interface coming in 8.2|
FreeNAS is a solid distro with a tiny footprint which is built on the secure foundation’s of freeness, the creators are still actively developing the distro which is a good thing and you get a good selection of basic tools and services to get your data shared to your users on a home or small business server.