Jun
20

Google Reader

I’ve been looking for a decent RSS reader to help me navigate through the waters of information overload.

I’ve tried sage for firefox, check out a few things like bloglines, but think I’ve settled on the Google Reader (part of google labs).  My Yahoo wasn’t too bad, if it wasn’t for all the damn ads.

I liked sage quite a bit, but the problem was that the Read topics don’t sync from my Workstation in the office to my PC at home .. thus I settled for a web solution.
Anyway, give it a shot.  http://www.google.com/reader

Nov
01

What i’ve been working on. (a big one)

Beta Testing Solaris 10 update 3 (11/06)

Trusted Extensions

Wow!, I’ve never used trusted solaris before and I can tell you this is a beast. Set up and the learning curve for Administration is a little steep but you will be able to control user operation and auditing to the tiniest minut detail.

Upgrading the Company Web Farm to Solaris 10 update 1 (1/06)

This by far has occupied the majority of my 8-5 time during the past weeks. I’ve managed to streamline the install process so that we go from bare metal to fulling running in about 20mins. Thanks in large part to flash archives and derived profiles. We have about 180+ servers spanning 3 different x86 models of hardware in use for our Web Farm so by using derived profiles I am able to prob a little deeper and setup before the install takes place.

Derived Jumpstart Profiles

I have had to use derived profiles to overcome the limitation of the profile keywoard “metadb”. If it would only take the “rootdisk” keyword, I wouldn’t even need a begin script :-( Here’s the simple but much needed workaround. Since we are using Soft partitioning the metadb is a much needed item during the installation.

#!/bin/sh
#
# begin script 10/30/2006 shane
#
# This script creates a derived profile to overcome the limitations of rules.ok
#
#
#
echo “# # # # # # # #”
echo ” # # # # # # #”
echo ” BEGIN ”
echo “# # # # # # # #”
echo ” # # # # # # #”
#
#
#
# Print the values that we have detected
#
echo “Physical memory detected: ${SI_MEMSIZE}”
echo “Root disk detected: ${SI_ROOTDISK}”
echo “Root disk size detected: ${SI_ROOTDISKSIZE}”
sleep 5
#
#
# Set METADB Slice
DISK=`echo “${SI_ROOTDISK}” | sed ’s/0$//’`
echo “DISK is ${DISK}”
#
#
# Create derived profile
#
echo “install_type flash_install” > ${SI_PROFILE}
echo “archive_location nfs 10.x.x.x:/vol/flar/s10u1.flar” >> ${SI_PROFILE}
echo “partitioning explicit” >> ${SI_PROFILE}
echo “filesys ${DISK}0 4096 /” >> ${SI_PROFILE}
echo “filesys ${DISK}1 4096 swap” >> ${SI_PROFILE}
echo “filesys ${DISK}3 4096 /var” >> ${SI_PROFILE}
echo “filesys ${DISK}6 free” >> ${SI_PROFILE}
echo “metadb ${DISK}7 size 8192 count 3″ >> ${SI_PROFILE}
#
#
#

System/Service monitoring

We have “some” Enterprise monitoring in place but due to cough some ball dropping and fat fingering we needed to put in place some additional steps to check that our DNS services are functioning properly. Basically forward and reverse lookups for some of our key network segments. I went round and round with a few methods of implementation but the problem is that I needed to use the hosts derived method of name resoltion. AHA: /etc/nsswitch.conf. The easiest way I found was to use perl and the gethost* functions.

#!/bin/env perl
#
## Shane Milton 10/16/2006 (Autotrader.com, LLC)
## DNS fwd/rev checking for Failure points in Colo Farms
# note: this script is intended to use the local operating system facilities for name resolution.
#
#
#
use strict;
use warnings;
use Socket;

## Hosts are evaluated according to the This Map
my %map = ( “host_k” => “10.x.x.11″,
“host_a.domain.com” => “10.x.x.1″,
“host_b.domain.com” => “10.x.x.2″,
“host_c.domain.com” => “10.x.x.3″,
“host_d.domain.com” => “10.x.x.4″,
“host_e.domain.com” => “10.x.x.5″,
“host_f.domain.com” => “10.x.x.6″,
“host_g.domain.com” => “10.x.x.7″,
“host_h.domain.com” => “10.x.x.8″,
“host_i.domain.com” => “10.x.x.9″,
“host_j.domain.com” => “10.x.x.10″
);

my $a_email = qw(alertemail@domain.com);
my $curr_host = `uname -n`;
my $msg = “Contact Unix On Call\nHost :: $curr_host :: is having DNS resolution problems”;

sub chkforward_lookup ($) {
my $input = $_[0];
my ($name, $aliases, $addrtype, $length, @addrs) = gethostbyname($input);
my $ip = inet_ntoa($addrs[0]);
return $ip;
}

sub chkreverse_lookup ($){
my $input = $_[0];
my $ipaddr = inet_aton($input);
my ($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($ipaddr, AF_INET );
return $name;
}

# Main
while ( my ($host, $ip) = each(%map)) {
if ( !(&chkforward_lookup($host) eq $ip) ){
my $ferror_msg = “FWD LOOKUP FAILURE: Host: $host did NOT resolve to expected ipaddress: $ip\n”;
system(`/usr/bin/printf “$msg” | mailx -s “FWD LOOKUP FAILURE $host” $a_email`);
}

if ( !(&chkreverse_lookup($ip) eq $host) ){
my $rerror_msg = “REV LOOKUP FAILURE: IPaddress: $ip did NOT resolve to expected host: $host\n”;
system(`/usr/bin/printf “$msg” | mailx -s “REV LOOKUP FAILURE $ip” $a_email`);
}

}

Max Number of Processes support by Solaris Out of the Box.

Thanks to help from the folliwing link
http://spiralbound.net/2006/03/31/how-to-increase-the-maximum-number-of-processes-per-uid-in-solaris/

It looks like 30K process limit for Sparc:

30000 maximum number of processes (v.v_proc)

29995 maximum processes per user id (v.v_maxup)

and 16K process limit for x86:

16362 maximum number of processes (v.v_proc)

16357 maximum processes per user id (v.v_maxup)

From my quick eval this seems to hold true across Solaris 8, 9, and 10.

Sep
03

Damn Ebay Snipers

Found a great deal on a Sun W2100Z this past friday. It was built out pretty similiar to my workstation in the office with the exception of a little more cpu uoommph.

Anyway. .this thing has Dual Opteron 250’s, 2 73Gb scsi disk, a FX3000 ( yes a $1500 video card) all for the nice little sum of $1100. I know I didn’t need to spend the money . .but it was just too good of a deal to turn down. Retail on that setup is around $4500-5000 easy. All was going well until the last 17 secs. I had it made.., until I was ousted by a swarm of snipers. Losing out to a final price of $1180. Had I been a little wiser I would have waited a little longer before I placed my first bid, and I would have bid HIGHER. Live and learn.

Anyway..partly in an upset rage, and a momentary lapse of sanity, I found some decent deals on an Ultra 80 (quad 450’s) and a Blade 1000 (dual 750s). Turns out, I won both. Now I need to figure out what to do with the Ultra 80 since it has way more bang than I needed for my Home NAS. Did I mention that’s why I was on ebay to begain with? Guess my next investment will be additional cooling for the spare room that is housing this datacenter.

May
17

Veritas for Free

So far I haven’t had much exposure to Veritas . ..(i’m just waiting for one of our systems using Veritas to blow up while I’m on call … )

I haven’t had any Test systems to screw around on and learn with .. . .and learning on a production box is not exactly the way I want to go about it.

At least now I can download it for free and mess around with some older spare hardware at work or home.
Note, Cuddletech has some nice documentation on Veritas i’m using to ramp up. Thank you Ben!

May
16

Make shift vpn with ssh tunnels

I have been going back and forth about setting up a small vpn server at home. No real reason, just for a project. However, I find it hard to invest the time or effort when it’s basically already implemented for me.

I’ve been using tunnels for a while to access a windows desktop via RDP, proxy to other house, configure my router via the web GUI, and even to nfs mount my mp3s.
Setup takes all of 3 seconds provided you have an exposed ssh server in your firewall.

On the server side edit your sshd_config file to enable TCP fowarding:

(sshd_config)

# Port forwarding
AllowTcpForwarding yes

This Link will explain the how to configure putty for Port Fowarding

This Link will explain how to use the ssh CLI.

top