I was working on a shell script last week and wanted to grab just the CPU section from the Solaris prtdiag(1m) output. I was able to perform this operation with awk by checking $0 for one or more “=” characters, and then setting a variable named SECTION to the value contained in the second position variable. If this variable was equal to the string CPUs, all subsequent lines would be printed up until the next block of “=” characters were detected. The awk script looked similar to the following:
$ prtdiag -v | awk '$1 ~ /^\=+/ {SECTION=$2} { if ($SECTION == "CPUs") print }'
==================================== CPUs ====================================
E$ CPU CPU
CPU Freq Size Implementation Mask Status Location
--- -------- ---------- ------------------- ----- ------ --------
0 502 MHz 256KB SUNW,UltraSPARC-IIe 1.4 on-line +-board/cpu0
I really dig awk!
One of the cool and often overlooked features in Veritas Volume Manager is the failure notification mechanism. This facility provides automated notifications when problems are detected with Veritas managed disks, plexes, subdisks and volumes. These notifications are active by default, and will generate an e-mail to the user root each time a failure is detected. These e-mail notifications take the following form:
To: root@tigger
Subject: Volume Manager failures on host tigger
Content-Length: 240
Failures have been detected by the VERITAS Volume Manager:
failed disks:
c1t6d0
failed plexes:
raid5vol-P08
Since e-mails will be sent to the root user by default, it is often beneficial to create a root alias in the /etc/aliases file:
$ grep "^root" /etc/aliases /etc/aliases.db
root: admins@prefetch.net
If you would like messages to be sent to a user other than root, you can add additional users to the line that starts vxrelocd in the vxvm-recover init script:
$ grep vxrelocd /etc/init.d/S95vxvm-recover
vxrelocd root alerts &
I have been using this facility for years to get advanced notifications, which has helped me avoid disaster on more than one occassion.
I have always liked Trent Reznor and the Nine Inch Nails, and wanted to see how they were live. I finally got my chance last night, and can report back that the concert was incredible. The lighting was awesome, the setlist was arranged perfectly, and the crowd was definitely into the show! If I had to pick a favorite moment from last night, it would either be when Trent came onstage alone to play “Hurt,” or when they closed with “Head like a Hole!” What an awesome show!!!!
I recently encountered a VxFS file system that didn’t support largefiles. This issue was causing one of our Oracle databases to complain, which was preventing us from using datafiles optimized for our application access patterns. Since the file system was a Veritas File System (VxFS), I was able to fix this problem with the fsadm utility:
$ /usr/lib/fs/vxfs/fsadm -F vxfs -o largefiles /u01
$ mount -p | grep u01
/dev/vx/dsk/oradg/oravol01 - /u01 vxfs - no
rw,suid,delaylog,largefiles,ioerror=mwdisable
This operation can be run against mounted live file systems, which is great for production environments.
I finally got around to writing an article on dealing with expired certificates. The article is titled Proactively Handling Certificate Expiration with ssl-cert-check, and is available on the prefetch.net web server.