SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Customizing FreeNAS 8.3
   Using the Plugins Jail

Dru Lavigne
Documentation Lead, iXsystems
SCALE, February 23, 2013
Outline

Brief Introduction to FreeNAS 8.3

Introduction to Jails, PBIs, and Plugins

Installing the Plugins Jail

Installing and Configuring PBIs

Installing non-PBI Software

Creating Custom PBIs
Intro to FreeNAS 8.3

Open source NAS (network attached storage)
based on an embedded version of FreeBSD
(nanoBSD) and released under 2-clause BSD
license

Modular design: core NAS features can be
extended using a plugins architecture

Designed to be installed on flash device and
administered from a web browser
Core NAS Features Include
Ability to create AFP, CIFS, NFS shares

Support for iSCSI, SSH, FTP/SFTP, TFTP

Active Directory and OpenLDAP integration

Automated, secure replication via rsync/ssh

Automated ZFS snapshots and scrubs

Link aggregation and failover
Limitations of Core NAS
Due to its embedded nature, there is no room to
install additional software

NAS does not include built-in UPnP, iTunes, or
BitTorrent support

Users have all kinds of edge use cases for their
NAS

It is possible, but inconvenient, to compile a
custom version of FreeNAS
Plugins Architecture
Provides the administrator the flexibility to install
additional software from the FreeNAS GUI to
meet the requirements of the NAS

Comprised of three components:

- FreeBSD Jail

- PBI (Push Button Installer) files

- Plugins
What is a Jail?

A FreeBSD feature for providing light-weight,
operating system-level virtualization

A jail has its own hostname, IP address, users,
and is separated from the host operating system

FreeNAS implementation includes vimage which
gives the jail its own networking stack and IP
broadcasting
What is a PBI/Plugin?
Originally created by the PC-BSD project (a
desktop version of FreeBSD)

Provides a graphical installation wrapper for
software ported to FreeBSD

FreeNAS implementation extends this
functionality by incorporating the application's
configuration file into the FreeNAS graphical
administrative interface—the result is known as a
Plugin
Installing the Plugins Jail
Before any plugins can be installed, the Plugins
Jail must be installed and started

Recommended that Plugins Jail is installed into its
own ZFS dataset and that a second dataset is
used to store the installed software

The Plugins Jail and supported Plugins can be
downloaded from plugins folder for architecture
http://sourceforge.net/projects/freenas/files/
FreeNAS-8.3.0/
Installing the Plugins Jail
Starting the Plugins Jail
Installing a PBI


Once the Plugins Jail is installed and the Plugins
service started, you can install FreeNAS PBIs
(Plugins)

As each Plugin is installed, an icon will be added
to the FreeNAS menu (used to configure the
application) and its service will be added to the
Plugins tab of the Control Services menu so it can
be started
Installing a PBI
Configuring a PBI
Installing Non-PBI Software

If a PBI is not available, you can still install
packages or compile ports within the Plugins Jail

Software installed this way will not be integrated
into the administrative interface but can be
configured and started from the command line

Use FreshPorts.org to search for software that
has been ported to FreeBSD
Installing Packages
A FreeBSD package is a pre-compiled binary that
includes the dependencies required by the
application

Installed using the pkg_add -r command:
FreshPorts.org will tell you the exact command to
use

pkg_info -Lx will tell you what gets installed

Typically, conf files are in /usr/local/etc/ and
startup scripts are in /usr/local/etc/rc.d/
Compiling Ports
Packages are recommended unless a package is
not available or you need to change a compile
option as compiling takes time and system
resources

FreshPorts.org will list the available compile
options

Use the make install command to compile

Once compiled and installed, the software can be
configured like any other package
Creating Custom PBIs
FreeNAS PBIs are still new (only available since
July 2012)

3 official PBIs: Firefly, MiniDLNA, Transmission

List of PBI requests:
http://doc.freenas.org/index.php/PBI_Requests

List of user-created PBIs:
http://forums.freenas.org/showthread.php?8470-
INDEX-Available-Plugins
Creating Custom PBIs

A PBI is created from a PBI module: a set of files
and directories containing the installation
instructions for an application

These files are trivial to edit, except for the control
file which contains the instructions for integrating
the installed PBI into the FreeNAS GUI

The control file requires development experience
with a programming language supported by the
FastCGI API (typically Python or PHP)
Creating Custom PBIs

In theory, the Plugins Jail has all of the tools
needed to create a custom PBI; this needs to
improve in practice

The documentation for creating PBIs is mostly
complete but needs programmatic examples for
the control file

For now, use packages, help test upcoming PBIs,
and interact with other PBI creators on the forums
or IRC
Resources

Website:     http://www.freenas.org

Forums:      http://forums.freenas.org

Bug tracker: http://support.freenas.org

Documentation: http://doc.freenas.org/Plugins

IRC: #freenas on Freenode
Questions?


              Contact:

          dru@freebsd.org

           URL to Slides:

http://slideshare.net/dlavigne/scale13

Weitere ähnliche Inhalte

Was ist angesagt?

Lavigne bsdmag-jan13
Lavigne bsdmag-jan13Lavigne bsdmag-jan13
Lavigne bsdmag-jan13
Dru Lavigne
 
ESXi PXE Server-Instructions/Documentation
ESXi PXE Server-Instructions/DocumentationESXi PXE Server-Instructions/Documentation
ESXi PXE Server-Instructions/Documentation
Jeremy Dixon
 
Freenas Tutorial EuroBSDCon 2012
Freenas Tutorial EuroBSDCon 2012Freenas Tutorial EuroBSDCon 2012
Freenas Tutorial EuroBSDCon 2012
Dru Lavigne
 

Was ist angesagt? (20)

Tlf2012
Tlf2012Tlf2012
Tlf2012
 
Fsoss12
Fsoss12Fsoss12
Fsoss12
 
olf10
olf10olf10
olf10
 
Olf2012
Olf2012Olf2012
Olf2012
 
Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...
Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...
Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...
 
Tlf2013
Tlf2013Tlf2013
Tlf2013
 
Asiabsdcon15
Asiabsdcon15Asiabsdcon15
Asiabsdcon15
 
Olf2013
Olf2013Olf2013
Olf2013
 
Posscon2013
Posscon2013Posscon2013
Posscon2013
 
Ilf2012
Ilf2012Ilf2012
Ilf2012
 
Lavigne bsdmag-jan13
Lavigne bsdmag-jan13Lavigne bsdmag-jan13
Lavigne bsdmag-jan13
 
Dru lavigne servers-tutorial
Dru lavigne servers-tutorialDru lavigne servers-tutorial
Dru lavigne servers-tutorial
 
Oclug 2010
Oclug 2010Oclug 2010
Oclug 2010
 
ESXi PXE Server-Instructions/Documentation
ESXi PXE Server-Instructions/DocumentationESXi PXE Server-Instructions/Documentation
ESXi PXE Server-Instructions/Documentation
 
Self2013
Self2013Self2013
Self2013
 
Fsoss2011
Fsoss2011Fsoss2011
Fsoss2011
 
SELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux UsersSELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux Users
 
Lavigne bsdmag sept12
Lavigne bsdmag sept12Lavigne bsdmag sept12
Lavigne bsdmag sept12
 
BayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan HubbardBayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan Hubbard
 
Freenas Tutorial EuroBSDCon 2012
Freenas Tutorial EuroBSDCon 2012Freenas Tutorial EuroBSDCon 2012
Freenas Tutorial EuroBSDCon 2012
 

Ähnlich wie Scale13

APACHE
APACHEAPACHE
APACHE
ARJUN
 

Ähnlich wie Scale13 (20)

2013 Ohio LinuxFest - Ports, Packages, and PBI's
2013 Ohio LinuxFest - Ports, Packages, and PBI's2013 Ohio LinuxFest - Ports, Packages, and PBI's
2013 Ohio LinuxFest - Ports, Packages, and PBI's
 
Prizm Installation Guide
Prizm Installation GuidePrizm Installation Guide
Prizm Installation Guide
 
Flourish11
Flourish11Flourish11
Flourish11
 
Scale9x sun
Scale9x sunScale9x sun
Scale9x sun
 
Piattaforma Web Linux completa dai sorgenti
Piattaforma Web Linux completa dai sorgentiPiattaforma Web Linux completa dai sorgenti
Piattaforma Web Linux completa dai sorgenti
 
APACHE
APACHEAPACHE
APACHE
 
Ipfs installation and demo
Ipfs installation and demoIpfs installation and demo
Ipfs installation and demo
 
Lavigne bsdmag june11
Lavigne bsdmag june11Lavigne bsdmag june11
Lavigne bsdmag june11
 
PBI v10: Application Management Made Easy by Ken Moore
PBI v10: Application Management Made Easy by Ken MoorePBI v10: Application Management Made Easy by Ken Moore
PBI v10: Application Management Made Easy by Ken Moore
 
Ilf2013
Ilf2013Ilf2013
Ilf2013
 
Custom Buildpacks and Data Services
Custom Buildpacks and Data ServicesCustom Buildpacks and Data Services
Custom Buildpacks and Data Services
 
Install and configure linux
Install and configure linuxInstall and configure linux
Install and configure linux
 
Lavigne bsdmag-jan2012
Lavigne bsdmag-jan2012Lavigne bsdmag-jan2012
Lavigne bsdmag-jan2012
 
2013 Indiana LinuxFest - Getting Started With PC-BSD
2013 Indiana LinuxFest -  Getting Started With PC-BSD2013 Indiana LinuxFest -  Getting Started With PC-BSD
2013 Indiana LinuxFest - Getting Started With PC-BSD
 
Ilf2011
Ilf2011Ilf2011
Ilf2011
 
PaaSing Your Code Around
PaaSing Your Code AroundPaaSing Your Code Around
PaaSing Your Code Around
 
Developer Nirvana with IBM Bluemix™
Developer Nirvana with IBM Bluemix™Developer Nirvana with IBM Bluemix™
Developer Nirvana with IBM Bluemix™
 
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
 
PHP Dependency Management with Composer
PHP Dependency Management with ComposerPHP Dependency Management with Composer
PHP Dependency Management with Composer
 
Red Hat Training
Red Hat   TrainingRed Hat   Training
Red Hat Training
 

Mehr von Dru Lavigne (20)

Olf2018
Olf2018Olf2018
Olf2018
 
Olf2017
Olf2017Olf2017
Olf2017
 
FreeBSD System Administration Using SysAdm
FreeBSD System Administration Using SysAdmFreeBSD System Administration Using SysAdm
FreeBSD System Administration Using SysAdm
 
Asiabsdcon2017
Asiabsdcon2017Asiabsdcon2017
Asiabsdcon2017
 
Olf2016
Olf2016Olf2016
Olf2016
 
Tlf2016
Tlf2016Tlf2016
Tlf2016
 
Knoxbug2016
Knoxbug2016Knoxbug2016
Knoxbug2016
 
Lfnw2016
Lfnw2016Lfnw2016
Lfnw2016
 
Flourish16
Flourish16Flourish16
Flourish16
 
Scale2016
Scale2016Scale2016
Scale2016
 
Fossetcon15
Fossetcon15Fossetcon15
Fossetcon15
 
Lfnw15
Lfnw15Lfnw15
Lfnw15
 
Scale2015
Scale2015Scale2015
Scale2015
 
Olf2014
Olf2014Olf2014
Olf2014
 
Ghc14
Ghc14Ghc14
Ghc14
 
Fossetcon14
Fossetcon14Fossetcon14
Fossetcon14
 
Tlf2014
Tlf2014Tlf2014
Tlf2014
 
Asiabsdcon14 lavigne
Asiabsdcon14 lavigneAsiabsdcon14 lavigne
Asiabsdcon14 lavigne
 
Asiabsdcon14
Asiabsdcon14Asiabsdcon14
Asiabsdcon14
 
Scale2014
Scale2014Scale2014
Scale2014
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Scale13

  • 1. Customizing FreeNAS 8.3 Using the Plugins Jail Dru Lavigne Documentation Lead, iXsystems SCALE, February 23, 2013
  • 2. Outline Brief Introduction to FreeNAS 8.3 Introduction to Jails, PBIs, and Plugins Installing the Plugins Jail Installing and Configuring PBIs Installing non-PBI Software Creating Custom PBIs
  • 3. Intro to FreeNAS 8.3 Open source NAS (network attached storage) based on an embedded version of FreeBSD (nanoBSD) and released under 2-clause BSD license Modular design: core NAS features can be extended using a plugins architecture Designed to be installed on flash device and administered from a web browser
  • 4. Core NAS Features Include Ability to create AFP, CIFS, NFS shares Support for iSCSI, SSH, FTP/SFTP, TFTP Active Directory and OpenLDAP integration Automated, secure replication via rsync/ssh Automated ZFS snapshots and scrubs Link aggregation and failover
  • 5. Limitations of Core NAS Due to its embedded nature, there is no room to install additional software NAS does not include built-in UPnP, iTunes, or BitTorrent support Users have all kinds of edge use cases for their NAS It is possible, but inconvenient, to compile a custom version of FreeNAS
  • 6. Plugins Architecture Provides the administrator the flexibility to install additional software from the FreeNAS GUI to meet the requirements of the NAS Comprised 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 virtualization A jail has its own hostname, IP address, users, and is separated from the host operating system FreeNAS implementation includes vimage which gives the jail its own networking stack and IP broadcasting
  • 8. What is a PBI/Plugin? Originally created by the PC-BSD project (a desktop version of FreeBSD) Provides a graphical installation wrapper for software ported to FreeBSD FreeNAS implementation extends this functionality by incorporating the application's configuration file into the FreeNAS graphical administrative interface—the result is known as a Plugin
  • 9. Installing the Plugins Jail Before any plugins can be installed, the Plugins Jail must be installed and started Recommended that Plugins Jail is installed into its own ZFS dataset and that a second dataset is used to store the installed software The Plugins Jail and supported Plugins can be downloaded from plugins folder for architecture http://sourceforge.net/projects/freenas/files/ FreeNAS-8.3.0/
  • 12. Installing a PBI Once the Plugins Jail is installed and the Plugins service started, you can install FreeNAS PBIs (Plugins) As each Plugin is installed, an icon will be added to the FreeNAS menu (used to configure the application) and its service will be added to the Plugins tab of the Control Services menu so it can be started
  • 15. Installing Non-PBI Software If a PBI is not available, you can still install packages or compile ports within the Plugins Jail Software installed this way will not be integrated into the administrative interface but can be configured and started from the command line Use FreshPorts.org to search for software that has been ported to FreeBSD
  • 16. Installing Packages A FreeBSD package is a pre-compiled binary that includes the dependencies required by the application Installed using the pkg_add -r command: FreshPorts.org will tell you the exact command to use pkg_info -Lx will tell you what gets installed Typically, conf files are in /usr/local/etc/ and startup scripts are in /usr/local/etc/rc.d/
  • 17. Compiling Ports Packages are recommended unless a package is not available or you need to change a compile option as compiling takes time and system resources FreshPorts.org will list the available compile options Use the make install command to compile Once compiled and installed, the software can be configured like any other package
  • 18. Creating Custom PBIs FreeNAS PBIs are still new (only available since July 2012) 3 official PBIs: Firefly, MiniDLNA, Transmission List of PBI requests: http://doc.freenas.org/index.php/PBI_Requests List of user-created PBIs: http://forums.freenas.org/showthread.php?8470- INDEX-Available-Plugins
  • 19. Creating Custom PBIs A PBI is created from a PBI module: a set of files and directories containing the installation instructions for an application These files are trivial to edit, except for the control file which contains the instructions for integrating the installed PBI into the FreeNAS GUI The control file requires development experience with a programming language supported by the FastCGI API (typically Python or PHP)
  • 20. Creating Custom PBIs In theory, the Plugins Jail has all of the tools needed to create a custom PBI; this needs to improve in practice The documentation for creating PBIs is mostly complete but needs programmatic examples for the control file For now, use packages, help test upcoming PBIs, and interact with other PBI creators on the forums or IRC
  • 21. Resources Website: http://www.freenas.org Forums: http://forums.freenas.org Bug tracker: http://support.freenas.org Documentation: http://doc.freenas.org/Plugins IRC: #freenas on Freenode
  • 22. Questions? Contact: dru@freebsd.org URL to Slides: http://slideshare.net/dlavigne/scale13