Post on 16-Apr-2017
transcript
Creating FreeNAS 10Creating FreeNAS 10BayLISA, 2017-01-19BayLISA, 2017-01-19
Jordan HubbardJordan HubbardCTO, iXsystemsCTO, iXsystems
FreeNAS 10FreeNAS 10Open Source - Extensible - CustomizableOpen Source - Extensible - CustomizableSoftware Defined Storage and Application Software Defined Storage and Application Hosting Hosting
FreeNAS 10 OverviewFreeNAS 10 OverviewBased on FreeBSD 11.0 OSBased on FreeBSD 11.0 OS
OpenZFS is default filesystemOpenZFS is default filesystem
Over 400 3rd party packages covering a huge Over 400 3rd party packages covering a huge body of functionalitybody of functionality
Several million LOCSeveral million LOC
30+ sub-projects on github (everything is OSS)30+ sub-projects on github (everything is OSS)
FreeNAS 10: Key GoalsFreeNAS 10: Key GoalsMake a highly complex system as simple as possible Make a highly complex system as simple as possible for end-users but still powerful for adminsfor end-users but still powerful for admins
Provide maximum “situational awareness” to all Provide maximum “situational awareness” to all usersusers
Do as much as possible asynchronouslyDo as much as possible asynchronously
Provide for flexible application hosting as well as Provide for flexible application hosting as well as storage (“Hyperconverged storage”)storage (“Hyperconverged storage”)
Provide both advanced GUI and CLI interfacesProvide both advanced GUI and CLI interfaces
FreeNAS 10: Key GoalsFreeNAS 10: Key GoalsFoster an OSS project that is easy to contribute to Foster an OSS project that is easy to contribute to and testand test::
All relevant sources are on GitHubAll relevant sources are on GitHub
github:freenas/freenas-build does all the heavy-github:freenas/freenas-build does all the heavy-lifting (you just need a FreeBSD 11 host / host VM)lifting (you just need a FreeBSD 11 host / host VM)
GUI / CLI / middleware can all be developed GUI / CLI / middleware can all be developed independentlyindependently
Project is aggressive about reviewing and taking PRsProject is aggressive about reviewing and taking PRs
http://bugs.freenas.orghttp://bugs.freenas.org tickets are actioned quickly tickets are actioned quickly
Things We Make SimpleThings We Make SimpleZFS Storage SetupZFS Storage Setup::
Magical volume / topology layout and editingMagical volume / topology layout and editing
Drive status / Power Management / SMARTDrive status / Power Management / SMART
Snapshot management (scheduled and Snapshot management (scheduled and manual)manual)
Replication (scheduled and manual) with Replication (scheduled and manual) with compression, encryption, and throttlingcompression, encryption, and throttling
Things We Make SimpleThings We Make SimpleAll sorts of File Sharing scenariosAll sorts of File Sharing scenarios::
NFSv2/v3/v4 (with and without Kerberos)NFSv2/v3/v4 (with and without Kerberos)
SMB2 / SMB3 with various Directory ServicesSMB2 / SMB3 with various Directory Services
AFP (yeah, still alive)AFP (yeah, still alive)
iSCSI (greatly simplified though advanced iSCSI (greatly simplified though advanced modes there)modes there)
WebDAV (don’t ask)WebDAV (don’t ask)
Things We Make SimpleThings We Make SimpleDirectory Services Easy ButtonsDirectory Services Easy Buttons::
Active DirectoryActive Directory
Active Directory Domain ControllerActive Directory Domain Controller
LDAPLDAP
FreeIPAFreeIPA
NIS (don’t ask)NIS (don’t ask)
Things We Make SimpleThings We Make SimpleServices managementServices management::
New services management framework (serviced)New services management framework (serviced)
Easy Domain Controller / Exchange setup Easy Domain Controller / Exchange setup (Zentyl)(Zentyl)
Dynamic DNS (many providers supported)Dynamic DNS (many providers supported)
Rsync, FTP, TFTP, etcRsync, FTP, TFTP, etc
UPS support (don’t ask)UPS support (don’t ask)
Things We Make SimpleThings We Make SimpleVirtualizationVirtualization
ZFS used to support cloning, snapshotting, and cheap ZFS used to support cloning, snapshotting, and cheap COW VM storageCOW VM storage
Serial and graphical (VNC) console access with simple Serial and graphical (VNC) console access with simple UIUI
Many useful built-in templates for various *BSDs, Many useful built-in templates for various *BSDs, Linux distributions, Solaris, etc. on GitHubLinux distributions, Solaris, etc. on GitHub
Both local and remote (NFS / iSCSI) storage supportedBoth local and remote (NFS / iSCSI) storage supported
VM Guest Tools being developed and leveragedVM Guest Tools being developed and leveraged
Things We Make SimpleThings We Make SimpleContainerized ApplicationsContainerized Applications::
Fully proxy all Docker operations to GUI / CLIFully proxy all Docker operations to GUI / CLI
Support Docker advanced networking, local and Support Docker advanced networking, local and remote storage, local and remote Docker hostsremote storage, local and remote Docker hosts
Use 9pfs for high speed (>1GB/sec) file accessUse 9pfs for high speed (>1GB/sec) file access
Curated container “collections” (/r/freenas Curated container “collections” (/r/freenas default)default)
Everything is up on Dockerhub (but front-ended)Everything is up on Dockerhub (but front-ended)
Web resourcesWeb resources
http://github.com/freenashttp://github.com/freenas
http://dockerhub.com/r/freenashttp://dockerhub.com/r/freenas
http://wiki.freenas.orghttp://wiki.freenas.org
http://forums.freenas.orghttp://forums.freenas.org
IRC #freenas, reddit /r/freenas and so on…IRC #freenas, reddit /r/freenas and so on…
– – Every Idiot Demo Presenter EverEvery Idiot Demo Presenter Ever
““Let’s try a live demo. What could go Let’s try a live demo. What could go wrong?” wrong?”
DemoDemo
Well, that was fun…Well, that was fun…
Q&AQ&A