SlideShare a Scribd company logo
04/15/2010
                              1




OpenSolaris
Overview
Ivan Richwalski
ivan@seppuku.net
http://seppuku.net/
04/15/2010
                                                             2



                           A brief history
●   SunOS 1 - 4
       Based on original BSD
       Sun 680x0 workstations
       Later added Sun SPARC
●   AT&T & Sun collaboration in 1987
       Merging the best parts to create SVR4
●   New operating system named Solaris 2
       ( SunOS 4 retroacively named Solaris 1 )
       Solaris brand to identify whole system
            OS, Graphics system, Desktop software
04/15/2010
                                                                     3



                        A brief history
●   1989 – AT&T forms Unix System Labs
●   1991 – First Solaris 2 release
●   1993 – AT&T sells USL to Novell
●   1994 – Sun buys out license from Novell
       No more license/royalties, Sun owns the code
●   Early 2004 – OpenSolaris planning begins
●   Late 2004 – OpenSolaris pilot project starts
●   2005 – Open to the public
       Dtrace source, website & lists, more code mid-year
●   2007 – Ian Murdock joins Sun, project Indiana starts
04/15/2010
                                                                     4



          Solaris/OpenSolaris Today
●   Supports SPARC, x86 CPUs
●   Both 32 and 64 bit kernels
       SPARC systems 64 bit kernel only
       Mixed 32 & 64 bit programs on 64 bit kernel
●   Highly scaleable
       32 CPUs on 32 bit x86, 256 on 64 bit, 512 on SPARC
04/15/2010
                                                                     5



                           Licensing
●   CDDL - Common Development & Distribution License
       Kernel, drivers, and most of userland programs
●   OpenSolaris Binary License
       Not open source, but is freely redistributable
       http://hub.opensolaris.org/bin/view/Main/no_source
●   Lots of other code with their own licences
       GPL, BSD, MIT, Apache, Perl Artistic, etc.
04/15/2010
                                                                6



                 About the CDDL
●   Comon Development & Distribution License
●   Based on Mozilla Public License v1.1
●   File Based
●   Allows combination with code that has other
    compatible licenses
●   Requires modifications shared back
●   Explicit patent license, “patent peace” clause
●   http://hub.opensolaris.org/bin/view/Main/licensing_faq
04/15/2010
                                                                           7



              CDDL Misconceptions
●   Gives Sun ownership of your code
       You retain ownership/copyright of your code
       Seperate contributor agreement for including your source
        code in Sun's code base
●   Designed to be GPL incompatible
       Compatible with lots of other licences
       File based, does not require everything to be under CDDL


●   http://blogs.sun.com/cmh/entry/cddl_is_it_so_bad
●   http://blogs.sun.com/harpster/entry/cddl_me_elmo
04/15/2010
                                                                                    8



        Building an operating system
●   Many seperate consolidations
       Operating System/Networking ( aka ON )
            Kernel, drivers, networking, libraries, services, & commands
       X11
       Desktop
            Gnome, Firefox, Thunderbird
       SFW ( Sun Freeware, various open source software )
       Globalization ( includes internationalization & localization )
●   Not all consolidations open sourced
       SPARC Graphics Drivers
       OpenWindows, CDE ( obsolete, removed )
04/15/2010
                                                                9



SMF: Service Management Facility
●   Framework for defining persistent system services
●   Each service identified by FMRI
         ( Fault Management Resource Identifier )




●   A service can have multiple instances
04/15/2010
                                                              10



SMF: Service Management Facility
●   Configuration stored in repository
       Persistant, transaction based, safe rollback
●   XML manifests used to import/export service
●   Tracks dependencies, manages parallel startup
04/15/2010
                                                             11



SMF: Service Management Facility
●   Restarters responsible for managing services
●   New process attribute: contract
       Restarter alerted if contract becomes empty
       Decides what action to take
04/15/2010
                                                            12



SMF: Service Management Facility
●   Long running & transient ( run once ) services
●   Service manifest defines how service runs
       User/Group Credentials
       Process Privileges
       Working Directory
       Environment variables
       Project ID / Resource Pool
●   Delegated administration of services
●   Users assigned profiles for managing services
       [ demo 1 ]
04/15/2010
                                                                       13



         Fault Management Daemon
●   Manages diagnosis engines, response agents, logging
●   Recieves telemetry from other parts of system
       Hardware error reports ( CPU, memory, IO bus bit errors )
       Driver faults ( NIC reporting corrupted data )
       Disk errors ( bad blocks, disk not responding )
●   Diagnoses problem, takes action when needed
       Offline/retire faulty CPUs & memory pages
       Reroute IO ( Multipath disks, aggregated NICs )
       Activate disk hot spares
       Restart affected services via SMF
       Send alerts via syslog, SNMP
04/15/2010
                                                                    14



                               ZFS
●   Pooled storage
       Does away with dealing with partitions/slices
       Eliminates extra volume manager layer
       Simplifies administration, improves performance

           Volume               Filesystem              FS

                           Storage Pool
04/15/2010
                                                                        15



                               ZFS
●   Pool built on one or more vdevs
       Stripe, Mirror, Raidz1, Raidz2, Raidz3
       Able to add additional vdevs to a pool
●   NFSv4/NTFS style ACLs
●   Instant read-only snapshots
       Can be cloned to create new writeable filesystem
●   Delegated administration
       Allow users & groups ability to manage own filesystems
       Fine grained control of allowed tasks
●   Compression, deduplication
●   In place upgrades for new capabilities
04/15/2010
                                                                        16



                                ZFS
●   Guaranteed data protection
       Checksums used end to end, catches & repairs corruption
       Transactional writes, always consistent state on disk
       Copy on write, never alters live data, no “write hole”
       Checksum Trees, checksum stored in parent block pointer
          Avoids corruption hitting both data & checksum together
          Validate entire pool by walking whole tree


       Background scrubbing & resilvering
●   Maximum performance
       Writes spread across all devices in pool
       Most disk writes sequential due to copy on write/transactions
       Smart prefetch, detects length & striding reads
04/15/2010
                                                              17



                           ZFS
●   Self healing ( as long as there's redundancy )
●   Redundant copies of all filesystem metadata
●   Copies of user data optional, setable on the fly



        App              App              App


       Mirror           Mirror           Mirror
04/15/2010
                                                                         18



                       ZFS & SSDs
●   Seperate Intent Logs ( aka “slogs” )
       Intent log used for synchronous writes
       Normally uses space from disks in pool
       Move to SSD for fast, short lived writes ( NFS, iSCSI )
●   Level 2 ARC ( aka “L2ARC” )
       ARC == Adaptive Replacement Cache in memory
       L2ARC best for read optimized SSDs
       Faster than disk, slower & cheaper than RAM
04/15/2010
                                                                 19



                     ZFS vs btrfs
●   2001 start, 2005 release   ●   2007 development start
●   CDDL License               ●   GPL License
●   Checksum: fletcher2,       ●   Checksum: crc32, off
    fletcher4, sha256, off
●   Always copy-on-write       ●   Selective copy-on-write
                               ●   Device removal, defrag
●   No fsck needed             ●   Online/offline fsck
●   Rollback from snapshot
04/15/2010
                                                           20



                            DTrace
●   Dynamic Tracing of kernel & userland code
●   Simplified C-like “D” language
       Added functions and variables for tracing
       Thread-local variables
●   Completely safe to run on production systems
●   Zero probe effect when dtrace not running
04/15/2010
                                                                              21



                             DTrace
●   Provider: syscall, pid, proc, io, fbt ( functional block trace )
●   Module: Process executable, library, driver
●   Function
●   Name: entry, return, connection-start, connection-done
●   Applications can also have their own providers
04/15/2010
                                                          22



     IPS: Image Packaging System
●   Replaces old SVR4 packaging system
●   Network based software repository & delivery
●   GUI and CLI package tools
●   Multi-variant packages
04/15/2010
                                     23



IPS: Image Packaging System
04/15/2010
                                                           24



     IPS: Image Packaging System
●   Uses ZFS to create & manage boot environments
04/15/2010
                                         25



                        Desktop
●   Gnome 2.28
●   Xorg 1.7
●   Compiz ( on live CD )
●   Firefox 3.5.8
●   Thunderbird 3.0.1
●   Device Driver Utility
04/15/2010
                                                26



                            Desktop
●   Time Slider
       Automated ZFS Snapshots
       Addon to Nautilus File Manager
       Enable/disable per filesystem


●   [ demo ]

●   Future improvements
       Backup to external media
       Better retention configuration
04/15/2010
                                                                  27



    Crossbow: Network Virtualization
●   Great for server & network consolidation
●   Add virtual NICs, switches, & vlans
●   Assign cpu resources, priorities, bandwidth limits
       Local IP/network & remote IP/network
       Local & remote network port
       Transport type ( tcp, udp, sctp, icmp, icmpv6 )
       Limit max bandwidth, set relative priority
       Extended accounting for flows for tracking usage
04/15/2010
                                                                                   28



                                  Zones
●   OS level virtualization, “chroot on steroids”
       One kernel, isolated userland instances
            Seperate naming services inside each zone ( DNS, NIS, LDAP )
            Processes isolated within zones
       Broad resource controls
            Processor pools, process, thread, memory, swap limits
       Limited privileges & device access
            Must be granted by configuration
            Shared ip stack networking or exclusive access to NIC
04/15/2010
                                                                                       29



                         Branded Zones
●   Support for non-native environments
       Interpretation layer to translate from brand to native
            System calls, signals, process & thread handling
       Different brand types
            native: on Solaris 10 / Solaris Express releases
            ipkg: for OpenSolaris releases
            lx: Linux 2.4 kernel & 32 bit apps
            lx26: Experimental Linux 2.6 support
            solaris8 & solaris9: on SPARC ( commercial support )
            s10brand: to support transition of Solaris 10 to future versions


●   [ zones demo ]
04/15/2010
                                                                            30



                                    xVM
●   OpenSolaris as dom0 on top of Xen
       Xen 3.4 hypervisor & tools
       Live migration support
       Full & Paravirtualized domU on top of hypervisor
            Intel VT or AMD-V instruction set needed for Full HVM
            OpenSolaris as full PV guest
●   Use Crossbow for managing networking
●   Can use ZFS volumes for storage
04/15/2010
                                                           31



                     COMSTAR
●   Common Multiprotocol SCSI Target
●   Seperates storage backend from access methods
●   LUN masking & mapping
●   Multipathing over different transports




                           COMSTAR
04/15/2010
                                                                     32



                         COMSTAR
●   Logical Unit Providers
       Disk, Tape, Virtual Tape Library logical units
       Actual storage via ZFS volume, raw disk, file, tape
       Supports thin provisioning




                                COMSTAR
04/15/2010
                                                                    33



                         COMSTAR
●   Port Providers
        Exports LUNs to other hosts
        Looks like normal block device to the host
        iSCSI, FibreChannel, FCoE, SAS, iSER ( iSCSI over RDMA )


    Server 1




    Server 2
                                COMSTAR

    Server 3
04/15/2010
                                                 34



                       CIFS Server
●   Native, in kernel CIFS server
●   Can join Windows domain
●   LDAP/Windows AD user maps
●   Map Windows Security ID to
    Solaris user/group
●   NT ACL stored natively in ZFS
●   ZFS snapshots work with
    Windows Shadow Copy
●   Virus scan engine support
       Integrated into ZFS, uses ICAP
       Protects NFS & local access too
04/15/2010
                                                                35



               Trusted Extensions
●   Replaces previous seperate “Trusted Solaris” OS
●   System enforced mandatory access control policies
●   Explicit authorization needed to cross security labels
●   Device & network access also labeled

●   [ demo ]
04/15/2010
                                                                    36



                        Drawbacks
●   Uses more memory
●   No KDE ( Other distros include KDE )
●   ZFS block pointer rewrite a ways off yet
       For online pool resizing, re-compress/dedup/defrag
●   ZFS encryption still being developed
●   IPS going through heavy development
●   Power Management, Suspend/Resume
●   Limited Wi-Fi chipsets supported
●   Proprietary media codecs
       Fluendo commercial gstreamer plugins
04/15/2010
                                                                     37



                  Other Distributions
●   OpenSolaris: http://opensolaris.com/
       Official Sun/Oracle sponsored distribution


●   BeleniX: http://belenix.org/
       First non-Sun Live CD & GUI distro
       KDE, GNOME, & XFCE packages


●   Nexenta: http://nexenta.org/
       OpenSolaris kernel, Ubuntu userland & packaging
       Easy NAS/SAN Seutp
       Commercially supported NexentaStor storage platform
04/15/2010
                                                                     38



                 Other Distributions
●   EON: http://sites.google.com/site/eonstorage/
       Embedded Operating System/Networking
       Small NAS focused distribution


●   MilaX: http://www.milax.org/
       Started as mini/rescue CD experiment
       Full CD/USB based distro, enough for older hardware


●   Jaris: http://jaris.jp/
       Japanese based distribution
04/15/2010
                                                                                39



                  Other Distributions
●   Schillix: http://schillix.berlios.de/
       First non-sun distribution
       Lead by Joerg Schilling


●   MarTux
       First SPARC distribution


●   Korona:
    http://techbase.kde.org/Projects/KDE_on_Solaris/OpenSolaris/Korona
       KDE4 based test drive Live DVD
       Experimental, currenly on KDE 4.3.98

More Related Content

PDF
Fsoss2011
PDF
Oclug 2010
PDF
Lavigne bsdmag sept12
PDF
Ilf2012
PDF
Scale 2010: BSD for Linux Users
PPTX
7 th
PDF
Flourish11
PDF
OpenSolaris Server
Fsoss2011
Oclug 2010
Lavigne bsdmag sept12
Ilf2012
Scale 2010: BSD for Linux Users
7 th
Flourish11
OpenSolaris Server

What's hot (20)

PDF
Lavigne bsdmag-jan2012
PDF
Dru lavigne servers-tutorial
PDF
Asiabsdcon15
PPTX
4th
PDF
Tlf2013
PDF
Posscon2013
PDF
Linux admin course
PDF
Fsoss12
PPTX
Solaris Operating System - Oracle
PPTX
Linux mint
PDF
Lavigne bsdmag june11
PPTX
5th
PDF
Olf2012
PDF
Scale9x sun
PDF
Olf2013
PDF
Nelf2013
PPT
Centos operating system
PDF
Btrfs and Snapper - The Next Steps from Pure Filesystem Features to Integrati...
PDF
Linux course details
PDF
Lect12
Lavigne bsdmag-jan2012
Dru lavigne servers-tutorial
Asiabsdcon15
4th
Tlf2013
Posscon2013
Linux admin course
Fsoss12
Solaris Operating System - Oracle
Linux mint
Lavigne bsdmag june11
5th
Olf2012
Scale9x sun
Olf2013
Nelf2013
Centos operating system
Btrfs and Snapper - The Next Steps from Pure Filesystem Features to Integrati...
Linux course details
Lect12
Ad

Viewers also liked (7)

PDF
Kde4 Se Libre
ODP
Writing plugins for Kate and enhancing Kate
ODP
Mhatta hitotsubashi-20120221
PDF
Gnome - un vistazo a su arquitectura
ODP
Introducción a la Arquitectura y Desarrollo en KDE4
ODP
Web Application Lunacy
Kde4 Se Libre
Writing plugins for Kate and enhancing Kate
Mhatta hitotsubashi-20120221
Gnome - un vistazo a su arquitectura
Introducción a la Arquitectura y Desarrollo en KDE4
Web Application Lunacy
Ad

Similar to Newlug presentation- OpenSolaris (20)

PDF
Introduction to BTRFS and ZFS
PDF
Sweden11
PDF
Nelf2012
PDF
Introduction to OpenSolaris 2008.11
PDF
OpenZFS - AsiaBSDcon
PDF
Open stack in_production__the_good,_the_bad_&_the_ugly
PDF
OpenStack in Production
PDF
OpenZFS - BSDcan 2014
PPTX
OpenStack Cinder Best Practices - Meet Up
PDF
Read-only rootfs: theory and practice
PPT
Zettabyte File Storage System
PPT
Zettabyte File Storage System
PPTX
Introduction to OS LEVEL Virtualization & Containers
PDF
OpenZFS at LinuxCon
PPT
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
PDF
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
PDF
LAS16-400: Mini Conference 3 AOSP (Session 1)
PDF
제3회난공불락 오픈소스 인프라세미나 - lustre
PDF
Before begining linux
PDF
Tuning DB2 in a Solaris Environment
Introduction to BTRFS and ZFS
Sweden11
Nelf2012
Introduction to OpenSolaris 2008.11
OpenZFS - AsiaBSDcon
Open stack in_production__the_good,_the_bad_&_the_ugly
OpenStack in Production
OpenZFS - BSDcan 2014
OpenStack Cinder Best Practices - Meet Up
Read-only rootfs: theory and practice
Zettabyte File Storage System
Zettabyte File Storage System
Introduction to OS LEVEL Virtualization & Containers
OpenZFS at LinuxCon
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LAS16-400: Mini Conference 3 AOSP (Session 1)
제3회난공불락 오픈소스 인프라세미나 - lustre
Before begining linux
Tuning DB2 in a Solaris Environment

More from NEWLUG (10)

ODP
Lyx : A Book Writer's Dream - NEWLUG
ODP
Linux games
ODP
Quickly programming
PDF
Python web frameworks
ODP
Ajax presentation
PDF
Plone
PDF
Making more informed Linux hardware Choices - Phoronix
PPTX
Mac OSX - Presentation for NEWLUG - Nov. 2010
ODP
Python 3 Intro Presentation for NEWLUG
PDF
NEWLUG May 2010 Presentation - Android
Lyx : A Book Writer's Dream - NEWLUG
Linux games
Quickly programming
Python web frameworks
Ajax presentation
Plone
Making more informed Linux hardware Choices - Phoronix
Mac OSX - Presentation for NEWLUG - Nov. 2010
Python 3 Intro Presentation for NEWLUG
NEWLUG May 2010 Presentation - Android

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
A Presentation on Artificial Intelligence
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPT
Teaching material agriculture food technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
sap open course for s4hana steps from ECC to s4
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Cloud computing and distributed systems.
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
The AUB Centre for AI in Media Proposal.docx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Diabetes mellitus diagnosis method based random forest with bat algorithm
A Presentation on Artificial Intelligence
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MYSQL Presentation for SQL database connectivity
Reach Out and Touch Someone: Haptics and Empathic Computing
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
“AI and Expert System Decision Support & Business Intelligence Systems”
Teaching material agriculture food technology
Unlocking AI with Model Context Protocol (MCP)
Network Security Unit 5.pdf for BCA BBA.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
sap open course for s4hana steps from ECC to s4
The Rise and Fall of 3GPP – Time for a Sabbatical?
Cloud computing and distributed systems.
NewMind AI Weekly Chronicles - August'25-Week II
Assigned Numbers - 2025 - Bluetooth® Document
Digital-Transformation-Roadmap-for-Companies.pptx

Newlug presentation- OpenSolaris

  • 1. 04/15/2010 1 OpenSolaris Overview Ivan Richwalski ivan@seppuku.net http://seppuku.net/
  • 2. 04/15/2010 2 A brief history ● SunOS 1 - 4  Based on original BSD  Sun 680x0 workstations  Later added Sun SPARC ● AT&T & Sun collaboration in 1987  Merging the best parts to create SVR4 ● New operating system named Solaris 2  ( SunOS 4 retroacively named Solaris 1 )  Solaris brand to identify whole system  OS, Graphics system, Desktop software
  • 3. 04/15/2010 3 A brief history ● 1989 – AT&T forms Unix System Labs ● 1991 – First Solaris 2 release ● 1993 – AT&T sells USL to Novell ● 1994 – Sun buys out license from Novell  No more license/royalties, Sun owns the code ● Early 2004 – OpenSolaris planning begins ● Late 2004 – OpenSolaris pilot project starts ● 2005 – Open to the public  Dtrace source, website & lists, more code mid-year ● 2007 – Ian Murdock joins Sun, project Indiana starts
  • 4. 04/15/2010 4 Solaris/OpenSolaris Today ● Supports SPARC, x86 CPUs ● Both 32 and 64 bit kernels  SPARC systems 64 bit kernel only  Mixed 32 & 64 bit programs on 64 bit kernel ● Highly scaleable  32 CPUs on 32 bit x86, 256 on 64 bit, 512 on SPARC
  • 5. 04/15/2010 5 Licensing ● CDDL - Common Development & Distribution License  Kernel, drivers, and most of userland programs ● OpenSolaris Binary License  Not open source, but is freely redistributable  http://hub.opensolaris.org/bin/view/Main/no_source ● Lots of other code with their own licences  GPL, BSD, MIT, Apache, Perl Artistic, etc.
  • 6. 04/15/2010 6 About the CDDL ● Comon Development & Distribution License ● Based on Mozilla Public License v1.1 ● File Based ● Allows combination with code that has other compatible licenses ● Requires modifications shared back ● Explicit patent license, “patent peace” clause ● http://hub.opensolaris.org/bin/view/Main/licensing_faq
  • 7. 04/15/2010 7 CDDL Misconceptions ● Gives Sun ownership of your code  You retain ownership/copyright of your code  Seperate contributor agreement for including your source code in Sun's code base ● Designed to be GPL incompatible  Compatible with lots of other licences  File based, does not require everything to be under CDDL ● http://blogs.sun.com/cmh/entry/cddl_is_it_so_bad ● http://blogs.sun.com/harpster/entry/cddl_me_elmo
  • 8. 04/15/2010 8 Building an operating system ● Many seperate consolidations  Operating System/Networking ( aka ON )  Kernel, drivers, networking, libraries, services, & commands  X11  Desktop  Gnome, Firefox, Thunderbird  SFW ( Sun Freeware, various open source software )  Globalization ( includes internationalization & localization ) ● Not all consolidations open sourced  SPARC Graphics Drivers  OpenWindows, CDE ( obsolete, removed )
  • 9. 04/15/2010 9 SMF: Service Management Facility ● Framework for defining persistent system services ● Each service identified by FMRI ( Fault Management Resource Identifier ) ● A service can have multiple instances
  • 10. 04/15/2010 10 SMF: Service Management Facility ● Configuration stored in repository  Persistant, transaction based, safe rollback ● XML manifests used to import/export service ● Tracks dependencies, manages parallel startup
  • 11. 04/15/2010 11 SMF: Service Management Facility ● Restarters responsible for managing services ● New process attribute: contract  Restarter alerted if contract becomes empty  Decides what action to take
  • 12. 04/15/2010 12 SMF: Service Management Facility ● Long running & transient ( run once ) services ● Service manifest defines how service runs  User/Group Credentials  Process Privileges  Working Directory  Environment variables  Project ID / Resource Pool ● Delegated administration of services ● Users assigned profiles for managing services  [ demo 1 ]
  • 13. 04/15/2010 13 Fault Management Daemon ● Manages diagnosis engines, response agents, logging ● Recieves telemetry from other parts of system  Hardware error reports ( CPU, memory, IO bus bit errors )  Driver faults ( NIC reporting corrupted data )  Disk errors ( bad blocks, disk not responding ) ● Diagnoses problem, takes action when needed  Offline/retire faulty CPUs & memory pages  Reroute IO ( Multipath disks, aggregated NICs )  Activate disk hot spares  Restart affected services via SMF  Send alerts via syslog, SNMP
  • 14. 04/15/2010 14 ZFS ● Pooled storage  Does away with dealing with partitions/slices  Eliminates extra volume manager layer  Simplifies administration, improves performance Volume Filesystem FS Storage Pool
  • 15. 04/15/2010 15 ZFS ● Pool built on one or more vdevs  Stripe, Mirror, Raidz1, Raidz2, Raidz3  Able to add additional vdevs to a pool ● NFSv4/NTFS style ACLs ● Instant read-only snapshots  Can be cloned to create new writeable filesystem ● Delegated administration  Allow users & groups ability to manage own filesystems  Fine grained control of allowed tasks ● Compression, deduplication ● In place upgrades for new capabilities
  • 16. 04/15/2010 16 ZFS ● Guaranteed data protection  Checksums used end to end, catches & repairs corruption  Transactional writes, always consistent state on disk  Copy on write, never alters live data, no “write hole”  Checksum Trees, checksum stored in parent block pointer  Avoids corruption hitting both data & checksum together  Validate entire pool by walking whole tree  Background scrubbing & resilvering ● Maximum performance  Writes spread across all devices in pool  Most disk writes sequential due to copy on write/transactions  Smart prefetch, detects length & striding reads
  • 17. 04/15/2010 17 ZFS ● Self healing ( as long as there's redundancy ) ● Redundant copies of all filesystem metadata ● Copies of user data optional, setable on the fly App App App Mirror Mirror Mirror
  • 18. 04/15/2010 18 ZFS & SSDs ● Seperate Intent Logs ( aka “slogs” )  Intent log used for synchronous writes  Normally uses space from disks in pool  Move to SSD for fast, short lived writes ( NFS, iSCSI ) ● Level 2 ARC ( aka “L2ARC” )  ARC == Adaptive Replacement Cache in memory  L2ARC best for read optimized SSDs  Faster than disk, slower & cheaper than RAM
  • 19. 04/15/2010 19 ZFS vs btrfs ● 2001 start, 2005 release ● 2007 development start ● CDDL License ● GPL License ● Checksum: fletcher2, ● Checksum: crc32, off fletcher4, sha256, off ● Always copy-on-write ● Selective copy-on-write ● Device removal, defrag ● No fsck needed ● Online/offline fsck ● Rollback from snapshot
  • 20. 04/15/2010 20 DTrace ● Dynamic Tracing of kernel & userland code ● Simplified C-like “D” language  Added functions and variables for tracing  Thread-local variables ● Completely safe to run on production systems ● Zero probe effect when dtrace not running
  • 21. 04/15/2010 21 DTrace ● Provider: syscall, pid, proc, io, fbt ( functional block trace ) ● Module: Process executable, library, driver ● Function ● Name: entry, return, connection-start, connection-done ● Applications can also have their own providers
  • 22. 04/15/2010 22 IPS: Image Packaging System ● Replaces old SVR4 packaging system ● Network based software repository & delivery ● GUI and CLI package tools ● Multi-variant packages
  • 23. 04/15/2010 23 IPS: Image Packaging System
  • 24. 04/15/2010 24 IPS: Image Packaging System ● Uses ZFS to create & manage boot environments
  • 25. 04/15/2010 25 Desktop ● Gnome 2.28 ● Xorg 1.7 ● Compiz ( on live CD ) ● Firefox 3.5.8 ● Thunderbird 3.0.1 ● Device Driver Utility
  • 26. 04/15/2010 26 Desktop ● Time Slider  Automated ZFS Snapshots  Addon to Nautilus File Manager  Enable/disable per filesystem ● [ demo ] ● Future improvements  Backup to external media  Better retention configuration
  • 27. 04/15/2010 27 Crossbow: Network Virtualization ● Great for server & network consolidation ● Add virtual NICs, switches, & vlans ● Assign cpu resources, priorities, bandwidth limits  Local IP/network & remote IP/network  Local & remote network port  Transport type ( tcp, udp, sctp, icmp, icmpv6 )  Limit max bandwidth, set relative priority  Extended accounting for flows for tracking usage
  • 28. 04/15/2010 28 Zones ● OS level virtualization, “chroot on steroids”  One kernel, isolated userland instances  Seperate naming services inside each zone ( DNS, NIS, LDAP )  Processes isolated within zones  Broad resource controls  Processor pools, process, thread, memory, swap limits  Limited privileges & device access  Must be granted by configuration  Shared ip stack networking or exclusive access to NIC
  • 29. 04/15/2010 29 Branded Zones ● Support for non-native environments  Interpretation layer to translate from brand to native  System calls, signals, process & thread handling  Different brand types  native: on Solaris 10 / Solaris Express releases  ipkg: for OpenSolaris releases  lx: Linux 2.4 kernel & 32 bit apps  lx26: Experimental Linux 2.6 support  solaris8 & solaris9: on SPARC ( commercial support )  s10brand: to support transition of Solaris 10 to future versions ● [ zones demo ]
  • 30. 04/15/2010 30 xVM ● OpenSolaris as dom0 on top of Xen  Xen 3.4 hypervisor & tools  Live migration support  Full & Paravirtualized domU on top of hypervisor  Intel VT or AMD-V instruction set needed for Full HVM  OpenSolaris as full PV guest ● Use Crossbow for managing networking ● Can use ZFS volumes for storage
  • 31. 04/15/2010 31 COMSTAR ● Common Multiprotocol SCSI Target ● Seperates storage backend from access methods ● LUN masking & mapping ● Multipathing over different transports COMSTAR
  • 32. 04/15/2010 32 COMSTAR ● Logical Unit Providers  Disk, Tape, Virtual Tape Library logical units  Actual storage via ZFS volume, raw disk, file, tape  Supports thin provisioning COMSTAR
  • 33. 04/15/2010 33 COMSTAR ● Port Providers  Exports LUNs to other hosts  Looks like normal block device to the host  iSCSI, FibreChannel, FCoE, SAS, iSER ( iSCSI over RDMA ) Server 1 Server 2 COMSTAR Server 3
  • 34. 04/15/2010 34 CIFS Server ● Native, in kernel CIFS server ● Can join Windows domain ● LDAP/Windows AD user maps ● Map Windows Security ID to Solaris user/group ● NT ACL stored natively in ZFS ● ZFS snapshots work with Windows Shadow Copy ● Virus scan engine support  Integrated into ZFS, uses ICAP  Protects NFS & local access too
  • 35. 04/15/2010 35 Trusted Extensions ● Replaces previous seperate “Trusted Solaris” OS ● System enforced mandatory access control policies ● Explicit authorization needed to cross security labels ● Device & network access also labeled ● [ demo ]
  • 36. 04/15/2010 36 Drawbacks ● Uses more memory ● No KDE ( Other distros include KDE ) ● ZFS block pointer rewrite a ways off yet  For online pool resizing, re-compress/dedup/defrag ● ZFS encryption still being developed ● IPS going through heavy development ● Power Management, Suspend/Resume ● Limited Wi-Fi chipsets supported ● Proprietary media codecs  Fluendo commercial gstreamer plugins
  • 37. 04/15/2010 37 Other Distributions ● OpenSolaris: http://opensolaris.com/  Official Sun/Oracle sponsored distribution ● BeleniX: http://belenix.org/  First non-Sun Live CD & GUI distro  KDE, GNOME, & XFCE packages ● Nexenta: http://nexenta.org/  OpenSolaris kernel, Ubuntu userland & packaging  Easy NAS/SAN Seutp  Commercially supported NexentaStor storage platform
  • 38. 04/15/2010 38 Other Distributions ● EON: http://sites.google.com/site/eonstorage/  Embedded Operating System/Networking  Small NAS focused distribution ● MilaX: http://www.milax.org/  Started as mini/rescue CD experiment  Full CD/USB based distro, enough for older hardware ● Jaris: http://jaris.jp/  Japanese based distribution
  • 39. 04/15/2010 39 Other Distributions ● Schillix: http://schillix.berlios.de/  First non-sun distribution  Lead by Joerg Schilling ● MarTux  First SPARC distribution ● Korona: http://techbase.kde.org/Projects/KDE_on_Solaris/OpenSolaris/Korona  KDE4 based test drive Live DVD  Experimental, currenly on KDE 4.3.98