FreeNAS e безплатен и с отворен код софтуер за мрежово запаметяващо устройство (NAS), базиран на операционната система FreeBSD и файловата система OpenZFS. Разпространява се под условията на BSD лиценза и работи върху x86-64 хардуер. FreeNAS поддържа Windows, OS X и Unix клиенти, както и различни източници на виртуализация, като XenServer и VMware, използвайки CIFS, AFP, NFS, iSCSI, SSH, rsync и FTP/TFTP протоколи. Някои от разширените функции на FreeNAS са цялостно криптографиране на диска и plug-in поддръжка за third-party софтуер.
Файловата система OpenZFS FreeNAS поддържа файловата система OpenZFS, която от своя страна предоставя възможности за проверка на целостта на данните, с цел да се предотврати загубата им, създаване на запис на състоянието им в определена точка от времето, копиране и няколко нива остарели технологии, като например – stripping, mirroring, mirrored stripping и три нива на RAID-Z.
Потребителски опит FreeNAS се управлява чрез цялостен уеб интерфейс, който се допълва от минималистична shell конзола (команден интерпретатор), която обработва основните административни функции. Уеб интерфейсът поддържа конфигурация на storage pool (общ логически дял за съхранение, състоящ се от група физически дискове), управление на потребителя, конфигурация на споделянето и поддръжка на системата.
Вградено в поддръжката на системата, FreeNAS може да се зарежда от USB Flash устройство или SATA DOM. Зареждащото се изображение (файл) е конфигурирано с помощта на USB Flash / CD-ROM стартиращ инсталатор. Операционната система FreeNAS е напълно независима от своите дискове за съхранение, което позволява настройките на базата данни и криптиращите ключове да бъдат архивирани и възстановявани върху нова инсталация на операционната система. Това разделяне също така дава възможност системните ъпгрейди на FreeNAS да бъдат изпълнявани през уеб интерфейса.
История Проектът FreeNAS стартира през октомври 2005 г. от Оливие Кошар-Лабе (Olivier Cochard-Labbé), базирайки го на вградената защитна стена m0n0wall и операционната система FreeBSD 6.0. Волкър Тейл (Volker Theile) се присъединява към проекта през юли 2006 г. и застава начело на проекта през април 2008 г. През септември 2009 г., екипът от разработчици стига до извода, че проектът, тогавашния рилийз .7, се нуждае от цялостно преработване, за да се пригоди към новите особености като плъгин архитектурата. Тейл решава, че проектът най-добре да бъде пренаписан с помощта на Debian GNU/Linux и насочва усилията си за развитие на временния проект CoreNAS, впоследствие преименуван на OpenMediaVault, където Тейл продължава да е начело. Кохърд Лабе отвръща на обществените възражения срещу т.нар. „Debian-версия на FreeNAS“ и възобновява дейността на проекта, прехвърляки го на FreeNAS потребителя iXsystems. iXsystems пренаписват FreeNAS с нова архитектура, базирана на FreeBSD 8.1 Beta и Django CMS, и през ноември 2010 г. пускат рилийз FreeNAS 8. Плъгин (plug-in) архитектурата пристига с FreeNAS 8.2 и FreeNAS версията се синхронизира с FreeBSD за яснота. FreeNAS 8.3 въвежда цялостно криптографиране на диска, а FreeBSD 9.1, на която се основава FreeNAS 9.1, въвежда актуализирана плъгин архитектура, съвместима със структурата на управление на затворите (jails) на PC-BSD Warden. FreeNAS 9.1 също така е първата версия на FreeNas, която ползва поддържаната от общността файлова система OpenZFS v5000, използваща Feature Flags.
Архитектура Ъпдейтът 8.0 на FreeNAS променя архитектурата на проекта от m0n0BSD/m0n0wall/PHP-базирана, до такава базирана на FreeBSD, на езикът за програмиране Python, на система за управление на съдържанието Django CMS и на библиотеката на JavaScript – dojo toolkit. Архитектурата използва също и уеб сървъра lighttpd, който е заместен от nginx в ъпдейта 8.2.
Функции Уеб интерфейс с възможност за SSL криптиране – SSL (Secure Sockets Layer) – тип криптиране, което се използва от SMTP сървъра. Той създава криптирана връзка между уеб сървъра и браузъра, за да защити информацията от подслушване, подправяне и т.н. Осигурява висока степен на конфиденциалност. Използва се при on-line разплащания, on-line трансфери, електронно банкиране и др. Със стартирането на версия 9.3, FreeNAS може да действа като сертифициращ орган (Certificate Authority). За да се използва SSL или TLS криптирането за която и да е от връзките в системата на FreeNAS, първо трябва да се създаде сертифициращ орган, след това да се създаде или да се импортира сертификатът, който ще се ползва за криптираните връзки. Локализиран на над 20 езика – FreeNAS e локализиран на над повече от 20 езика, от които: Чешки , Холандски , Украински , Руски, Китайски , Румънски , Френски , Португалски, Турски , Испански , Германски, Шведски , Сръбски, Латвийски , Италиански , Китайски , Гръцки, Португалски , Японски, Полски и др. За управление локализацията на екранните менюта, използвани от графичния интерфейс за администриране, FreeNAS използва приложението Pootle, което е с отворен код. Приложението Pootle лесно открива локализацията на вашия местен език и превежда текста за всяко меню, което все още не е локализирано. Плъгин архитектура – Въвежда се с FreeNAS версия 8.2.0. Плъгин архитектурата дава възможност за разширяване на вградените NAS-услуги, чрез осигуряване на механизъм за инсталиране на допълнителен софтуер, който потребителят сам да избере. Тази архитектура се основава на FreeBSD jails и PC-BSD 9.x PBIs. FreeNAS поддържа мощен набор от плъгини, което позволява да се разшири и оптимизира функционалността по подразбиране, така че да отговаря на изискванията на потребителя. Включва плъгини като Transmission, Plex и FireFly: Transmission плъгин – това е BitTorrent-клиент, който разполага с разнообразие от потребителски интерфейси на върха на back-end мултиплатформа. Transmisiion е свободен софтуер, лицензиран при условията на GNU General Public License (GNU GPL), с части под лиценза на MIT.
Plex Media Server плъгинът – back end медия сървър на софтуерния пакет Plex. Въведен през 2009, Plex Media Server се използва, за да хоства съдържание и плъгини, които след това се стриймват на Plex екранни приложения (включително Plex Home Theater) и Plex мобилни приложения или на същата машина, локална мрежа или през интернет. Plex Media Server е достъпен за FreeBSD, Linux, и девет различни NAS-устройства. Plex Media Server може да бъде конфигуриран да индексира съдържанието във всяка една директория на машината, където е стартиран сървърът, както и автоматично да добие съдържанието от източници, като Aperture, iPhoto и iTunes. Съдържанието може да прекодирано от сървъра преди да бъде излъчено, за да се намали нужният трафик или за съвместимост с устройството, на което ще бъде излъчван стриймингът.
FireFly Media Server e аудио медия сървър за Roku SoundBridge и iTunes. Той е с отворен код и обслужва медия файловете използвайки протоколите Roku Server Protocol (RSP) и Digital Audio Access Protocol (DAAP). Firefly Media Server не е в процес на активна разработка. Има един неуспешен опит за продължаването на проекта като Firefly2 Media Server. От юли 2009 разработването продължава като Linux/FreeBSD разклонение, именувано forked-daapd. Последната версия на forked-daapd е v23.1.
Графики на производителността – FreeNAS® предоставя възможност за графично представяне на производителността и отделни параметри, като: CPU Usage : събира данни за използването на компютъра. system load : осигурява общ преглед на използването на системата в интервали от една, пет и петнадесет минути. disk : Показва средното време за изпълнение на I/O операция. physical memory : Показва използването на физическата памет. interface : Показва получения и изпратения трафик в битове за секунда за всеки конфигуриран интерфейс. disk space : Показва свободното и използваното място на всеки от дисковете. processes : Показва броя на процесите групирани по състояние. target: съдържа статистически данни за трафик за ISCSI портове. zfs : Показва големината на ARC, честотата и исканията. Докладните данни се записват, което позволява да се видят и следят тенденциите на използване в течение на времето. По подразбиране докладните на данни се записват в /data/rrd_dir.tar.bz2 и се съхраняват при ъпдейтване и изключване на системата.
Email log and reporting notification – По подразбиране, дневници се съхраняват в RAM, тъй като няма място в устройството за съхранение на log-ове. Това означава, че log-овете се трият, когато системата се рестартира. При желание да се съхранят тези log файлове има възможност за: Конфигуриране на дистанционен Syslog сървър на друга Unix-подобна операционна система. Създаване на ZFS набор от данни, наречена Syslog и рестартиране на системата; FreeNAS® автоматично ще създаде лог / директория в този набор от данни, която съдържа трупите. Конфигуриране на системата, така че да може автоматично да изпраща имейли със скрипт до root потребителски акаунт, съдържаща важна информация като здравето на дисковете. Сигнализиращи съобщения също се изпращат до посочения акаунт. Downloadable configuration file and encryption keys – Trivial File Transfer, Protocol (TFTP) е олекотена версия на FTP и обикновено се използва за прехвърляне на конфигурация или файлове между рутери в локална среда. TFTP осигурява изключително ограничен набор от команди и не осигурява сигурност на достъпа. Ако системата FreeNAS® ще се използва за съхраняване на изображения и конфигурационни файлове за устройства на мрежата, трябва да се конфигурира и стартиране на услугата TFTP, което ще отвори UDP порт 69. От версия 8.3.1, FreeNAS® поддържа GELI пълно дисково криптиране при създаване на ZFS. OpenZFS v5000 file system with Feature Flags – ZFS е модерна, съвременна файлова система, която е специално проектирана, за да предостави функции, които не са налични в традиционните UNIX файлови системи. Тя първоначално е била разработена в Sun с намерението да бъде отворена файловата система, която да може да бъде пренасяна към други операционни системи. След придобиването Oracle на Sun, някои от инженерите на оригиналните ZFS основават OpenZFS, за да продължи съвместната разработка на версията с отворен код. За да се разграничи от номерата на версиите на Oracle ZFS, OpenZFS използва т.нар. Feature Flags. Feature Flags се използват за маркиране на функции с уникални имена, за да се осигури преносимост между OpenZFS реализации, работещи на различни платформи, толкова дълго, колкото всички Feature Flags активирани на ZFS pool се поддържат и от двете платформи. FreeNAS® използва OpenZFS и всяка нова версия на FreeNAS® в крак с времето с най-новите Feature и OpenZFS корекции на грешки. Disk Deduplication – за да се спести място, процесът не е точно създаване на дублирани копия на данните. В зависимост от размера на дублираните данни, дедупликацията може да подобри капацитета за съхранение, като по-малко данни се записват и съхраняват. Обаче процесът на дедупликация е RAM интензивен и общото правило е 5 GB RAM на TB. В повечето случаи, използването на компресия вместо „дедуплициране“ осигурява по-добра производителност. Във FreeNAS, процесът може да се активира по време на създаването на набор от данни. Няма начин да се върне процесът, деактивирането не оказва влияние върху съществуващите данни. Колкото повече данни има, толкова повече RAM изисква. Ако системата не разполага с необходимата оперативна памет ще се „паникьоса“ и едно от решенията е да добавите още. Знаете, че може да използвате компресия. Ако дедупликация е променена на „On“, дублиращите блокове данни са отстранени синхронно. Резултатът е, че само уникални данни се съхранявати и общите компоненти са споделени между файлове.