Archive
Posts from 2010
Locating physical disk drives in Solaris
On "enterprise" Sun hardware, you can do nifty tricks like blink LED lights on disks to identify where logical disk names like c8t2d0 resides as Matty pointed out in the blog post here. But what if you're stuck on crufty (cheaper) regular SATA drives without the sexy LED support? How do you find c8t2d0 amongst a ton of other disks? Using cfgadm -alv, you can print out the serial number of the drive…
$ read more →Cool blog post about aligning partitions for performance
I came across a link to Dave Lutz's Partition Alignment Guidelines for Unified Storage blog post while catching up on zfs-discuss today. Aligning partitions correctly can make a HUGE performance difference, and it's amazing how many people are unaware of the consequences of not laying out their partitions to align with the storage they are using (this includes segment size and partition alignment). If you are new to this topic, you should definitely read through Dave's post!
$ read more →CFengine 3 Tutorial Part 5 Client promises.cf and regular cf-agent operation
Finally, the moment we've been waiting for. Lets take a crack at promises.cf and what we have defined. Line 3 defines “body common control” — our main() function which drives all other executions of the policy. Lines 13-20 pull in additional CFEngine Policy files for execution…
$ read more →CFengine 3 Tutorial -- Part 4 -- Client failsafe.cf and update.cf
As stated in part 1 of this tutorial series, normal client-side operations of CFEngine is for cf-agent to: Execute against /var/cfengine/inputs/failsafe.cf (which calls update.cf) Execute against /var/cfengine/inputs/promises.cf We stated that we dont want to break failsafe.cf or update.cf. When we write new CFEngine policies to implement, we import and call them from promises.cf. If we make a mistake and break the syntax, failsafe.cf / update.cf are still in pristine state. It will allow the clients to self-recover from the config breakage once we make the change through SVN…
$ read more →CFengine 3 Tutorial -- Part 3 -- Hello World
So up to this point, we've had a high level 10,000ft introduction to how CFEngine works. Hopefully we've gotten the needed bits built and packaged up to bootstrap our infrastructure. As any other programming language begins, lets look at the most basic "Hello World" type policy. Great…
$ read more →