Scale13
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Scale13

on

  • 614 views

 

Statistics

Views

Total Views
614
Views on SlideShare
611
Embed Views
3

Actions

Likes
0
Downloads
8
Comments
0

1 Embed 3

https://twitter.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Scale13 Presentation Transcript

  • 1. Customizing FreeNAS 8.3 Using the Plugins JailDru LavigneDocumentation Lead, iXsystemsSCALE, February 23, 2013
  • 2. OutlineBrief Introduction to FreeNAS 8.3Introduction to Jails, PBIs, and PluginsInstalling the Plugins JailInstalling and Configuring PBIsInstalling non-PBI SoftwareCreating Custom PBIs
  • 3. Intro to FreeNAS 8.3Open source NAS (network attached storage)based on an embedded version of FreeBSD(nanoBSD) and released under 2-clause BSDlicenseModular design: core NAS features can beextended using a plugins architectureDesigned to be installed on flash device andadministered from a web browser
  • 4. Core NAS Features IncludeAbility to create AFP, CIFS, NFS sharesSupport for iSCSI, SSH, FTP/SFTP, TFTPActive Directory and OpenLDAP integrationAutomated, secure replication via rsync/sshAutomated ZFS snapshots and scrubsLink aggregation and failover
  • 5. Limitations of Core NASDue to its embedded nature, there is no room toinstall additional softwareNAS does not include built-in UPnP, iTunes, orBitTorrent supportUsers have all kinds of edge use cases for theirNASIt is possible, but inconvenient, to compile acustom version of FreeNAS
  • 6. Plugins ArchitectureProvides the administrator the flexibility to installadditional software from the FreeNAS GUI tomeet the requirements of the NASComprised of three components:- FreeBSD Jail- PBI (Push Button Installer) files- Plugins
  • 7. What is a Jail?A FreeBSD feature for providing light-weight,operating system-level virtualizationA jail has its own hostname, IP address, users,and is separated from the host operating systemFreeNAS implementation includes vimage whichgives the jail its own networking stack and IPbroadcasting
  • 8. What is a PBI/Plugin?Originally created by the PC-BSD project (adesktop version of FreeBSD)Provides a graphical installation wrapper forsoftware ported to FreeBSDFreeNAS implementation extends thisfunctionality by incorporating the applicationsconfiguration file into the FreeNAS graphicaladministrative interface—the result is known as aPlugin
  • 9. Installing the Plugins JailBefore any plugins can be installed, the PluginsJail must be installed and startedRecommended that Plugins Jail is installed into itsown ZFS dataset and that a second dataset isused to store the installed softwareThe Plugins Jail and supported Plugins can bedownloaded from plugins folder for architecturehttp://sourceforge.net/projects/freenas/files/FreeNAS-8.3.0/
  • 10. Installing the Plugins Jail
  • 11. Starting the Plugins Jail
  • 12. Installing a PBIOnce the Plugins Jail is installed and the Pluginsservice started, you can install FreeNAS PBIs(Plugins)As each Plugin is installed, an icon will be addedto the FreeNAS menu (used to configure theapplication) and its service will be added to thePlugins tab of the Control Services menu so it canbe started
  • 13. Installing a PBI
  • 14. Configuring a PBI
  • 15. Installing Non-PBI SoftwareIf a PBI is not available, you can still installpackages or compile ports within the Plugins JailSoftware installed this way will not be integratedinto the administrative interface but can beconfigured and started from the command lineUse FreshPorts.org to search for software thathas been ported to FreeBSD
  • 16. Installing PackagesA FreeBSD package is a pre-compiled binary thatincludes the dependencies required by theapplicationInstalled using the pkg_add -r command:FreshPorts.org will tell you the exact command tousepkg_info -Lx will tell you what gets installedTypically, conf files are in /usr/local/etc/ andstartup scripts are in /usr/local/etc/rc.d/
  • 17. Compiling PortsPackages are recommended unless a package isnot available or you need to change a compileoption as compiling takes time and systemresourcesFreshPorts.org will list the available compileoptionsUse the make install command to compileOnce compiled and installed, the software can beconfigured like any other package
  • 18. Creating Custom PBIsFreeNAS PBIs are still new (only available sinceJuly 2012)3 official PBIs: Firefly, MiniDLNA, TransmissionList of PBI requests:http://doc.freenas.org/index.php/PBI_RequestsList of user-created PBIs:http://forums.freenas.org/showthread.php?8470-INDEX-Available-Plugins
  • 19. Creating Custom PBIsA PBI is created from a PBI module: a set of filesand directories containing the installationinstructions for an applicationThese files are trivial to edit, except for the controlfile which contains the instructions for integratingthe installed PBI into the FreeNAS GUIThe control file requires development experiencewith a programming language supported by theFastCGI API (typically Python or PHP)
  • 20. Creating Custom PBIsIn theory, the Plugins Jail has all of the toolsneeded to create a custom PBI; this needs toimprove in practiceThe documentation for creating PBIs is mostlycomplete but needs programmatic examples forthe control fileFor now, use packages, help test upcoming PBIs,and interact with other PBI creators on the forumsor IRC
  • 21. ResourcesWebsite: http://www.freenas.orgForums: http://forums.freenas.orgBug tracker: http://support.freenas.orgDocumentation: http://doc.freenas.org/PluginsIRC: #freenas on Freenode
  • 22. Questions? Contact: dru@freebsd.org URL to Slides:http://slideshare.net/dlavigne/scale13