Nice Clients > Nasty Clients

It occurs to me that when you work in IT, you can easily tell how how nice the person you are working with is by the extent to which he is pleasant to you when things are not going well.

All too often people act as nice as can be when they want something, but as soon as a service they want to use is down, they start spitting fire and calling managers. As if we can somehow resolve issues faster with all the added blood pressure of higher-ups breathing down our necks.

Anyone can be nice when they want something. If you really want to stand out from the crowd, remember to be nice and respectful when you are waiting for your IT department to resolve a problem. Outages are stressful enough for your IT guy without you making his life harder. Remember that he wants the service back up as much, or more than you do.

PHP 5.0.5 Make Install Error

After getting PHP 5.0.5 to compile on my Solaris 9 server, I got the following error when doing the make install: php: fatal: relocation error: file /u01/packages/src/php-5.0.5/sapi/cli/php: symbol xmlRelaxNGCleanupTypes: referenced symbol not found

make[1]: *** [install-pear-installer] Error 137
make: *** [install-pear] Error 2

Turns out that the Sun XML packages are stomping all over the xml2 package from Simply removing the following two packages allowed the make install to complete.

# pkgrm SUNWlxml
# pkgrm SUNWlxmlx

Solaris X86 Compatible RAID Controller

Every time I have to spec a solution using Solaris, I always have to answer a bunch of questions in meetings about why Sun is so costly compared to Dell servers. Usually the reason for the higher price is not the servers (especially with X86 sun), but rather the storage. Since Sun does not offer a system with a RAID card, you always have to purchase a high-end disk enclosure that is capable of performing the RAID functions unless you want the performance degradation that comes with software RAID.

The good news is that there is finally a really nice PCI RAID card that works with Solaris! The bad news is that it only works with X86 Solaris, and Sun only goes so far as to say that it is”reported to work“.

Anyhow, no matter. Here is the deal:

According to Sun Big Admin, the Mylex Accelaraid 150 is reported to work with Solaris 9 04/04 to Solaris 10 03/05 (read Solaris 9 and 10 X86). The firmware and bios on the card needs to be: BIOS Version 4.10-50; Firmware 4.08-37.

Pity that there still does not seem to be a RAID controller that works with SPARC hardware. If someone would come up with that, it would make my life as a Solaris administrator a whole lot easier.

Problems With Multiple MetaDB Partitions

UPDATE TO “Solaris Disk Partition Layout & Mirroring Scripts

Several Months ago, I tried to use my old mirroring scripts on a new Solaris 9 install. I found that the the kernel would panic upon reboot because it was unable to mount /. I tried many things, including opening a support call with Sun. They reviewed my scripts and said that they should work, but despite repeated tries, they did not.

In the end, I created only one metadb partition instead of two, and found that the system would boot. I attributed this to a problem with the mirror disk, until it happened to me again this week. For some reason, the implementation of Disk Suite on Solaris 9 does not accept multiple metadb partitions.

Previously, in Solaris 8, I always created a total of four metadb partitions. Two on each drive…

prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s – /dev/rdsk/c1t1d0s2
metadb -a -f -c3 /dev/dsk/c1t0d0s3 /dev/dsk/c1t1d0s3
metadb -a -f -c3 /dev/dsk/c1t0d0s4 /dev/dsk/c1t1d0s4

Currently, with Solaris 9, that method does not work, and results in a kernel panic. To resolve this issue, you must create only one metadb partition on each disk. I’ve been using s3 for this, although you could use any slice you wish.

prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s – /dev/rdsk/c1t1d0s2
metadb -a -f -c3 /dev/dsk/c1t0d0s3 /dev/dsk/c1t1d0s3

Aside from this change, the mirroring scripts continue to work. Please let me know if you find any other problems not mentioned.

Recovering From a Stuck Symantec Ghost Virtual Boot Partition

It seems that when you manage a bunch of machines with Symantec Ghost, you always end up with one or two that, for whatever reason, get stuck in the Ghost Virtual Boot Partition, and can’t boot back into windows. This can be really frustrating because you usually know what went wrong, and need to get back into Windows to fix the problem.

The good news is that setting the machine is really easy once you know how. I went through years of booting into DOS, and running fdisk from a floppy whenever this happened to me before I realized that fixing it is just a simple command that exists on the Ghost Virtual Partition.

Here is how it is done:

  • Stop Ghost and go to a DOS prompt:
  • If running the Ghost DOS client, NGctdos.exe, type Ctrl+X
  • If running the Ghost executable, Ghost.exe, type Ctrl+C
  • Change to the Ghost directory.
  • Type cd Ghost
  • Type ngctdos -hide

This last command hides the Ghost Boot Partition, makes the Windows partition active, and restarts the computer. You can then move on to fix the problem with minimal fuss, and get on with distributing the virus known as “Windows”.

Joining Samba Domains with Symantec Ghost

Because Symantec Ghost expects that everyone is going to use a “real” Active Directory Domain Controller, it fails when trying to automatically join samba domains, and I’ve always had to visit each machine after imaging it to manually join the newly imaged system to our domain. Needless to say, this is annoying when you manage over 300 systems.

Luckily, Alan Baker (who does not have a blog for me to link to) has managed to come up with a solution… For this, he is my hero of the month!
Here is how you do it… The trick is to create a post image command in your Ghost task that calls a little application called netdom.exe. You can add this file to your image and call it locally if you wish, or you can put it on a server and execute it using a UNC.

  • Download netdom.exe by clicking here. It is included in the Windows Support Tools package.
  • Modify your Ghost Distribute Task, click on the “Execute Command” Tab and add the following command, modifying it for your environment:

C:\Path\To\netdom.exe JOIN %computername% /Domain:Your_Domain /UserD:YourDomainAdmin /PasswordD:YourDomainAdminPassword /UserO:LocalMachineAdministrator /PasswordO:LocalMachineAdministratorPassword /REBoot

  • If you will be calling netdom.exe using a UNC, the command will look something like this:

\servername\sharename\netdom.exe JOIN %computername% /Domain:Your_Domain /UserD:YourDomainAdmin /PasswordD:YourDomainAdminPassword /UserO:LocalMachineAdministrator /PasswordO:LocalMachineAdministratorPassword /REBoot

This should save you a lot of time…. I know it has for Alan and I! Again, Thanks to Alan Baker for figuring this out, and sharing the info with me.

NetBackup, Solaris 9, and LTO2 drives

If you are using Veritas NetBackup on Solaris 9 with LTO Ultrium-2 tape drives, you will be constantly annoyed by slow tape write performance unless you use blocks of at least 256KB.

To resolve this, the first thing you’ll want to do is increase both the number of buffers and the buffer size on the media manager host:

Create and edit the file: /usr/openv/netbackup/db/config/SIZE_DATA_BUFFERS and add 262144 on the first line.
Create and edit the file: /usr/openv/netbackup/db/config/NUMBER_DATA_BUFFERS and add 16 on the first line.

These numbers with their respective quotes should be the only thing in these two files.

Next, since Solaris still has insanely low limits on its default shared memory subsystem, we have to increase these limits as to not exhaust them with the increased NetBackup Buffer sizes. We do this by editing the /etc/system file and adding the following lines.

set msgsys:msginfo_msgmni=1024
set msgsys:msginfo_msgtql=1024
set semsys:seminfo_semmni=2048
set semsys:seminfo_semmns=2048
set semsys:seminfo_semopm=128
set shmsys:shminfo_shmmax=33554432
set shmsys:shminfo_shmmni=512

It is now necessary to reboot the system for the kernel parameters to become active.

You should now notice a dramatic increase in tape write speed during your backups.