Friday Jan 10, 2014
Thursday Jan 09, 2014
By rickramsey on Jan 09, 2014
When Tim said "Heisenbug," I pictured a large dirigible exploding and heard a radio reporter cry, "Oh the Humanity!"
As Tim started talking, I realized he'd said "Heisenbug," not Hindenbug. So I pictured my favorite chemistry teacher. Here is a link to his likeness:
It was only when I heard my deceased physicist father-in-law's voice growling his favorite endearment "Rick, you dumbass," that I finally realized Tim was talking about Werner Heisenberg's Uncertainty Principle.
Although I wasn't completely sure.
As it turns out, Tim was talking about that phenomenon that happens to all of us when we call in a sysadmin to fix a problem with our system. When the sysadmin shows up, the problem disappears. I know you guys write scripts to make that happen on purpose, but Tim doesn't. And neither does the Ksplice team. So they developed some very cool technology to diagnose these heisenbugs and get our systems running properly again. Don't worry, your secret is safe with me. And everyone who reads this blog.
In any case, you can find out how Ksplice crushes the Heisenbug in this short video:
Here's a video of the Hinderburg crash
Wednesday Jan 08, 2014
By rickramsey on Jan 08, 2014
With Oracle VM and Oracle Enterprise Manager Cloud Control 12c
We just updated this lab to get it ready for OTN's next Virtual SA Day on January 28. You can run the lab anytime from your laptop, or you can attend our virtual event and run it with the help of a proctor. There will be several hundred sysadmins running the same lab at the same time, so you can discuss it with others via chat, and get help from our proctors. Details here.
Blog by OTN Garage
At the risk of raising PITA's ire, there's more than one way to skin a cat. This blog provides three resources to help you build a private cloud with Oracle Solaris: one training class and two tech articles.
photograph of clouds at sunset over Colorado snapped by Rick Ramsey with lousy iPhone camera
Tuesday Jan 07, 2014
By rickramsey on Jan 07, 2014
Ed Whalen is the Chief Technologist at Performance Tuning Corp. He knows an awful lot about making databases run faster, including the use of Linux Huge Pages. Here are two of his very helpful resources.
by Ed Whalen, Oracle ACE
Performance issues in large databases are not easy to detect using normal analysis methods such as AWR reports and OS tools such as sar, top, and iostat. And yet, if you configure your memory appropriately in x86 environments, your database can run significantly faster. This article describes you can use Linux Huge Pages to do just that.
Ed covers x86 virtual memory architecture, Linux memory management, and enabling Linux Huge Pages. See the article here.
with Ed Whalen, Oracle ACE
Ed Whalen, Oracle ACE, explains Linux huge pages, the huge performance increase they provide, and how sysadmins and DBA's need to work together to use them properly. Taped at Oracle Open World 2013.
photograph of cliff face in Perry Park, Colorado, copyright Rick Ramsey
Thursday Jan 02, 2014
By rickramsey on Jan 02, 2014
Red Hat Linux and VMWare are fine technologies. A great pairing. However, if you have business reasons for migrating to Oracle Linux and Oracle VM, such as having earlier access to the latest Linux innovations or taking advantage of more integrated virtualization, take a look at our latest lab. It provides the best step by step instructions we could come up with for carrying out that migration. You can also try it just to hone your migration skills. You never know when the boss is going to ask you whether you can handle a migration.
Here's a peek at the major tasks:
- Start the two servers (Oracle VM Server and Oracle VM Manager).
- Connect to Oracle VM Manager and become familiar with the product.
- Verify that the Oracle VM environment started correctly.
- Import an assembly that has Oracle Database on top and was exported from VMware.
- Create an Oracle VM Template based on the VMware assembly.
- Edit the Oracle VM Template that was created.
- Create a guest based on the Oracle VM Template that was created.
- Verify and then start the Oracle VM guest that was created.
- Manually modify the guest configuration and remove VMware tools.
- Switch from the Red Hat kernel to Oracle's Unbreakable Enterprise Kernel for free.
- Transform the guest into a usable Oracle VM Template ("gold image").
You can run the lab anytime you like on your laptop, or you can attend OTN's next Virtual SA Day, and run it with the help of a proctor. There will be several hundred sysadmins running the same lab at the same time, so you can discuss it with others via chat, and get help from our proctors. Details here.
photograph of a brewery in Ouray, Colorado, by Rick Ramsey
Tuesday Dec 31, 2013
By rickramsey on Dec 31, 2013
That was a helluva year. Here's hoping 2014 is just as wild and crazy.
You can find the articles we posted during 2013 here:
Thursday Dec 19, 2013
By rickramsey on Dec 19, 2013
OTN's next virtual sysadmin day is on January 28. It's four hours long, from 9:00 am - 1:00 pm PT. (Time converter here.) This time we have a whole new set of hands-on labs for Oracle Solaris, Oracle Linux, and Oracle VM. Proctored, of course, which means you can ask questions. The labs in our previous virtual sysadmin day focused on the basics. These focus on using these technologies in real-world scenarios. Click on the Agenda tab in the registration page to see the labs.
The event is free, but you do need to register. And there's a little homework involved. Nothing too complicated. We just expect you to have VirtualBox installed and the proper images already imported before we begin class. Click on the the Instructions tab for more info.
Picture is of Mosquito Pass, in Colorado, taken from Mosquito Gulch. You need a 4x4 with good ground clearance to get up and over the top, and the rocks on the road will slice up your tires unless they're good and thick. A great place to catch your breath after you finish the hands-on labs.
Monday Dec 16, 2013
By rickramsey on Dec 16, 2013
by Orgad Kimchi
My little brother and I used to drive our Sainted Mother mad with this game at bed time. We'd wait till she was stressed out, then throw something big, like a softball, against the wall. Being a worry-wart, she'd come into the room to find out which one of us had fallen out of his bed and broken his arm. We both pretended to be fast asleep, of course, and had already recovered the soft ball.
Perplexed, she would return to the kitchen. A short while later, we would throw the bat against the wall. After the initial boom against the sheetrock, it would clatter on the ground, making a sound similar to a mother's precious child cracking his skull on the cement steps in front of the house. Quickly one of us would recover it, tuck it under the sheets, and then we'd both return to our previous sleeping positions.
Little did we know, as we pushed our mother closer to the edge of Insanity, that our techniques would be adopted by virtualized environments the world over. As Orgad explains in the article above, as each virtualization product abstracts computing resources for isolation or other purposes, it creates a little brother. If something goes boom in the night or, if your environment starts hanging, how do you figure out where the problem is?
It's a super article, and well worth your time. If Mom had read it, we would have woken up inside an anthill, with only our heads sticking out so she could listen to our screams while she sipped a cup of Darjeeling.
Article: Performance Analysis in a Multitenant Cloud Environment
Performance analysis in a virtualized multitenant cloud environment is difficult because of the abstraction layers. How do you find the physical system resources that are overloaded? Orgad Kimchi explores four examples that show how you how with the built-in Oracle Solaris 11 tools.
Other Content By Or About Orgad
- How to Set Up a MongoDB NoSQL Cluster Using Oracle Solaris Zones
- How to Set Up a Hadoop Cluster Using Oracle Solaris Zones
- You Don't Want to Meet Orgad Kimchi in a Dark Alley
Tuesday Dec 03, 2013
By rickramsey on Dec 03, 2013
Hey nonny ding dong, alang alang alang
Boom ba-doh, ba-doo ba-doodle-ay
Oh, life could be a dream (hadoop)
If I could take you up in paradise up above (hadoop)
If you would tell me I'm the only one that you love
Life could be a dream, sweetheart
(Hello, hello again, hadoop and hopin' we'll meet again)
by Orgad Kimchi
Apache Hadoop helps you process large amounts of data on multiple computers that are clustered together. Oracle Solaris zones are easy to clone and manage as a cluster. Oracle Solaris 11 has great network virtualization capabilities. Orgad walks you through all the steps required to combine these three technologies into an easy to manage big data cluster.
by Jeff Taylor
After reading Orgad's paper (see above), Jeff Taylor decided to give Orgad's suggestion a try. He had to configure an Oracle SPARC T4-2 server to store and process two types of data. One type was critical and sensitive data that required ACID transactions and had to be stored in an Oracle Database. The other was high-volume/low-risk data that had to be processed using Apache Hadoop and stored in HDFS. In this blog post he details how he used Oracle Solaris zones.
with Orgad Kimchi
Orgad Kimchi provides three technical reasons why you should run Hadoop on Oracle Solaris. Taped at Oracle OpenWorld.
Lyrics to Hadoop Hadoop
by the Crew Cuts
Hey nonny ding dong, alang alang alang Boom ba-doh, ba-doo ba-doodle-ay
Oh, life could be a dream (ha-doop) If I could take you up in paradise up above (ha-doop) If you would tell me I'm the only one that you love Life could be a dream, sweetheart (Hello, hello again, ha-doop and hopin' we'll meet again) Oh, life could be a dream (ha-doop) If only all my precious plans would come true (ha-doop) If you would let me spend my whole life lovin' you Life could be a dream, sweetheart Now every time I look at you Something is on my mind (dat-dat-dat-dat-dat-duh) If you do what I want you to Baby, we'd be so fine! Oh, life could be a dream (ha-doop) If I could take you up in paradise up above (ha-doop) If you would tell me I'm the only one that you love Life could be a dream, sweetheart Ha-doop ha-doop Ya-da-da Da-da-da Da-da-da Da Ha-doop ha-doop Ya-da-da Da-da-da Da-da-da Da Ha-doop ha-doop Ya-da-da Da-da-da Da-da-da Da, ha-doop! Ha-doop ha-doop Ya-da-da Da-da-da Da-da-da Da Ha-doop ha-doop Ya-da-da Da-da-da Da-da-da Da Ha-doop ha-doop Ya-da-da Da-da-da Da-da-da Da, ha-doop! Every time I look at you Somethin' is on my mind If you do what I want you to Baby, we'd be so fine! Life could be a dream If I could take you up in paradise up above If you would tell me I'm the only one that you love Life could be a dream, sweetheart (Hello hello again, ha-doop and hopin' we'll meet again) doop ha-doop Hey nonny ding dong, alang alang alang (ha-doop) Ba-doh, ba-doo ba-doodle-ay Life could be a dream Life could be a dream, sweetheart! Life could be a dream If only all my precious plans would come true If you would let me spend my whole life loving you Life could be a dream, sweetheart (dee-oody-ooh, ha-doop, ha-doop) (dee-oody-ooh, ha-doop, ha-doop) (dee-oody-ooh, ha-doop, ha-doop) Sweetheart!!
Thursday Nov 21, 2013
By rickramsey on Nov 21, 2013
by Bart Smaalders and Alta Elstad
The Oracle Solaris 11 Image Packaging System (IPS) provides various methods to control the operating system version to which a server can be upgraded. One method is to provide a custom incorporation package.
An incorporation package specifies the versions of other packages that can be installed. An incorporation package ensures that if you install an incorporate dependency package of that incorporation package, only the prescribed version of the dependent package can be installed. You can create your own custom incorporation package to specify the constraints you want. Using a custom incorporation to control the version of software that can be installed enables you to easily maintain different versions of Oracle Solaris on different machines without maintaining multiple package repositories. Each image can install a different version of the custom upgrade control incorporation package. All systems share the same package repository that contains all versions of software needed by any of the systems.
In the example in this article, a system has been newly installed with Oracle Solaris 11.1. The solaris publisher origin is the Oracle Solaris support repository, which includes many updates since Oracle Solaris 11.1 was released. The IT department in the example company has not yet qualified the most current support updates, and they want to limit administrators to upgrading to only the latest update that is qualified for their environments, not the latest update that is available from the package repository.
The versions of core operating system packages that can be installed in an image are controlled by the pkg:/entire incorporation package. To control system upgrades, create a package that specifies a particular version of the pkg:/entire package as an incorporate dependency.
The following example shows a manifest named upgradectrl.p5m for a custom incorporation package that controls the version of the pkg:/entire package that can be installed. Some of the settings in this manifest are described below.
set name=pkg.fmri email@example.com set name=pkg.summary value="Incorporation to constrain the version of the OS" set name=pkg.description value="This package controls the version of \ pkg://solaris/entire that can be installed." set name=info.classification value="org.opensolaris.category.2008:Meta Packages/Incorporations" set name=pkg.depend.install-hold value=core-os set name=variant.opensolaris.zone value=global value=nonglobal set name=variant.arch value=sparc value=i386 depend fmri=feature/package/dependency/self type=parent variant.opensolaris.zone=nonglobal depend fmri=pkg://solaris/entire type=require depend fmri=pkg://firstname.lastname@example.org,5.11-0.175.1.0 type=incorporate
pkg.depend.install-hold This setting ensures that if a user updates the upgradectrl package, the pkg:/entire package is automatically updated as well.
variant.opensolaris.zone This setting enables this package to be installed in both global and non-global zones. See also the description of the parent dependency.
variant.arch This setting enables this package to be installed on both SPARC and x86 systems.
parent dependency This package can be installed in a non-global zone only if it is already installed in the global zone.
require dependency The upgradectrl package can be installed only if the pkg://solaris/entire package is already installed or can be installed in this same operation.
incorporate dependency The pkg://solaris/entire package must be installed at the specified version. More than one version can satisfy an incorporate dependency, depending on how many places of accuracy are specified. In this example, 0.175.1.0 specifies Oracle Solaris 11.1 SRU 0. This upgrade control package will keep systems at the newly installed Oracle Solaris 11.1 version, no support updates. This upgrade control package will, however, allow packages that are not contrained by the pkg:/entire incorporation to be updated.
Publish the upgradectrl package to a local file-based repository. This repository is for developing and testing this new package. If you create a repository for general use, you should include additional steps such as creating a separate file system for the repository. For information about creating package repositories for general use, see Copying and Creating Package Repositories in Oracle Solaris 11.2.
Create a package development repository on your system. See the pkgrepo(1) man page for more information about the pkgrepo command.
$ pkgrepo create myrepo
Set the default publisher for this repository. The default publisher is the value of the publisher/prefix property of the repository.
$ pkgrepo -s myrepo set publisher/prefix=site
Publish the upgradectrl package to the development repository.
$ pkgsend -s myrepo publish upgradectrl.p5m pkg://email@example.com,5.11:20131120T010105Z PUBLISHED
Notice that the repository default publisher has been applied to the package FMRI.
Examine the repository to confirm that the package was published.
$ pkgrepo -s myrepo list PUBLISHER NAME O VERSION site upgradectrl 1.0,5.11:20131120T010105Z $ pkg list -vg myrepo FMRI IFO pkg://firstname.lastname@example.org,5.11:20131120T010105Z ---
Deliver the package to a local repository in a separate ZFS file system in a shared location.
$ pkgrecv -s myrepo -d /export/IPSpkgrepos/Solaris upgradectrl Processing packages for publisher site ... Retrieving and evaluating 1 package(s)... PROCESS ITEMS GET (MB) SEND (MB) Completed 1/1 0.0/0.0 0.0/0.0
Verify the package in the repository and the version of pkg:/entire that it incorporates.
$ pkg info -g /export/IPSpkgrepos/Solaris upgradectrl Name: upgradectrl Summary: Incorporation to constrain the version of the OS Description: This package controls the version of pkg://solaris/entire that can be installed. Category: Meta Packages/Incorporations State: Not installed Publisher: site Version: 1.0 Build Release: 5.11 Branch: None Packaging Date: November 20, 2013 01:01:05 AM Size: 0.00 B FMRI: pkg://email@example.com,5.11:20131120T010105Z $ pkg contents -Hro fmri -t depend -a type=incorporate upgradectrl pkg://firstname.lastname@example.org,5.11-0.175.1.0
See “Creating and Publishing a Package” in Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.2 for more detailed information about creating and delivering IPS packages.
Set the origin for the site publisher.
$ pkg set-publisher -g /export/IPSpkgrepos/Solaris site $ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F https://pkg.oracle.com/solaris/support/ site origin online F file:///export/IPSpkgrepos/Solaris/
Install the upgrade control package. In this case, few changes should be made because the installed version of pkg:/entire is the same as the version incorporated by the upgrade control package.
$ pkg list -v entire FMRI IFO pkg://email@example.com,5.11-0.175.1.0.0.24.2:20120919T190135Z i-- $ zoneadm list global z1 $ pkg install upgradectrl Packages to install: 1 Create boot environment: No Create backup boot environment: No Planning linked: 0/1 done; 1 working: zone:z1 Planning linked: 1/1 done Downloading linked: 0/1 done; 1 working: zone:z1 Downloading linked: 1/1 done PHASE ITEMS Installing new actions 9/9 Updating package state database Done Updating image state Done Creating fast lookup database Done Reading search index Done Updating search index 1/1 Executing linked: 0/1 done; 1 working: zone:z1 Executing linked: 1/1 done
The following commands show that versions of pkg:/entire that are newer than the installed version are available from the configured solaris publisher, but an attempt to upgrade is controlled by the newly-installed upgrade control package.
$ pkg list -af entire NAME (PUBLISHER) VERSION IFO entire 0.5.11-0.175.1.13.0.6.0 --- entire 0.5.11-0.175.1.12.0.5.0 --- entire 0.5.11-0.175.1.11.0.4.0 --- entire 0.5.11-0.175.1.10.0.6.0 --- entire 0.5.11-0.175.1.10.0.5.0 --- ... $ pkg update pkg update: No solution was found to satisfy constraints Plan Creation: Package solver has not found a solution to update to latest available versions. This may indicate an overly constrained set of packages are installed. latest incorporations: ... Try specifying expected results to obtain more detailed error messages. $ pkg update -nv firstname.lastname@example.org pkg update: No matching version of entire can be installed: Reject: pkg://email@example.com,5.11-0.175.1.13.0.6.0:20131108T211557Z Reason: This version is excluded by installed incorporation pkg://firstname.lastname@example.org,5.11:20131120T010105Z
When you are ready to allow users to upgrade their systems to a new version, update the upgradectrl.p5m manifest, and republish and redeliver the new upgrade control package. In the following manifest, the version of the upgrade control package and the version of the pkg:/entire incorporation are updated. As an aid for users, the version of the upgrade control package matches the updated version of the pkg:/entire package.
set name=pkg.fmri email@example.com set name=pkg.summary value="Incorporation to constrain the version of the OS" set name=pkg.description value="This package controls the version of \ pkg://solaris/entire that can be installed." set name=info.classification value="org.opensolaris.category.2008:Meta Packages/Incorporations" set name=pkg.depend.install-hold value=core-os set name=variant.opensolaris.zone value=global value=nonglobal set name=variant.arch value=sparc value=i386 depend fmri=feature/package/dependency/self type=parent variant.opensolaris.zone=nonglobal depend fmri=pkg://solaris/entire type=require depend fmri=pkg://firstname.lastname@example.org,5.11-0.175.1.10 type=incorporate
The following commands republish and redeliver the upgrade control package:
$ pkgsend -s myrepo publish upgradectrl.p5m pkg://email@example.com,5.11:20131120T021902Z PUBLISHED $ pkgrepo -s myrepo list PUBLISHER NAME O VERSION site upgradectrl 1.10,5.11:20131120T021902Z site upgradectrl 1.0,5.11:20131120T010105Z $ pkgrecv -s myrepo -d /export/IPSpkgrepos/Solaris upgradectrl Processing packages for publisher site ... Retrieving and evaluating 1 package(s)... PROCESS ITEMS GET (MB) SEND (MB) Completed 1/1 0.0/0.0 0.0/0.0 $ pkg refresh site $ pkg list -af pkg://site/upgradectrl NAME (PUBLISHER) VERSION IFO upgradectrl (site) 1.10 --- upgradectrl (site) 1.0 i--
The following pkg update command updates all packages to the newest available versions allowed because no packages are specified. The command updates to the newest available version of the upgrade control package, which upgrades the image because the pkg.depend.install-hold setting in the upgradectrl package causes the pkg:/entire package to be updated when the upgradectrl package is updated. The image is upgraded to the version of the pkg:/entire incorporation that is specified in the new upgradectrl incorporation.
$ pkg update --be-name s11u1_10 Packages to remove: 1 Packages to update: 186 Mediators to change: 1 Create boot environment: Yes Create backup boot environment: No Planning linked: 0/1 done; 1 working: zone:z1 Linked image 'zone:z1' output: | Packages to remove: 1 | Packages to install: 3 | Packages to update: 73 | Mediators to change: 1 | Services to change: 3 ` Planning linked: 1/1 done DOWNLOAD PKGS FILES XFER (MB) SPEED Completed 187/187 16139/16139 507.9/507.9 562k/s Downloading linked: 0/1 done; 1 working: zone:z1 Downloading linked: 1/1 done PHASE ITEMS Removing old actions 1473/1473 Installing new actions 3451/3451 Updating modified actions 16378/16378 Updating package state database Done Updating package cache 187/187 Updating image state Done Creating fast lookup database Done Reading search index Done Building new search index 851/851 Executing linked: 0/1 done; 1 working: zone:z1 Executing linked: 1/1 done A clone of s11u1_0 exists and has been updated and activated. On the next boot the Boot Environment s11u1_10 will be mounted on '/'. Reboot when ready to switch to this updated BE. $ pkg list entire upgradectrl NAME (PUBLISHER) VERSION IFO entire 0.5.11-0.175.1.0.0.24.2 i-- upgradectrl (site) 1.0 i-- $ pkg -R /mnt list entire upgradectrl NAME (PUBLISHER) VERSION IFO entire 0.5.11-0.175.1.10.0.6.0 i-- upgradectrl (site) 1.10 i-- $ beadm unmount s11u1_10
About the Authors
Bart Smaalders is one of the senior engineers in the Oracle Solaris Core OS group, and led development of the IPS packaging system.
Alta Elstad is a technical writer supporting Oracle Solaris 11 packaging.
photograph of strange plants copyright Beth Ramsey
Tuesday Nov 19, 2013
By rickramsey on Nov 19, 2013
We just published a new article about using DTrace on Oracle Linux (see below). If you're not already familiar with DTrace on Oracle Linux, you might want to start with these two blogs.
by Wim Coekaerts
In October of 2011 Wim Coekaerts described the steps required to use the preview of DTrace on Oracle Linux, and provided a simple example of how to use it.
by Rick Ramsey
In January of 2013 I described some of the resources that had recently become available to help you start using DTrace on Oracle Linux. They included a video interview with Brendan Gregg, a way to find out which DTrace probes are available on Oracle Linux, a technical article, a book, and more.
by Christopher Jones
Christopher Jones has just published an OTN tech article that explains how to set up DTrace to detect PHP scripting problems on Oracle Linux. He shows you how to download and install the right version of Oracle Linux, how to install PHP and the OIC18 extensions for Oracle Database, how to verify which PHP probes you have, and how to begin using them.
photograph of Colorado sunset by Beth Ramsey
Tuesday Nov 12, 2013
By rickramsey on Nov 12, 2013
Two of my childhood heroes were Tarzan and Jack LaLanne. Tarzan was an obvious choice: what boy wouldn't want to spend his days bungee jumping through the jungle with his own pack of gorillas? Jack Lalanne had a disturbing habit of wearing stretch pants, but he was so damn fit for an old guy that you couldn't help but be impressed. Especially back then, when nobody knew what a dumb bell was, much less Cross-Fit. Here's what he did to celebrate his 70th birthday.
Sooner or later we all face a choice in our careers: surrender to the life of a has-been like Bruce Sprinsteen's baseball player or become an unstoppable sysadmin like Jack Lalanne. If you'd rather keep on fighting like Jack, give these resources a look. Brian Bream's blog provides specific suggestions for keeping your skills up to date. The video interviews describe the types of technologies that are challenging what you used to know.
by Brian Bream
"The sysadmin role has been far too dependent on performing repetitive tasks and working in a reactionary mode ... the sysadmin must grow a much larger skill set to be successful. Don’t grow vertically in one technology, grow horizontally amongst many technologies." Just one of the suggestions Brian Bream provides in this excellent blog post.
Interview with Marshall Choy
Marshall Choy, Director of Optimized Solutions at Oracle was once a sysadmin. And a Solaris engineer. He explains what optimized solutions are, how they are developed and tested, how they handle patching, and how these vertically integrated systems impact the job and duties of a sysadmin.
Interview with Bob Thome
Bob Thome, Senior Director of Product Management, explains what makes the Database Appliance simple, reliable, and affordable, and how it could change the economies and processes of the data center.
Interview with Gautham
Gautham (pronounced like Batman's Gotham) recently led an effort to refresh the Pinellas County hardware systems. He'll explain what they were looking for, why they chose Oracle Exalytics, how they became convinced it was the right decision, and how it changed the way they managed their data center.
Interview with Brendan Gregg
This video interview will give you an idea of some of the value-add tasks you can perform when you are freed from the reactive mode that Brian Bream describes in his blog. Brendan Gregg describes the best ways for sysadmins to tune deployed applications to get more performance out of them in their particular computing environment
photograph of Ford Mustang GT 500 taken at Gateway Museum copyright by Rick Ramsey
Monday Nov 11, 2013
By rickramsey on Nov 11, 2013
|If you didn't manage to catch all the news during the proverbial Firehose Down the Throat that is Oracle OpenWorld, you'll enjoy these short recaps from Brad Carlile. He makes things clear in just a couple of minutes.||photograph copyright by Edge of Day Photography, with permission|
with Brad Carlile
T5, M5, and M6. Three wicked fast processors that Oracle announced over the last year. Brad Carlile explains how much faster they are, and why they are better than previous versions.
with Brad Carlile
If I'm happy with how my Oracle Database 11g is performing, why should I deploy it on the new Oracle SPARC hardware? For the same reasons that you would want to buy a sports car that goes twice as fast AND gets better gas mileage, Brad Carlile explains. Well, if there are such dramatic performance improvements and cost savings, then why should I move up to Oracle Database 12c?
Thursday Nov 07, 2013
By rickramsey on Nov 07, 2013
"With IT staff now tasked to deliver on-demand services, datacenter virtualization requirements have gone beyond simple consolidation and cost reduction. Simply provisioning and delivering an operating environment falls short. IT organizations must rapidly deliver services, such as infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS), and software-as-a-service (SaaS). Virtualization solutions need to be application-driven and enable:"
Application Driven Virtualization, an Oracle white paper
- "Easier deployment and management of business critical applications"
- "Rapid and automated provisioning of the entire application stack inside the virtual machine"
- "Integrated management of the complete stack including the VM and the applications running inside the VM."
That was published in August of 2011. The new release of Oracle VM Server delivers significant virtual networking performance improvements, among other things. If you're not sure how virtual networks work or how to use them, these two articles by Greg King and friends might help.
by Greg King
Oracle VM Server for x86 lets you create logical networks out of physical Ethernet ports, bonded ports, VLAN segments, virtual MAC addresses (VNICs), and network channels. You can then assign channels (or "roles") to each logical network so that it handles the type of traffic you want it to.
Greg King explains how you go about doing this, and how Oracle VM Server for x86 implements the network infrastructure you configured. He also describes how the VM interacts with paravirtualized guest operating systems, hardware virtualized operating systems, and VLANs.
Finally, he provides an example that shows you how it all looks from the VM Manager view, the logical view, and the command line view of Oracle VM Server for x86.
by Greg King and Don Smerker
Oracle VM Server for x86 supports a wide range of options in network design, varying in complexity from a single network to configurations that include network bonds, VLANS, bridges, and multiple networks connecting the Oracle VM servers and guests. You can create separate networks to isolate traffic, or you can configure a single network for multiple roles. Network design depends on many factors, including the number and type of network interfaces, reliability and performance goals, the number of Oracle VM servers and guests, and the anticipated workload.
The Oracle VM Manager GUI presents four different ways to create an Oracle VM network:
- Bonds and ports
- Both bond/ports and VLANS
- A local network
This article focuses the second option, designing a complex Oracle VM network infrastructure using only VLANs, and it steps through the concepts needed to create a robust network infrastructure for your Oracle VM servers and guests.
- Virtual Networking for Dummies
- Download Oracle VM Server for x86
- Find technical resources for Oracle VM Server for x86
photo of K1200S copyright by Rick Ramsey
Monday Nov 04, 2013
By rickramsey on Nov 04, 2013
The process scheduler in the Oracle Solaris kernel allocates CPU resources to processes. By default, the scheduler tries to give every process relatively equal access to the available CPUs. However, you might want to specify that certain processes be given more resources than others. That's where classes come in. A process class defines a scheduling policy for a set of processes. These three resources will help you understand and manage it process classes:
by Brian Bream
Timesharing, interactive, fair-share scheduler, fixed priority, system, and real time. What are these? Scheduling classes in the Solaris kernel. Brian Bream describes them and how the kernel manages them through context switching.
by Brian Bream
The Fair Share Scheduler allows you to dispatch processes not just to a particular CPU, but to CPU threads. Brian Bream explains how to use and provides examples.
by Oracle Solaris Documentation Team
This official Oracle Solaris documentation set provides the nitty-gritty details for setting up classes and managing your processes. Covers:
- Introduction to the Scheduler
- CPU Share Definition
- CPU Shares and Process State
- CPU Share Versus Utilization
- CPU Share Examples
- FSS Configuration
- FSS and Processor Sets
- Combining FSS With Other Scheduling Classes
- Setting the Scheduling Class for the System
- Scheduling Class on a System with Zones Installed
- Commands Used With FSS
Wednesday Oct 30, 2013
By rickramsey on Oct 30, 2013
Imagine if this was how you shopped for groceries:
- From the end of the aisle sprint to the point where you reach the ketchup.
- Pull a bottle from the shelf and yell at the top of your lungs, “Got it!”
- Sprint back to the end of the aisle.
- Start again and sprint down the same aisle to the mustard, pull a bottle from the shelf and again yell for the whole store to hear, “Got it!”
- Sprint back to the end of the aisle.
- Repeat this procedure for every item you need in the aisle.
- Proceed to the next aisle and follow the same steps for the list of items you need from that aisle.
Sounds ridiculous, doesn’t it?
Not only is it horribly inefficient, it’s exhausting and can lead to wear out failures on your grocery cart, or worse, yourself. This is essentially how NetApp and some other applications write NDMP backups to tape. In the analogy, the ketchup and mustard are the files to be written, yelling “Got it!” is the equivalent of a sync mark at the end of a file, and the sprint back to the end of an aisle is the process most commonly called a “backhitch” where the drive has to back up on a tape to start writing again.
Writing to tape in this way results in very slow tape drive performance and imposes unnecessary wear on the tape drive and the media, especially when writing small files. The good news is not all tape drives behave this way when writing small files. Unlike midrange LTO drives, Oracle’s StorageTek T10000D tape drive is designed to handle this scenario efficiently.
The difference between the two drive types is that the T10000D drive gives you the ability to write files in a NetApp NDMP backup environment the way you would normally shop for groceries. With grocery shopping, you essentially stream through aisles picking up items as you go, and then after checking out, yell, “Got it!”, though you might do that last step silently. With the T10000D, it has a feature called the Tape Application Accelerator, which prevents the drive from having to stop after each file is written to notify NetApp or another application that the write was successful.
When enabled in the T10000D tape drive, Tape Application Accelerator causes the tape drive to respond to tape mark and file sync commands differently than when disabled:
- A tape mark received by the tape drive is treated as a buffered tape mark.
- A file sync received by the tape drive is treated as a no op command.
Since buffered tape marks and no op commands do not cause the tape drive to empty the contents of its buffer to tape and backhitch, the data is written to tape in significantly less time. Oracle has emulated NetApp environments with a number of different file sizes and found the following when comparing the T10000D with the Tape Application Accelerator enabled versus LTO6 tape drives.
Notice how the T10000D is not only monumentally faster, but also remarkably consistent? In addition, the writing of the 50 GB of files is done without a single backhitch. The LTO6 drive, meanwhile, will perform as many as 3,800 backhitches! At the end of writing the entire set of files, the T10000D tape drive reports back to the application, in this case NetApp, that the write was successful via a tape mark.
So if the Tape Application Accelerator dramatically improves performance and reliability, why wouldn’t you always have it enabled? The reason is because tape drive buffers are meant to be just temporary data repositories so in the event of a power loss, there could be data loss in certain environments for the files that resided in the buffer. Fortunately, we do have best practices depending on your environment to avoid this from happening. I highly recommend reading Maximizing Tape Performance with StorageTek T10000 Tape Drives (pdf) to decide which best practice is right for you. The white paper also digs deeper into the benefits of the Tape Application Accelerator. The white paper is free, and after downloading it you can decide for yourself whether you want to yell “Got it!” out loud or just silently to yourself.
Customer Advisory Panel
One final link: Oracle has started up a Customer Advisory Panel program to collect feedback from customers on their current experiences with Oracle products, as well as desires for future product development. If you would like to participate in the program, go to this link at oracle.com.
photo taken on Idaho's Sacajewea Historic Biway by Rick Ramsey
- Brian Zents
Friday Oct 25, 2013
By rickramsey on Oct 25, 2013
- Video Interview: What Are Linux Huge Pages?, by Ed Whalen, Oracle ACE
- Blog: There's Been a Change In How Huge Pages Are Allocated, by Tanel Poder, Oracle ACE Director
- Blog: Performance Issues with Transparent Huge Pages (thank you, Bjoern Rost!)
- Web: About the Car, by Smart Ridez LLC, of Woodland Hills, California
Thursday Oct 10, 2013
By rickramsey on Oct 10, 2013
Michael Palmeter and Renato Ribeiro enjoy a good duel. Michael represents Oracle Solaris. Renato represents SPARC servers. Watch and listen as they argue their case on two questions of interest to sysadmins. Taped at Oracle OpenWorld 2013.
Michael Palmeter vs Renato Ribeiro
Is the hardware or the software more important to the performance of a system? Oracle Solaris product director Michael Palmeter goes mic-to-mic with Renato Ribeiro, Oracle SPARC Director. Taped at Oracle OpenWorld 2013.
Renato Ribeiro vs Michael Palmeter
Is Oracle's approach to large vertically scaled servers at odds with today's trend of combining lots and lots of small, low-cost servers systems with networking to build a cloud, or is it a better approach? Michael Palmeter, Director of Solaris Product Management, and Renato Ribeiro, Director Product Management for SPARC Servers, discuss.
photo of 2005 Fat Boy taken at Little Big Horn National Monument by Rick Ramsey
Saturday Oct 05, 2013
By rickramsey on Oct 05, 2013
Interview with Brian Bream, Collier IT
Provisioning used to be a hardware activity. It involved heavy lifting. Today, thanks to Oracle's engineered systems, a data center can pre-configure itself to make provisioning a software activity. According to Brian Bream, CTO of Collier IT, instead of pulling a server off the shelf, installing an OS, and applications, then patching and configuring, it's a matter of bringing up the management tool, selecting the image, and hitting Bang! In Brian's experience, elasticity is the biggest challenge facing data centers today, and Oracle engineered systems are a great way to deal with it.
In addition to being Collier IT's Chief Technology Officer, Brian was named instructor of the year not once, but twice, by Oracle University. Get his opinion about the impact of training on the careers of sysadmins.
Thursday Oct 03, 2013
By rickramsey on Oct 03, 2013
The sound quality of these videos is not very good because I taped them while people around me were watching the America's Cup, but the content is worth your time. Jason Schaffer, from Oracle Storage Engineering, explains ...
by Jason Schaffer (3 minutes)
The ZS3 is the fastest storage system "on the planet." Jason Schaffer explains what makes it so fast, how it was engineered, and what you can do with it.
by Jason Schaffer (2 minutes)
Jason Schaffer, from Oracle Storage Engineering, explains how the ZS3 Storage System uses the Oracle Intelligent Storage Protocol (OISP) to automatically tune its I/O patterns to make Oracle Database 12c run faster.
by Jason Schaffer (4 minutes)
Jason Schaffer explains how the ZS3 Storage Appliance uses DRAM to get its crazy fast performance. Taped at Oracle OpenWorld 2013.
More Resources About the ZS3 Storage Appliance
Monday Sep 23, 2013
Monday Sep 16, 2013
By rickramsey on Sep 16, 2013
Three resources to help you build clouds with Oracle Solaris 11
by Oracle University
This training class combines multiple enterprise level technologies to demonstrate a full cloud infrastructure deployment using SPARC technology. Learn To:
- Plan for and deploy a private Infrastructure as a Service cloud
- Combine various Oracle technologies into a robust cloud infrastructure
- Practice cloud component creation and configuration tasks by performing a series of guided hands-on labs
- Perform the critical steps associated with the configuration of cloud and related facilities.
by Suk Kim
Have you ever wanted to build a cloud just to see if you can? Turns out it's not that difficult. Install Oracle Solaris 11.1 on your laptop via VirtualBox, set up a little ZFS storage, a little access control, and configure AjaXplorer so you and your friends can manage your files. Don't neglect to drop phrases like "Download that from the cloud I just built" into casual conversation.
We liked this blog so much when Jeff Victor first posted it, that we turned it into a bonafide OTN tech article. You might recognize it. It's about ZOSS: zones on shared storage. Why? When you configure a zone on shared storage, you can quickly clone it on any server that uses that storage. Jeff explains how.
picture of cloud taken in Colorado, copyright Rick Ramsey
Friday Sep 13, 2013
By rickramsey on Sep 13, 2013
Oracle just launched the T10000D tape drive with its incredible 8.5 TB of native capacity and LTFS-Library Edition (LTFS-LE), which expands the LTFS concept to an entire library. The Oracle T10000D has some neat features that I would like to address in the future, but today I’d like to talk about LTFS-LE since it really is a new concept.
LTFS is an open source specification for writing data to tape on single tape drives. It is supported by Oracle and other tape vendors. The version you can download from Oracle is called StorageTek LTFS, Open Edition (LTFS-OE).
When an LTFS-compatible T10000 or LTO tape is formatted for LTFS, it is split into two partitions. The first partition holds the metadata that tells the user which files are on the tape and where they are located. The second partition holds the files themselves.
Benefits of Using LTFS-LE
There are a few nice benefits for those who utilize LTFS. Most important is the peace of mind that you will always be able to recover your data regardless of your backup application or any other proprietary software because it’s based on an open source specification. It also improves the portability of tape because two parties don’t both need the same application to read a tape. In fact, LTFS has seen tremendous adoption in industries that require the ability to transport large amounts of data.
The limitation with the open source version of LTFS is that it’s limited to just a single drive. Users with even the smallest archives would like to have their entire environment to be LTFS-based. That’s the impetus for StorageTek LTFS, Library Edition (LTFS-LE), but it also serves as a backup application eliminator because of how it’s architected. With LTFS-OE, after you download the driver, a tape looks like a giant thumb drive. LTFS-LE makes the tape library look like a shared drive with each tape appearing as a sub-folder. It’s like having a bucket full of thumb drives that are all accessible simultaneously!
Just as before, you don’t need any additional applications to access files. And end users are almost completely abstracted from the nuances of managing tape. All they need is a Samba or CIFS connection and they have access to the tape library. LTFS-LE is agnostic to corporate security architectures so a system administrator could make some folders (tapes) available to some users while restricting others based on corporate security guidelines.
Security and Performance Considerations
However, security is arguably one of the more straightforward considerations when deciding how to integrate an LTFS-LE implementation into your environment. An additional consideration is to ensure that LTFS-LE can meet your performance expectations. Tape drives are remarkably faster than they are given credit for (the Oracle T10000D can write at 252 MB/sec.), but sometimes networks aren’t designed to handle that much traffic so performance requirements need to be considered accordingly. In addition, it may take some time before a read operation actually starts as the library needs time to mount a tape. As a result, system administrators need to be cognizant of how end user applications will accept response times from any tape storage-based solution.
A final performance consideration is to be aware of how many tape drives are in your library relative to how many users may be accessing files directly from tape. If you have a disproportionately large number of users you may want to consider a more traditional enterprise-level archiving solution such as StorageTek Archive Manager (SAM), which writes files based on the Tape Archive Record (TAR) open source standard.
Ultimately, LTFS-LE provides exciting new opportunities for system administrators looking to preserve files with a format that isn’t dependent on proprietary solutions. It also makes it easy for users who need access to large amounts of storage without a lot of management difficulties. Support for LTFS continues to grow. Oracle is actually one of the co-chairs of the SNIA committee that’s working towards standardizing LTFS. And this is just the start for LTFS-LE as well, as Oracle will continue expanding its capabilities in the near future.
picture of 2008 Harley Davidson FXSTC taken by Rick Ramsey- Brian Zents
Thursday Sep 12, 2013
By rickramsey on Sep 12, 2013
"Are you planning to consolidate a server running a business-critical application that you want to update with future releases over upcoming years, or are you trying to get rid of an old server running a legacy application that will not be updated anymore?"
This is just one of the questions Thierry asks in his article, which is a great resource for sysadmins, systems architects, and IT managers who are trying to decide whether to consolidate individual servers onto an Oracle SuperCluster. Your answer will determine whether you should put your application in native or non-native Oracle Solaris zone.
Other questions Thierry and friends ask:
- Is my server eligible for physical-to-virtual (P2V) migration?
- Are you planning a long-term or short-term migration?
- How critical are performance and manageability?
Once he has helped you determine your general direction, he discusses these architectural considerations:
- SuperCluster domains
- Network setup
- VLAN setup
- Licensing considerations
Finally, he provides a thorough step-by-step instructions for the migration itself, which consists of:
- Performing a sanity check on the source server
- Creating a FLAR image of the source system
- Creating a ZFS pool for the zone
- Creating and booting the zone
- Performance tuning
And just in case you're still not sure how it's done, he concludes with an example that shows you how to consolidate an Oracle Solaris 8 Server Running Oracle Database 10g. It's all here, give it a good read:
Article by Thierry Manfé, with contributions from Orgad Kimchi, Maria Frendberg, and Mike Gerdts
Best practices and hands-on instructions for using Oracle Solaris Zones to consolidate existing physical servers and their applications onto Oracle SuperCluster using the P2V migration process, including a step-by-step example of how to consolidate an Oracle Solaris 8 server running Oracle Database 10g.
Interview with Alan Packer
Allan Packer, Lead Engineer of the Oracle SuperCluster architecture team, as explains how the design of this engineered system supports consolidation, multi-tenancy, and other objectives popular with customers.
By the way, that's a picture of an 01 Ducati 748 that I took in the Fall of 2012.
Monday Sep 09, 2013
By rickramsey on Sep 09, 2013
photograph copyright 2013 by Rick Ramsey
by Yuli Vasiliev
By wrapping a Linux utility in a script and using an external database table's preprocessor directive, you can launch the utility from within Oracle Database and have the utility's output be inserted into the external table. This allows you to do things such as query operating system data and then join it with data in Oracle Database.
by Robert Chase
Robert Chase is a really good writer. If he was writing about teaching iguanas how to quilt I'd still read it. Fortunately, in this article he's writing about hardware fault management tools in Oracle Linux. What they are, how they work, what you can do with them, and examples with instructions. Give it a read.
by Richard Friedman
DTrace is a powerful tool, and it can do some amazing things. But it's not that difficult to get started doing simple things. You can build up from there. In this article, Richard Friedman gives you a high-level overview of DTrace and its major components:providers, modules, functions, and probes. He explains how you can use either one-liner commands on the command line, or write more complex instructions in scripts, using the D language. He provides simple examples for each. It's a great way to get your feet wet.
by Lenz Grimmer
Linux Containers isolate individual services, applications, or even a complete Linux operating system from other services running on the same host. They use a completely different approach than "classicial" virtualization technologies like KVM or Xen. Lenz Grimmer explains.
by Lenz Grimmer
In his previous post about Linux Containers, Lenz Grimmer explained what they are and how they work. In this post, he provides a few practical examples to get you started working with them.
by Lenz Grimmer
We ran a little long, but once Wim started talking about the history of SNMP and how he's been using it of late to do cool things with KSplice and Oracle VM, we geeked out. Couldn't stop. Wim is not your average Senior VP of Engineering. Definitely a hands-on guy who enjoys figuring out new ways to use technology
by Lenz Grimmer
On Wim's Mind in June 2013 - Wim's team is currently working on DTrace userspace probes. They let developers add probes to an application before releasing it. Sysadmins can enable these probes to diagnose problems with the application, not just the kernel. Trying this out on MySQL, first. If you know how to do this on Solaris, already, you'll be able to apply that knowledge to Oracle Linux. Also on Wim's mind is the Playground channel on the Public Yum repository, which lets you play with the latest Linux builds, ahead of official Linux releases, without worrying about having your system configured properly.
and members of the OTN community
- Helping Your Compiler Handle the Size of Your Constants
- Insights into Swap Space on Oracle Solaris 11
- Troubleshooting Your Network with Oracle Linux
- Validating Petabytes of Data with Regularity and Thoroughness
- Orgad Strikes Again
- Make Your Database Run Faster on Oracle Linux
- Replay of Solaris Labs From OTN Virtual Sysadmin Day
- How Easy Is It To Run OpenStack on Oracle Solaris 11.2?
- Which Type of Virtualization Should I Use?
- New Oracle Solaris/SPARC SIG Launched by IOUG
Blogs We Like
- /Engineered Systems
- /OTN Hammock
- /Optimized Solutions
- /Systems Developer