The FreeBSD based network attached storage (NAS) solution. Presented, tested and researched by: Elliott Lake FreeNAS
What is a NAS? • Consider a NAS server to be: • A network attached device with: • A self contained O/S. • One or more mass storage devices shared over the network. • Examples: • Hard disk drive(s). • Optical drive(s). • Specialized device geared for sharing files.
What is a NAS? • “A specialized file server that connects to the network. A NAS device contains a slimmed-down operating system and a file system and processes only I/O requests by supporting the popular file sharing protocols, primarily CIFS for Windows and NFS for Unix.” • thefreedictionary.com
Project Background: • My employer had a need for Terabytes of storage space. • The need for the storage space was unexpected. • No budget existed for the project. • Throughput required server level capabilities. • 2/3 of the IT staff does not seem to handle command line approaches. • Must work in a Windows© Environment.
Project Background: • Specific projects: • A three system, isolated production network setup has been planned. • The project has been placed on an indefinite hold. • The project is currently using Microsoft. • Possible use for a read-only access for storing aerial photographs. • The project has been placed on an indefinite hold. • Various managerial staff do believe someone else should store the data.
Why was FreeNAS Selected? • Installation seemed to be a FreeNAS version of Windows default installation. • GUI Web interface. • Only one IT staff member seems to be comfortable with command line approaches. • Management wants a K.I.S.S. Approach. • Lowest common denominator / skill set approach neede.
Why was FreeNAS Selected? • Disk backup of the organizations storage area network (SAN). • The implemented Windows 2003 backup solution seemed to be inadequate. • Tape backups were inconsistent requiring a backup solution for the backup. • Total server storage in the Terabyte range. • Additional storage space was required for over 0.1TB of data with no disk space available at the time.
FreeNAS System Requirements: • PC class hardware with: • 96 MB RAM. • Bootable optical drive. • Floppy disk for configuration backup. • Mass storage device for O/S. • USB. • Hard disk drive (HDD). • Compact flash (CF) drive.
FreeNAS System Requirements: • PC class hardware with: • Mass storage device for network data. • Virtual system set to emulate the previous configuration. • Was supposed to integrate with Windows 2003 Active Directory. • Depending on source.
FreeNAS Supported Drive Types: • SCSI • IDE • SATA • CF • USB • Firewire • Not listed in documentation or tested by myself as of this presentation.
FreeNAS Supported File Systems: • UFS • Native for UNIX, FreeBSD, FreeNAS and more. • FAT • FAT32 • Ext2 • Ext3
Or, is the curse of a live demo cross platform? FreeNAS Installation Demo:
FreeNAS Installation to HDD: • FreeNAS version being used: • LiveCD 0.865RC1 • Running FreeNAS from a live CD can be done. • This ability will be mentioned in the demo slides. • The setup and configuration of this ability will be considered beyond the scopy of the presentation. • Installation instructions will vary based on FreeNAS version. • Consult documentation available on the FreeNAS web site.
FreeNAS Installation to HDD: • Start system. • Insert FreeNAS CD while system boots. • If the system is not set to boot off of the optical drive first: • Make sure the HDD does not have a valid O/S present (not applicable for VM systems). • Set to boot from optical drive in BIOS. • Wait for tones from system. • The tones indicate FreeNAS is ready. • Use as a live CD. • Install. • FreeNAS splash screen will be visible. • Press any keey to change to console.
FreeNAS Installation to HDD: • Select option 9. • “Install/Upgrade to an hard drive/flash device, etc.” • This option applies to FreeNAS 685 series through RC1. • Previous versions use another option number.
FreeNAS Installation to HDD: • Select option 3. • “Install 'full' release on hard drive:” • Creates two partitions. • First partition is for FreeNAS O/S. • Second partition is for data. • Do not format the second partition of the first physical drive as problems are expected.
FreeNAS Installation to HDD: • Enter the name of the optical drive. • The naming convention will be BSD format. • Example: acd0 for the first ATAPI CD ROM drive. • I hope my research was right. • Using acd0 for the demonstration. • Select the HDD drive for the FreeNAS O/S. • Using ad0 for the demonstration.
FreeNAS Installation to HDD: • The system will create the mount point for the optical drive. • The O/S will be installed on the HDD. • The system will automatically reboot. • The system is ready after: • The FreeNAS splash screen appears. • The tones have been heard from the system.
Or, what was I thinking while testing? FreeNAS Test Systems:
FreeNAS Test Systems, Stable: • Intel SR440BX motherboard. • Intel 450 MHz PII. • 256 MB RAM. • 16x Sony optical DVD drive. • 3 ~ HDDs. • Western Digital 6 GB IDE HDD. • Western Digital 20 GB IDE HDD. • Western Digital 40 GB IDE HDD.
FreeNAS Test Systems, Unstable: • Intel D850EMV2 motherboard. • Intel 2.0 GHz P4. • 512 MB DRAM. • ASUS CD-ROM drive. • 2 ~ Promise Technology TX4200 RAID controllers. • 1 ~ Maxtor SATA/150 PCI controller.
FreeNAS Test Systems, Unstable: • HDDs • 1 ~ 20 GB Western Digital HDD for O/S. • 6 ~ 250 GB Western Digital SATA HDDs. • 4 ~ 250 GB Maxtor SATA HDDs. • HDDs • Configurations: • RAID 5 using 10 drives. • RAID 5 and RAID 1: • 2 ~ HDDs RAID 1. • 1 Drive on each TX4200 RAID controller. • 8 ~ HDDs RAID 5. • 3 Drives on each TX4200 RAID controller. • 2 Drives on SATA/150 PCI controller.
FreeNAS Test Systems, Unstable: • As of the beginning of this presentation (Thursday, October 25, 2007) the stability issues were not resolved. • Further testing will not be possible as the test HDDs had to be reallocated for production use.
What? The thing hasn’t blown up yet? I’m slipping!!! FreeNAS Configuration Demo:
Configuring FreeNAS: • FreeNAS setup for configuration and management through web browser. • Some management does not work through the browser. • Example: Integration with Microsoft AD environments. • System accessed by URL. • HTTP://IPv4 address or HTTP://IPv6 address.
Configuring FreeNAS: • Start browser of choice. • Enter address. • Enter logon. • Default logon credentials. • User: admin • Password: freenas • The credentials get you this:
Configuring FreeNAS: • Interesting Note??? • For the purposes of the deomonstration, attempts were made to install and configure FreeNAS on a Dell Latitude C800. • FreeNAS would install. • FreeNAS would identify the embeded NIC with 16 hexidecimal pairs as the MAC address. • Problem corrected with further experimentation using a USRobotics PCMCIA NIC. • Go figure???
Each category contains several subcategories. Several of the pages include tabbed collections / abilities. Configuring FreeNAS: • What you can configure on web GUI: • System settings. • Network interfaces. • Disk setup. • JBOD and RAID. • System access. • System status. • System diagnostics.
Configuring FreeNAS: • Configure HDDs: • Pick the Management link in the left frame, under Disks. • Select the + at the right side of the right frame near the column labeled Status. • Select the disk to be added to the system as usable storage. • Located to the right of the Disk label. • Note: If you add the remaining space on the system drive, DO NOT FORMAT THE DRIVE. • According to FreeNAS. • Select the UDMA mode. • Select the HDD standby time. • Select the power management method.
Configuring FreeNAS: • Configure HDDs: • Select the acoustic level. • No kidding. FreeNAS has the option to run the HDDs at reduced noise level. • Was not tested prior to this presentation. • Select the preformatted file system. • Testing with FreeNAS 685b did not indicate this worked. • Manual formatting was still required. • Save the settings. • Repeat the previous steps if using multiple drives.
Configuring FreeNAS: • Configure HDDs: • Note about RAID drives: • Drives being used in a RAID configuration need to have the preformatted file system set to software RAID. • This was the only time in testing that the preformatted setting seemed to impact the setup / configuration. • Apply the changes. • Note: FreeNAS states it can be used for iSCSI. • This was not tested.
Configuring FreeNAS: • Configure HDDs: • Configure Software RAID if applicable. • Software RAID is beyond the scope of this presentation. • Software RAID 1 and 5 were tested. • The tests involving RAID 1 and 5 were on the unstable setup. • Problems encountered with the RAID configurations are inconclusive at this time,
Configuring FreeNAS: • Configure HDDs: • Format the disks. • Select the disk to be formatted in the Disk drop-down menu. • Select the file system type in the File System drop-down menu. • Select the minimum free disk space in the drop-down menu. • This is space made unavailable to the user. • Space is a percentage of the disk size. • If desired, retain the disk's MBR. • Format disk. • Repeat as needed for remaining disks.
Configuring FreeNAS: • Configure HDDs: • Create Mount Points: • Select Mount Point link under Disks in the left frame. • Select the + at the right of the window near the Status column. • Select the type of media (HDD or ISO) in the drop-down Type menu. • Select the disk from the Disk drop-down menu. • Select the partition. • Select the file system. • This was done in previous steps. • Testing has not been done as to the ability to change the FS type in this window. • Enter share name. • Enter share description. • Save the mount point settings. • Repeat as needed for additional mount points.
Configuring FreeNAS: • Controlling Access: • Testing did not provide positive results for the following: • Using Active Directory Integration. • The last documentation viewed indicated this option did not work and a request for those versed in PAM was included in the document. • LDAP Integration. • Testing did not provide favorable responses for this function. • What option is left? • Users and Groups.
Configuring FreeNAS: • Controlling Access: • Users and Groups: • Pick the Users and Groups link in the Access list. • Select the Group tab. • Start the add group function by selecting the +. • Fill in the fields provided. • Save the settings using the Add button. • Select the Users tab. • Fill in the fields provided. • Save the settings by selecting the Add button. • Note: Using the available shell option is suspected to provide an increased level of control. • Research on the FreeNAS web site seems to verify the idea. • This is option 6 in the console setup menu.
Configuring FreeNAS: • Configuring Network Shares: • For Microsoft: • Select the CIFS link in the Access list. • Enable CIFS (SAMBA) service. • Fill in the fields in the Settings tab. • Note that testing indicates that these settings are applied to all shares on the system. • Save the settings with the Save and Restart button. • Select the Shares tab. • Select the + to start defining a share. • Fill in the fields for the share name and description. • Select the mount point for the share. • Select desired options for: • Set browsable. • Permission inheritance. • “Recycle Bin”.
Configuring FreeNAS: • Configuring Network Shares: • For Microsoft: • Note: Testing of permission inheritance was incomplete and therefore inconclusive. • Attempted different masks with success related to the specific share. • Suspected overriding inheritance through the shell commands will be possible. • This theory has not been tested as of this presentation. • Unknown level of control. • Unknown level of impact of the setting. • For Linux: • First testing / research were done using SAMBA. • The NAS can be accessed using SAMBA and Linux.
Configuring FreeNAS: • Configuring Network Shares: • For Linux: • NFS • Select the NFS link in the Services list. • Enable the NFS service. • Select to allow access to the root of the drive. • Enter the network data. • Testing done with 192.168.1.1/24. • Testing is in process.
Configuring FreeNAS: • Successful Network Share Access: • Linux: • In address bar type smb://IPAddress/shareName • Microsoft: • In Windows Explorer: • Browse to the system and share. • Only if the share is set so browsers can see the share. • In address bar type \\IPAddress\shareName • Note: • RC1 seems to encounter a timeout issue with Microsoft requiring a logon after the timeout. • These issues were not present in FreeNAS 685b.
Support / Sources of Information: • http://www.freenas.org
Private Implementation / Research: • The presenter will be looking to implement FreeNAS: • On home / experimental network. • On research network at place of employment
Research / Testing Conclusions: • Seems to need: • Work on AD integration. • Acknowledged by FreeNAS. • Additional documentation. • FreeNAS has definite possibilities: • Inexpensive mass storage. • Relatively intuitive GUI through web interface. • Relative to user. • Watch future versions!
References: • http://computing-dictionary.thefreedictionary.com/NAS • http://www.freenas.org/downloads/docs/user-docs/FreeNAS-SUG.pdf • FreeNAS version 685b. • FreeNAS version RC1. • FreeNAS documentation (for version 684). • FreeNAS downloads are available through the FreeNAS web site.
Questions? Or, please be kind, I never claimed to be an expert…