This document provides an overview of the Solaris Service Management Facility (SMF). It describes SMF's motivation as providing a consistent framework for defining, managing, and delivering services. Key concepts discussed include the definition of a service, service states, service dependencies, and service identifiers. The document is divided into multiple parts that will cover SMF fundamentals, usage, advanced features and tools.
Solaris 10 workshop service management facilityBui Van Cuong
This document provides an overview and agenda for a Solaris 10 workshop on Service Management Facility (SMF). It introduces core SMF concepts like services, dependencies, and states. It explains how SMF provides a standardized way to define and manage services compared to previous Solaris methods. The document also outlines administrative SMF commands and how to migrate legacy services to SMF.
Tomcat refers to an open-source, free implementation of the Java Servlet, JavaServer pages, Java Expression language, and WebSocket technologies. It enables a user to serve applications that are Java-based.
This document provides an overview of Apache ActiveMQ, an open source messaging system. It discusses what ActiveMQ is, its basics like topics and queues, techniques for scaling such as vertical, horizontal and hybrid approaches, ensuring high availability, and its future direction with ActiveMQ Apollo. The presentation aims to explain how ActiveMQ works and how to configure it for different deployment needs.
Apache Tomcat is used to serve Java-based applications. It is important to know the way in which Tomcat can be installed and uninstalled, configured, and how Tomcat support can be added for a user.
Solaris 10 10 08 what's new customer presentationxKinAnx
Solaris 10 10/08 provides several key updates and enhancements including:
1. A tested, integrated update to the operating system.
2. Improved ZFS enterprise features such as root and boot support, filesystem transfer capabilities, and delegated administration.
3. Support for new Intel processors and networking/I/O technologies.
4. Enhanced virtualization capabilities including Solaris Containers, Logical Domains, and support for the Xen hypervisor.
solaris 10 administration training | solaris 10 training | solaris 10OnlineOracleTrainings
solaris 10 administration training course explores the key features,the capabilities of the Solaris 10 OS. Get benefits of Solaris 10 training with live example
Solaris 10 Administration Training Course Content
Introduction of Solaris 10 OS Directory Hierarchy
• Describe / (root) subdirectories
• Describe file components
• Describe types of Files
• Use hard links
Managing Local Disk Devices
• Describe the basic architecture of a disk
• Describe the naming conventions for devices
• List devices
• Reconfigure the devices
• Performing hard disk partitioning
• Manage disk labels
• Describing the Solaris Management Console
• Partition a disk by using the Solaris Management Console
Managing Solaris OS File Systems
• Describe Solaris OS file system
• Creating new ufs file system
• Check the file system using the fsck command
• Resolving file system inconsistencies
• Monitor file system use
Performing Mounts & Unmounts
• Identify mounting basics
• Performing mounts & unmounts
• Access a mounted CD ROM
• Restrict access to a mounted CD ROM
• Access a CD ROM without Volume Managements
Consolidating Applications With Solaris Containersvaishal
This document discusses how Solaris containers can be used to consolidate applications by providing isolation and allocating resources. It explains that Solaris containers use zones and resource pools to partition a single Solaris operating system instance. Zones isolate applications by providing separate namespaces, while resource pools allocate CPU resources. The document demonstrates how an email server can be isolated with its own dedicated resource pool, while two web servers share another pool and are further isolated using shares allocated by the fair share scheduler.
Solaris 10 workshop solaris 10 user commandsBui Van Cuong
This document provides a list of Solaris 10 user commands organized alphabetically from A to Z. It includes brief descriptions of common commands like acctcom, adb, addbib, admin, alias, apropos, ar, as, at, awk, bc, cal, cat, cc, cd, chgrp, chmod, chown, cmp, cp, cpio, csh, date, df, diff, du, echo, ed, env, ex, expand, expr, factor, false, fg, file, find, grep, ls, more, nice, nohup, od, paste, pr, printenv, printf, ps, pwd, rm, sed, sleep, sort, split
Solaris 10 workshop service management facilityBui Van Cuong
This document provides an overview and agenda for a Solaris 10 workshop on Service Management Facility (SMF). It introduces core SMF concepts like services, dependencies, and states. It explains how SMF provides a standardized way to define and manage services compared to previous Solaris methods. The document also outlines administrative SMF commands and how to migrate legacy services to SMF.
Tomcat refers to an open-source, free implementation of the Java Servlet, JavaServer pages, Java Expression language, and WebSocket technologies. It enables a user to serve applications that are Java-based.
This document provides an overview of Apache ActiveMQ, an open source messaging system. It discusses what ActiveMQ is, its basics like topics and queues, techniques for scaling such as vertical, horizontal and hybrid approaches, ensuring high availability, and its future direction with ActiveMQ Apollo. The presentation aims to explain how ActiveMQ works and how to configure it for different deployment needs.
Apache Tomcat is used to serve Java-based applications. It is important to know the way in which Tomcat can be installed and uninstalled, configured, and how Tomcat support can be added for a user.
Solaris 10 10 08 what's new customer presentationxKinAnx
Solaris 10 10/08 provides several key updates and enhancements including:
1. A tested, integrated update to the operating system.
2. Improved ZFS enterprise features such as root and boot support, filesystem transfer capabilities, and delegated administration.
3. Support for new Intel processors and networking/I/O technologies.
4. Enhanced virtualization capabilities including Solaris Containers, Logical Domains, and support for the Xen hypervisor.
solaris 10 administration training | solaris 10 training | solaris 10OnlineOracleTrainings
solaris 10 administration training course explores the key features,the capabilities of the Solaris 10 OS. Get benefits of Solaris 10 training with live example
Solaris 10 Administration Training Course Content
Introduction of Solaris 10 OS Directory Hierarchy
• Describe / (root) subdirectories
• Describe file components
• Describe types of Files
• Use hard links
Managing Local Disk Devices
• Describe the basic architecture of a disk
• Describe the naming conventions for devices
• List devices
• Reconfigure the devices
• Performing hard disk partitioning
• Manage disk labels
• Describing the Solaris Management Console
• Partition a disk by using the Solaris Management Console
Managing Solaris OS File Systems
• Describe Solaris OS file system
• Creating new ufs file system
• Check the file system using the fsck command
• Resolving file system inconsistencies
• Monitor file system use
Performing Mounts & Unmounts
• Identify mounting basics
• Performing mounts & unmounts
• Access a mounted CD ROM
• Restrict access to a mounted CD ROM
• Access a CD ROM without Volume Managements
Consolidating Applications With Solaris Containersvaishal
This document discusses how Solaris containers can be used to consolidate applications by providing isolation and allocating resources. It explains that Solaris containers use zones and resource pools to partition a single Solaris operating system instance. Zones isolate applications by providing separate namespaces, while resource pools allocate CPU resources. The document demonstrates how an email server can be isolated with its own dedicated resource pool, while two web servers share another pool and are further isolated using shares allocated by the fair share scheduler.
Solaris 10 workshop solaris 10 user commandsBui Van Cuong
This document provides a list of Solaris 10 user commands organized alphabetically from A to Z. It includes brief descriptions of common commands like acctcom, adb, addbib, admin, alias, apropos, ar, as, at, awk, bc, cal, cat, cc, cd, chgrp, chmod, chown, cmp, cp, cpio, csh, date, df, diff, du, echo, ed, env, ex, expand, expr, factor, false, fg, file, find, grep, ls, more, nice, nohup, od, paste, pr, printenv, printf, ps, pwd, rm, sed, sleep, sort, split
Don't know if you noticed, but Linkedin has changed a lot lately. Here is a guide on how to master the new Linkedin features.
The full blog post with further details on www.juliussolaris.com
Solaris 10 10 09 what's new customer presentationxKinAnx
Solaris 10 10/09 includes tested updates, improvements to patching and installation speed, and enhancements to ZFS including user and group quotas and L2ARC caching on SSDs. It also features power management improvements through the Power Aware Dispatcher and optimization for Intel Nehalem processors. New in this release are datacenter-grade power management, platform support for additional Intel and AMD processors, and install and maintenance speed improvements.
The document discusses AdaCore's product categorization and offerings for ARM platforms. It covers their native, safety critical, and cross development products that support various ARM Cortex processors and operating systems like Android and VxWorks. It describes their bareboard runtimes including the Zero Footprint, Ravenscar Small Footprint, and Ravenscar Extended variants. The document also lists the tools included with their ARM products like the IDEs, language interfacing tools, and analysis tools.
This document provides instructions for resetting a forgotten root password on a Solaris 10 server. It outlines booting the server from the CD-ROM and then 15 steps for resetting the password, concluding by rebooting the server after completing the steps. The author's name, MD. Budrul Hasan Bhuhiyan, is repeated between the sections.
This document provides an overview and instructions for installing the Solaris 9 operating system using various methods including the Solaris Web Start program, suninstall program, Custom JumpStart installation, and Solaris Flash installation feature. It covers planning tasks such as allocating disk space, gathering required information, preconfiguring system information, and preparing for network installations. Detailed procedures are provided for setting up installation servers and media, creating and validating Custom JumpStart profiles and rules files, and using Solaris Flash to create and install system archives.
Embedded programming in RTOS VxWorks for PROFIBUS VME interface cardRinku Chandolia
A project report submitted by Rutul Shelat B. and Rinku K. Chandolia for award of B.E. degree in Instrumentation and Control at GEC sec.-28 gandhinagar Gujarat (india) in 2013.
This document summarizes Solaris Operating System and virtualization technologies from Sun Microsystems. It discusses Solaris 10 and OpenSolaris releases, features of Solaris containers and logical domains for OS virtualization. It also covers Sun xVM virtualization portfolio including Solaris containers, logical domains, VirtualBox and xVM Server for server and desktop virtualization. xVM Ops Center 2.0 is introduced for managing heterogeneous datacenters.
Virtualization allows consolidation of servers to improve efficiency and reduce costs. It addresses challenges like high server maintenance costs, power and cooling expenses from datacenter sprawl, and limited space for physical expansion. Solaris virtualization technologies like containers, logical domains, and the xVM hypervisor enable consolidation while maintaining performance and security. They provide flexibility to adapt resource allocation to business needs and improve resilience against failures or disasters.
This document provides an overview of a Solaris 10 administration workshop presented by Peter Baer Galvin. The workshop covers a wide variety of Solaris 10 administration topics and is intended for experienced system administrators. It aims to help administrators learn about new features, avoid mistakes, and answer questions. The schedule, topics to be covered, and prerequisites are outlined.
This document provides an overview and summary of the contents of an intermediate system administration training course for the Solaris 10 operating system. The course covers topics such as installing and upgrading Solaris, managing disk devices and file systems, performing package administration and patch management, configuring boot processes, and performing user administration. The document outlines course goals, topics that will and will not be covered, and provides an introduction section to help assess the reader's existing knowledge.
TinyOS is an open source operating system designed for wireless sensor networks. It uses a component-based architecture and event-driven execution model to achieve low power consumption and memory footprint. TinyOS programs are built by wiring together components that provide and use interfaces to communicate through events and commands. It also uses a non-preemptive task scheduler and static memory allocation to improve efficiency for energy constrained sensor nodes. The nesC language extends C to support TinyOS's programming model and execution model.
The document discusses Solaris memory management. It describes Solaris' memory architecture including backing store, virtual memory system, and process memory allocation. It then discusses Solaris' memory management techniques, including swapping and demand paging. Demand paging loads pages of memory on demand to lower memory footprint and startup time, while swapping is used as a last resort. Memory is shared between processes and protected via virtual memory and page protections.
Wireless Communication And Mobile Network - ZigBeeXaver Y.R. Chen
The document discusses Zigbee wireless networks and Wireless Sensor Networks (WSNs). It provides details on:
1) What a WSN is and its applications in monitoring and controlling environments.
2) The technology requirements for WSNs including low cost, small size, low power consumption, and operating in unlicensed radio bands.
3) Standards for WSNs including IEEE 802.15.4, Zigbee, Bluetooth, and WiFi and their differences in features.
Solaris is a version of Unix developed by Sun Microsystems based on System V Unix. It has been widely used in enterprise environments. Learning Solaris involves understanding its design philosophy and basic commands before moving to more advanced topics. Some key commands include ps, df, and uname to check processes, disk space, and the OS version. Directories, files, and permissions can be managed using commands like mkdir, chown, chmod while groups and users are configured with useradd, groupadd, and usermod. Services are managed through SMF tools like svcadm rather than init scripts.
Solaris is a computer operating system developed by Sun Microsystems that runs primarily on SPARC and x86 systems. It is known for its scalability, availability, and pioneering features such as DTrace, ZFS, and Time Slider. Originally proprietary, Sun later released Solaris under an open source license and founded the OpenSolaris project, though Oracle later discontinued this. Solaris has historically dominated the UNIX server market and was the most widely installed server OS for websites in the early days of the Internet due to its network-oriented design and high availability.
The document discusses CPU scheduling in Windows operating systems. It covers scheduling algorithms used in different versions of Windows like Windows 3.1x, 95, NT, XP, 7, and 8. The key points discussed are:
- Windows uses a pre-emptive, priority-based scheduler with 32 priority levels and multi-level queues.
- The dispatcher determines thread execution order based on priority class and relative priority within class.
- Interactive threads get priority boosts after waits to improve response time.
- The foreground process in Windows XP gets preferential treatment over background processes.
- Later versions introduced improvements like user-mode scheduling and CPU cycle-based scheduling.
This document provides an overview and syllabus for an AIX System Administration class that will take place over 5 days from 9:30am to 5:30pm. The class will cover topics such as Unix and AIX overviews, IBM POWER servers, installing the AIX operating system, and logging into the system. Hands-on experience will be provided through virtualized AIX systems on IBM POWER7 blades in the classroom lab network.
This document describes a Zigbee-based patient monitoring system that measures important vital signs like temperature and heart rate from sensors attached to ICU patients. The sensor data is sent wirelessly via Zigbee modules to a receiving system that allows doctors to monitor multiple patients from anywhere in the hospital. This helps reduce the patient to doctor ratio in ICUs and ensures patients can be monitored constantly even when unconscious. The system uses an AT89S52 microcontroller, temperature and heart rate sensors, and Zigbee wireless technology to remotely monitor and alert doctors to changes in patients' conditions.
This document provides an overview of UNIX memory management. It discusses the history of UNIX and how it evolved from earlier systems like Multics. It describes swapping as an early technique for virtual memory management in UNIX and how demand paging was later introduced. Key concepts discussed include page tables, page replacement algorithms like two-handed clock, and the kernel memory allocator.
Java Servlets have been around for longer than Java EE, or even J2EE. This session from the co–spec leads surveys the new features in Servlet 4.0 and puts them in the context of their usefulness in a contemporary microservices-style architecture. Features covered include
• Support for HTTP/2, including server push
• Default context path
• Mapping discovery
• Encoding clarifications
• HTTP trailers, including their relevance to gRPC
The session examines these features in light of current application development trends, such as containerization, continuous delivery, 12-factor apps, and adapting legacy apps to take advantage of cloud-native technologies.
The document discusses new features in Oracle Enterprise Manager 12c, including enhanced security, monitoring, provisioning capabilities, and support for managing databases and middleware as services. Some key highlights include improved role-based access control, global preferred credentials, self-service portals, database cloning using Direct NFS, and active thin cloning of databases on ASM storage.
Don't know if you noticed, but Linkedin has changed a lot lately. Here is a guide on how to master the new Linkedin features.
The full blog post with further details on www.juliussolaris.com
Solaris 10 10 09 what's new customer presentationxKinAnx
Solaris 10 10/09 includes tested updates, improvements to patching and installation speed, and enhancements to ZFS including user and group quotas and L2ARC caching on SSDs. It also features power management improvements through the Power Aware Dispatcher and optimization for Intel Nehalem processors. New in this release are datacenter-grade power management, platform support for additional Intel and AMD processors, and install and maintenance speed improvements.
The document discusses AdaCore's product categorization and offerings for ARM platforms. It covers their native, safety critical, and cross development products that support various ARM Cortex processors and operating systems like Android and VxWorks. It describes their bareboard runtimes including the Zero Footprint, Ravenscar Small Footprint, and Ravenscar Extended variants. The document also lists the tools included with their ARM products like the IDEs, language interfacing tools, and analysis tools.
This document provides instructions for resetting a forgotten root password on a Solaris 10 server. It outlines booting the server from the CD-ROM and then 15 steps for resetting the password, concluding by rebooting the server after completing the steps. The author's name, MD. Budrul Hasan Bhuhiyan, is repeated between the sections.
This document provides an overview and instructions for installing the Solaris 9 operating system using various methods including the Solaris Web Start program, suninstall program, Custom JumpStart installation, and Solaris Flash installation feature. It covers planning tasks such as allocating disk space, gathering required information, preconfiguring system information, and preparing for network installations. Detailed procedures are provided for setting up installation servers and media, creating and validating Custom JumpStart profiles and rules files, and using Solaris Flash to create and install system archives.
Embedded programming in RTOS VxWorks for PROFIBUS VME interface cardRinku Chandolia
A project report submitted by Rutul Shelat B. and Rinku K. Chandolia for award of B.E. degree in Instrumentation and Control at GEC sec.-28 gandhinagar Gujarat (india) in 2013.
This document summarizes Solaris Operating System and virtualization technologies from Sun Microsystems. It discusses Solaris 10 and OpenSolaris releases, features of Solaris containers and logical domains for OS virtualization. It also covers Sun xVM virtualization portfolio including Solaris containers, logical domains, VirtualBox and xVM Server for server and desktop virtualization. xVM Ops Center 2.0 is introduced for managing heterogeneous datacenters.
Virtualization allows consolidation of servers to improve efficiency and reduce costs. It addresses challenges like high server maintenance costs, power and cooling expenses from datacenter sprawl, and limited space for physical expansion. Solaris virtualization technologies like containers, logical domains, and the xVM hypervisor enable consolidation while maintaining performance and security. They provide flexibility to adapt resource allocation to business needs and improve resilience against failures or disasters.
This document provides an overview of a Solaris 10 administration workshop presented by Peter Baer Galvin. The workshop covers a wide variety of Solaris 10 administration topics and is intended for experienced system administrators. It aims to help administrators learn about new features, avoid mistakes, and answer questions. The schedule, topics to be covered, and prerequisites are outlined.
This document provides an overview and summary of the contents of an intermediate system administration training course for the Solaris 10 operating system. The course covers topics such as installing and upgrading Solaris, managing disk devices and file systems, performing package administration and patch management, configuring boot processes, and performing user administration. The document outlines course goals, topics that will and will not be covered, and provides an introduction section to help assess the reader's existing knowledge.
TinyOS is an open source operating system designed for wireless sensor networks. It uses a component-based architecture and event-driven execution model to achieve low power consumption and memory footprint. TinyOS programs are built by wiring together components that provide and use interfaces to communicate through events and commands. It also uses a non-preemptive task scheduler and static memory allocation to improve efficiency for energy constrained sensor nodes. The nesC language extends C to support TinyOS's programming model and execution model.
The document discusses Solaris memory management. It describes Solaris' memory architecture including backing store, virtual memory system, and process memory allocation. It then discusses Solaris' memory management techniques, including swapping and demand paging. Demand paging loads pages of memory on demand to lower memory footprint and startup time, while swapping is used as a last resort. Memory is shared between processes and protected via virtual memory and page protections.
Wireless Communication And Mobile Network - ZigBeeXaver Y.R. Chen
The document discusses Zigbee wireless networks and Wireless Sensor Networks (WSNs). It provides details on:
1) What a WSN is and its applications in monitoring and controlling environments.
2) The technology requirements for WSNs including low cost, small size, low power consumption, and operating in unlicensed radio bands.
3) Standards for WSNs including IEEE 802.15.4, Zigbee, Bluetooth, and WiFi and their differences in features.
Solaris is a version of Unix developed by Sun Microsystems based on System V Unix. It has been widely used in enterprise environments. Learning Solaris involves understanding its design philosophy and basic commands before moving to more advanced topics. Some key commands include ps, df, and uname to check processes, disk space, and the OS version. Directories, files, and permissions can be managed using commands like mkdir, chown, chmod while groups and users are configured with useradd, groupadd, and usermod. Services are managed through SMF tools like svcadm rather than init scripts.
Solaris is a computer operating system developed by Sun Microsystems that runs primarily on SPARC and x86 systems. It is known for its scalability, availability, and pioneering features such as DTrace, ZFS, and Time Slider. Originally proprietary, Sun later released Solaris under an open source license and founded the OpenSolaris project, though Oracle later discontinued this. Solaris has historically dominated the UNIX server market and was the most widely installed server OS for websites in the early days of the Internet due to its network-oriented design and high availability.
The document discusses CPU scheduling in Windows operating systems. It covers scheduling algorithms used in different versions of Windows like Windows 3.1x, 95, NT, XP, 7, and 8. The key points discussed are:
- Windows uses a pre-emptive, priority-based scheduler with 32 priority levels and multi-level queues.
- The dispatcher determines thread execution order based on priority class and relative priority within class.
- Interactive threads get priority boosts after waits to improve response time.
- The foreground process in Windows XP gets preferential treatment over background processes.
- Later versions introduced improvements like user-mode scheduling and CPU cycle-based scheduling.
This document provides an overview and syllabus for an AIX System Administration class that will take place over 5 days from 9:30am to 5:30pm. The class will cover topics such as Unix and AIX overviews, IBM POWER servers, installing the AIX operating system, and logging into the system. Hands-on experience will be provided through virtualized AIX systems on IBM POWER7 blades in the classroom lab network.
This document describes a Zigbee-based patient monitoring system that measures important vital signs like temperature and heart rate from sensors attached to ICU patients. The sensor data is sent wirelessly via Zigbee modules to a receiving system that allows doctors to monitor multiple patients from anywhere in the hospital. This helps reduce the patient to doctor ratio in ICUs and ensures patients can be monitored constantly even when unconscious. The system uses an AT89S52 microcontroller, temperature and heart rate sensors, and Zigbee wireless technology to remotely monitor and alert doctors to changes in patients' conditions.
This document provides an overview of UNIX memory management. It discusses the history of UNIX and how it evolved from earlier systems like Multics. It describes swapping as an early technique for virtual memory management in UNIX and how demand paging was later introduced. Key concepts discussed include page tables, page replacement algorithms like two-handed clock, and the kernel memory allocator.
Java Servlets have been around for longer than Java EE, or even J2EE. This session from the co–spec leads surveys the new features in Servlet 4.0 and puts them in the context of their usefulness in a contemporary microservices-style architecture. Features covered include
• Support for HTTP/2, including server push
• Default context path
• Mapping discovery
• Encoding clarifications
• HTTP trailers, including their relevance to gRPC
The session examines these features in light of current application development trends, such as containerization, continuous delivery, 12-factor apps, and adapting legacy apps to take advantage of cloud-native technologies.
The document discusses new features in Oracle Enterprise Manager 12c, including enhanced security, monitoring, provisioning capabilities, and support for managing databases and middleware as services. Some key highlights include improved role-based access control, global preferred credentials, self-service portals, database cloning using Direct NFS, and active thin cloning of databases on ASM storage.
The document outlines best practices for upgrading Oracle Real Application Clusters (RAC) to Oracle 12c. It discusses why upgrades are important, as older versions will become desupported. It recommends using rolling upgrades when possible to minimize downtime. The document reviews features in Oracle 12c RAC that improve the upgrade process, such as the ability to continue an upgrade even if a node fails and complete the upgrade on the remaining nodes. It also introduces the new "batch upgrade" feature, which allows upgrading nodes in groups to further reduce downtime. Instructions are provided on how to properly perform the grid infrastructure upgrade.
This document provides an overview of new features in Oracle Enterprise Manager 12c release 4. It begins with a history of Enterprise Manager requirements over time, highlighting how much more is now expected of the product. The rest of the document outlines the program agenda and then dives into some of the highlighted topics, including the new self-service portal, database as a service enhancements, cloning capabilities, and JVMD monitoring. Administration groups and dynamic groups are discussed as ways to better manage large numbers of targets. Monitoring templates, incident rule sets, and charts/dashboards are also covered as aspects of comprehensive database monitoring.
A nova versão do MySQL traz muitas melhorias, principalmente nos recursos de alta-disponibilidade. Nesta palestra abordamos:
- opções para implementar alta disponibilidade no MySQL 5.7;
- topologias e arquiteturas de referência;
- boas práticas de gerenciamento.
This document discusses MySQL Fabric, a framework from Oracle for managing high availability and sharding of MySQL servers. MySQL Fabric provides transparent failover between primary and secondary MySQL servers using asynchronous replication. It also allows optional sharding of data across multiple server groups for horizontal scaling out. The document outlines the key capabilities and architecture of MySQL Fabric.
The document discusses Spring and Java EE application development. It describes Spring as a programming model that defines APIs but no infrastructure, allowing applications to run on servlet containers like Tomcat without needing full Java EE application servers. It also summarizes Spring tools for operations and monitoring large clusters, and how OSGi modularization allows updating parts of applications at runtime.
CON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EEMasoud Kalali
This presentation covers the whole spectrum of Asynchronous processing present in Java EE through introducing a use case. The coverage starts with introducing the usecase and showing how a mix of JMS, MDB and Async Servlet can address the requirement of the use case. The session will also cover asynchronicity in JAX-RS as well as covering NIO in Servlet 3.1
SQL Developer isn't just for...developers!
SQL Developer doubles the features available to the end user with the DBA panel, accessible from the View menu.
Database failover from client perspectivePriit Piipuu
In this presentation we will look deep into high availability technologies Oracle RAC provides for database clients, what actually happens during database instance failover or planned maintenance and how to configure database services so that Java applications experience no or minimal disruption during planned maintenance or unplanned downtime. This presentation will mainly focus on JDBC and UCP clients.
This document provides an overview of Sametime administration from the perspective of server setup, user administration, and policies. It discusses key topics like server deployment order, LDAP configuration, port usage, buddylist conversion, standalone vs embedded clients, plugin customization, and managing settings through policies and files. Administrative tools like the Sametime Console and WAS management are also covered at a high level.
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouDavid Delabassee
This document discusses the new features of HTTP/2 and how it will be supported in Java technologies. It provides an overview of HTTP/2, including its key features like request/response multiplexing and server push. It describes how Servlet 4.0 may expose these HTTP/2 features. It also discusses planned support for HTTP/2 in Java SE 9 and the current status. The overall agenda covers HTTP/2 capabilities, how Servlet could leverage them, Java SE 9 integration, and a summary.
The document provides an overview of Weblogic concepts and administration. It defines key Weblogic terms like domains, admin servers, managed servers, and clusters. It also covers installing and configuring Weblogic, monitoring tools, and managing the application server using the admin console and WLST scripting. The presentation aims to help DBAs understand basic Weblogic architecture and administration.
The document discusses various performance metrics and concepts related to database performance including database time, latency, connection pooling, resource management, and leaking issues. It provides examples of performance data and observations related to these topics. It also discusses interactions between databases and middleware and provides an example scenario, problem, analysis, and solution related to that interaction.
The document provides an agenda for a presentation on new features in Oracle Enterprise Manager 13c. The presentation covers the new user interface, upgrades from previous versions to 13c including reduced downtime, new features like corrective actions, integration with configuration management and Chef, and enhanced support for hybrid cloud environments. It also provides reminders about requirements for upgrading and best practices for validating environments before an upgrade.
A Free 200-Page eBook ~ Brain and Mind Exercise.pptxOH TEIK BIN
(A Free eBook comprising 3 Sets of Presentation of a selection of Puzzles, Brain Teasers and Thinking Problems to exercise both the mind and the Right and Left Brain. To help keep the mind and brain fit and healthy. Good for both the young and old alike.
Answers are given for all the puzzles and problems.)
With Metta,
Bro. Oh Teik Bin 🙏🤓🤔🥰
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptxCapitolTechU
Slides from a Capitol Technology University webinar held June 20, 2024. The webinar featured Dr. Donovan Wright, presenting on the Department of Defense Digital Transformation.
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...EduSkills OECD
Andreas Schleicher, Director of Education and Skills at the OECD presents at the launch of PISA 2022 Volume III - Creative Minds, Creative Schools on 18 June 2024.
This document provides an overview of wound healing, its functions, stages, mechanisms, factors affecting it, and complications.
A wound is a break in the integrity of the skin or tissues, which may be associated with disruption of the structure and function.
Healing is the body’s response to injury in an attempt to restore normal structure and functions.
Healing can occur in two ways: Regeneration and Repair
There are 4 phases of wound healing: hemostasis, inflammation, proliferation, and remodeling. This document also describes the mechanism of wound healing. Factors that affect healing include infection, uncontrolled diabetes, poor nutrition, age, anemia, the presence of foreign bodies, etc.
Complications of wound healing like infection, hyperpigmentation of scar, contractures, and keloid formation.
Gender and Mental Health - Counselling and Family Therapy Applications and In...PsychoTech Services
A proprietary approach developed by bringing together the best of learning theories from Psychology, design principles from the world of visualization, and pedagogical methods from over a decade of training experience, that enables you to: Learn better, faster!
How to Setup Default Value for a Field in Odoo 17Celine George
In Odoo, we can set a default value for a field during the creation of a record for a model. We have many methods in odoo for setting a default value to the field.
Juneteenth Freedom Day 2024 David Douglas School District
Smf deepdive-tran
1. SOLARIS 10 DEEP DIVE: SMF
SOLARIS 10
DEEP DIVE: SMF
Christine Tran
US Solaris Adoption Practice
Sun Microsystems
Sun Proprietary/Use by Permission Only
2. SOLARIS 10 DEEP DIVE: SMF
Topics
• Part I: SMF Fundamentals
> Motivation for SMF
> Core concepts and terminology
> Command overview
> New boot process
• Part II: SMF in Action
> Quick tour of service administration
> Managing inetd services
> Tips for troubleshooting
> Recovering a repository
Sun Proprietary/Use by Permission Only
3. SOLARIS 10 DEEP DIVE: SMF
Topics
• Part III: Advanced SMF
> Inside the manifest
> A little about XML
> Writing a manifest from scratch
> Exploring the repository with svccfg and svcprop
• Part IV: More Advanced SMF
> Security aspects
> Snaphots
> Handling signals
> Portable services
Sun Proprietary/Use by Permission Only
4. SOLARIS 10 DEEP DIVE: SMF
Topics
• Part V: SMF Tools and SMF Community
> Tools: Webmin
> Tools: xmllint, jedit, Morphon
> SMF Community on OpenSolaris
> Resources
> Review
> Q&A
> Closing
Sun Proprietary/Use by Permission Only
5. SOLARIS 10 DEEP DIVE: SMF
Part I:
SMF Fundamentals
Sun Proprietary/Use by Permission Only
6. SOLARIS 10 DEEP DIVE: SMF
Motivation for SMF
• What is a service?
• Is running a software program the same as delivering a
service? What exactly is a service?
> Answer
> Answer
> Answer
• Does there currently exist an OS framework for service
support and management?
> Answer
> Answer
> Answer
Sun Proprietary/Use by Permission Only
7. SOLARIS 10 DEEP DIVE: SMF
How are services started today?
• init(1M) vi rc scripts in /etc/rc?.d/*
> Long-time running or one-time initializations
• inetd(1M) as defined by inetd.conf
> Short-lived to provide network functions
• init(1M) as defined by /etc/initab
> Restartable or one-time functions
• How are these services grouped? Could they be related?
How are the relationships described?
Sun Proprietary/Use by Permission Only
8. SOLARIS 10 DEEP DIVE: SMF
Diagnostic ability
• An application fails to start
> Missing configuration file?
> Failed to mount a filesystem?
> Database is late in starting up?
> Missing another component?
• Lack of knowledge of service boundary and service
interdependencies limits error handling ability of system.
• Lacks common framework of error-handling
• Lacks restart capability
Sun Proprietary/Use by Permission Only
9. SOLARIS 10 DEEP DIVE: SMF
Service Management Today
• Thousands of different text files, arbitrarily grouped and
managed with multiple administration techniques.
• Undeclared, often unknown dependencies; linear startup
is a by-product.
• Lacks common interface, each service is started a
different way.
• Does not address multiple instances of a service, for
example, web servers.
• Does not address services that may span multiple hosts,
for example, a grid.
Sun Proprietary/Use by Permission Only
10. SOLARIS 10 DEEP DIVE: SMF
Motivation for SMF
A Service Oriented Architecture
requires a definition of service
and a more robust framework to
deliver and manage it.
Sun Proprietary/Use by Permission Only
11. SOLARIS 10 DEEP DIVE: SMF
SMF gives you
• A consistent service model in a common framework:
command interface, service description, property
specification, status view, etc.
• A meaningful system view.
• Ability to state dependencies (by-product is parallel boot).
• Restart capabilities
• All data stored in persistent, transaction-based repository.
• Snapshots allow undo and rollback to a working
configuration.
Sun Proprietary/Use by Permission Only
12. SOLARIS 10 DEEP DIVE: SMF
Core concepts and terminology
• A service is:
> An abstract description of a long-lived software object.
> May describe object on a collection of machines (grid).
> May have multiple instances (httpd).
> Each instance of a service has a well-defined state and a well-
defined error boundary [process contract].
> Each service defines methods: start, stop, refresh, etc.
> Each service defines dependencies: what it depends on, and
may define dependents: what depends on it.
Sun Proprietary/Use by Permission Only
13. SOLARIS 10 DEEP DIVE: SMF
Core concepts and terminology
• A service has a unique identifier called FMRI – Fault
Management Resource ID
svc://localhost/network/login:rlogin
Scheme
svc – SMF managed service
lrc – legacy RC script
Sun Proprietary/Use by Permission Only
14. SOLARIS 10 DEEP DIVE: SMF
Core concepts and terminology
• A service has a unique identifier called FMRI – Fault
Management Resource ID
svc://localhost/network/login:rlogin
Location
localhost – current
hostname – future release
Sun Proprietary/Use by Permission Only
15. SOLARIS 10 DEEP DIVE: SMF
Core concepts and terminology
• A service has a unique identifier called FMRI – Fault
Management Resource ID
svc://localhost/network/login:rlogin
Functional category
application
system
device
network
milestone
platform
site
Sun Proprietary/Use by Permission Only
16. SOLARIS 10 DEEP DIVE: SMF
Functional Categories
• Application – traditional daemons
• Device – useful for dependencies
• Milestone – similar to run levels
• Network – converted services from inetd.conf
• Platform – platform-specific services
• System – platform-independent system services
• Site – reserved for local site use
Sun Proprietary/Use by Permission Only
17. SOLARIS 10 DEEP DIVE: SMF
Core concepts and terminology
• A service has a unique identifier called FMRI – Fault
Management Resource ID
svc://localhost/network/login:rlogin
Service Description – related to method or RC script
Sun Proprietary/Use by Permission Only
18. SOLARIS 10 DEEP DIVE: SMF
Core concepts and terminology
• A service has a unique identifier called FMRI – Fault
Management Resource ID
svc://localhost/network/login:rlogin
Instance – “default” is the default instance
Sun Proprietary/Use by Permission Only
19. SOLARIS 10 DEEP DIVE: SMF
Core concepts and terminology
• FMRI can be addressed by the shortest unique match, for
example:
> svc://localhost/network/login:rlogin
> svc:/network/login:rlogin
> network/login:rlogin
> rlogin
• Some common names have changed to a different FMRI,
for example: syslog is now system-log
Sun Proprietary/Use by Permission Only
20. SOLARIS 10 DEEP DIVE: SMF
Service states
• online – the service instance is enabled and has
successfully started.
• offline – the service instance is enabled, but the service is
not yet running or available to run, usually due to a
dependency that has not been satisfied, or an error in the
start method.
• disabled – the service instance is not enabled and is not
running.
• maintenance – the service instance has encountered an
error that must be resolved before it could be started
again. There are many reasons why a service could be in
this state.
Sun Proprietary/Use by Permission Only
21. SOLARIS 10 DEEP DIVE: SMF
Service states
• legacy_run – the legacy service is not managed by SMF,
but the service can be observed.
> Faults not handled by SMF, no automated restart
> Administrative error undetected
> Software or hardware error results in process death
• degraded – the service instance is enabled, but is running
at a limited capacity.
• uninitialized – this state is the initial state for all services
before their configuration has been read.
Sun Proprietary/Use by Permission Only
22. SOLARIS 10 DEEP DIVE: SMF
Service dependency
• A dependency is a formal description of other services
that are required to start a service.
• A service can be dependent on another service or files.
When a dependency is not met, the service stays offline.
Whether a dependency is satisfied depends on its type:
> require_all – all services are running or all files are present.
> require_any – at least one is running or at least one file is
present.
> optional_all – all are running, disabled, in maintenance, or not
present. For files, this type is the same as require_all.
> exclude_all – all are disabled, in maintenance, or when files
are not present.
Sun Proprietary/Use by Permission Only
23. SOLARIS 10 DEEP DIVE: SMF
Dependency actions
• Once running (online or degraded states are considered
running) if a service dependency is stopped or refreshed,
SMF determines whether to restart the service depending
on the restart_on attribute specified.
restart_on attribute
Reason for dependency stop None Error Restart Refresh
Error no yes yes yes
Non-error stop no no yes yes
Refresh no no no yes
Sun Proprietary/Use by Permission Only
24. SOLARIS 10 DEEP DIVE: SMF
Service restarter
• /lib/svc/bin/svc.startd is the master process starter and
restarter. It
> reads the Service Configuration Repository and start services
on boot;
> restart services that have failed;
> shutdown services whose dependencies are no longer
satisfied;
> run legacy RC scripts at run-level transitions;
> provides system view of service status.
• There is a delegated restarter, inetd.
Sun Proprietary/Use by Permission Only
25. SOLARIS 10 DEEP DIVE: SMF
Delegated restarter
• Assumes responsibility for executing a set of services.
• Manages service faults; may gracefully handle conditions
such as signals or core dumps.
• May define/require additional service configuration.
• Often provides functionality common to a specific set of
services, for example: inetd
Sun Proprietary/Use by Permission Only
26. SOLARIS 10 DEEP DIVE: SMF
SMF Manifest
• Description of the initial configuration of a service in XML.
• Loaded into the SMF repository at boot time.
• Sun-delivered services live in /var/svc/manifest.
• For ISVs, manifests should be placed in the appropriate
subdirectory /var/svc/manifest.
• Manifests for anything that is specific to the customer's
site only can go in /var/svc/manifest/site. This is reserved
for local use.
Sun Proprietary/Use by Permission Only
27. SOLARIS 10 DEEP DIVE: SMF
SMF Manifest
• A manifest identifies, at the very least:
> the service name
> what the service is dependent on
> ways to start and stop the service
• Can contain other attributes, such as the delegated
restarter, config files, log files and others.
Sun Proprietary/Use by Permission Only
28. SOLARIS 10 DEEP DIVE: SMF
Service Configuration Repository
• Located in /etc/svc.
• Distributed between local memory (volatile) and local file
(repository.db).
• repository.db holds the persistent service description read
from the manifests.
• volatile is a tmpfs allocated from swap containing
transient data (lock files, init state, log files).
• The underlying DB engine is sqlite 2.8
• Zones have their own repository.
• Changes to services should be made against repository.
Sun Proprietary/Use by Permission Only
29. SOLARIS 10 DEEP DIVE: SMF
Profile and Archive
• Profile – a set of service instances and their enabled or
disabled state. Useful for copying service states between
systems.
• Generated by svccfg extract
• Archive – a complete set of persistent data for all service
instances. Useful for copying service definitions between
systems.
• Generated by svccfg archive
• Output is an XML file similar to manifests.
Sun Proprietary/Use by Permission Only
30. SOLARIS 10 DEEP DIVE: SMF
SMF Snapshots
• snapshot – a complete collection of properties for a
service instance.
• It provides a historical view of a service and simplifies
rollback of service configuration changes.
• No snapshot-at-will capability yet.
• Snapshot types:
> initial – taken on the first import of the manifest
> last_import – taken during last import
> running – properties of the currently running service instance
> previous – properties of the service instance just before running
> start – taken at the last successful service start
Sun Proprietary/Use by Permission Only
31. SOLARIS 10 DEEP DIVE: SMF
Key files and directories
• /var/svc – manifests, logs and profiles
• /lib/svc – binaries, methods, seed, support files
• /etc/svc/repository.db – global configuration database
• /lib/svc/seed/global.db – minimal configuration database
• /lib/libscf.so.1 – repository APIs
Sun Proprietary/Use by Permission Only
32. SOLARIS 10 DEEP DIVE: SMF
New filesystems
• /etc/svc/volatile
> Directory where svc.startd stores log files in early stages of
boot, before /var is mounted read-write. Contains transient
data.
• /system/contracts
> Primary interface into contract subsystem, to allow service
instances to be restarted. Indirectly related to SMF.
Sun Proprietary/Use by Permission Only
33. SOLARIS 10 DEEP DIVE: SMF
Command overview
• General commands
> svcs(1) service status listings
> svcadm(1M) administrative actions
> svccfg(1M) general property manipulation
> svcprop(1) property reporting
• inetd management commands
> inetadm(1M) administrative actions/property modification
> inetconv(1M) conversion of legacy inetd.conf entries
Sun Proprietary/Use by Permission Only
34. SOLARIS 10 DEEP DIVE: SMF
Command overview
• Daemons
> svc.startd(1M) dependency engine, master restarter
> svc.configd(1M) repository, authorization
> inetd(1M) delegated restarter
• Contracts subsystem
> ctrun(1M) execute with process contract
> ctstat(1M) display active contracts
> ctwatch(1M) monitor contract events
> libcontract(3LIB) contract APIs
Sun Proprietary/Use by Permission Only
35. SOLARIS 10 DEEP DIVE: SMF
New boot process
• Instead of booting to run level, SMF introduces the
concept of milestone.
• milestone – a service which specifies a collection of
services which declare a specific state of system-
readiness.
• You can boot to specific milestone, services not part of
that milestone are temporarily disabled.
• The default milestone is the milestone you will transition
to at every boot. It is usually milestone “all”.
• init S, boot -s and friends still work.
Sun Proprietary/Use by Permission Only
36. SOLARIS 10 DEEP DIVE: SMF
Milestones and run levels
SVR4 Run Level SMF Milestone
- none
s, S single-user
2 multi-user
3 multi-user-server
- all
Sun Proprietary/Use by Permission Only
37. SOLARIS 10 DEEP DIVE: SMF
Legacy services
• Milestones are services, as such, they have manifests
which have defined dependencies.
• After all its dependencies have been satisfied, the start
method of the SMF major milestone executes each 'S'
script within /etc/rc?.d/ with the argument 'start'.
• /var/svc/manifest/milestone/single-user.xml specifies a
series of dependencies, and the start method is
/sbin/rcS start.
• SMF services first, legacy services last, run once only.
Sun Proprietary/Use by Permission Only
38. SOLARIS 10 DEEP DIVE: SMF
Part II:
SMF in Action
Sun Proprietary/Use by Permission Only
39. SOLARIS 10 DEEP DIVE: SMF
Service administration
svcs – reports service status
• svcs -a show all services
• svcs -x show services not running, impact
• svcs -d show dependencies (what this depends on)
• svcs -D show dependents (what depends on this)
• svcs -p show member processes
• svcs -l/-v show additional details
Sun Proprietary/Use by Permission Only
40. SOLARIS 10 DEEP DIVE: SMF
svcs
# svcs -a
STATE STIME FMRI
legacy_run Oct_12 lrc:/etc/rc2_d/S20sysetup
online Oct_12 svc:/network/ssh:default
disabled Oct_12
svc:/application/print/server:default
offline
Oct_12svc:/application/print/rfc1179:default
...
Sun Proprietary/Use by Permission Only
41. SOLARIS 10 DEEP DIVE: SMF
svcs
# svcs -x
svc:/application/print/server:default (LP print
server)
State: disabled since Wed Oct 12 16:18:38 2005
Reason: Disabled by an administrator.
See: http://sun.com/msg/SMF-8000-05
See: lpsched(1M)
Impact: 2 dependent services are not running. (Use
-v for list.)
Sun Proprietary/Use by Permission Only
42. SOLARIS 10 DEEP DIVE: SMF
svcs
# svcs -d http
STATE STIME FMRI
online Oct_12 svc:/network/loopback:default
online Oct_12 svc:/network/physical:default
# svcs -D loopback
STATE STIME FMRI
disabled Oct_12
svc:/network/dns/client:default
disabled Oct_12
svc:/network/dns/server:default
disabled Oct_12 svc:/network/rarp:default
Sun Proprietary/Use by Permission Only
43. SOLARIS 10 DEEP DIVE: SMF
svcs
# svcs -p sendmail
STATE STIME FMRI
online 16:09:32 svc:/network/smtp:sendmail
16:10:32 23724 sendmail
16:10:32 23725 sendmail
Sun Proprietary/Use by Permission Only
44. SOLARIS 10 DEEP DIVE: SMF
svcs
# svcs -l rarp
fmri svc:/network/rarp:default
name Reverse Address Resolution Protocol
(RARP) server
enabled false
state disabled
next_state none
state_time Wed Oct 12 16:18:41 2005
restarter svc:/system/svc/restarter:default
dependency require_all/error
file://localhost/etc/nsswitch.conf (online)
dependency require_any/error
Sun Proprietary/Use by Permission Only
45. SOLARIS 10 DEEP DIVE: SMF
Service Administration
svcadm – administer services
-t temporary
-r recursive
-s synchronously waits for completion
• svcadm enable/disable enable/disable services
• svcadm enable/disable -t temporarily, until rebooted
• svcadm restart restart specified service
• svcadm refresh re-read service configuration
• svcadm clear/mark clear/mark maintenance state
• svcadm milestone transition to a milestone
• svcadm -d milestone transition and set as default
Sun Proprietary/Use by Permission Only
46. SOLARIS 10 DEEP DIVE: SMF
svcadm
# svcs sendmail
STATE STIME FMRI
online 16:49:59 svc:/network/smtp:sendmail
# svcadm disable -t sendmail
# svcs sendmail
STATE STIME FMRI
disabled 16:51:27 svc:/network/smtp:sendmail
• Does not show service in temporary state. The presence
of this property tells us that this setting is temporary.
# svcprop sendmail | grep general_ovr/enabled
general_ovr/enabled boolean false
Sun Proprietary/Use by Permission Only
47. SOLARIS 10 DEEP DIVE: SMF
svcadm keyserv
# svcs keyserv
STATE STIME FMRI
disabled Oct_12
svc:/network/rpc/keyserv:default
# svcadm enable keyserv
# svcs keyserv
STATE STIME FMRI
maintenance 16:58:57
svc:/network/rpc/keyserv:default
• Keyserv is in maintenance mode, why?
Sun Proprietary/Use by Permission Only
48. SOLARIS 10 DEEP DIVE: SMF
svcadm keyserv
# svcs -x
svc:/network/rpc/keyserv:default (RPC encryption key
storage)
State: maintenance since Wed Oct 19 16:58:57 2005
Reason: Start method exited with
$SMF_EXIT_ERR_CONFIG.
See: http://sun.com/msg/SMF-8000-KS
See: keyserv(1M)
See: /var/svc/log/network-rpc-keyserv:default.log
Impact: This service is not running.
• Actually, it is because the domain name is not set on this
host.
Sun Proprietary/Use by Permission Only
49. SOLARIS 10 DEEP DIVE: SMF
svcadm keyserv
# domainname test.com
# domainname
test.com
• There is a service called domain, which takes care of
system identifying info; it has to be restarted.
# svcs -o fmri,desc domain
FMRI DESC
svc:/system/identity:domain system identity(domainname)
# svcs domain
STATE STIME FMRI
online Oct_12 svc:/system/identity:domain
# svcadm restart domain
Sun Proprietary/Use by Permission Only
50. SOLARIS 10 DEEP DIVE: SMF
svcadm keyserv
# svcs keyserv
STATE STIME FMRI
maintenance 16:58:57
svc:/network/rpc/keyserv:default
• Keyserv is still in maintenance, why?
# svcadm clear keyserv
# svcs keyserv
STATE STIME FMRI
online 17:02:48
svc:/network/rpc/keyserv:default
• Will this survive a reboot?
Sun Proprietary/Use by Permission Only
51. SOLARIS 10 DEEP DIVE: SMF
svcadm milestone
• What milestone am I in?
# svcprop -p options_ovr/milestone
system/svc/restarter:default
svcprop: Couldn't find property
`options_ovr/milestone' for instance
`svc:/system/svc/restarter:default'.
• If you see this, you are in milestone “all”.
# svcadm milestone single-user
# Requesting System Maintenance Mode
Console login service(s) cannot run
Oct 19 17:19:00 zone1 syslogd:going down on signal 15
svc.startd: The system is coming down for
administration. Please wait.
svc.startd: Killing user processes: done.
Sun Proprietary/Use by Permission Only
52. SOLARIS 10 DEEP DIVE: SMF
svcadm milestone
svc.startd: Killing user processes: done.
Root password for system maintenance (control-d to
bypass):
single-user privilege assigned to /dev/console.
Entering System Maintenance Mode
# svcprop -p options_ovr/milestone
system/svc/restarter:default
svc:/milestone/single-user:default
# reboot
# svcprop -p options_ovr/milestone
system/svc/restarter:default
svcprop: Couldn't find property
`options_ovr/milestone' for instance
`svc:/system/svc/restarter:default'.
• I'm back in milestone “all”.
Sun Proprietary/Use by Permission Only
53. SOLARIS 10 DEEP DIVE: SMF
svcadm milestone
# svcadm milestone -d single-user
# Requesting System Maintenance Mode
# reboot
# svcprop -p options_ovr/milestone
system/svc/restarter:default
svc:/milestone/single-user:default
• Every subsequent reboot will get me back here. To get
back to full service, set default milestone to be “all”.
# svcadm milestone -d all
Sun Proprietary/Use by Permission Only
54. SOLARIS 10 DEEP DIVE: SMF
Managing inetd services
• Definition for inetd-started services were in inetd.conf but
inetd.conf is now deprecated. Look how short it is!
• inetd.conf entries are converted to SMF manifests and
imported into the repository on initial boot.
• The old way of adding a service by modifying inetd.conf
and HUPing inetd no longer works.
• If you have an application that depends on what's in
inetd.conf, there is a tool called inetconv that will convert
the inetd.conf entry to an SMF manifest.
Sun Proprietary/Use by Permission Only
55. SOLARIS 10 DEEP DIVE: SMF
inetd
• inetd is now a delegated restarter for inet services.
• It manages inet-specific properties such as
> tcp_wrappers
> max connection rate
• It manages state for inet services.
• It listens for connections, etc.
Sun Proprietary/Use by Permission Only
56. SOLARIS 10 DEEP DIVE: SMF
inetconv
# grep tftp inetd.conf
# TFTPD - tftp server (primarily used for booting)
# tftp dgram udp6 wait root /usr/sbin/in.tftpd
in.tftpd -s /tftpboot
• It's commented out. Uncomment the entry. You can
HUP inetd but take my word that that won't do anything.
Sun Proprietary/Use by Permission Only
57. SOLARIS 10 DEEP DIVE: SMF
inetconv
# inetconv
inetconv: Notice: Service manifest for 100235/1
already generated as /
var/svc/manifest/network/rpc/100235_1-
rpc_ticotsord.xml, skipped
tftp -> /var/svc/manifest/network/tftp-udp6.xml
Importing tftp-udp6.xml ...Done
inetconv: Notice: Service manifest for 100083/1
already generated as /
var/svc/manifest/network/rpc/100083_1-rpc_tcp.xml,
skipped
inetconv: Notice: Service manifest for 100068/2-5
already generated as /
var/svc/manifest/network/rpc/100068_2-5-rpc_udp.xml,
skipped
Sun Proprietary/Use by Permission Only
58. SOLARIS 10 DEEP DIVE: SMF
inetconv
# svcs tftp
svcs: Pattern 'tftp' doesn't match any instances
# svcs -l udp6
fmri svc:/network/tftp/udp6:default
name tftp
enabled true
state online
next_state none
state_time Wed Oct 19 17:40:16 2005
restarter svc:/network/inetd:default
Sun Proprietary/Use by Permission Only
59. SOLARIS 10 DEEP DIVE: SMF
Service Administration
inetadm – administer inetd-started services
• inetadm list all services managed by inetd
• inetadm -p show default inetd service property values
• inetadm -l show all properties for a service
• inetadm -e/-d enable/disable a service
• inetadm -m modify property values
• inetadm -M modify inetd default property values
Sun Proprietary/Use by Permission Only
60. SOLARIS 10 DEEP DIVE: SMF
inetadm
# inetadm -l udp6
SCOPE NAME=VALUE
name="tftp"
endpoint_type="dgram"
proto="udp6"
isrpc=FALSE
wait=TRUE
exec="/usr/sbin/in.tftpd -s /tftpboot"
user="root"
...
• Let's say you want to run with some other option, -X
instead of -s.
Sun Proprietary/Use by Permission Only
61. SOLARIS 10 DEEP DIVE: SMF
inetadm
# inetadm -m udp6 exec="/usr/sbin/in.tftpd -X /
tftpboot"
# inetadm -l udp6
SCOPE NAME=VALUE
name="tftp"
endpoint_type="dgram"
proto="udp6"
isrpc=FALSE
wait=TRUE
exec="/usr/sbin/in.tftpd -X /tftpboot"
user="root"
Sun Proprietary/Use by Permission Only
62. SOLARIS 10 DEEP DIVE: SMF
inetadm
• Can also use inetadm to manage inetd-services as well
as svcadm.
# svcs udp6
STATE STIME FMRI
online 17:49:44
svc:/network/tftp/udp6:default
# inetadm -d udp6
# svcs udp6
STATE STIME FMRI
disabled 18:01:53
svc:/network/tftp/udp6:default
Sun Proprietary/Use by Permission Only
63. SOLARIS 10 DEEP DIVE: SMF
inetadm
• Usually if you don't use a service, it's enough to disable it
using svcadm. But you want it really gone then delete it
from your repository using svccfg delete FMRI.
Sun Proprietary/Use by Permission Only
64. SOLARIS 10 DEEP DIVE: SMF
Service Administration
svcprop – get service configuration properties
• -p property FMRI fetch a property
• -s snapshot FMRI fetch property from the snapshot
# svcprop -p inetd_start/exec tftp/udp6
/usr/sbin/in.tftpd -s /tftpboot
# svcprop -p restarter/state tftp/udp6
online
Sun Proprietary/Use by Permission Only
65. SOLARIS 10 DEEP DIVE: SMF
Service Administration
svccfg – modify service configurations
• select FMRI select a service
• listprop show properties for a service
• setprop change a property value for a service
• delprop delete a property value for a service
• delete delete a service
• export|import export|import a service description in XML
• extract|apply extract|apply a profile
• archive dump a full XML service description for
all services
Sun Proprietary/Use by Permission Only
67. SOLARIS 10 DEEP DIVE: SMF
svccfg
• Can be used in batch or interactive mode.
• Understands globbing to form regex
• We'll work through a more pertinent example later.
Sun Proprietary/Use by Permission Only
68. SOLARIS 10 DEEP DIVE: SMF
Tips for troubleshooting
• If a single service is broken, -x is your friend. svcs -x will
display the service logfile, if it exists.
• See service start message:
> boot -m verbose.
• For a system that hangs during boot:
> boot -m verbose,milestone=none
> log in at prompt
> svcadm milestone all
• Watch system progress with svcs.
Sun Proprietary/Use by Permission Only
69. SOLARIS 10 DEEP DIVE: SMF
Tips for troubleshooting
• truss the service starting up by trussing the restarter
• Or modify the start method, wrapping it in truss
# svcprop -p start/exec apache2
/lib/svc/method/http-apache2 start
# svccfg -s apache2
svc:/network/http:apache2> setprop start/exec =
“/usr/bin/truss -ealfo /tmp/apache2.truss
/lib/svc/method/http-apache2 start”
• Don't forget svcadm clear once fault is rectified.
Sun Proprietary/Use by Permission Only
70. SOLARIS 10 DEEP DIVE: SMF
Last resorts
• Have changes been made to repository?
> How many services are affected?
> What snapshots exist?
> Can you revert back to a previous snapshot?
• Read /lib/svc/share/README.
• Restore repository from backup.
Sun Proprietary/Use by Permission Only
71. SOLARIS 10 DEEP DIVE: SMF
Revert a snapshot
# svccfg -s svc:/network/dns/server:default
svc:/network/dns/server:default> listsnap
initial
last-import
previous
running
start
svc:/network/dns/server:default> revert start
svc:/network/dns/server:default> exit
# svcadm refresh dns/server
# svcadm restart dns/server
Sun Proprietary/Use by Permission Only
72. SOLARIS 10 DEEP DIVE: SMF
Recovering a repository
• The SMF repository can be recovered in case of
corruption.
• You may want to save the current repository in
/etc/svc/repository.db for post mortem.
• Restore script is /lib/svc/bin/restore_repository.
• If you restore from seed, next boot would be the initial
boot, you will see SMF reading and importing manifests.
# zlogin -C zone1
[Connected to zone 'zone1' console]
40/104
Sun Proprietary/Use by Permission Only
73. SOLARIS 10 DEEP DIVE: SMF
restore_repository
# /lib/svc/bin/restore_repository
The following backups of /etc/svc/repository.db
exist, from oldest to newest:
boot-20051012_125317
manifest_import-20051012_130044
boot-20051012_161835
boot-20051019_172301
boot-20051019_180815
# Please enter one of:
1) boot, for the most recent post-boot backup
2) manifest_import, for the most recent
manifest_import backup.
3) a specific backup repository from the above list
Sun Proprietary/Use by Permission Only
74. SOLARIS 10 DEEP DIVE: SMF
restore_repository
4) -seed-, the initial starting repository. (All
customizations will be lost.)
5) -quit-, to cancel.
Enter response [boot]: -seed-
After confirmation, the following steps will be
taken:
svc.startd(1M) and svc.configd(1M) will be quiesced,
if running.
/etc/svc/repository.db -- renamed -->
/etc/svc/repository.db_old_20051019_182048
/lib/svc/seed/nonglobal.db -- copied -->
/etc/svc/repository.db
and the system will be rebooted with reboot(1M).
Proceed [yes/no]? yes
Sun Proprietary/Use by Permission Only
75. SOLARIS 10 DEEP DIVE: SMF
Part III:
Advanced SMF
Sun Proprietary/Use by Permission Only
76. SOLARIS 10 DEEP DIVE: SMF
Manifest revisited
• Manifest is the description of the initial configuration of a
service, delivered in XML.
• Automatically imported into repository on boot, install,
upgrade, and pkgadd by svc:/system/manifest-import.
• Ignored once imported unless modified.
• Do not modify Sun-delivered manifests! If you need to
change service properties, do it in the repository. We'll
talk more about this.
Sun Proprietary/Use by Permission Only
77. SOLARIS 10 DEEP DIVE: SMF
Order is important
• Service bundle
• Service name
• Create default instance
• Single instance
• Dependencies
• Exec methods
• Property groups
• Stability level
• Template
Sun Proprietary/Use by Permission Only
78. SOLARIS 10 DEEP DIVE: SMF
A little about XML
• XML markups contain data about data, metadata, on the
information they bracket.
> <time>1200</time>
• Tells you at 1200 is a time unit, instead of weight or
distance. Whatever processes XML data can recognize
that data for what it is.
• Can contain any kind of data. How do we differentiate?
An XML file of train schedule will have different formatting
than an XML file of TV schedule, not just formatting, but
different processing and different usage. Yet,
<time>1200</time> can appear in both XML files.
Sun Proprietary/Use by Permission Only
79. SOLARIS 10 DEEP DIVE: SMF
Introducing DOCTYPE
• Look at the top of each manifest, they all have this line:
> <!DOCTYPE service_bundle SYSTEM
'/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
• DTD – Document Type Definition, contrast with
DOCTYPE for HTML.
• Tells you whether you (especially if you are an XML-
processing program) are reading a train schedule or a TV
Guide listing.
• DTD is one example of a type of markup called
declaration. Specifically, the DTD is used to constrain the
grammar of an XML file.
Sun Proprietary/Use by Permission Only
80. SOLARIS 10 DEEP DIVE: SMF
Grammar?
• Grammar governs the “correctness” of an XML document.
A train schedule must have: source, terminus, track
number, departure and arrival time. It won't have
channel, show name, show time, duration, starring, rating.
• Looking at just data, they look very similar. The DTD
defines and enforces how they must be marked up in
XML, one way and one way only.
• DTD is a collection of rules, or declarations, describing
markup objects.
• An element declaration defines what it can contain and in
which order, also known as a content model.
Sun Proprietary/Use by Permission Only
81. SOLARIS 10 DEEP DIVE: SMF
Define your own language
• Strictly speaking, XML is not a markup language. It has
no tag with absolute meaning. <time> can mean
absolute time or elapsed time. Contrast this with
<b></b>, this always means bold.
• XML lays down framework for you to construct your own
markup language.
• Adding elements in the DTD adds objects to your
language. An element not declared in the DTD is illegal.
An element containing anything not declared in the DTD
is illegal.
• We'll see why this is important later on.
Sun Proprietary/Use by Permission Only
82. SOLARIS 10 DEEP DIVE: SMF
What's in the DTD?
• A bunch of things! None resembling what you might find
in a manifest.
> <!-- comments --> are comments
> <!ELEMENT> or <!ATTLIST> are declarations
> <blah /> is same as <blah></blah>
• Ordering in DTD is not same as the required ordering in
manifest. For example, declaration for property group is
before declaration of service FMRI, and service bundle is
declared last.
Sun Proprietary/Use by Permission Only
83. SOLARIS 10 DEEP DIVE: SMF
Here's an snippet
<!ELEMENT dependency
( service_fmri*, stability?, ( propval |
property )* ) >
<!ATTLIST dependency
name CDATA #REQUIRED
grouping ( require_all | require_any |
exclude_all |
optional_all ) #REQUIRED
restart_on ( error | restart | refresh |
none ) #REQUIRED
type CDATA #REQUIRED
delete ( true | false ) "false" >
Sun Proprietary/Use by Permission Only
84. SOLARIS 10 DEEP DIVE: SMF
Why XML?
• Think about what's in /etc/rc?.d today. Anyone can write
anything in any format and drop it in /etc/rc?.d. In fact,
what's in /etc/rc?.d is closer to methods than manifests.
• A unified service management tool depends on having
uniform data to process. The repository is a database
which relies on having correct data in the correct “cell”.
• With XML you get a parser and a validator for free.
Anything that XML can't validate won't get imported.
• The parser is in a library called libxml2. It comes with
xmllint, which is a generic XML validator.
Sun Proprietary/Use by Permission Only
85. SOLARIS 10 DEEP DIVE: SMF
A quick tour inside the manifest
• We said a manifest must have at least
> the service name
> what the service is dependent on
> ways to start and stop the service
> in theory you need a restarter too but there is the default
svc.startd.
• House-keeping robot analogy
> Lights
> Depends on Power
> On/Off switch on the wall, flip up or down
> Robot is the default restarter
Sun Proprietary/Use by Permission Only
86. SOLARIS 10 DEEP DIVE: SMF
tftp-udp6.xml
service
name='network/tftp/udp6'
type='service'
<exec_method
type='method'
name='inetd_start'
exec='/usr/sbin/in.tftpd -s /tftpboot'
<exec_method
type='method'
name='inetd_offline'
exec=':kill_process'
Sun Proprietary/Use by Permission Only
87. SOLARIS 10 DEEP DIVE: SMF
tftp-udp6.xml
<restarter>
<service_fmri
value='svc:/network/inetd:default' />
</restarter>
• Note that the method isn't “start”, but “inetd_start”.
• Wait! No dependencies? Well, having inetd as your
delegated restarter implicitly marks you as dependent on
inetd. Who starts inetd, then? It's started in
/var/svc/profile/generic_open.xml
• If you look at /var/svc/manifest/network/nfs/server.xml,
you will see that there is no explicitly defined restarter.
Sun Proprietary/Use by Permission Only
88. SOLARIS 10 DEEP DIVE: SMF
Writing a manifest from scratch
• Not all Sun products are delivered in a manifest, the
reason seems to be time and effort. The README file for
MySQL still says to link a startup script in /etc/rc3.d to the
mysql.server script.
• If no manifest is delivered, the service can still run as a
legacy service.
• We're going to convert MySQL into an SMF service.
• You may want to do this in a zone. Remember that each
zone has their own manifests and SMF repository.
Sun Proprietary/Use by Permission Only
89. SOLARIS 10 DEEP DIVE: SMF
Setting up MySQL database
• First, we need to set up the database. Instructions are
in /etc/sfw/mysql/README.solaris.mysql. The startup
script is /etc/sfw/mysql/mysql.server.
root@mysql~> /usr/sfw/bin/mysql_install_db
Preparing db table
Preparing host table
Preparing user table
Preparing func table
Preparing tables_priv table
Preparing columns_priv table
Installing all prepared tables
13:38:46 /usr/sfw/sbin/mysqld: Shutdown Complete
Sun Proprietary/Use by Permission Only
90. SOLARIS 10 DEEP DIVE: SMF
MySQL
• Add users and groups
root@mysql~> groupadd mysql
root@mysql~> useradd -g mysql mysql
root@mysql~> chgrp -R mysql /var/mysql
root@mysql~> chmod -R 770 /var/mysql
• Add configuration files
root@mysql~> installf SUNWmysqlr /var/mysql d 770
root mysql
root@mysql~> cp /usr/sfw/share/mysql/my-medium.cnf
/var/mysql/my.cnf
Sun Proprietary/Use by Permission Only
91. SOLARIS 10 DEEP DIVE: SMF
MySQL
• Start MySQL manually to see that everything works
root@mysql~> /usr/sfw/sbin/mysqld_safe --user=mysql &
Starting mysqld daemon with databases from /var/mysql
• Set the passwords
root@mysql~> /usr/sfw/bin/mysqladmin -u root password
'mysql'
root@mysql~> /usr/sfw/bin/mysqladmin -u root -h mysql
password 'mysql'
• Check the status of MySQL
root@mysql~> /usr/sfw/bin/mysqladmin -u root -pmysql
status
Uptime: 37 Threads: 1 Questions: 1 Slow queries: 0
Opens: 6 Flush tables: 1 Open tables: 0 Queries
per second avg: 0.02
Sun Proprietary/Use by Permission Only
92. SOLARIS 10 DEEP DIVE: SMF
Copy and modify
• Great! Everything works. Now you are ready to write
your manifest!
• Find a manifest similar to your application and tweak it.
Since MySQL is an application, I'll look in
/var/svc/manifest/application. The print/server.xml seems
closest to what I want, so I'll start from that. Remember
that site-specific manifests go into “site”.
• Most everything is already filled out, I just change a few
relevant properties.
root@mysql~> cp
/var/svc/manifest/application/print/server.xml
/var/svc/manifest/site/mysql.xml
Sun Proprietary/Use by Permission Only
93. SOLARIS 10 DEEP DIVE: SMF
Name
• Change the name
<service_bundle type='manifest' name='SUNWsqlr:mysql'>
<service
name='application/mysql'
type='service'
version='1'>
Sun Proprietary/Use by Permission Only
94. SOLARIS 10 DEEP DIVE: SMF
Dependency
• I leave the existing dependencies alone. I may want to
add a dependency on the config file, so MySQL doesn't
start if it's missing.
<dependency
name='database'
grouping='require_all'
restart_on='none'
type='path'>
<service_fmri
value='file://localhost/var/mysql/my.cnf'/>
</dependency>
Sun Proprietary/Use by Permission Only
95. SOLARIS 10 DEEP DIVE: SMF
This just in
• File dependencies going may be going away.
• CR 6240573
> Synopsis: File dependencies are currently overused by SMF
consumers. The problem is that a file dependency means "wait
for this file to become available before starting". That's not the
usual case. Most users of file dependencies are trying to
express the concept that "if this file is missing, there is a
problem."
• No file event to signal SMF if a file has changed.
• Actions in a file dependency doesn't do anything, yet.
Sun Proprietary/Use by Permission Only
96. SOLARIS 10 DEEP DIVE: SMF
Methods
• Change the start/stop methods
<exec_method
type='method'
name='start'
exec='/etc/sfw/mysql/mysql.server start'
timeout_seconds='60' />
<exec_method
type='method'
name='stop'
exec='/etc/sfw/mysql/mysql.server stop'
timeout_seconds='60' />
Sun Proprietary/Use by Permission Only
97. SOLARIS 10 DEEP DIVE: SMF
Description and documentation
• For now, delete the property groups as they don't apply to
mysql
• Change the description and documentation location
<loctext xml:lang='C'>
MySQL server
</loctext>
<documentation>
<manpage title='mysql' section='1M'
manpath='/usr/sfw/man' />
</documentation>
Sun Proprietary/Use by Permission Only
98. SOLARIS 10 DEEP DIVE: SMF
Importing your manifest
• You're done! Now import it.
root@mysql~> svccfg import mysql.xml
root@mysql~> svcs -l mysql
fmri svc:/application/mysql:default
name MySQL server
enabled false
state disabled
next_state none
state_time Tue Jun 07 19:20:51 2005
restarter svc:/system/svc/restarter:default
Sun Proprietary/Use by Permission Only
99. SOLARIS 10 DEEP DIVE: SMF
Importing your manifest
dependency require_all/none
svc:/system/filesystem/local (online)
dependency require_all/none
svc:/system/filesystem/usr (online)
dependency require_all/refresh
svc:/system/identity:domain (online)
dependency optional_all/none svc:/system/system-log
(online)
dependency require_all/none
file://localhost/var/mysql/my.cnf (online
root@mysql~> svcadm enable mysql
root@mysql~> svcs mysql
STATE STIME FMRI
online 19:21:19
svc:/application/mysql:default
Sun Proprietary/Use by Permission Only
100. SOLARIS 10 DEEP DIVE: SMF
Done!
• Congratulations! You have successfully written a service
manifest. Now MySQL is an SMF-managed service.
Sun Proprietary/Use by Permission Only
101. SOLARIS 10 DEEP DIVE: SMF
SMF on OpenSolaris
• Collection of manifests and methods are at
http://www.opensolaris.org/os/community/smf/manifests/
• There is a different manifest for MySQL submitted there.
Sun Proprietary/Use by Permission Only
102. SOLARIS 10 DEEP DIVE: SMF
Exploring the repository
• We said the repository is a database containing all
descriptions of all services SMF knows about, and their
states.
• Make changes to service against its content in the
repository, not in the manifest. The days of looking in a
text file to find what's running is over. In fact, what's in a
manifest can differ vastly with the running configuration.
• We'll fix Bug ID 6270245 as an example.
• Bug ID: 6270245
> Synopsis: apache2 needs svc:/system/filesystem/local
dependency when Sun Volume Manager metadevices are in
use
Sun Proprietary/Use by Permission Only
103. SOLARIS 10 DEEP DIVE: SMF
Two ways to fix
• Two ways to fix:
• Delete the service from the repository, fix the manifest
and re-import. This is not the recommended way.
• Fix the currently running service configuration. This is the
recommended way, and we'll talk about why after we've
finished the exercise.
• We're going to do this both ways, in order to better
understand the repository and the manifest.
• In this case the service can be addressed as http or
apache2, http is the service, apache2 is the instance.
• Disable the service, then delete it from the repository.
Sun Proprietary/Use by Permission Only
104. SOLARIS 10 DEEP DIVE: SMF
Fix 1: deleting http from repository
# svccfg
svc:> list network/http
network/http
svc:> delete network/http
svc:> exit
• Or
# svccfg delete apache2
# svcs apache2
svcs: Pattern 'apache2' doesn't match any instances
STATE STIME FMRI
Sun Proprietary/Use by Permission Only
105. SOLARIS 10 DEEP DIVE: SMF
Modifying manifest
• Once again, look around for something to copy from, I
find my filesystem/local dependency in inetd-upgrade.xml
and ssh.xml, respectively:
inetd-upgrade.xml: <dependency name='filesystem'
ssh.xml: <dependency name='fs-local'
• Note the name, filesystem and fs-local. These are just
common names, they are not FMRI. In fact, these can be
anything descriptive.
• Add this to my
/var/svc/manifest/network/http-apache2.xml
• Import your fixed manifest and check.
Sun Proprietary/Use by Permission Only
106. SOLARIS 10 DEEP DIVE: SMF
filesystem/local dependency
dependency name='myfs-local'
grouping='require_all'
restart_on='none'
type='service'>
<service_fmri
value='svc:/system/filesystem/local'/>
</dependency>
Sun Proprietary/Use by Permission Only
107. SOLARIS 10 DEEP DIVE: SMF
Compare with DTD
<!ELEMENT dependency
( service_fmri*, stability?, ( propval | property
)* ) >
<!ATTLIST dependency
name CDATA #REQUIRED
grouping ( require_all | require_any | exclude_all
|
optional_all ) #REQUIRED
restart_on ( error | restart | refresh | none )
#REQUIRED
type CDATA #REQUIRED
delete ( true | false ) "false" >
Sun Proprietary/Use by Permission Only
108. SOLARIS 10 DEEP DIVE: SMF
In depth
• name is myfs-local, a descriptive name.
• grouping is require_all, self-explanatory, but when is
grouping not require_all? When the dependency is a
milestone, for example.
• restart_on is none. If you depend on a service, and its
state changes, you may want to re-examine your own
service.
• Refer back to slide “reason for dependency stop”
• type is service; can be service or file.
Sun Proprietary/Use by Permission Only
109. SOLARIS 10 DEEP DIVE: SMF
restart_on
• restart_on none: do not restart, you require this
dependency to be satisfied once, on startup, that's all.
• restart_on error: restart when this service faults. Why?
Opposite of previous case, you depend on this service all
the time. If it faults (restart is implicit) and does not come
back up, you need to restart and check your dependency.
What state would you be in?
• restart_on restart: restart when this service has an error
stop, or a non-error stop.
• restart_on refresh: restart on all the above conditions,
and when this service re-read its configuration file.
Sun Proprietary/Use by Permission Only
110. SOLARIS 10 DEEP DIVE: SMF
svccfg import
# svccfg import http-apache2.xml
# svcs -l apache2
fmri svc:/network/http:apache2
name Apache 2 HTTP server
enabled false
state disabled
next_state none
state_time Mon Jun 06 18:26:41 2005
restarter svc:/system/svc/restarter:default
dependency require_all/error
svc:/network/loopback:default (online)
dependency optional_all/error
svc:/network/physical:default (online)
dependency require_all/none svc:/system/filesystem/local
(online)
Sun Proprietary/Use by Permission Only
111. SOLARIS 10 DEEP DIVE: SMF
Fix 2: modify properties in repository
• Fix by modifying current service properties in the
repository.
• Now that I've written the manifest, I know better what to
do. Basically, take that block of dependency and some
how get it into the running service configuration of
apache2.
• Disable and delete apache2 from the repository.
• Re-import the original, unrepaired manifest; it should only
have two dependencies.
Sun Proprietary/Use by Permission Only
112. SOLARIS 10 DEEP DIVE: SMF
Put back original manifest
# svccfg -s apache2 delete
# svccfg import http-apache2.xml
# svccfg -s apache2 listpg
loopback dependency
physical dependency
start method
stop method
refresh method
httpd application
startd framework
general framework
restarter framework NONPERSISTENT
restarter_actions framework NONPERSISTENT
Sun Proprietary/Use by Permission Only
113. SOLARIS 10 DEEP DIVE: SMF
What I'm interested in
# svccfg
svc:> help
General commands: help set repository end
Manifest commands: inventory validate import export
archive
Profile commands: apply extract
Entity commands: list select unselect add delete
Snapshot commands: listsnap selectsnap revert
Property group commands: listpg addpg delpg
Property commands: listprop setprop delprop editprop
Property value commands: addpropvalue delpropvalue
setenv unsetenv
svc:>
Sun Proprietary/Use by Permission Only
114. SOLARIS 10 DEEP DIVE: SMF
Adding properties
• Add a new dependency to my property group
svc:/network/http:apache2> addpg myfs-local
dependency
• In your manifest, this conforms to
<dependency name='myfs-local'
• Add other properties
svc:/network/http:apache2> setprop myfs-
local/grouping = astring: ”require_all”
svc:/network/http:apache2> setprop myfs-
local/restart_on = astring: ”none”
svc:/network/http:apache2> setprop myfs-local/type =
astring: ”servicr”
Sun Proprietary/Use by Permission Only
115. SOLARIS 10 DEEP DIVE: SMF
Oops! A typo.
svc:/network/http:apache2> listprop
myfs-local dependency
myfs-local/group astring require_all
myfs-local/restart_on astring none
myfs-local/type astring servicr
svc:/network/http:apache2> editprop (invokes vi)
# Property group "myfs-local"
# delprop myfs-local
# addpg myfs-local dependency
# setprop myfs-local/group = astring: (require_all)
# setprop myfs-local/restart_on = astring: (none)
# setprop myfs-local/type = astring: (servicr)
Sun Proprietary/Use by Permission Only
116. SOLARIS 10 DEEP DIVE: SMF
Add the FMRI
• Change this line to
setprop myfs-local/type = astring: “service”
• Upon quitting vi, the temp file is executed. This
corresponds to
grouping='require_all'
restart_on='none'
type='service'>
• Now add the FMRI of the dependency
svc:/network/http:apache2> setprop myfs-local/
entities = fmri: “svc:/system/filesystem/local”
Sun Proprietary/Use by Permission Only
117. SOLARIS 10 DEEP DIVE: SMF
Check your configuration
svc:/network/http:apache2> listprop
...
filesystem-local dependency
filesystem-local/group astring require_all
filesystem-local/restart_on astring none
filesystem-local/type astring service
filesystem-local/entities fmri
svc:/system/filesystem/local
...
svc:/network/http:apache2> exit
Sun Proprietary/Use by Permission Only
118. SOLARIS 10 DEEP DIVE: SMF
Refresh the service
# svcadm refresh apache2
# svcs -l apache2
fmri svc:/network/http:apache2
name Apache 2 HTTP server
...
restarter svc:/system/svc/restarter:default
dependency require_all/error
svc:/network/loopback:default (online)
dependency optional_all/error
svc:/network/physical:default (online)
dependency require_all/none
svc:/system/filesystem/local (online)
Sun Proprietary/Use by Permission Only
119. SOLARIS 10 DEEP DIVE: SMF
New property added
# svccfg -s apache2 listpg
loopback dependency
physical dependency
start method
stop method
refresh method
httpd application
startd framework
general framework
restarter framework NONPERSISTENT
restarter_actions framework NONPERSISTENT
myfs-local dependency
Sun Proprietary/Use by Permission Only
120. SOLARIS 10 DEEP DIVE: SMF
The reason why ...
• You've modified the service properties for apache2 in the
repository. Don't be confused the next time you look at
http-apache2.xml and wonder what happened. Manifests
are read and imported only once (unless they are
modified.)
• Don't modify manifests in place. Upon boot
svc:/system/manifest-import searches
/var/svc/manifest for new XML files and ones which have
changed and import them.
• This allows us to upgrade service properties (via a patch,
for example) by dropping new manifest in, instead of
manipulating the repository using svccfg.
Sun Proprietary/Use by Permission Only
121. SOLARIS 10 DEEP DIVE: SMF
The reason why ...
• When svccfg import is run on a new manifest for services
which already exist, it first compares the current values to
those in the last-import snapshot.
• If values don't differ, it assumes that there's been no
customization, and upgrades the properties to what's in
the manifest.
• Otherwise it issues warnings to the user, but leaves the
customizations in place.
• So any patch which alters a manifest will cause manifest-
import to try to upgrade the corresponding service, no
post-install action necessary.
Sun Proprietary/Use by Permission Only
122. SOLARIS 10 DEEP DIVE: SMF
The reason why ...
• If you had modified that manifest in place and re-imported
it, or even if you copied it somewhere else, modified it,
and re-imported it, svccfg will think that the modified
version is the original, official version (via the last-import
snapshot comparison), will will override all your
customization after the patch.
• The moral of the story: leave those manifests alone.
Make changes against the repository with svccfg.
• man smf_bootstrap(5) for the gory details.
Sun Proprietary/Use by Permission Only
123. SOLARIS 10 DEEP DIVE: SMF
Part IV:
More Advanced SMF
Sun Proprietary/Use by Permission Only
124. SOLARIS 10 DEEP DIVE: SMF
SMF security
• SMF uses RBAC to delegate service management
responsibility. We'll talk about managing specific services
first.
• SMF provides these propval to be put into individual
manifest to authorize specific services:
> action_authorization – can execute method
> value_authorization – can change value of existing properties
> modify_authorization – change, add, delete properties
• These are fixed keywords.
• Let's take a look smtp-sendmail.xml and ssh.xml as
examples.
Sun Proprietary/Use by Permission Only
125. SOLARIS 10 DEEP DIVE: SMF
action_authorization
smtp-sendmail.xml:
<property_group name='general' type='framework'>
<propval name='action_authorization' type='astring'
value='solaris.smf.manage.sendmail' />
</property_group>
ssh.xml:
<property_group name='general' type='framework'>
<!-- to start stop sshd -->
<propval name='action_authorization'
type='astring' value='solaris.smf.manage.ssh' />
</property_group>
Sun Proprietary/Use by Permission Only
126. SOLARIS 10 DEEP DIVE: SMF
prof_auth
• Where will you find this? /etc/security/prof_auth
Mail Management:::Manage sendmail &
queues:auths=solaris.smf.manage.sendmail;help=RtMail
Mngmnt.html
Network Security:::Manage network and host
security:auths=solaris.smf.manage.ssh,solaris.network.*;
help=RtNetSecure.html
• These RBAC roles have this privilege, which privilege is
this? The one defined by the keyword
action_authorization, which allows you to execute
methods.
Sun Proprietary/Use by Permission Only
127. SOLARIS 10 DEEP DIVE: SMF
Delegating to a user
• But you haven't set up roles properly, you want to
delegate service administration to a user.
# echo christine::::auths=solaris.smf.manage.ssh >>
/etc/user_attr
• You have to re-login for authorization to take effect.
# su – christine
$ id
uid=85228(christine) gid=10(staff)
Sun Proprietary/Use by Permission Only
128. SOLARIS 10 DEEP DIVE: SMF
Delegating to a user
$ svcs ssh
STATE STIME FMRI
online Oct_19 svc:/network/ssh:default
$ date
Fri Oct 21 15:47:40 EDT 2005
$ svcadm restart ssh
$ tail /var/svc/log/network-ssh:default.log
[ Oct 21 15:47:42 Stopping because service
restarting. ]
[ Oct 21 15:47:42 Executing stop method (:kill) ]
[ Oct 21 15:47:42 Executing start method
("/lib/svc/method/sshd start") ]
[ Oct 21 15:47:42 Method "start" exited with status 0
]
Sun Proprietary/Use by Permission Only
129. SOLARIS 10 DEEP DIVE: SMF
A little problem
$ svcadm disable ssh
svcadm: svc:/network/ssh:default: Permission denied.
$ svcadm disable -t ssh
$ svcs ssh
STATE STIME FMRI
disabled 15:55:43 svc:/network/ssh:default
$ svcprop ssh |grep general_ovr
general_ovr/enabled boolean false
• Service can only be temporarily disabled, why?
See BugID 6303496.
Sun Proprietary/Use by Permission Only
130. SOLARIS 10 DEEP DIVE: SMF
Needs value_authorization
• Bug ID 6303496
> Synopsis cron cannot be smf managed with
solaris.smf.manage.cron
• It turns out that you also need value_authorization, the
keyword to change existing property values.
• Why? Because you're actually changing the value of
some property. Which property?
• And exactly where is that general_ovr property listed?
• general and general_ovr appear to be property groups of
type framework. Check the DTD.
• We'll talk more about instances later.
Sun Proprietary/Use by Permission Only
131. SOLARIS 10 DEEP DIVE: SMF
Looking for general_ovr
# svccfg -s ssh
svc:/network/ssh> listprop general*
general framework
general/action_authorization astring
solaris.smf.manage.ssh
general/entity_stability astring Unstable
general/single_instance boolean true
# svccfg -s ssh:default
svc:/network/ssh:default> listprop general*
general framework
general/enabled boolean true
general_ovr framework
NONPERSISTENT
general_ovr/enabled boolean false
Sun Proprietary/Use by Permission Only
132. SOLARIS 10 DEEP DIVE: SMF
value_authorization
# svccfg -s ssh
svc:/network/ssh> listprop
general/action_authorization astring
solaris.smf.manage.ssh
• Do you need to addpg?
svc:/network/ssh> setprop general/value_authorization
= astring: "fooblat"
svc:/network/ssh> exit
• You still need to make one change for this to work.
Sun Proprietary/Use by Permission Only
133. SOLARIS 10 DEEP DIVE: SMF
value_authorization
# tail /etc/user_attr
christine::::auths=solaris.smf.manage.ssh,fooblat
# svcadm refresh ssh
# su - christine
$ svcadm disable ssh
$ svcs ssh
STATE STIME FMRI
disabled 16:42:47 svc:/network/ssh:default
$ svcprop ssh|grep general_ovr
$
• Yes, it's a permanent change.
Sun Proprietary/Use by Permission Only
134. SOLARIS 10 DEEP DIVE: SMF
Value can be anything
• The value of the auth used has no specific meaning
except that it must exist in /etc/user_attr.
• In the manifest
<propval name='value_authorization' type='astring'
value='fooblat' />
• ... is equal to
<propval name='value_authorization' type='astring'
value='solaris.smf.manage.ssh' />
• ... but the later is more descriptive. In fact:
# auths christine
solaris.smf.manage.ssh,fooblat,solaris.device.cdrw,s
Sun Proprietary/Use by Permission Only
135. SOLARIS 10 DEEP DIVE: SMF
SMF Security
• If you look at /etc/security/prof_attr, you will see
Service Management:::Manage
services:auths=solaris.smf.manage, solaris.smf.modify
• These are two main authorizations in SMF:
> solaris.smf.modify – add, delete, modify services
> solaris.smf.manage – restart, refresh, or other state
modification
• They don't appear in any manifest because they apply all
services.
• There are others: method, dependency, application, and
framework. man smf_security(5) for the gory details.
Sun Proprietary/Use by Permission Only
136. SOLARIS 10 DEEP DIVE: SMF
Blueprint
Restricting Service Administration in the Solaris 10
Operating System by Glenn Brunette (June 2005)
This Sun BluePrints Cookbook describes how to use the Solaris 10
Service Management Facility (SMF) to require specific authorizations for
certain types of operations. Using this capability, it is possible to
delegate access to core service management functions based on the
concept of least privilege--if a user or service does not strictly need to
have some degree of privilege, then that privilege should not be granted.
SMF allows organizations to have much finer grained access control
policies than was possible before the Solaris 10 Operating System.
http://www.sun.com/blueprints/0605819-2887.pdf
Sun Proprietary/Use by Permission Only
137. SOLARIS 10 DEEP DIVE: SMF
Snapshots
# svccfg -s ssh
svc:/network/ssh> listsnap
Instance not selected.
svc:/network/ssh> select default
svc:/network/ssh:default> listsnap
last-import
initial
running
• Where are snapshot start and previous?
# svcs ssh
STATE STIME FMRI
disabled Oct_21 svc:/network/ssh:default
Sun Proprietary/Use by Permission Only
138. SOLARIS 10 DEEP DIVE: SMF
What's the difference?
# svccfg -s ssh listprop '*general*'
general framework
general/entity_stability astring Unstable
general/single_instance boolean true
general/action_authorization astring
solaris.smf.manage.ssh
general/value_authorization astring yadayada
# svccfg -s ssh:default listprop '*general*'
general framework
general/enabled boolean false
general_ovr framework NONPERSISTENT
Sun Proprietary/Use by Permission Only
139. SOLARIS 10 DEEP DIVE: SMF
instance
• Instances are units of administrations.
• Services are mechanism for sharing properties.
• Instance can have properties, and its parent service can
have properties.
• Instances have snapshots, services do not.
• If unnamed, that instance is called “default”.
• Snapshots are composite view of the instance and
service properties at one point in time.
Sun Proprietary/Use by Permission Only
140. SOLARIS 10 DEEP DIVE: SMF
revert
svc:/network/ssh:default> listsnap
last-import initial
running start
svc:/network/ssh:default> selectsnap initial
[initial]svc:/network/ssh:default> revert
svc:/network/ssh:default> unselect
svc:/network/ssh> listprop general*
general framework
general/action_authorization astring
solaris.smf.manage.ssh
general/entity_stability astring Unstable
general/single_instance boolean true
• value_authorization has disappeared.
Sun Proprietary/Use by Permission Only
141. SOLARIS 10 DEEP DIVE: SMF
Snapshots
• Snapshots are not good for rolling back a single change
because
> No control over when snapshots are taken
> Alters the service properties as well
• To undo a property change, it's simpler to use svccfg
setprop commands
• Can use svcprop or svccfg export to take textual
snapshots.
• However, when you use svccfg export, you use the
service name, even though the output file contains the
description of the instance(s).
Sun Proprietary/Use by Permission Only
142. SOLARIS 10 DEEP DIVE: SMF
ignore_error property
• From http-apache2.xml:
<property_group name='startd' type='framework'>
<!-- sub-process core dumps shouldn't
restart session -->
<propval name='ignore_error' type='astring'
value='core,signal' />
</property_group>
• SMF is instructed to ignore signals sent to a service or
core dumps by a service; otherwise SMF will try to restart
the service.
• man svc.startd(1M) for the gory details; description at the
startd/ignore_error paragraph.
Sun Proprietary/Use by Permission Only
144. SOLARIS 10 DEEP DIVE: SMF
Logs
# tail -f /var/apache2/logs/error_log
(nothing ...)
# tail -f /var/svc/log/network-http:apache2.log
[ Oct 26 11:46:44 Executing start method
("/lib/svc/method/http-apache2 start") ]
[ Oct 26 11:46:45 Method "start" exited with status 0
]
(nothing ... )
• What would happen, by the way, if you kill just httpd
processes started by webservd?
Sun Proprietary/Use by Permission Only
145. SOLARIS 10 DEEP DIVE: SMF
Keep on killing httpd
# ps -ef|grep http
webservd 29854 27175 0 11:46:46 ? 0:00
/usr/apache2/bin/httpd -k start
# kill -9 29854 <-- last one
# tail -f /var/apache2/logs/error_log
[Wed Oct 26 12:46:53 2005] [notice] Digest:
generating secret for digest authentication ...
[Wed Oct 26 12:46:53 2005] [notice] Digest: done
[Wed Oct 26 12:46:54 2005] [notice] Apache/2.0.52
(Unix) DAV/2 configured -- resuming normal
operations
Sun Proprietary/Use by Permission Only
146. SOLARIS 10 DEEP DIVE: SMF
httpd restarted by SMF
# tail -f /var/svc/log/network-http:apache2.log
Stopping because all processes in service exited. ]
[ Oct 26 11:55:05 Executing stop method
("/lib/svc/method/http-apache2 stop") ]
httpd (pid 29853?) not running
[ Oct 26 11:55:05 Method "stop" exited with status
0 ]
[ Oct 26 11:55:05 Executing start method
("/lib/svc/method/http-apache2 start") ]
[ Oct 26 11:55:06 Method "start" exited with status 0
]
# svcs apache2
STATE STIME FMRI
online 12:46:53 svc:/network/http:apache2
Sun Proprietary/Use by Permission Only
147. SOLARIS 10 DEEP DIVE: SMF
Removing ignore_error property
# svccfg -s apache2
svc:/network/http:apache2> listprop startd*
startd framework
startd/ignore_error astring core,signal
svc:/network/http:apache2> delprop
startd/ignore_error
svc:/network/http:apache2> listprop startd*
startd framework
svc:/network/http:apache2> exit
# svcadm refresh apache2
Sun Proprietary/Use by Permission Only
148. SOLARIS 10 DEEP DIVE: SMF
Log of httpd refreshing
# tail -f /var/apache2/logs/error_log
[Wed Oct 26 12:55:30 2005] [notice] Graceful restart
requested, doing restart
[Wed Oct 26 12:55:30 2005] [warn] (128)Network is
unreachable: connect to listener
[Wed Oct 26 12:55:30 2005] [notice] Digest: generating
secret for digest authentication ...
[Wed Oct 26 12:55:30 2005] [notice] Digest: done
[Wed Oct 26 12:55:31 2005] [notice] Apache/2.0.52 (Unix)
DAV/2 configured -- resuming normal operations
# tail -f /var/svc/log/network-http:apache2.log
[ Oct 26 12:55:30 Rereading configuration. ]
[ Oct 26 12:55:30 Executing refresh method
("/lib/svc/method/http-apache2 refresh") ]
[ Oct 26 12:55:30 Method "refresh" exited with status 0 ]
Sun Proprietary/Use by Permission Only
149. SOLARIS 10 DEEP DIVE: SMF
httpd without ignore_error
# kill -9 29999 <-- started by root
# tail -f /var/svc/log/network-http:apache2.log
[ Oct 26 13:13:02 Stopping because process received
fatal signal from outside the service. ]
[ Oct 26 13:13:02 Executing stop method
("/lib/svc/method/http-apache2 stop") ]
httpd (pid 29999?) not running
[ Oct 26 13:13:02 Method "stop" exited with status
0 ]
[ Oct 26 13:14:02 Method or service exit timed out.
Killing contract 720 ]
# svcs apache2
STATE STIME FMRI
maintenance 13:14:02 svc:/network/http:apache2
Sun Proprietary/Use by Permission Only
150. SOLARIS 10 DEEP DIVE: SMF
Clearing and restarting
# svcadm clear apache2
# tail -f /var/svc/log/network-http:apache2.log
[ Oct 26 13:16:04 Leaving maintenance because clear
requested. ]
[ Oct 26 13:16:04 Enabled. ]
[ Oct 26 13:16:04 Executing start method
("/lib/svc/method/http-apache2 start") ]
[ Oct 26 13:16:05 Method "start" exited with status 0
]
• What would happen if you kill any httpd processes started
by webservd, now that you no longer have the
ignore_error property?
Sun Proprietary/Use by Permission Only
151. SOLARIS 10 DEEP DIVE: SMF
Logs
# tail -f /var/apache2/logs/error_log
[Wed Oct 26 13:24:23 2005] [notice] caught SIGTERM,
shutting down
[Wed Oct 26 13:24:25 2005] [notice] Digest:
generating secret for digest authentication ...
[Wed Oct 26 13:24:25 2005] [notice] Digest: done
[Wed Oct 26 13:24:26 2005] [notice] Apache/2.0.52
(Unix) DAV/2 configured -- resuming normal
operations
• SMF stops and restarts httpd:apache because svc.startd
will interpret any externally-generated signal as a failure
of the service, and will execute the stop and start method
to try and recover.
Sun Proprietary/Use by Permission Only
152. SOLARIS 10 DEEP DIVE: SMF
Logs
# tail -f /var/svc/log/network-http:apache2.log
[ Oct 26 13:24:23 Stopping because process received
fatal signal from outside the service. ]
[ Oct 26 13:24:23 Executing stop method
("/lib/svc/method/http-apache2 stop") ]
[ Oct 26 13:24:23 Method "stop" exited with status
0 ]
[ Oct 26 13:24:24 Executing start method
("/lib/svc/method/http-apache2 start") ]
[ Oct 26 13:24:25 Method "start" exited with status 0
]
• What's different though? Why isn't it in maintenance
mode?
Sun Proprietary/Use by Permission Only
153. SOLARIS 10 DEEP DIVE: SMF
Portable SMF
• Perhaps you have a large number of servers, or even
zones, on which you'd like to imprint an identical set of
services.
• Well, this is not easy. This is “provisioning”, and SMF is a
service management tool.
• You can't just “pack up” the database, or the XML dump
generated by svccfg archive, or all the manifests ... Why
not?
• What about the methods, the config files, the binaries,
everything else that makes up the apps?
Sun Proprietary/Use by Permission Only
154. SOLARIS 10 DEEP DIVE: SMF
Duplicating service properties
• If, however, you have an application already installed,
and you would like to transfer service properties (such as
dependencies, the exec method, anything that might be
defined by the manifest), you can do that by exporting
and then importing a manifest.
# svccfg export svc:/network/http > apache2.export
• Move apache2.export to another system.
# svccfg import apache2.export
• Note: the argument to svccfg export is a service, not an
instance, although the XML file will contain definition of
the instance(s).
Sun Proprietary/Use by Permission Only
155. SOLARIS 10 DEEP DIVE: SMF
Duplicating service states
• You can get a profile, or an XML file that describes the
state of all services by using svccfg extract.
• This XML file can be used to duplicate the on|off state of
services from system to system. Use svccfg apply.
Sun Proprietary/Use by Permission Only
156. SOLARIS 10 DEEP DIVE: SMF
Profiles
• A profile is an XML description of all service instance
states on a system.
• Profiles are in /var/svc/profile.
• Profiles are applied in order: generic, platform, site
• Never modify existing profiles, use site.xml for local
customization.
• An example of something that may create a use a profile
is the Solaris Security Toolkit 4.2 (aka JASS).
Sun Proprietary/Use by Permission Only
157. SOLARIS 10 DEEP DIVE: SMF
Part V:
SMF Tools and Community
Sun Proprietary/Use by Permission Only
158. SOLARIS 10 DEEP DIVE: SMF
Webmin
Sun Proprietary/Use by Permission Only
159. SOLARIS 10 DEEP DIVE: SMF
About Webmin
• A web-based interface for UNIX system administration
• It comes with Solaris 10, or get it at
http://www.webmin.com
• Version 1.190 an
later supports SMF,
even has a feature to
create a new manifest.
Sun Proprietary/Use by Permission Only
160. SOLARIS 10 DEEP DIVE: SMF
SMF in Webmin
Sun Proprietary/Use by Permission Only
161. SOLARIS 10 DEEP DIVE: SMF
Create new service
• This button will walk you through creating a new service
manifest.
• You don't need to know XML, but you do need to
understand what goes into a manifest.
• Will ask you a series of questions such as:
> Name of service
> What are the dependencies,
> Which is the delegated restarter
> Service properties
> Man pages
Sun Proprietary/Use by Permission Only
162. SOLARIS 10 DEEP DIVE: SMF
GUI Tools
• With Webmin you can monitor and manage SMF services
through a browser.
• A GUI interface to SMF is being developed.
• Watch for a SunMC SMF module due near the end of this
year.
Sun Proprietary/Use by Permission Only
163. SOLARIS 10 DEEP DIVE: SMF
More tools
• Use xmllint to check for errors in the manifest file without
importing the manifest.
• svccfg validate does something similar, without changing
the repository.
• Jedit is a free text editor with XML with syntax checker
and validator. Comes with Solaris 10
(/usr/demo/jds/bin/jedit) or get it from http://www.jedit.org.
• Morphon Technologies has a good and free XML editor,
but sadly no longer in development, get it from
http://www.morphon.com.
Sun Proprietary/Use by Permission Only
164. SOLARIS 10 DEEP DIVE: SMF
SFM community on OpenSolaris
• http://www.opensolaris.org/os/community/smf/
• Submit manifests or methods you've written here:
http://www.opensolaris.org/os/community/smf/manifests/
• greenline-interest@sun.com migrating to
smf-discuss@opensolaris.org
• Subscribe here:
http://www.opensolaris.org/os/community/smf/discussions
• Read it here:
http://www.opensolaris.org/jive/forum.jspa?forumID=24
• File bugs here:
• http://bugs.opensolaris.org/
Sun Proprietary/Use by Permission Only
165. SOLARIS 10 DEEP DIVE: SMF
Resources
• Internal
> Greenline project page: http://greenline.eng
> greenline-interest alias.
• External
> BigAdmin: http://www.sun.com/bigadmin
> Especially the Service Developer Intro at
http://www.sun.com/bigadmin/content/selfheal/sdev_intro.html
> SMF community: http://opensolaris.org/os/community/smf/
> SMF mailing list: smf-discuss@opensolaris.org
• Blogs
> Liane Praza's blog: http://blogs.sun.com/roller/page/lianep
> Stephen Hahn's blog: http://blogs.sun.com/sch
Sun Proprietary/Use by Permission Only
166. SOLARIS 10 DEEP DIVE: SMF
Review
•
•
•
Sun Proprietary/Use by Permission Only
167. SOLARIS 10 DEEP DIVE: SMF
Questions?
•
•
•
Sun Proprietary/Use by Permission Only
168. SOLARIS 10 DEEP DIVE: SMF
And lastly ...
Thank you!
Sun Proprietary/Use by Permission Only
169. SOLARIS 10 DEEP DIVE: SMF
References
• Presentations
L. Praza. smf(5): Service Management Facility.
R. Manus, G. Hiregoudar. Solaris Management Framework – Workshop.
Sun Proprietary/Use by Permission Only
170. SOLARIS 10 DEEP DIVE: SMF
Changes
• Last modified: 03/10/2005
Sun Proprietary/Use by Permission Only
171. SOLARIS 10 DEEP DIVE: SMF
SOLARIS 10
DEEP DIVE: SMF
christine.tran@sun.com
US Solaris Adoption Practice
Sun Microsystems
Sun Proprietary/Use by Permission Only