Control the size of the ZFS ARC cache dynamically

Last updated on: 25th Dec 2014

Solaris 11.2 deprecates the zfs_arc_max kernel parameter in favor of user_reserve_hint_pct and that’s cool.

tl;dr
ZFS has a very smart cache, the so called ARC (Adaptive replacement cache). In general the ARC consumes as much memory as it is available, it also takes care that it frees up memory if other applications need more.

In theory, this works very good, ZFS just uses available memory to speed up slow disk I/O. But it also has some side effects, if the ARC consumed almost all unused memory. Applications which request more memory need to wait, until the ARC frees up memory. For example, if you restart a big database, the startup is maybe significantly delayed, because the ARC could have used the free memory from the database shutdown in the meantime already. Additionally this database would likely request large memory pages, if ARC uses just some free segments, the memory gets easily fragmented.

Read More

Puppet and SMF in Solaris 11.2

In a former post I covered already my enthusiasm for Puppet support in Solaris 11.2. But what does it really mean? Is Puppet now the strategic systems management framework for all the Solaris stuff? In my opinion this is definitely not the case. The Solaris developers invested many years into good base technologies for systems management like the “Service Management Facility” (SMF). And with new Solaris releases, more and more systems configuration moves into SMF, into so called “SMF properties”. For example since Solaris 11 the DNS servers need to be configured in SMF properties and no longer in /etc/resolv.conf.
So if Puppet can talk to SMF the full power of SMF is also available in Puppet. In this post I will show how the managing of SMF in Puppet is possible in Solaris 11.2.

Read More

Automation of operational tasks with Remote Execution

This post is part of a blog series which tries to simplify the adoption of configuration management frameworks.

Getting a fully automated data center in a bigger company which does not yet have an “automation friendly culture” is very hard. Setting up a company wide configuration management framework like Puppet, Chef or Cfengine can take ages. Additionally I experienced some engineers, who are not involved in the setup of configuration management framework itself, think they should wait until the framework is 100% established. Earliest after that they plan to start thinking how they can automate their repetitive tasks.

I think this “waiting” is a huge waste of time. Everybody can start understanding and automating their repetitive tasks already without the availability of a central company wide automation framework. In this post I will cover how the Remote Execution framework Fabric can be used to basically automate your SSH sessions.

Read More

Simple and fast Solaris installation with Unified Archives

In the last post I discussed that the Golden Image approach still has its advantages even if you use configuration management frameworks like Puppet. But the success and the quality of this approach depends heavily on the available tools. Solaris 11.2 ships with the new “Unified Archives” technology, which was newly developed from scratch. Therefore it should be a much better solution compared to “Flash Archives” from Solaris 10. I assume it was easier to build a better tool on Solaris 11, because base technologies like IPS, ZFS and SMF could be fully leveraged.

A nice introduction of “Unified Archives” (“UAs”) can be found on the Oracle blog of Jesse Butler.

With AI (Automated Installer) Solaris 11 already has an install service with many great features. But if you don’t use AI very often, it can easily look complex. In this post I will show, how to deploy global zones with a simpler method.

Read More

Start using Puppet with the help of Golden Images

This post is part of a blog series which tries to simplify the adoption of configuration management frameworks.

Many admins are already excited about configuration management frameworks like Puppet, that’s good! With these frameworks it is possible to implement all sorts of automation for many operating systems. But does this mean you should automate every task from the beginning to the end with a single tool?
If you can do it, then of course! It has some advantages, for example you need fewer different automation skills in the company. But there is always the big risk that automating a task takes just too long.

Read More

Blog migrated from Blogger to static site

I have just finished the migration of this blog from Blogger to the static site generator Hexo. The new layout finally supports mobile devices by a responsive design.

Why the move away from Blogger? I used Blogger with the old theme for 5 years and I was quite satisfied with the features and site performance. All for free.
But with the years the pain was growing, I spent too much time fixing the layout and the integration of source code examples was a hell. Therefore I was looking for a new blogging system which has additionally a better layout for mobile visitors.

Read More

Puppet on Solaris 11.2

The first public beta of Solaris 11.2 is finally available and I am very excited about this release. For some of the highlights check the Oracle Solaris blog.
There is a lot of buzz about the Openstack integration, but for now I am more interested in the integration of the automation framework Puppet. Openstack very likely has a big future and will address IT automation on its own way, but it’s a very new technology.
Puppet on the other hand is in production since many years. But according to my experience, the majority of the users use it for managing Linux systems and not Solaris. With 11.2 Oracle finally embraces Puppet and makes it a lot easier to use the framework for Solaris users.

Read More

Building Puppet from source is easy

This post is part of a blog series which tries to simplify the adoption of configuration management frameworks.

As mentioned in the last post, software dependencies can be a blocker for the adoption of configuration management frameworks. In complex or legacy environments where one has several different and antique operating systems versions, even the installation of this frameworks can be painful. Easily too painful for a time saving tool.

About a year ago, I was trying to install the Puppet agent on Solaris 10, Solaris 11 and RHEL 5.x. And it took longer than 5 minutes …
Basically the most install tutorials require to have a current operating system and/or a connection to the Internet from your target systems. These requirements were just not realistic for my target servers at my work place.

Read More

Configuration Management Frameworks - Adoption Blockers

Frameworks like Puppet, Chef, Cfengine, or Salt are now available for some years. Their community is huge and „Automation“ seems to be the answer to almost everything in IT.

Many say: If you do system administration for more than one server and you don’t use a configuration management framework, you do it wrong!
I fully agree with this statement. But according my observation, everybody seems to be interested in using such frameworks, however in reality the adoption rate is quite low.

Why is this?

Read More